{"_id":"@bemedev/scheduler","_rev":"6-659659edec30657420134b36763ccfed","name":"@bemedev/scheduler","dist-tags":{"latest":"1.2.1"},"versions":{"0.0.1":{"name":"@bemedev/scheduler","version":"0.0.1","keywords":["scheduler","task management","timing","state management","event loop"],"author":{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/scheduler@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/scheduler#readme","bugs":{"url":"https://github.com/chlbri/scheduler/issues"},"dist":{"shasum":"801afaf43433e6413d4de70fb52ec97b592a417d","tarball":"https://registry.npmjs.org/@bemedev/scheduler/-/scheduler-0.0.1.tgz","fileCount":23,"integrity":"sha512-NCvbJmgJH/WoVXXmZeYkftJE2djX/uUQDbHittYRKxwRqb4LtKAECjiL6mHpC/M8z5UioMZPq6IkmEDU2sKBow==","signatures":[{"sig":"MEYCIQCCIB5FBy9fcMrGsuF+onT1mFVx2WGh281TzqPsQlccIQIhAPlNg2oH72++qe8KF0oLLtRnOP5MFGZDO4K2FzQ6cd07","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":32714},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=20"},"gitHead":"affd1fd6ae87ed3234f92e67707263e6ab56f5ed","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/scheduler.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.9.0","description":"A flexible scheduler for managing and executing tasks with advanced timing and state management capabilities","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@bemedev/sleep":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","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","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.3.5","@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.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/scheduler_0.0.1_1773032000666_0.6109891000367973","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@bemedev/scheduler","version":"0.1.0","keywords":["scheduler","task management","timing","state management","event loop"],"author":{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/scheduler@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/scheduler#readme","bugs":{"url":"https://github.com/chlbri/scheduler/issues"},"dist":{"shasum":"a924e89722fd7bb75232faf105efdad150c9520d","tarball":"https://registry.npmjs.org/@bemedev/scheduler/-/scheduler-0.1.0.tgz","fileCount":23,"integrity":"sha512-VrfqgEG0XRUqmPFCqxvv20Pez4Uk+Zddpq+TILzErYllJgtL+ZgsPsx2091dSB9PE13bmcz5JG1nnHU+PRZcGw==","signatures":[{"sig":"MEQCIFwxzZ53M196BCEsY0NTphLLKBwQBqt7delhYQzcZbmAAiAbSyGeGCwuQ9HZ5v3TNlTq8f6vfsds8oQ5lbjhzyYkow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34043},"main":"lib/index.js","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=20"},"gitHead":"beb74018c4ca7d2112e3dabf8b3b8e346d62562d","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/scheduler.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.9.0","description":"A flexible scheduler for managing and executing tasks with advanced timing and state management capabilities","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@bemedev/sleep":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","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","size-limit":"^12.0.1","typescript":"^5.9.3","@types/node":"^25.3.5","@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.56.1","@typescript-eslint/eslint-plugin":"^8.56.1"},"_npmOperationalInternal":{"tmp":"tmp/scheduler_0.1.0_1773061734025_0.4999959850956437","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@bemedev/scheduler","version":"1.0.0","keywords":["timer","interval","cancellable","time"],"author":{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/scheduler@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/scheduler#readme","bugs":{"url":"https://github.com/chlbri/scheduler/issues"},"dist":{"shasum":"99031c6c4f7544b339a0bb240b6ee2b0a9a85c04","tarball":"https://registry.npmjs.org/@bemedev/scheduler/-/scheduler-1.0.0.tgz","fileCount":33,"integrity":"sha512-PfEhKm4/J+pOHkzx8ijkIeKqsE2XWA5lr9gDjzLWBIz3oat/Uv+G1ErNNVHwQeOgJgh+9pELaZGBIgwkmsDZGg==","signatures":[{"sig":"MEQCIFt39eRdF2wD/R49LU8FjYizayz3oWHw626po2TGOmQfAiAQqdQ7/FmBvaWHoucNmRPGumkjoDChNYGRU5MqjBcPXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bemedev%2fscheduler@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48860},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.cjs"},"./sync":{"types":"./lib/scheduler.sync.d.ts","import":"./lib/scheduler.sync.js","require":"./lib/scheduler.sync.cjs"},"./async":{"types":"./lib/scheduler.d.ts","import":"./lib/scheduler.js","require":"./lib/scheduler.cjs"},"./types":{"types":"./lib/types.d.ts"},"./LICENSE":"./LICENSE","./README.md":"./README.md","./package.json":"./package.json"},"gitHead":"c2c2da30ed8acb1f5c162812e69f38d1623b34c6","scripts":{"ci":"CI_START=$(date +%s) && pnpm run _ci && pnpm run p-q && echo \"\n✅ CI takes $(($(date +%s) - CI_START))s\n\"","rm":"pnpx rimraf ./node_modules ./pnpm-lock.yaml","_ci":"pnpm run config:off && pnpm run lint && pnpm run test","fmt":"oxfmt","p-q":"pretty-quick","lint":"pnpm run fmt && pnpm run lint:fix","test":"pnpm run test:coverage","_lint":"oxlint","build":"pnpm rm:lib && pnpm run rolldown","rinit":"pnpm clean --lockfile && pnpm run rm && pnpm run config","config":"pnpm install","rm:lib":"pnpx rimraf ./lib","prepare":"husky","pretest":"pnpm run build","test:ui":"vitest --ui","upgrade":"pnpm dlx @bemedev/upgrade-npm-package","ci:admin":"CI_START=$(date +%s) && pnpm run rm && pnpm run upgrade:fast && pnpm run _ci && echo \"\n✅ Admin CI takes $(($(date +%s) - CI_START))s\n\"","lint:fix":"oxlint --fix","posttest":"pnpm run fmt","rolldown":"rolldown -c","fmt:check":"oxfmt --check","rinit:off":"pnpm run rm && pnpm run config:off","test:only":"pnpm run test:coverage --no-coverage","test:type":"pnpm run test:coverage -c \"vitest.config.type.ts\" --no-coverage","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 1500 -d 10000 -v \"**/*.ts\" -- pnpm run lint","test:watch":"vitest","build:watch":"onchange --await-write-finish 1500 -d 10000 -v \"**/*.ts\" -- pnpm run build","test:no-type":"pnpm run test:coverage -c \"vitest.config.notype.ts\" --no-coverage","upgrade:fast":"pnpm up --latest","test:coverage":"vitest run","prepublishOnly":"","test:type:watch":"vitest -c \"vitest.config.type.ts\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:359f6d50-233e-46c9-926b-7a90c2527a21"}},"repository":{"url":"git+https://github.com/chlbri/scheduler.git","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"_npmVersion":"11.12.1","description":"A cancellable interval and timer library for JavaScript and TypeScript.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@bemedev/sleep":"^0.2.2"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.3.0+sha512.2c403d6594527287672b1f7056343a1f7c3634036a67ffabfcc2b3d7595d843768f8787148d1b57cf7956c90606bbd192857c363af19e96d2d0ec9ec5741d215","devDependencies":{"glob":"^13.0.6","husky":"^9.1.7","oxfmt":"^0.51.0","tslib":"^2.8.1","eslint":"^10.4.0","oxlint":"^1.66.0","vitest":"^4.1.7","globals":"^17.6.0","onchange":"^7.1.0","prettier":"^3.8.3","rolldown":"^1.0.2","@eslint/js":"^10.0.1","size-limit":"^12.1.0","typescript":"^6.0.3","@types/node":"^25.9.1","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@size-limit/file":"^12.1.0","@bemedev/dev-utils":"^0.7.0","@vitest/coverage-v8":"^4.1.7"},"_npmOperationalInternal":{"tmp":"tmp/scheduler_1.0.0_1779826501927_0.6400839092675212","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bemedev/scheduler","version":"1.1.0","keywords":["timer","interval","cancellable","time"],"author":{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"license":"MIT","_id":"@bemedev/scheduler@1.1.0","maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"}],"dist":{"shasum":"e63641223840fd6f1becd10fb4ad4fccc5fa403e","tarball":"https://registry.npmjs.org/@bemedev/scheduler/-/scheduler-1.1.0.tgz","fileCount":33,"integrity":"sha512-ex+CPYCITQdBYPcDDW8t2L6uRPHBMzU2WyP7ZNATCra1qu5UqIv/Pj0eFwinDHbJ0McB6zdNfZKay398s51Nhw==","signatures":[{"sig":"MEUCIH6tk2g0ChNxlaxtcP5C4EOEOx/HNsmO01DQRYEEr6daAiEAo7tVJEgvqcSnwO7QKNA+X+A6cGjqPiv29PCe+NYC9P0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bemedev%2fscheduler@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":48492},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","module":"lib/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.cjs"},"./sync":{"types":"./lib/scheduler.sync.d.ts","import":"./lib/scheduler.sync.js","require":"./lib/scheduler.sync.cjs"},"./async":{"types":"./lib/scheduler.d.ts","import":"./lib/scheduler.js","require":"./lib/scheduler.cjs"},"./types":{"types":"./lib/types.d.ts"},"./LICENSE":"./LICENSE","./README.md":"./README.md","./package.json":"./package.json"},"scripts":{"ci":"CI_START=$(date +%s) && pnpm run _ci && pnpm run p-q && echo \"\n✅ CI takes $(($(date +%s) - CI_START))s\n\"","rm":"pnpx rimraf ./node_modules ./pnpm-lock.yaml","_ci":"pnpm run config:off && pnpm run lint && pnpm run test","fmt":"oxfmt","p-q":"pretty-quick","lint":"pnpm run fmt && pnpm run lint:fix","test":"pnpm run test:coverage","_lint":"oxlint","build":"pnpm rm:lib && pnpm run rolldown","rinit":"pnpm clean --lockfile && pnpm run rm && pnpm run config","config":"pnpm install","rm:lib":"pnpx rimraf ./lib","pretest":"pnpm run build","test:ui":"vitest --ui","upgrade":"pnpm dlx @bemedev/upgrade-npm-package","ci:admin":"CI_START=$(date +%s) && pnpm run rm && pnpm run upgrade:fast && pnpm run _ci && echo \"\n✅ Admin CI takes $(($(date +%s) - CI_START))s\n\"","lint:fix":"oxlint --fix","posttest":"pnpm run fmt","rolldown":"rolldown -c","fmt:check":"oxfmt --check","rinit:off":"pnpm run rm && pnpm run config:off","test:only":"pnpm run test:coverage --no-coverage","test:type":"pnpm run test:coverage -c \"vitest.config.type.ts\" --no-coverage","config:off":"pnpm run config --offline","lint:watch":"onchange --await-write-finish 1500 -d 10000 -v \"**/*.ts\" -- pnpm run lint","test:watch":"vitest","build:watch":"onchange --await-write-finish 1500 -d 10000 -v \"**/*.ts\" -- pnpm run build","test:no-type":"pnpm run test:coverage -c \"vitest.config.notype.ts\" --no-coverage","upgrade:fast":"pnpm up --latest","test:coverage":"vitest run","test:type:watch":"vitest -c \"vitest.config.type.ts\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:359f6d50-233e-46c9-926b-7a90c2527a21"}},"repository":{"url":"https://github.com/chlbri/scheduler","type":"git"},"size-limit":[{"path":"lib/*.js","limit":"10 KB"},{"path":"lib/*.cjs","limit":"10 KB"}],"description":"A cancellable interval and timer library for JavaScript and TypeScript.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@bemedev/sleep":"^0.2.2"},"_hasShrinkwrap":false,"devDependencies":{"glob":"^13.0.6","husky":"^9.1.7","oxfmt":"^0.53.0","tslib":"^2.8.1","eslint":"^10.4.1","oxlint":"^1.68.0","vitest":"^4.1.8","globals":"^17.6.0","onchange":"^7.1.0","prettier":"^3.8.3","rolldown":"^1.1.0","@eslint/js":"^10.0.1","size-limit":"^12.1.0","typescript":"^6.0.3","@types/node":"^25.9.1","@bemedev/fsf":"^1.0.1","pretty-quick":"^4.2.2","@size-limit/file":"^12.1.0","@bemedev/dev-utils":"^0.7.0","@vitest/coverage-v8":"^4.1.8"},"_npmOperationalInternal":{"tmp":"tmp/scheduler_1.1.0_1780675090215_0.6325209839875605","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bemedev/scheduler","version":"1.2.0","keywords":["timer","interval","cancellable","time"],"author":{"url":"https://bemedev.vercel.app","name":"chlbri","email":"bri_lvi@icloud.com"},"_id":"@bemedev/scheduler@1.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/scheduler/blob/master/packages/scheduler/README.md","dist":{"shasum":"23879505e564f761dcc8396e0f86dd8e73753e34","tarball":"https://registry.npmjs.org/@bemedev/scheduler/-/scheduler-1.2.0.tgz","fileCount":27,"integrity":"sha512-YhkAvrQWynFH2lIFxaEfMuL3fF0NPxFWA43piZGL60rh+rBHnkMDoJJBgIif3YAf3yd83o6yMQGB+JOwOj5yfg==","signatures":[{"sig":"MEQCICKDhQozatgO94Okv6XQHgak/d2rTok3+Gans1HDIUWAAiBBWezGOrII28qjwwu6NjK/YMIvew3E/QjgMfKVzEptcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bemedev%2fscheduler@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72816},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","module":"lib/index.js","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.cjs"},"./sync":{"types":"./lib/scheduler.sync.d.ts","import":"./lib/scheduler.sync.js","require":"./lib/scheduler.sync.cjs"},"./async":{"types":"./lib/scheduler.d.ts","import":"./lib/scheduler.js","require":"./lib/scheduler.cjs"},"./types":{"types":"./lib/types.d.ts"},"./LICENSE":"./LICENSE","./README.md":"./README.md","./package.json":"./package.json"},"scripts":{"_ci":"pnpm run lint && pnpm run build && pnpm run size","fmt":"oxfmt","lint":"oxlint --fix && pnpm run fmt","size":"size-limit","build":"pnpm run rm:lib && pnpm run rolldown","rm:lib":"pnpx rimraf ./lib","rolldown":"rolldown -c","test:only":"pnpm run test --no-coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:359f6d50-233e-46c9-926b-7a90c2527a21"}},"repository":{"url":"https://github.com/chlbri/scheduler","type":"git"},"size-limit":[{"path":"lib/**/*.js","limit":"10kb"},{"path":"lib/**/*.d.ts","limit":"10kb"},{"path":"lib/**/*.cjs","limit":"10kb"}],"description":"A cancellable interval and timer library for JavaScript and TypeScript.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@bemedev/sleep":"^0.2.2"},"_hasShrinkwrap":false,"devDependencies":{"tslib":"^2.8.1","vitest":"4.1.10","rolldown":"^1.2.2","typescript":"^7.0.2","@bemedev/dev-utils":"^1.1.1"},"_npmOperationalInternal":{"tmp":"tmp/scheduler_1.2.0_1785837949437_0.2927617997153804","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@bemedev/scheduler","version":"1.2.1","description":"A cancellable interval and timer library for JavaScript and TypeScript.","type":"module","main":"lib/index.js","types":"lib/index.d.ts","module":"lib/index.js","exports":{".":{"import":"./lib/index.js","require":"./lib/index.cjs","types":"./lib/index.d.ts"},"./types":{"types":"./lib/types.d.ts"},"./async":{"import":"./lib/scheduler.js","require":"./lib/scheduler.cjs","types":"./lib/scheduler.d.ts"},"./sync":{"import":"./lib/scheduler.sync.js","require":"./lib/scheduler.sync.cjs","types":"./lib/scheduler.sync.d.ts"},"./package.json":"./package.json","./README.md":"./README.md","./LICENSE":"./LICENSE"},"author":{"email":"bri_lvi@icloud.com","name":"chlbri","url":"https://bemedev.vercel.app"},"homepage":"https://github.com/chlbri/scheduler/blob/master/packages/scheduler/README.md","repository":{"type":"git","url":"https://github.com/chlbri/scheduler"},"maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"contributors":[{"email":"bri_lvi@icloud.com","name":"chlbri","url":"https://bemedev.vercel.app"}],"keywords":["timer","interval","cancellable","time"],"dependencies":{"@bemedev/sleep":"^0.2.2"},"devDependencies":{"@bemedev/dev-utils":"^1.1.1","rolldown":"^1.2.3","tslib":"^2.8.1","typescript":"^7.0.2","vitest":"4.1.10"},"size-limit":[{"path":"lib/**/*.js","limit":"10kb"},{"path":"lib/**/*.d.ts","limit":"10kb"},{"path":"lib/**/*.cjs","limit":"10kb"}],"scripts":{"build":"pnpm run rm:lib && pnpm run rolldown","rm:lib":"pnpx rimraf ./lib","fmt":"oxfmt","lint":"oxlint --fix && pnpm run fmt","test:only":"pnpm run test --no-coverage","_ci":"pnpm run lint && pnpm run build && pnpm run size","size":"size-limit","rolldown":"rolldown -c"},"_nodeVersion":"24.18.0","_id":"@bemedev/scheduler@1.2.1","dist":{"integrity":"sha512-iv6KMz+5c9KfO7L3G4z3xI2jQHxnPocXhINf+kP0FemZmgoZJczjbkF1+R8Zc/QsnhnpOSeoaWrV6rhlZ9o/GA==","shasum":"5eb3334fa4c0e61a12c093b94b51811e609f7ce0","tarball":"https://registry.npmjs.org/@bemedev/scheduler/-/scheduler-1.2.1.tgz","fileCount":27,"unpackedSize":66824,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bemedev%2fscheduler@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFnakf16SNGCQg1ireL4u3CNhhN+8h/z6yOxiPV6cHgRAiEA8tIWQM0Z9Ma7OXW9B/LVa4jR4LZ7EikGFXJfCGU3OVM="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:359f6d50-233e-46c9-926b-7a90c2527a21"}},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/scheduler_1.2.1_1786014864613_0.24174964923513698"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T04:53:20.539Z","modified":"2026-08-06T11:14:25.083Z","0.0.1":"2026-03-09T04:53:20.809Z","0.1.0":"2026-03-09T13:08:54.175Z","1.0.0":"2026-05-26T20:15:02.249Z","1.1.0":"2026-06-05T15:58:10.398Z","1.2.0":"2026-08-04T10:05:49.574Z","1.2.1":"2026-08-06T11:14:24.774Z"},"author":{"email":"bri_lvi@icloud.com","name":"chlbri","url":"https://bemedev.vercel.app"},"homepage":"https://github.com/chlbri/scheduler/blob/master/packages/scheduler/README.md","keywords":["timer","interval","cancellable","time"],"repository":{"type":"git","url":"https://github.com/chlbri/scheduler"},"description":"A cancellable interval and timer library for JavaScript and TypeScript.","contributors":[{"email":"bri_lvi@icloud.com","name":"chlbri","url":"https://bemedev.vercel.app"}],"maintainers":[{"name":"bemedev","email":"bri_lvi@icloud.com"}],"readme":"# @bemedev/scheduler\n\nA flexible scheduler for managing and executing tasks with advanced timing\nand state management capabilities.\n\n<br/>\n\n## Installation\n\n```bash\npnpm add @bemedev/scheduler\n```\n\n## Usage\n\n### Async Scheduler (default)\n\n```typescript\nimport { createScheduler } from '@bemedev/scheduler';\n\nconst scheduler = createScheduler();\n\n// Initialize the scheduler (optionally with an initial task)\nscheduler.start();\n\n// Schedule a synchronous task\nscheduler.schedule(() => {\n  console.log('Task executed');\n});\n\n// Schedule an asynchronous task\nscheduler.schedule(async () => {\n  await fetch('/api/data');\n});\n\n// Schedule with immediate execution (bypasses the queue)\nscheduler.schedule(() => console.log('Immediate!'), true);\n\n// Pause task execution\nscheduler.pause();\n\n// Schedule tasks while paused (they remain queued)\nscheduler.schedule(() => console.log('Queued task'));\n\n// Resume task execution (processes queued tasks asynchronously)\nawait scheduler.resume();\n\n// Stop the scheduler (cancels pending async tasks)\nscheduler.stop();\n\n// Check scheduler state\nconsole.log(scheduler.performeds); // number of tasks executed\nconsole.log(scheduler.state); // current state\n```\n\n### Synchronous Scheduler\n\n```typescript\nimport { createSyncScheduler } from '@bemedev/scheduler/sync';\n\nconst scheduler = createSyncScheduler();\n\n// Initialize the scheduler\nscheduler.start();\n\n// Schedule a synchronous task\nscheduler.schedule(() => {\n  console.log('Task executed');\n});\n\n// Pause task execution\nscheduler.pause();\n\n// Schedule tasks while paused\nscheduler.schedule(() => console.log('Queued task'));\n\n// Resume task execution synchronously (executes queued tasks immediately)\nscheduler.resume();\n\n// Stop the scheduler\nscheduler.stop();\n```\n\n<br/>\n\n## API\n\n### Main Export (Async Scheduler)\n\nCreates and returns a new `AsyncScheduler` instance via `createScheduler()`\n(or `createAsyncScheduler()`).\n\n#### `scheduler.start(callback?)`\n\nInitializes the scheduler. Optionally executes an initial task immediately.\nNo-op if already started. Returns `this`.\n\n#### `scheduler.schedule(callback, immediate?)`\n\nSchedules a task for execution.\n\n| Parameter   | Type                        | Default | Description                                                           |\n| ----------- | --------------------------- | ------- | --------------------------------------------------------------------- |\n| `callback`  | `() => any \\| Promise<any>` | —       | The task to execute                                                   |\n| `immediate` | `boolean`                   | `false` | If `true`, bypasses the queue and runs immediately with abort support |\n\n#### `scheduler.pause()`\n\nPauses task execution. Saves the current state and sets `scheduler.state`\nto `'paused'`. Tasks scheduled while paused are queued without being\nprocessed until `resume()` is called. Returns the updated state `'paused'`.\n\n#### `scheduler.resume()`\n\nResumes task execution:\n\n- **Async Scheduler**: `await scheduler.resume()` restores state and\n  asynchronously processes the next queued task. Returns a\n  `Promise<State>`.\n- **Sync Scheduler**: `scheduler.resume()` restores state and synchronously\n  processes all queued tasks. Returns `State`.\n\n#### `scheduler.stop()`\n\nStops the scheduler and cancels any in-flight async tasks via\n`AbortController`. Returns the final state `'stopped'`.\n\n#### `scheduler.state`\n\nRead-only. Current state of the scheduler:\n\n| Value          | Description                |\n| -------------- | -------------------------- |\n| `'available'`  | Ready to process tasks     |\n| `'processing'` | Currently executing a task |\n| `'paused'`     | Paused; tasks are queued   |\n| `'stopped'`    | Permanently stopped        |\n\n#### `scheduler.isPaused`\n\nRead-only. Returns `true` if `scheduler.state` is `'paused'` or\n`'stopped'`, `false` otherwise.\n\n#### `scheduler.notAvailable`\n\nRead-only. Returns `true` if `scheduler.state` is not `'available'`,\n`false` otherwise.\n\n#### `scheduler.performeds`\n\nRead-only. Number of tasks successfully executed.\n\n### Synchronous Scheduler Export (`./sync`)\n\nAccess via\n`import { createSyncScheduler, createScheduler } from '@bemedev/scheduler/sync'`.\n\nThe `createSyncScheduler()` (or `createScheduler()`) factory function\ncreates a synchronous scheduler instance that provides the same interface\nas the async scheduler, but executes tasks synchronously without Promise\nsupport.\n\n### Async Scheduler Export (`./async`)\n\nAccess via\n`import { createAsyncScheduler, createScheduler } from '@bemedev/scheduler/async'`\n(equivalent to the default export from `@bemedev/scheduler`).\n\n<br/>\n\n## Licence\n\nMIT\n\n## CHANGE_LOG\n\n<details>\n<summary>\n\n## **[0.0.1] - 09/03/2026** => _03:36_\n\n</summary>\n\n- Add `Scheduler` class with full lifecycle management\n- Add `createScheduler()` factory function\n- Add `start`, `schedule`, `stop` methods\n- Add async task support with `AbortController`\n- <u>Test coverage **_100%_**</u>\n\n</details>\n\n<br/>\n\n## Auteur\n\nchlbri (bri_lvi@icloud.com)\n\n[My github](https://github.com/chlbri?tab=repositories)\n\n[<svg width=\"98\" height=\"96\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z\" fill=\"#24292f\"/></svg>](https://github.com/chlbri?tab=repositories)\n\n<br/>\n\n## Liens\n\n- [Documentation](https://github.com/chlbri/new-package)\n","readmeFilename":""}