{"_id":"@atsushi_suzuki/promise-queue","_rev":"3-3c7a33bf645b02eaef5585acfed5ecb9","name":"@atsushi_suzuki/promise-queue","description":"job queue for promise functions","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@atsushi_suzuki/promise-queue","version":"0.0.1","description":"job queue for promise functions","main":"lib/Queue.js","types":"lib/Queue.d.ts","engines":{"node":">=6"},"scripts":{"build":"tsc","prepublish":"tsc","test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/AtsushiSuzuki/promise-queue.git"},"author":{"name":"Atsushi Suzuki"},"license":"ISC","bugs":{"url":"https://github.com/AtsushiSuzuki/promise-queue/issues"},"homepage":"https://github.com/AtsushiSuzuki/promise-queue#readme","dependencies":{},"devDependencies":{"@types/mocha":"^2.2.32","@types/node":"^6.0.46","mocha":"^3.1.2","typescript":"^2.0.6"},"gitHead":"e9bd734e1e3dff93aa39b455564ba155eb13f565","_id":"@atsushi_suzuki/promise-queue@0.0.1","_shasum":"63b4d9685fc5a435d80e3ec0ccc9eafe76831595","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"atsushi_suzuki","email":"possibly.maybe.probably@gmail.com"},"dist":{"shasum":"63b4d9685fc5a435d80e3ec0ccc9eafe76831595","tarball":"https://registry.npmjs.org/@atsushi_suzuki/promise-queue/-/promise-queue-0.0.1.tgz","integrity":"sha512-RQsWHXqXVdHV/WxEzc9vEx7uvO5oM3Molwk05IQN/9sOc2khUA6WYolma1pTI3ETM/6WX6DsP//5U4IQmE49nA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBWl+Dpd+HEd+ogzhLsCtM5APbkDlp1nwyGP93cF+8AGAiEAl5j8Erta9gkDTaq4Ysn/hfhT3b32pyxwnDUgWKU1/DI="}]},"maintainers":[{"name":"atsushi_suzuki","email":"possibly.maybe.probably@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/promise-queue-0.0.1.tgz_1478245834316_0.6503727377858013"}}},"readme":"promise-queue\r\n=============\r\n\r\nTask queue to serialize execution of promised functions.\r\n\r\n# Usage\r\n\r\n```sh\r\n$ npm i --save @atsushi_suzuki/promise-queue\r\n```\r\n\r\n```typescript\r\nimport {Queue} from \"@atsushi_suzuki/promise-queue\";\r\n\r\nfunction wait(ms: number) {\r\n  return new Promise((resolve, reject) => {\r\n    setTimeout(resolve, ms);\r\n  });\r\n}\r\n\r\nconst queue = new Queue();\r\nqueue.enqueue(async function fn1() {\r\n  console.log(\"begin fn1\");\r\n  await wait(10);\r\n  console.log(\"end fn2\");\r\n});\r\nqueue.enqueue(async function fn2() {\r\n  console.log(\"begin fn2\");\r\n  await wait(10);\r\n  console.log(\"end fn2\");\r\n});\r\n\r\n// result:\r\n//   begin fn1\r\n//   end fn1\r\n//   begin fn2\r\n//   end fn2\r\n```\r\n\r\n# API\r\n## Queue#enqueue(fn: () => Promise<any>): Promise<any>\r\n\r\nRegister an function to job queue.\r\n\r\nReturns promise which will be resolved when provided function's return value is resolved.\r\n","maintainers":[{"name":"atsushi_suzuki","email":"possibly.maybe.probably@gmail.com"}],"time":{"modified":"2022-06-12T14:51:18.757Z","created":"2016-11-04T07:50:35.975Z","0.0.1":"2016-11-04T07:50:35.975Z"},"homepage":"https://github.com/AtsushiSuzuki/promise-queue#readme","repository":{"type":"git","url":"git+https://github.com/AtsushiSuzuki/promise-queue.git"},"author":{"name":"Atsushi Suzuki"},"bugs":{"url":"https://github.com/AtsushiSuzuki/promise-queue/issues"},"license":"ISC","readmeFilename":"readme.md"}