{"_id":"@bemedev/rx-pausable","_rev":"12-a769c3a12a7b37a6f4b39c8cf93bde79","name":"@bemedev/rx-pausable","dist-tags":{"latest":"1.2.0"},"versions":{"0.0.1":{"name":"@bemedev/rx-pausable","version":"0.0.1","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@0.0.1","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"feaadc0df28b66ea756561d9609e6ac7f7f188a5","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-0.0.1.tgz","fileCount":11,"integrity":"sha512-BR3aWVw4PgNTMuf5/t8iADhbnbGhF7EWeS96vcknnoyxW7H/Cpi63DU5YhRjutI+4L1DPem/EN159taB6XFRFg==","signatures":[{"sig":"MEUCIBukJR9AvMg1EmYOjHD5Pxum7u3lkffTcnnHBTIPLyIrAiEA/NO4uaN9FUAYW9qzzx0vDiUpUSOswcD82frnwBfmHI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17588},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"e15a0ca838a69a237a819239d9e25bf22b4cba28","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.6.2","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.0","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.55.1","vitest":"^3.2.4","globals":"^17.0.0","onchange":"^7.1.0","prettier":"^3.7.4","@eslint/js":"^9.39.2","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.0.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.3","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_0.0.1_1767862305499_0.46750057526164723","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@bemedev/rx-pausable","version":"0.0.2","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@0.0.2","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"cd8d3095db74f238a5658d15c46111e9826356f4","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-0.0.2.tgz","fileCount":11,"integrity":"sha512-SvXSlkq/ImsEh9LbXdNf/0MBWgwDDx8PJPIIJVm5KJcDHNhVSWWutmCgBHs9V3iuP048NOyRHax6dYUFEPKmyw==","signatures":[{"sig":"MEQCICTsaPEtuk0nL9Hg5gfmYopmYUBw8QpQUGCesN7T2B1JAiA5o1vtf3JAB3Lx470zWI5fa3wckjpDC7mkvkuQnVtRtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22687},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"555bd9a0e8333015ccfb0640405425fa37ac799c","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.6.2","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.12.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.0","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.55.1","vitest":"^3.2.4","globals":"^17.0.0","onchange":"^7.1.0","prettier":"^3.7.4","@eslint/js":"^9.39.2","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.0.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.3","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_0.0.2_1767863955579_0.052509079501380285","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@bemedev/rx-pausable","version":"0.0.3","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@0.0.3","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"ab1df9fc26d018dd60e80408a1f92d95a63987b9","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-0.0.3.tgz","fileCount":11,"integrity":"sha512-JYKriMwMTfNlRi1FkmI+IiFkxhcHoMnqQOklowwYpe+Y/r5aq0GViI7j4JlmZiG6UdRrei9wr0c694DCRwTBgA==","signatures":[{"sig":"MEUCIGY8Nq8qD6IDziyfKHqeADYO4Dfc7cnToTFr2Cnmm+9hAiEAlR8Kaa/R8XXz01B4D7nukyVSE3FMDAwbLf34qocJcdE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22687},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"f9f94992acd77cd4c3bf7d20e497323157dbd43a","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.6.2","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.0","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.55.1","vitest":"^3.2.4","globals":"^17.0.0","onchange":"^7.1.0","prettier":"^3.7.4","@eslint/js":"^9.39.2","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.0.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.3","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_0.0.3_1770725900647_0.40715375378435614","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@bemedev/rx-pausable","version":"0.0.4","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@0.0.4","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"df56ac2f53b07e217afc9d6a2dcaf483a060b1d3","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-0.0.4.tgz","fileCount":11,"integrity":"sha512-zUQAH394bxh0/7Fop4cbp2yeit1Vn8Jf/sOaD6nkIqOt7pZN30RmM5IZbapnltPlABBYWbfBcrLv4sBZ8v42fw==","signatures":[{"sig":"MEQCICL196HebHrot+auFT1SEjEmTVMv7NxFHDAvezZRDXy8AiAZjzCiD3n4HYZRdZgSKfuyTX0qCwqp5mgAk6RFiNQZZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22687},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"2c74a100a013564ca7d431cc6c3dfecc98f56bdd","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.6.2","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.0","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.55.1","vitest":"^3.2.4","globals":"^17.0.0","onchange":"^7.1.0","prettier":"^3.7.4","@eslint/js":"^9.39.2","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.0.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.3","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_0.0.4_1770818615088_0.5387883669874503","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@bemedev/rx-pausable","version":"0.1.0","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@0.1.0","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"a7053d11e777836def718f6aca369f4d2b7770d7","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-0.1.0.tgz","fileCount":11,"integrity":"sha512-y5Qu9FImGnbHWgaBiijFQPgnAkznoLQtbXMSHU6kz4Fz3qotspky3Bt3luKZeAZ+L8R+2iitHwTfNpb8GH7kVA==","signatures":[{"sig":"MEUCIQDGa82nW2AQatCol4yzp9ic13wj0GiftDx32K7WgbWz3gIgKq0vK3Hx5ZCG4OtiCb4bPmBlSHE0QIdf3n9Wysbufr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21155},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"150688ee794ff3c50bda8ac04e5130a239f7c5bb","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.6.2","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.0","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^9.39.2","rollup":"^4.55.1","vitest":"^3.2.4","globals":"^17.0.0","onchange":"^7.1.0","prettier":"^3.7.4","@eslint/js":"^9.39.2","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.0.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.3","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.52.0","@typescript-eslint/eslint-plugin":"^8.52.0"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_0.1.0_1771427129016_0.8099193355923382","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bemedev/rx-pausable","version":"0.2.0","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@0.2.0","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"322e5e7c427e61de5e6c35326e26e7f57eba50c5","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-0.2.0.tgz","fileCount":11,"integrity":"sha512-47BHfM1sxng9htPRnHFMGOh1CiP7rB5y6OXkpHdDNdfxToHKHiwMzRLWI6QTFeZ4qvj95bDfMnoG0dUe1Gyyfw==","signatures":[{"sig":"MEYCIQDcTnX4bbD9I6pafuTQ5PPP0b8emOIGqqOWWKuEcdNL/AIhAOJRDqZPZYZX90p1u96sEPz/exLQ7OUWbYawD9y/yCaQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21136},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"7830cfa9485fdec7af7ebdaf4bb8339e07444685","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.8.0","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^10.0.2","rollup":"^4.59.0","vitest":"^3.2.4","globals":"^17.3.0","onchange":"^7.1.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.3.2","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.4","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_0.2.0_1772224975416_0.7455353025373239","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@bemedev/rx-pausable","version":"1.0.0","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@1.0.0","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"85ad7527098594c93afe901997d556f89d1f45be","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-1.0.0.tgz","fileCount":11,"integrity":"sha512-+ynZwZ1/fiPIvg8iKyhS5TRmy4jCQ45sgE/2i5VKUv4iJMUTTc/99Sx4kgv3q1zgC1ImwDFsR9gw41lvf3KzzA==","signatures":[{"sig":"MEQCIACukbNI+ApQDBW/JRAF5Kgh26RfjierjLRYTQxmrclAAiAGfCPyfHhhwx4fy8Tv97Nud5Mdye4ez1kpcVzJC595kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34520},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"557aee7b7fa4756503f95375b10e1d1485a9c9cf","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.8.0","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^10.0.2","rollup":"^4.59.0","vitest":"^3.2.4","globals":"^17.4.0","onchange":"^7.1.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.3.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.4","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_1.0.0_1772504656245_0.26193469751205534","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bemedev/rx-pausable","version":"1.0.1","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@1.0.1","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"47e4710c1fb41906845b5486e09da6a75ea24442","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-1.0.1.tgz","fileCount":17,"integrity":"sha512-r7TxF6CbV+Cyx63yCQWOlCmsjJ6kUfJOrGvJPCM1lm81ES9vhjqidmEp9LFFVaH+tfhQ3xFpvOLzza2be7HCQA==","signatures":[{"sig":"MEQCIDHxLsKonRAbn3wmxzF/gl/TH5+ZZHp3plKh+EWbjcJdAiBOHZHi6cu5XtlvtN+4oFM4Qhl0OWntBIQWBq1cGNb5Eg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35249},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"6f8cc6632de93c1361d72468603da668d0d8c33a","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.8.0","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^10.0.2","rollup":"^4.59.0","vitest":"^3.2.4","globals":"^17.4.0","onchange":"^7.1.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.3.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.4","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_1.0.1_1772540682831_0.782756523308298","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bemedev/rx-pausable","version":"1.0.2","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@1.0.2","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"af35210fbefeebe6ecb5c58b2ba84e3109b18bb8","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-1.0.2.tgz","fileCount":17,"integrity":"sha512-9MC3QlgVdZqgSDT4/5NluQ8m2I35oeZNXPiN8WMzjI1o0zs4Mp/XXiFTSMyi0WvKKNr5Z1qjemO4sMOH1c0oEg==","signatures":[{"sig":"MEYCIQCymejJCN9i2axJySq/hPg7C4FLC19GtQSjkomSNrYP3AIhAM6oZ+vkSEC+UkZKjkm5ESHEUEdoYVOesJWKq99xeA7u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57681},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"25714bf49296588ccd34246680a7cf28cdc36919","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.8.0","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^10.0.2","rollup":"^4.59.0","vitest":"^3.2.4","globals":"^17.4.0","onchange":"^7.1.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.3.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.4","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_1.0.2_1772541577026_0.35748542279225304","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bemedev/rx-pausable","version":"1.0.3","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@1.0.3","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"28a414583628f7f7324eb1a8c080f72d39ebfddf","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-1.0.3.tgz","fileCount":17,"integrity":"sha512-thYkP4FhDLjca5OPQMK327LHrEVgfTpUedAvrFz/tdNEFywhv6m7EVn/jfeHN7Jy0vDGWbRydfjzzF4O8kXJxQ==","signatures":[{"sig":"MEQCICoyeKI/Jjl7Qxi3qxdK4/lO7SuCzLM4WqGM8LCqlo5vAiBHp7QrTFXNDVw6gD8HCoeLdUKWxiWEoQ1YC5/SxmH7kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62452},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"83455395d1fc572a312fa664281fc614e6878226","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","upgrade":"pnpm upgrade --latest && pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.8.0","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^10.0.2","rollup":"^4.59.0","vitest":"^3.2.4","globals":"^17.4.0","onchange":"^7.1.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","size-limit":"^12.0.0","typescript":"^5.9.3","@types/node":"^25.3.3","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.4","@size-limit/file":"^12.0.0","@vitest/coverage-v8":"^3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_1.0.3_1772583198767_0.12300439466645852","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bemedev/rx-pausable","version":"1.1.0","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"author":{"url":"https://beme-dev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/rx-pausable@1.1.0","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"homepage":"https://github.com/chlbri/pausable#readme","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"dist":{"shasum":"5fc6172a3af9eb851e2279029ebbd28f7bc86b0a","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-1.1.0.tgz","fileCount":17,"integrity":"sha512-NKbuSDtuX9TEcFJY+Zoi7T77hkwwjFlj5ck9NTJv42PlMJ1VlrlLOjXnEVDoQOV0co4bvsE4LAO6QKCVbltbtg==","signatures":[{"sig":"MEYCIQDDrOitsyYcarL2BKaEg3BdDfrX5MzsZ5yhFJy85D9Z1wIhAJHfTbWXh3BjRB8HDsQBPvtVa3/Z8cqpOuvWUbr884Pa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62200},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=22"},"gitHead":"95affe416fd796acd0d0424d09166d0e649cd6f4","scripts":{"ci":"pnpm run config:off && pnpm run lint && pnpm run test && pnpm run prettier && pnpm run p-q","rm":"pnpm run rimraf -- node_modules pnpm-lock.yaml","p-q":"pretty-quick","lint":"pnpm run prettier && pnpm run eslint --fix","size":"size-limit","test":"pnpm run test:coverage --no-coverage","build":"pnpm rm:lib && pnpm run rollup","clean":"pnpm run rm && pnpm run config","rinit":"pnpm run rm && pnpm run config","config":"pnpm install","eslint":"eslint \"{src/**/*,App}.{ts,tsx}\"","rimraf":"pnpx rimraf -rf","rm:lib":"pnpm run rimraf -- lib","rollup":"rollup -c","prepare":"husky","pretest":"pnpm run build","test:ui":"vitest --ui","upgrade":"pnpm upgrade --latest && pnpm run config:vitest","ci:admin":"pnpm run rm && pnpm run upgrade && pnpm run ci","posttest":"pnpm run size","prettier":"prettier --write \"src/**/*.{ts,tsx}\"","rinit:off":"pnpm run rm && pnpm run config:off","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 5500 \"**/*\" -- pnpm run lint","test:watch":"vitest","config:vitest":"pnpm add -D vitest@3.2.4 @vitest/coverage-v8@3.2.4 @vitest/ui@3.2.4 --offline","test:coverage":"vitest run","prepublishOnly":""},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"repository":{"url":"git+https://github.com/chlbri/pausable.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.9.0","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","rxjs":"^7.8.2","husky":"^9.1.7","tslib":"^2.8.1","eslint":"^10.0.3","rollup":"^4.59.0","vitest":"3.2.4","globals":"^17.4.0","onchange":"^7.1.0","prettier":"^3.8.1","@eslint/js":"^10.0.1","@vitest/ui":"3.2.4","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.4.0","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@eslint/eslintrc":"^3.3.5","@size-limit/file":"^12.0.1","@vitest/coverage-v8":"3.2.4","@bemedev/vitest-alias":"^0.0.3","@bemedev/rollup-config":"^0.2.2","@bemedev/vitest-exclude":"^0.1.1","@bemedev/vitest-extended":"^1.5.3","@typescript-eslint/parser":"^8.57.0","@typescript-eslint/eslint-plugin":"^8.57.0"},"_npmOperationalInternal":{"tmp":"tmp/rx-pausable_1.1.0_1773191435511_0.43777268333401453","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bemedev/rx-pausable","version":"1.2.0","description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","author":{"name":"chlbri","email":"bri_lvi@icloud.com","url":"https://beme-dev.vercel.app"},"repository":{"type":"git","url":"git+https://github.com/chlbri/pausable.git"},"license":"MIT","type":"module","main":"lib/index.js","types":"lib/index.d.ts","module":"lib/index.js","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"name":"chlbri","email":"bri_lvi@icloud.com","url":"https://bemedev.vercel.app"}],"keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"engines":{"node":">=22"},"scripts":{"build":"pnpm run rm:lib && pnpm run rolldown","build:watch":"onchange --await-write-finish 1500 -d 10000 -v \"**/*.ts\" -- pnpm run build","ci":"CI_START=$(date +%s) && pnpm run config:off && pnpm run lint && pnpm run test && echo \"\\n✅ CI takes $(($(date +%s) - CI_START))s\\n\"","ci:admin":"pnpm run rm && pnpm run upgrade:fast && pnpm run ci","config":"pnpm install","config:off":"pnpm run config --offline","config:vitest":"pnpm add -D @vitest/coverage-v8@3.2.4 @vitest/ui@3.2.4 vitest@3.2.4","_lint":"oxlint","lint:fix":"oxlint --fix","lint":"pnpm run fmt && pnpm run lint:fix","lint:watch":"onchange --await-write-finish 1500 -d 10000 -v \"**/*.ts\" -- pnpm run lint","fmt":"oxfmt","fmt:check":"oxfmt --check","p-q":"pretty-quick","posttest":"pnpm run fmt","prepare":"husky","prepublishOnly":"","pretest":"pnpm run build && pnpm run size","rinit":"pnpm run rm && pnpm run config","rinit:off":"pnpm run rm && pnpm run config:off","rm":"pnpx rimraf ./node_modules ./pnpm-lock.yaml","rm:lib":"pnpx rimraf ./lib","rolldown":"rolldown -c","size":"size-limit","test":"pnpm run test:coverage","test:coverage":"vitest run","test:only":"pnpm run test:coverage --no-coverage","test:ui":"vitest --ui","test:watch":"vitest","upgrade":"pnpm dlx @bemedev/upgrade-npm-package && pnpm run config:vitest","upgrade:fast":"pnpm up --latest && pnpm run config:vitest"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"devDependencies":{"@bemedev/dev-utils":"latest","@bemedev/fsf":"^1.0.1","@size-limit/file":"^12.0.1","@types/node":"^25.5.1","@vitest/coverage-v8":"3.2.4","@vitest/ui":"3.2.4","glob":"^13.0.6","husky":"^9.1.7","onchange":"^7.1.0","oxfmt":"latest","oxlint":"latest","rolldown":"latest","rxjs":"^7.8.2","size-limit":"^12.0.1","tslib":"^2.8.1","typescript":"^6.0.2","vitest":"3.2.4"},"pnpm":{"onlyBuiltDependencies":["esbuild"]},"gitHead":"aaaba140f65100cf7662438be08b436c55fabaa7","_id":"@bemedev/rx-pausable@1.2.0","bugs":{"url":"https://github.com/chlbri/pausable/issues"},"homepage":"https://github.com/chlbri/pausable#readme","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-olicIDw+9z9GhXQoRhMJjT2VmZC5zqDk7uM+dAsOrGpoMPfzxmusfKWPX4Lg45QmxIALcIB630S9Qo45ZIpmdQ==","shasum":"4970c3633cfabe9c59142ab1a5f16d3308594cd9","tarball":"https://registry.npmjs.org/@bemedev/rx-pausable/-/rx-pausable-1.2.0.tgz","fileCount":91,"unpackedSize":248185,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAVxO4WAuHPyo+sS91nbI7UFmkl9xNV2irNHijNqHPA1AiEAvq9ZBIz1kOJt3IIp3CHwS1tNEpT5XAVP6yHoF7iaOOA="}]},"_npmUser":{"name":"bemedev","email":"bri_lvi@icloud.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rx-pausable_1.2.0_1775212693910_0.2098445139102878"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-08T08:51:45.393Z","modified":"2026-04-03T10:38:14.175Z","0.0.1":"2026-01-08T08:51:45.618Z","0.0.2":"2026-01-08T09:19:15.721Z","0.0.3":"2026-02-10T12:18:20.807Z","0.0.4":"2026-02-11T14:03:35.227Z","0.1.0":"2026-02-18T15:05:29.160Z","0.2.0":"2026-02-27T20:42:55.550Z","1.0.0":"2026-03-03T02:24:16.409Z","1.0.1":"2026-03-03T12:24:43.026Z","1.0.2":"2026-03-03T12:39:37.169Z","1.0.3":"2026-03-04T00:13:18.932Z","1.1.0":"2026-03-11T01:10:35.662Z","1.2.0":"2026-04-03T10:38:14.060Z"},"bugs":{"url":"https://github.com/chlbri/pausable/issues"},"author":{"name":"chlbri","email":"bri_lvi@icloud.com","url":"https://beme-dev.vercel.app"},"license":"MIT","homepage":"https://github.com/chlbri/pausable#readme","keywords":["rxjs","observable","pausable","reactive","stream","control","pause","resume","typescript"],"repository":{"type":"git","url":"git+https://github.com/chlbri/pausable.git"},"description":"A pausable wrapper for RxJS observables with start, stop, pause, and resume controls","contributors":[{"name":"chlbri","email":"bri_lvi@icloud.com","url":"https://bemedev.vercel.app"}],"maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"readme":"# @bemedev/rx-pausable\n\nA pausable wrapper for RxJS observables with start, stop, pause, and resume\ncontrols.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js](https://img.shields.io/badge/node-%3E%3D22-brightgreen.svg)](https://nodejs.org/)\n\n## Features\n\n- 🎛️ **State Management**: Control observable streams with `start`, `stop`,\n  `pause`, and `resume`\n- 🔁 **Restartable**: Call `start()` again after `stop()` to fully restart\n  the stream with a clean slate\n- � **Fixed Source**: The source observable is bound at creation time and\n  never changes — `createPausable` cannot be replayed with a different\n  source\n- �🗺️ **State Inspector**: Read the current state (`'stopped'` |\n  `'running'` | `'paused'`) via the `state` property\n- 🔄 **Command Interface**: Programmatic control via `command()` method\n- 🧩 **Smart Buffering**: Values emitted during pause are buffered and\n  re-emitted after `resume()` with correct relative timing\n- 📦 **Flexible Observers**: Support for function, partial, full, or no\n  observer\n- 🔗 **Dynamic Subscribe**: Add extra observers at any time via\n  `subscribe()` — returns an RxJS `Subscription` for granular control\n- 🔌 **Proper Lifecycle**: Automatic subscription management and cleanup\n  per `start()` call\n- 💪 **TypeScript**: Full type safety with TypeScript support\n- ✅ **Well Tested**: 100% test coverage with comprehensive test suite\n\n## Installation\n\n```bash\nnpm install @bemedev/rx-pausable\n```\n\n```bash\npnpm add @bemedev/rx-pausable\n```\n\n```bash\nyarn add @bemedev/rx-pausable\n```\n\n## Usage\n\n### Basic Example\n\n```typescript\nimport { interval } from 'rxjs';\nimport createPausable from '@bemedev/rx-pausable';\n\n// Create a pausable wrapper around an observable\nconst pausable = createPausable(interval(1000), value =>\n  console.log('Value:', value),\n);\n\n// Start emitting values\npausable.start();\n// Output: Value: 0, Value: 1, Value: 2...\n\nconsole.log(pausable.state); // 'running'\n\n// Pause the stream (buffers incoming values)\npausable.pause();\n\nconsole.log(pausable.state); // 'paused'\n\n// Resume the stream (re-emits buffered values with correct timing)\npausable.resume();\n\n// Stop completely\npausable.stop();\n\nconsole.log(pausable.state); // 'stopped'\n```\n\n### With Full Observer\n\n```typescript\nimport { Subject } from 'rxjs';\nimport createPausable from '@bemedev/rx-pausable';\n\nconst source$ = new Subject<number>();\n\nconst pausable = createPausable(source$, {\n  next: value => console.log('Next:', value),\n  error: err => console.error('Error:', err),\n  complete: () => console.log('Complete!'),\n});\n\npausable.start();\nsource$.next(1); // Output: Next: 1\nsource$.complete(); // Output: Complete!\n```\n\n### Using Command Interface\n\n```typescript\nimport { of } from 'rxjs';\nimport createPausable from '@bemedev/rx-pausable';\n\nconst pausable = createPausable(of(1, 2, 3), console.log);\n\n// Control via commands\npausable.command('start');\npausable.command('pause');\npausable.command('resume');\npausable.command('stop');\n```\n\n### Without Observer (Side Effects Only)\n\n```typescript\nimport { interval } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport createPausable from '@bemedev/rx-pausable';\n\nconst source$ = interval(1000).pipe(\n  tap(value => console.log('Side effect:', value)),\n);\n\nconst pausable = createPausable(source$);\npausable.start();\n```\n\n## API\n\n### `createPausable<T>(source$: Observable<T>, observer?: Observer<T> | ((value: T) => void))`\n\nCreates a pausable wrapper around an RxJS observable.\n\n> **Note:** The `source$` observable is **fixed at creation time** and\n> cannot be changed afterwards. If you need to switch to a different\n> source, create a new `createPausable` instance. The source is never\n> mutated or replaced internally.\n\n**Parameters:**\n\n- `source$`: The source Observable to wrap. Bound permanently to this\n  instance — cannot be swapped after creation.\n- `observer` (optional): Can be:\n  - A function `(value: T) => void`\n  - A partial observer `{ next?: ..., error?: ..., complete?: ... }`\n  - A full observer `{ next: ..., error: ..., complete: ... }`\n  - `undefined` (for observables with side effects only)\n\n**Returns:** An object with control methods:\n\n#### `start(): void`\n\nStarts (or **restarts**) the stream. Only works from the `stopped` state.\n\nEach call fully resets internal state: a fresh internal `Subject` is\ncreated, the event buffer is cleared, and timing references are reset. This\nmeans calling `start()` after `stop()` is safe and produces a clean new\nsubscription to the source observable.\n\n#### `stop(): void`\n\nStops the stream. Cancels any pending resume timers and sets the instance\nback to the `stopped` state, from which it can be restarted with `start()`.\nCan be called from any non-`stopped` state.\n\n#### `pause(): void`\n\nPauses the stream. Incoming values from the source are buffered. Only works\nfrom `running` state.\n\n#### `resume(): void`\n\nResumes the stream and re-emits all buffered values (in order, with\nrelative timing). Only works from `paused` state.\n\n#### `subscribe(observer: ((value: T) => void) | Partial<Observer<T>>): Subscription`\n\nSubscribes an additional observer to the internal subject. Unlike the\nobserver passed to `createPausable`, this subscriber is registered\ndynamically and receives the same forwarded events subject to the same\npause/resume/stop lifecycle controls.\n\nReturns an RxJS `Subscription` that can be used to unsubscribe.\n\n```typescript\nimport { Subject } from 'rxjs';\nimport { createPausable } from '@bemedev/rx-pausable';\n\nconst source$ = new Subject<number>();\nconst pausable = createPausable(source$, v => console.log('primary:', v));\n\nconst sub = pausable.subscribe(v => console.log('secondary:', v));\n\npausable.start();\nsource$.next(1); // primary: 1 / secondary: 1\n\nsub.unsubscribe();\nsource$.next(2); // primary: 2 (secondary no longer receives)\n```\n\n#### `command(action: 'start' | 'stop' | 'pause' | 'resume'): void`\n\nExecutes a control action programmatically.\n\n#### `state: 'stopped' | 'running' | 'paused'` (read-only)\n\nReturns the current state of the pausable wrapper.\n\n## State Machine\n\nThe pausable wrapper implements a simple state machine:\n\n```\n  ┌─────────────────────────────────────────────────┐\n  │                    start()                       │\n  ▼                                                  │\nstopped ──start()──> running ──pause()──> paused     │\n            │                                │        │\n            │           stop()               │        │\n            └──────────────────────────────► │        │\n                                             ▼        │\n                                           stopped ───┘\n                                             ▲\n                                             │ stop()\n                                           paused ──resume()──> running\n```\n\n**States:**\n\n- `stopped`: Initial state (or after `stop()`); not forwarding values.\n  Calling `start()` resets all internal state and begins a fresh\n  subscription.\n- `running`: Actively forwarding values from source to observer\n- `paused`: Stream suspended; source values are buffered until `resume()`\n\n**Valid transitions:**\n\n| Current state | Action     | Next state |\n| ------------- | ---------- | ---------- |\n| `stopped`     | `start()`  | `running`  |\n| `running`     | `pause()`  | `paused`   |\n| `running`     | `stop()`   | `stopped`  |\n| `paused`      | `resume()` | `running`  |\n| `paused`      | `stop()`   | `stopped`  |\n\n**Invalid transitions are silently ignored:**\n\n- `start()` when already `running` or `paused`\n- `pause()` when `stopped` or already `paused`\n- `resume()` when `stopped` or `running`\n- `stop()` when already `stopped`\n\n## Behavior Notes\n\n### Restart Semantics\n\nCalling `stop()` followed by `start()` performs a **full restart**: all\ninternal state (event buffer, timing references, internal subject) is\ndiscarded and recreated fresh. The observer originally passed to\n`createPausable` is re-subscribed automatically.\n\n```typescript\nimport { interval } from 'rxjs';\nimport { createPausable } from '@bemedev/rx-pausable';\n\nconst values: number[] = [];\nconst pausable = createPausable(interval(1000), v =>\n  values.push(v as number),\n);\n\npausable.start();\n// ... after some time: values = [0, 1, 2]\n\npausable.stop();\n// values stay as-is; no more emissions\n\npausable.start(); // fresh restart — buffer and timing reset\n// ... after some time: values = [0, 1, 2, 0, 1, 2, ...]\n//                                ↑ first run   ↑ second run (restarts from 0)\n```\n\n### Pause/Resume Semantics\n\nWhen you call `pause()`, the wrapper **buffers** all values emitted by the\nsource. When you call `resume()`, all buffered values are **re-emitted** to\nthe observer in order, with their original relative timestamps, before\nresuming normal forwarding.\n\nThis means **no values are lost** during a pause, regardless of whether the\nsource is hot or cold:\n\n```typescript\nconst subject$ = new Subject<number>();\nconst pausable = createPausable(subject$, console.log);\npausable.start();\nsubject$.next(1); // Output: 1\npausable.pause();\nsubject$.next(2); // Buffered (no output yet)\nsubject$.next(3); // Buffered (no output yet)\npausable.resume();\n// Output: 2, 3 (buffered values re-emitted)\nsubject$.next(4); // Output: 4\n```\n\nErrors emitted during pause are also buffered and propagated after\n`resume()`:\n\n```typescript\nconst subject$ = new Subject<number>();\nconst pausable = createPausable(subject$, {\n  next: v => console.log('Next:', v),\n  error: e => console.error('Error:', e),\n});\npausable.start();\nsubject$.next(1); // Output: Next: 1\npausable.pause();\nsubject$.error(new Error('oops')); // Buffered\npausable.resume();\n// Output: Error: Error: oops (propagated after resume)\n```\n\n## TypeScript\n\nFull TypeScript support with generic types:\n\n```typescript\nimport { Observable } from 'rxjs';\nimport createPausable from '@bemedev/rx-pausable';\n\ninterface MyData {\n  id: number;\n  value: string;\n}\n\nconst source$: Observable<MyData> = ...;\nconst pausable = createPausable(source$, (data: MyData) => {\n  console.log(data.id, data.value);\n});\n```\n\n## Requirements\n\n- Node.js >= 22 (LTS)\n- RxJS >= 7.0.0 (peer dependency)\n\n## Development\n\n```bash\n# Install dependencies\npnpm install\n\n# Run tests\npnpm test\n\n# Run tests in watch mode\npnpm test:watch\n\n# Build\npnpm build\n\n# Lint\npnpm lint\n```\n\n## Contributing\n\nContributions are welcome! Please follow the test numerotation rules\ndefined in [.github/rules/test.rules.md](.github/rules/test.rules.md) when\nadding tests.\n\n## License\n\nMIT\n\n## Author\n\n**chlbri** (bri_lvi@icloud.com)\n\n- [GitHub](https://github.com/chlbri)\n- [Website](https://beme-dev.vercel.app)\n\n## Links\n\n- [Repository](https://github.com/chlbri/pausable)\n- [RxJS Documentation](.github/docs/rxjs.md)\n- [Test Rules](.github/rules/test.rules.md)\n- [npm Package](https://www.npmjs.com/package/@bemedev/rx-pausable)\n\n## Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for details.\n","readmeFilename":"README.md"}