{"_id":"@4a/rediskit","_rev":"7-8b2d94d2af4e7e4db1050d8653c40a79","name":"@4a/rediskit","dist-tags":{"latest":"0.3.1"},"versions":{"0.1.0":{"name":"@4a/rediskit","version":"0.1.0","description":"redis kit","main":"index.js","scripts":{"test":"NODE_ENV=dev mocha --require intelli-espower-loader test/**/*.spec.js","test:stock":"NODE_ENV=dev mocha --require intelli-espower-loader test/lib/stock.spec.js"},"repository":{"type":"git","url":"git+https://github.com/gavinning/RedisKit.git"},"keywords":["redis","kit","redis-kit","rediskit"],"author":{"name":"gavinning"},"license":"MIT","bugs":{"url":"https://github.com/gavinning/RedisKit/issues"},"homepage":"https://github.com/gavinning/RedisKit#readme","dependencies":{},"devDependencies":{"mocha":"^6.0.2","ioredis":"^4.6.2"},"gitHead":"1aed4e98cb92c034cff63632354325aa0488f7f3","_id":"@4a/rediskit@0.1.0","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-47/PZrLZIz4ewlu1x/Tne/R7E4vnM7ewL3hEEg1MEj/N4JdLyj9T03DKhPt02lnscECqgcUvMwjzmRbmk8JoSw==","shasum":"f5eb4728fcdef34135e2973c29b53e9a7ce056b2","tarball":"https://registry.npmjs.org/@4a/rediskit/-/rediskit-0.1.0.tgz","fileCount":9,"unpackedSize":12960,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiWrgCRA9TVsSAnZWagAA+O0QAJaRzxAjyv377hwREZLv\nZwrfEqLmetuVJQmv7bj3iFjrEm8+Rs+2W3FxnlZZkZQnQnC0npX9vFo+LcjY\nq/KNW4q6mzSvKss23/mdAqbXCbLA2WErWrM+96SVOdyPihuF2ppCYM2MkXkt\nooBl1ez4YsGyf0fZS2SdhvslrmkA76UZTo2wX06poF/80+lJ6UBu/GyT7qJ0\neCRriSUOsLk77/HnDm4kU3HbulLb+J1vVfTTQkgB8mDJ51KvWLSWwetPc0sm\nBAZXGM/RgbsoZfQliR/Vrhcc6x8GJRq/9/lOTb3HxXTFdNvGbUFOujj81yRv\nzRT84DnehsiFbj/80paR7+VxQZ/7KSfg5/sScVeUofHUF0m5xlOVoTzYewiD\n7yfssep4FvbD7SMvMx2RdWFA3mlXo5lxZtKnoJiCJoEWCC3MvbxG4j8r8tNv\n4QuCviPKn67LCSW2zcs9P4OQRLnsfR4EXBv1rK/SCy/NO4ykYZ6d5sVKzaEx\nRh2vw8iLsunnSFmNx0xAqJFVVTgTr+WxqMvCzGWZMBYmLAdPFxhDLltc27ep\nnf3yhqBcyRm7u5Lyjtz57S2Nvb3AcSb7LlLT/5unW9NmO+mL4pG7fTB6scEm\nPgmVMJKa7BzxnE7isd1V3kc5bSb9V0DgKcdETBi3E/DUkK+KEXKjtW9oYsAI\n3FXc\r\n=fvvI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHPK38YRq2D94A12h+hnXg79iqUf2lfhgszUNKGP9VAWAiEAxCvv7TNTwGuJ7oNF7bivqNarrNt4rceTfIvOBntT4IU="}]},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rediskit_0.1.0_1586064096020_0.36689102848592503"},"_hasShrinkwrap":false},"0.1.1":{"name":"@4a/rediskit","version":"0.1.1","description":"redis kit","main":"index.js","scripts":{"test":"NODE_ENV=dev mocha --require intelli-espower-loader test/**/*.spec.js","test:stock":"NODE_ENV=dev mocha --require intelli-espower-loader test/lib/stock.spec.js"},"repository":{"type":"git","url":"git+https://github.com/gavinning/RedisKit.git"},"keywords":["redis","kit","redis-kit","rediskit"],"author":{"name":"gavinning"},"license":"MIT","bugs":{"url":"https://github.com/gavinning/RedisKit/issues"},"homepage":"https://github.com/gavinning/RedisKit#readme","dependencies":{},"devDependencies":{"ioredis":"^4.16.1","mocha":"^7.1.1"},"gitHead":"1140fd8d35d648f6363d7efc9a75e7409b112e09","_id":"@4a/rediskit@0.1.1","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ugFTarhodq09uyJCZ8z3UdnGpBwXBQH0u/+SUz4m7x6Tok6nWib8VV3jl2Qp5LeUAsaBs1vIiW+aYV1v4X1rFw==","shasum":"df3dfcfedba1f1aee9b2d2ede3b3f30ecb106b68","tarball":"https://registry.npmjs.org/@4a/rediskit/-/rediskit-0.1.1.tgz","fileCount":9,"unpackedSize":12961,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeiZNpCRA9TVsSAnZWagAAk4MP/AlYioMgBFyoHQ0CPUEu\ncPOi2jp1pviiGuwaGYBtljSmpRnrgCs03854A2wUbMKZj5Yqe4BIp0YFPCyQ\n4FoCDi4z8v4ZEMQht/yoaAQFMaAPvZTfcrQFdtVJUCp0OmvBMvtdbLolmWbY\nvMCs3nD0ZX/EUL8rNHRQTki9XmYeKdvILhChnB+R9QVoRpaz/qmQ+vbJDS5Y\noYm0dGzs3srJTd14V66aMgkeWQ7AwmLdNOwnid39fmeOARTH+Wogn7HMtCKs\n2UMKH0RPrlAF3arVsFTJGR1cuJ5SQtI7C8TOIoXd611+SW+TxrCokZl8+kZ4\niq+He8dFYh3Ch9WYf9pF11CRxvVI9F4kNEnIJWdeWA1XT4zW2fAizHlrh7R7\ntvYz9DBP+/FCfeD60Ibc3ffYaV0R64RbVhWj7EA9nqGvRBmVdnW+R7NKkHAY\nge586w0wd5pc8yVaZTfQBJFlwLQeo42mLFp07CXgJ9zr5+zpNJ8scmPkPict\nUvNyNcRdzchJoijBqcq4feeOnhZDiqt/D8C99d6x2JbiHSn/1CYvc+gTwSbR\noM7Gq+QaAza6Gg9NUmlX3RwL8D338F6FtN9Ea0Hz9k7DpnGNpC67yevbM1uE\n44SFx2WCkBuacFuuYQ5XW1lgTftvIH5++CxBt3s4RRjYdj7emawQeSKO4JIO\nRzwu\r\n=s1Wj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDvklZgF5TrDcKBPbrSnOUFJfD7cOLPVWOMt1vSoK3+HQIgJ0afbFN5jpv+yXS8fgiDKgBvoRwVEw1I6XkYmMZ0yxM="}]},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rediskit_0.1.1_1586074473105_0.8189880950266413"},"_hasShrinkwrap":false},"0.1.2":{"name":"@4a/rediskit","version":"0.1.2","description":"redis kit","main":"index.js","repository":{"type":"git","url":"git+https://github.com/gavinning/RedisKit.git"},"keywords":["redis","kit","redis-kit","rediskit"],"author":{"name":"gavinning"},"license":"MIT","bugs":{"url":"https://github.com/gavinning/RedisKit/issues"},"homepage":"https://github.com/gavinning/RedisKit#readme","dependencies":{},"devDependencies":{"ioredis":"^4.27.11","mocha":"^9.1.2"},"scripts":{"test":"NODE_ENV=dev mocha test/**/*.spec.js","test:stock":"NODE_ENV=dev mocha test/lib/stock.spec.js"},"_resolved":"","_integrity":"","_from":"file:4a-rediskit-0.1.2.tgz","_id":"@4a/rediskit@0.1.2","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-ddAzJ5fbccjHb5nNxiWMOBeg5xVaSqMkbSuPoBaYAUaiATLpnG04bFCKCSTos3o/qPwpFM2jBuJfJ4rV549S2w==","shasum":"bbe9260ae7cb1d04c41e57c4e2a66218fcf2568c","tarball":"https://registry.npmjs.org/@4a/rediskit/-/rediskit-0.1.2.tgz","fileCount":10,"unpackedSize":49859,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKj3GFJJLUl86dn5kSlGrn913xpIeRSjJgNoMORd2k4AIgVPzcq9PJpskmOhQpkwOjb9pyi7Z6f08hQ2XNWCHWNvI="}]},"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rediskit_0.1.2_1634008213507_0.3705490431574259"},"_hasShrinkwrap":false},"0.2.0":{"name":"@4a/rediskit","author":{"name":"gavinning"},"module":"dist/rediskit.esm.js","version":"0.2.0","license":"MIT","main":"dist/index.js","typings":"dist/index.d.ts","engines":{"node":">=10"},"peerDependencies":{},"husky":{"hooks":{"pre-commit":"tsdx lint"}},"prettier":{"tabWidth":4,"printWidth":110,"semi":false,"singleQuote":true,"trailingComma":"es5","arrowParens":"avoid"},"size-limit":[{"path":"dist/rediskit.cjs.production.min.js","limit":"10 KB"},{"path":"dist/rediskit.esm.js","limit":"10 KB"}],"devDependencies":{"@size-limit/preset-small-lib":"^6.0.2","@types/debug":"^4.1.7","@types/ioredis":"^4.27.6","husky":"^7.0.2","size-limit":"^6.0.1","tsdx":"^0.14.1","tslib":"^2.3.1","typescript":"^4.4.3"},"dependencies":{"debug":"^4.3.2","ioredis":"^4.27.11"},"scripts":{"dev":"tsdx watch","build":"tsdx build","test":"tsdx test","lint":"tsdx lint","size":"size-limit","analyze":"size-limit --why"},"_resolved":"","_integrity":"","_from":"file:4a-rediskit-0.2.0.tgz","description":"RedisKit --- Redis工具包","_id":"@4a/rediskit@0.2.0","_nodeVersion":"14.17.3","_npmVersion":"6.14.13","dist":{"integrity":"sha512-JVea1H4jE7wBJdebXZGpBBb3VhYi88BDKs8apZ1Vfzad58P9b+qrKk/qc5INbfbr8L4efGmc83h/2s4l762ZKg==","shasum":"7e241a89083ad792937938a78e96271fd341171a","tarball":"https://registry.npmjs.org/@4a/rediskit/-/rediskit-0.2.0.tgz","fileCount":20,"unpackedSize":93376,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhuhkXCRA9TVsSAnZWagAAB18QAJlHAujYluYKPLRGS5+R\nH+1PkJyQXzwRD2ZkOqM3JoiZYh4u9nK6uTrGL5V9CIaKJUN25l7iEGgoIvn1\nkBNDKYaUP/YCIWAC6nPbUNcIzUd/Cja2hnfexvLaC1CbaYhFou8tauLVnIh+\na+obqvCIhkYWySevc36701jXO8TG13J8Orrdyc8coKcz9EG5GnqNN3LP4qmU\nnVgWr9U4p7/esTG54OCy+30IGoRH9Soo0P39e9YX0jIomfqIZzAaZr/AaDpn\nn1Rlj4/p7VCiEK+0vCX20ZCFGimSfxiFqOe1iv1aaYKcUGiENSR9ugfbO9fy\nEzp8b2mU3SPzLeCCfNK6trezylVMzBBGt5QZ3g/VIVtVUytMrfQ7Fe3XXG9z\nu6kzJ+06t6gLzQ6G+tLCWN30mgisPZUfGCsNnnd36hqw+Rd52LdFEoOhxVUj\nyWiVLVt9Xav4fU1IoHyCISRNXcfc7/pp6hZbZTZ604vgwBDDjY3lQLYUwvO0\nH9m8Ov7aXKfpndJOJj5sOOebNeqU1bl/ipIguz65sHWOzTKyEfEeQp4vcryf\nfseViyAVayqtdkrK3pOvqM8QnBm02DkOtFYyiSOyauoDDvYNte9MFuiFoj2/\nzT2cYciKNKtmkNAOwNw4jburNzwLWD1DJkZ0BSL7dGshQTEBXxgH1sau2Qah\nAmHX\r\n=+dvT\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB3kf4YT+YuVGCO3Igv61kspc+hY36BJ2Ev7HPDmXxHZAiEA92BRshrZITTovdvw92wGBYVrhv6sxbtIxQqj7G3OjwM="}]},"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rediskit_0.2.0_1634012813734_0.8513916801985133"},"_hasShrinkwrap":false},"0.3.0":{"name":"@4a/rediskit","version":"0.3.0","type":"module","main":"./dist/index.esm.js","module":"./dist/index.esm.js","description":"redis kit","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs"}},"repository":{"type":"git","url":"git+https://github.com/gavinning/RedisKit.git"},"keywords":["redis","kit","redis-kit","rediskit"],"author":{"name":"gavinning"},"license":"MIT","bugs":{"url":"https://github.com/gavinning/RedisKit/issues"},"homepage":"https://github.com/gavinning/RedisKit#readme","peerDependencies":{"ioredis":"^5.3.0"},"scripts":{"dev":"vite","preview":"vite preview","test":"vitest --run","build":"vite build && tsc","type":"tsc src/index.ts --lib es2015,dom --declarationDir dist --emitDeclarationOnly --declaration","coverage":"NODE_ENV=development vitest run --coverage","prepublish":"npm run build"},"_id":"@4a/rediskit@0.3.0","_integrity":"sha512-55xrRQtWyLSahpitY2HRAg4dIZBh2kZZre5ePpMyPnroCc1wFCUbjtuR8NtOXKpUui1juJSevv0L/C4uAqU0ww==","_resolved":"/private/var/folders/dq/6rlp65cd3nb86v85nkhjthq80000gn/T/6f25392120a178221af1fccb2ec99ffd/4a-rediskit-0.3.0.tgz","_from":"file:4a-rediskit-0.3.0.tgz","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-55xrRQtWyLSahpitY2HRAg4dIZBh2kZZre5ePpMyPnroCc1wFCUbjtuR8NtOXKpUui1juJSevv0L/C4uAqU0ww==","shasum":"f43eb0a22f27f96dae225fd8bd31d4ea793dbb73","tarball":"https://registry.npmjs.org/@4a/rediskit/-/rediskit-0.3.0.tgz","fileCount":10,"unpackedSize":14452,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoOHfJu8dSOrOzPXBZUEFjum8pPLIgOZZX6frAFjJHUQIgDeKhevgfOg5cjm5paxqHRFpGDp53wrNZgS2yzHrXs0o="}]},"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rediskit_0.3.0_1688708073362_0.7115736117680462"},"_hasShrinkwrap":false},"0.3.1":{"name":"@4a/rediskit","version":"0.3.1","type":"module","main":"./dist/index.esm.js","module":"./dist/index.esm.js","types":"dist/index.d.ts","description":"redis kit","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs"}},"repository":{"type":"git","url":"git+https://github.com/gavinning/4a.git"},"keywords":["redis","kit","redis-kit","rediskit"],"author":{"name":"gavinning"},"license":"MIT","bugs":{"url":"https://github.com/gavinning/4a/issues"},"homepage":"https://github.com/gavinning/4a#readme","peerDependencies":{"ioredis":"^5.3.0"},"scripts":{"dev":"vite","preview":"vite preview","test":"vitest --run","build":"vite build && tsc","type":"tsc src/index.ts --lib es2015,dom --declarationDir dist --emitDeclarationOnly --declaration","coverage":"NODE_ENV=development vitest run --coverage","prepublish":"npm run build"},"_id":"@4a/rediskit@0.3.1","_integrity":"sha512-PkhtwG825qyF7yhhEmpQKfZZIQ3o6uiIgg+VyaV12OMGO0LOgl4u/fMYUZPaC6IhqgY2BjqGgJ9EysfMz2Uv+g==","_resolved":"/private/var/folders/dq/6rlp65cd3nb86v85nkhjthq80000gn/T/0244d05a371db29bf315747fb80f1c20/4a-rediskit-0.3.1.tgz","_from":"file:4a-rediskit-0.3.1.tgz","_nodeVersion":"18.16.0","_npmVersion":"9.5.1","dist":{"integrity":"sha512-PkhtwG825qyF7yhhEmpQKfZZIQ3o6uiIgg+VyaV12OMGO0LOgl4u/fMYUZPaC6IhqgY2BjqGgJ9EysfMz2Uv+g==","shasum":"fd2f6705b23e1a8d9a54662184a7e8ffce60c905","tarball":"https://registry.npmjs.org/@4a/rediskit/-/rediskit-0.3.1.tgz","fileCount":10,"unpackedSize":14464,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD/B+yzqT5tR/bxQuKW87qKjS7q4lExzXgENUePMLvwtAIgGaOtEuf64ynHRMoWJ4RTYMuqoxL2W1pfbND++MTuSwU="}]},"_npmUser":{"name":"gavinning","email":"gavinning@qq.com"},"directories":{},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rediskit_0.3.1_1689825112985_0.7570380692060494"},"_hasShrinkwrap":false}},"time":{"created":"2020-04-05T05:21:35.758Z","0.1.0":"2020-04-05T05:21:36.139Z","modified":"2023-07-20T03:51:53.329Z","0.1.1":"2020-04-05T08:14:33.258Z","0.1.2":"2021-10-12T03:10:13.704Z","0.2.0":"2021-10-12T04:26:53.896Z","0.3.0":"2023-07-07T05:34:33.507Z","0.3.1":"2023-07-20T03:51:53.161Z"},"maintainers":[{"name":"gavinning","email":"gavinning@qq.com"}],"description":"redis kit","author":{"name":"gavinning"},"license":"MIT","readme":"RedisKit\n---\nRedis工具包\n\n### Install\n```sh\nnpm i @4a/rediskit\n```\n\n### Usage\n```ts\n// redis client需支持promise, 推荐使用ioredis\nimport { Redis } from 'ioredis'\nimport { regStock, regIncrement } from '@4a/rediskit'\n\nconst createIncr = regIncrement(new Redis())\nconst createStock = regIncrement(new Redis())\n```\n\n### Stock\n基于``Redis``简单的队列操作\n```ts\ncreateStock('app:stock:apple')\ncreateStock('app:stock', apple)\ncreateStock('app:stock', apple, 'price', ...)\n\nconst stock = createStock('app:stock:apple', id)\n\nawait stock.get()\nawait stock.set(arr, time)\nawait stock.save(arr, time)\n\nawait stock.prepend(item)\nawait stock.append(item)\nawait stock.pop()\nawait stock.shift()\nawait stock.remove(item)\nawait stock.remove(item => item.type === 1)\n\nawait stock.find(callback)\nawait stock.findIndex(callback)\n\nawait stock.map(callback)\nawait stock.each(callback)\nawait stock.slice(start, end)\n\nawait stock.clear()\nawait stock.expire()\nawait stock.expire(60)\n```\n\n\n### Increment API\n基于``Redis.incr``的安全计数\n```ts\ncreateIncr('app:incr:apple')\ncreateIncr('app:stock', apple, 'price', ...)\n\nconst increment = createIncr('app:stock:apple', id)\n\nawait increment.isRepeat()\nawait increment.isNotRepeat()\n\nawait increment.isOutRange(10)\nawait increment.isInRange(10)\nawait increment.isInRange(10, 3)\n\nawait increment.increment()\nawait increment.decrement()\n\nawait increment.clear()\nawait increment.expire()\nawait increment.expire(60)\n```\n\n&nbsp;\nExample\n---\n> npm test\n","readmeFilename":"readme.md","homepage":"https://github.com/gavinning/4a#readme","keywords":["redis","kit","redis-kit","rediskit"],"repository":{"type":"git","url":"git+https://github.com/gavinning/4a.git"},"bugs":{"url":"https://github.com/gavinning/4a/issues"}}