{"_id":"promise-logic","_rev":"27-53ddadc1361eba3dccb55c6227a85a98","name":"promise-logic","dist-tags":{"latest":"2.9.1"},"versions":{"1.0.0":{"name":"promise-logic","version":"1.0.0","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@1.0.0","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://github.com/xier123456/promise-logic/docs/promise_logic","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"7acefe95bbd3c2913550f16cacdc534c69093a3e","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-1.0.0.tgz","fileCount":10,"integrity":"sha512-7BHMdLDoh50lgRqtnG/Qi/JhC+5y7/yKGkxxrc3IGUizeeHjqBA6Mu10XlJ9CfOL6IF0BkfAGYfF5mHA4s81Jw==","signatures":[{"sig":"MEUCIQCu2V6hg9zBPfExKDMeNCXMBvLZGfSB7BByEiCYD8ziTgIgEdPuqqsmBp3hlPNjpeiCjvrivgMx2O6oYelYEuW2wFA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85922},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"}},"gitHead":"38e43fe7c11dfcb513e684554dafeb41919e5c3e","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","@monaco-editor/react":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","rollup":"^4.0.0","prettier":"^3.0.0","babel-jest":"^30.2.0","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_1.0.0_1768826015179_0.4770902975465374","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"promise-logic","version":"1.1.0","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@1.1.0","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://github.com/xier123456/promise-logic/docs/promise_logic","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"4522616bee25e376be2af6e587f3e504f32a3dd5","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-1.1.0.tgz","fileCount":12,"integrity":"sha512-rDs0wEVxcQnJuRJsFQyKHuufbafHZOEBADNBMiGPAEsfllAnbs6AsxA8kjH/hrk0oD+wxnZXGa7KY6sLOW8I+Q==","signatures":[{"sig":"MEUCIB9Lg6465fcZFGzW/GPTKN5Ttysw1XkUsfHwY8mzaboGAiEA7hnfvRbcxITKXWiEWjxHbfYwSr+CS+tJ1yvmbP8Re2I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88056},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"}},"gitHead":"38e43fe7c11dfcb513e684554dafeb41919e5c3e","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","@monaco-editor/react":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","rollup":"^4.0.0","prettier":"^3.0.0","babel-jest":"^30.2.0","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_1.1.0_1768827872020_0.9231927396148716","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"promise-logic","version":"1.2.0","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@1.2.0","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://github.com/xier123456/promise-logic/docs/promise_logic","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"e56cc24a38b581e03a3fe471e4c0296346ac44ec","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-1.2.0.tgz","fileCount":12,"integrity":"sha512-QxNh7t4FZsO+MwnCSqx913Axy0acFhWWJ1muIHPTNeWomKe4vKQNGS9xwFKBPL9GS2pjBhXQ8qVK8jzDcbWhFw==","signatures":[{"sig":"MEUCIErzqI0jjgn8+ycKqhgIMQ6jljlND7gzITkWP+0Xzwv2AiEAwrW9ilBo1RSll92KOikeGdn0zkTU74nic4DswbFUeT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98430},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"}},"gitHead":"38e43fe7c11dfcb513e684554dafeb41919e5c3e","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","@monaco-editor/react":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","rollup":"^4.0.0","prettier":"^3.0.0","babel-jest":"^30.2.0","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_1.2.0_1768828953499_0.7077680236074111","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"promise-logic","version":"1.2.1","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@1.2.1","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://github.com/xier123456/promise-logic/docs/promise_logic","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"66abb0b37c49b6caa90c9c3519e3ea6ac7e09122","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-1.2.1.tgz","fileCount":12,"integrity":"sha512-zXLobyINO6j3YIubgQcvWTyAGdfxv79nBeebkIpOEuncXpfGOg8us+kkjaC3JVo3Pm6+6zopZOU/1fmSyB9vqA==","signatures":[{"sig":"MEUCIAUlU9RJoLuKMGpqT0FILwRL6URsxiyZxnuuoPmFb2kMAiEA4jv3PMrL9PxZvQNfx6AKt4K3oCb0cKYdQPSZvdAXwac=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98430},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"}},"gitHead":"38e43fe7c11dfcb513e684554dafeb41919e5c3e","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","@monaco-editor/react":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","rollup":"^4.0.0","prettier":"^3.0.0","babel-jest":"^30.2.0","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_1.2.1_1768829342047_0.9030802637211421","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"promise-logic","version":"1.3.1","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@1.3.1","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"d493cb9f85d6352518df06d1b85d277c86f6c8e9","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-1.3.1.tgz","fileCount":12,"integrity":"sha512-FsHdV8oqdc5S7/j/nqQO/2z91oXp3GhwABS5hx6UgMpBbETyacgVTG2r0Ui8EVNAigTkEdVNoDv+cC/oXeBqYA==","signatures":[{"sig":"MEUCIAJkR5zp0AFpMeWv4YiV39VHv5Vf03OWKnC7S+3jHlrMAiEA5IyvdJYx49QGO/7HXktqEPEzf3wcEyXexsfCOcLsNJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102530},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"}},"gitHead":"e1d4accc008c37a99beddfce9ca700f9e194d6b2","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","@monaco-editor/react":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","rollup":"^4.0.0","prettier":"^3.0.0","babel-jest":"^30.2.0","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_1.3.1_1768928392175_0.6345127435159057","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"promise-logic","version":"1.3.2","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@1.3.2","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"d4df5ae1c1d86295296a85e748912a09d8506c6e","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-1.3.2.tgz","fileCount":12,"integrity":"sha512-XPmzlwIa4vTspM8Hh6owALw8t+9qzKtpsu13yccRTZE80tjRr9PLEWrQ8NNyP6dM7jNsz5jZqA4cnamOgOOV3g==","signatures":[{"sig":"MEQCIBs4agLnJPY/5Io0HGu5ED/SDmZVchQTcBBTIawIPXMSAiA3CuSJhvxPZBt9aMs8It3P6pa//gg2UIwYZJuhM5v33A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101459},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"}},"gitHead":"632abd3281bcccc487054a31e7aba96553f43696","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^3.4.0","@monaco-editor/react":"^4.7.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.0.0","rollup":"^4.0.0","prettier":"^3.0.0","babel-jest":"^30.2.0","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_1.3.2_1768996430200_0.8667888338994916","host":"s3://npm-registry-packages-npm-production"}},"2.3.3":{"name":"promise-logic","version":"2.3.3","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.3.3","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"8304a5239353adb6c2edaa5e8bad7cbe07410693","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.3.3.tgz","fileCount":62,"integrity":"sha512-VgkZZsg0iMSFlgw8XOmmkg270T7XQBhtR//+awQhVfwP5nnCYbTCv4k7BPT7f8c14RwVNggablBL1drI6gaQog==","signatures":[{"sig":"MEYCIQDoZZJcKRY8E+Dv6G6slaVnUUXj8p07/l5c8yRbW7arywIhAMgDVg57l/nCYsCpgLuprnS9bVSQbh3scXW1+7j8hg4X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196061},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/v1/index.d.ts","import":"./dist/index.esm.js","require":"./dist/v1/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/types/v2/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"7986bba3f381f6a394c60d38fe3fbdd3429616b0","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.3.3_1769076756724_0.9341999958280871","host":"s3://npm-registry-packages-npm-production"}},"2.4.3":{"name":"promise-logic","version":"2.4.3","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.4.3","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"07c858e5650972fd9d01196637350e741a08b8a1","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.4.3.tgz","fileCount":14,"integrity":"sha512-b3s0DZQ+Azo6RsY5hvtC3o+CRahhWeMJeLnw6mEtSnmdwuuw2hUwoNUVwna+jTxPrUUGs7Kg7mg2baT4QO4wgA==","signatures":[{"sig":"MEUCICii0XWhfGro8zIIXV3q9oam+h4wKtwPvugQAKMytg/BAiEAvmZCHY/yE39rfiDOusLj7WOtA5ip+WbzeCVsOfcAYyQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84368},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/v1/index.d.ts","import":"./dist/index.esm.js","require":"./dist/v1/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/types/v2/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"67a16c5a3ce9c390e3a676b5b3f38901ee4199b3","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.4.3_1769080114319_0.36270865238694405","host":"s3://npm-registry-packages-npm-production"}},"2.4.4":{"name":"promise-logic","version":"2.4.4","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.4.4","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"bb90496e9b8af06d18e63c3cdfabad1c21b4b537","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.4.4.tgz","fileCount":14,"integrity":"sha512-N+MbHEbJxIlnmmYH1GYISPQtkV48xANVcmNoTV1ESzu7heyaDsgI0szRD6obTjhtNZaiR0UZJa3IFbE9FSbeUQ==","signatures":[{"sig":"MEQCIFz4ym86vGrBtYtWtfcZF3s5Ml7VHcuFUtw/kQ4cG+kHAiBx7TTyR5NklNRlbPwVO/fyxUeHznbCmgblLdrB2U/OEg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83946},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/v1/index.d.ts","import":"./dist/index.esm.js","require":"./dist/v1/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/types/v2/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"16650ac19167c6168e9ef7c56ad4c8e140dc779c","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.4.4_1769092666724_0.1773278592232581","host":"s3://npm-registry-packages-npm-production"}},"2.4.5":{"name":"promise-logic","version":"2.4.5","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.4.5","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"510f070c44749d830b47baade8b3334f378592bf","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.4.5.tgz","fileCount":14,"integrity":"sha512-87WcKOKj2s88STKKkjqF8hEPurFCAMBA4AW45mpdWjOfmvIAyVYIRgLgfT9lfc6+3lnOPxpH3nCB4cixaCWopw==","signatures":[{"sig":"MEUCIQC0qy+HVmIFw+q6h3ewVTXIKLoseteI6nffeWUBvYphMQIgQXi/6tf8nu2UEmHX6ENgc+rz19ILpWB+6ncbIGvbLz4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81464},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/v1/index.d.ts","import":"./dist/index.esm.js","require":"./dist/v1/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/types/v2/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"7e4f3865c7a8fc93deacfb642a2ea445e412e910","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.4.5_1769094810438_0.13100678098277063","host":"s3://npm-registry-packages-npm-production"}},"2.4.6":{"name":"promise-logic","version":"2.4.6","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.4.6","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"fd44db99d7c8ffc5fb1cb0f2c4b1b057b6562eb0","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.4.6.tgz","fileCount":14,"integrity":"sha512-V+2F/sT9KKASTHU6LyD2ITD5/2HuM7fuXlc/VlcXIWqiYEXaoOJSEIO+T+MFKvamteT9eWpEBseZOsHVY1fQcw==","signatures":[{"sig":"MEUCIG6l2hlY+7cZCSUVvZMZjIaxCM5ojreQ/L+kzDbk775ZAiEAz9j8i1a/K6Ob9oGNXvoxihynn8U6yz/VrO/kdl1yuqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82089},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/v1/index.d.ts","import":"./dist/index.esm.js","require":"./dist/v1/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/types/v2/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"c08a7035c19d8e5ae1e24c99a2951e6fc879c84e","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.4.6_1769140204010_0.18426133345813045","host":"s3://npm-registry-packages-npm-production"}},"2.4.7":{"name":"promise-logic","version":"2.4.7","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.4.7","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"88cf29f150d72e449cb59a081ef761412c8ef2c2","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.4.7.tgz","fileCount":14,"integrity":"sha512-xUYZGh1PpILbub3mELV6dTiQZ0Gr0x7R41FclzEW/0ighyhGI5Zu14ayClsSow23K8llBoxPjQE8lKTcQISFAQ==","signatures":[{"sig":"MEUCIHIoXEM9JA92HZRuI8x38fCLNm0aUKIDUEztDiNrGM9BAiEAwaGSeui4cJxJ2nYD+kwNKUBOvGUI+LsiVHx4qDEJCAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82101},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"ac37c8ab47fad77e31c591514cdea0754deb29ae","scripts":{"dev":"rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.4.7_1769168677405_0.26173583291179026","host":"s3://npm-registry-packages-npm-production"}},"2.5.7":{"name":"promise-logic","version":"2.5.7","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.5.7","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"026693716ba92ddc30ca9cef401971d8ff848ac1","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.5.7.tgz","fileCount":14,"integrity":"sha512-Xec3F4s7mMo4GfBGc7vgVpURPe8XxNQmF92vbLMBu9fz3zpDPPmWZauWmXuDVXMWjS/inHb2HTryDAkGy4LoWw==","signatures":[{"sig":"MEUCIQDnCkeBwgUF4jSPNrsIHPIFKTqOw8518jgPpVcL6uqtTAIge6jmNYN8kVneIj77eHQ2zTaHgWFZdJqVBlV25yQMcGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40461},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"861315099206fc23867d792880196a63c7d98987","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"jest --config jest.config.cjs","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.5.7_1769249168832_0.4823990636898565","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"promise-logic","version":"2.6.1","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.6.1","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"5ea5718fc399bd0a4423afd94b9847f19ad3bfb2","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.6.1.tgz","fileCount":14,"integrity":"sha512-GKRp+fHxLhQSNj1BNh3JFsNcQFHnSYfFv9h4DAPxqlJCXMjYXeK8OihUUMVzhmRa17phZC6fsaazL9nrDiDqLg==","signatures":[{"sig":"MEUCIQCWz7OLvQ2JTbNHxLGptgiwKH065d4QLFTiG/Mcj6zHsQIgbxnOE9D+koysK+aJRdSh16N9YkmemlKR7jrS09BRvdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47339},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"12104368b8be615da090807ea60cc4aad64bb6d6","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.6.1_1769501945858_0.9256180668856842","host":"s3://npm-registry-packages-npm-production"}},"2.6.2":{"name":"promise-logic","version":"2.6.2","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.6.2","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"7c74787a4bb208da4ae27ea89ecac543f237d480","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.6.2.tgz","fileCount":14,"integrity":"sha512-vt6BJOCJxwRSkxa0r3ZF74cX9MLPZtVj6Jn6znF1Ggx24w22HARSblltbuzSf2tfrQJnNN72XMwKlxZljai03g==","signatures":[{"sig":"MEYCIQCHccQUMs/gDIxNHmwck6KyP4qfn38QpEOHcwkYoofqNAIhAOlJSNS47WyAw1tMOIfdX4Z0gReqNGGIKo7HOkw1ajX3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47347},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"a497db2c38ce314ee72d6f746cba5a8a905127da","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.6.2_1769513026311_0.09701504191523602","host":"s3://npm-registry-packages-npm-production"}},"2.6.3":{"name":"promise-logic","version":"2.6.3","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.6.3","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"4f8d55a774c13c5f481b28f33a5c006a362d1694","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.6.3.tgz","fileCount":14,"integrity":"sha512-fmqjpsyTe5O6DdDY2ZotLoaVWW+px98mouhIxSSPSnFpPfnVX8ve1yVNBXfM/ApvcIyvR7H+i1cB59S2oPJBuA==","signatures":[{"sig":"MEUCIQDrF/iJjhh/OXm7KC+a3COm3R8K/bsyIQoL0wiPDG+17gIgW102/DSvIzEHSRCI6Tc9KtXTO+W8D/E32L27TvnvbRk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47347},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"f80b608bf30dd34d6a76bccdaad2f92bf5f1ed5d","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.6.3_1769533961384_0.36189133053157163","host":"s3://npm-registry-packages-npm-production"}},"2.6.4":{"name":"promise-logic","version":"2.6.4","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.6.4","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"00812d9d160d058918fe5c6b814b7d8bcbeefde9","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.6.4.tgz","fileCount":14,"integrity":"sha512-QZP/FUBvUxzivbXK1drI0U0YgpS+LxYNbkg+Ti4OV0TSQ+FMEfqbqwNiEGruA13NqgFHrVSJSxDPnhwyoez9yQ==","signatures":[{"sig":"MEUCIAIKICLp2FWNsLOo6zgdfnXjWluZnhiJL6gf8vrOG6FxAiEA6Npd+y4kxsIIBx4fQj0/2nfC7NNrQ59E2ZBhMrmlX0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47347},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"16b6a8bd4ca0d202c2e699955234f21e2d8fb767","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.6.4_1769534106188_0.3627706555663326","host":"s3://npm-registry-packages-npm-production"}},"2.6.5":{"name":"promise-logic","version":"2.6.5","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.6.5","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"cccbde2248afcacd7fb738c54af8436c87800015","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.6.5.tgz","fileCount":14,"integrity":"sha512-hvmBuV7WDEL2spH0qXmS6yL0HfVIevFZ5JFQLIiiX0uQSqPqUKBv5HuNinp6bYNNO46lklx0v+Om2ELZP0hmJA==","signatures":[{"sig":"MEUCIG4fsVZ/TFRgyCweNb4HioQqt84IcpORaUxNW70MvCFJAiEAmMPnT4ETN3etPpAE/SrVatEbkajs+0rA1R15aKh5oQA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48719},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./factory":{"types":"./dist/types/factory.d.ts","import":"./dist/factory.esm.js","require":"./dist/factory.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"a1837d9f32d8179bdbf4bdac336042e958afa11c","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.6.5_1769534966387_0.06675890975270171","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"promise-logic","version":"2.7.0","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.7.0","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"1dc8e3481e6f359d542b87068b856565dc77e41e","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.7.0.tgz","fileCount":14,"integrity":"sha512-mQiBZVpbMBFEdYiRFQZ1emrJ+L5OLWGG7N623y38b+wOSK61VYYOiMaUUZ/JUHXDOHtkfaHSYJnlinAh8Ls6kA==","signatures":[{"sig":"MEUCIQDyXcVWfbrYangplRL9yI3PJGcal4vB3q++IYastd+AZQIgXNs9K1lnye6q06FiZeBxf8rZrPGSo8Vw6R2JtaavvLg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":57436},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"f9bf3638000f10b5f00b0c3ec05dc96e3d4a52d2","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.7.0_1769908977915_0.28192540397555965","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"promise-logic","version":"2.8.0","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.8.0","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"12a00b2e19d60fafa062be46ccf1332b346cf019","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.8.0.tgz","fileCount":14,"integrity":"sha512-QZHTdiPkbhNYiLO0CMEl3VrMmndNkg9KNIRRw40vrU6Iuu+GMQWd7u+ltEM5Jl6V1Rxz6/tuchw8yB74Dw8+Jw==","signatures":[{"sig":"MEYCIQCEp2vaaMpfDrqW0hu9apw6BSdFzs5JMVptCUpFYnixMAIhAND0ftrjylci+BFwZCw1lmc5KQAZ10X9OCTkDFf0A856","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65939},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"5d0e49876ea68c126ef880e19c28a532bac9976e","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.8.0_1769987469729_0.7772343501758079","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"promise-logic","version":"2.8.1","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.8.1","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"fef3b22bddc78eb1340e1e812c075bed2991d6c2","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.8.1.tgz","fileCount":14,"integrity":"sha512-LBoqRjUTiOgs4RuDCGiTRme7CsGpr1ctpskJjR7wCOSyujaivh2x+T4c7t8C9qo1vR+6mgZPk9mhCtZmFAs5lQ==","signatures":[{"sig":"MEUCIGYOB/xli+fotiR7xRlytGHxmC02eyZZf61ZfLI8ph8tAiEA1qXLcEO9udqVMNFxbYw29Dovpavt0ln93lFGizwcjWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65904},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"4a24e4306f54b2eee2c493eea6584559505a1e00","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.8.1_1769990341856_0.8163256341636078","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"promise-logic","version":"2.8.2","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.8.2","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"5e1b191c57c0d76e67ae9e2d309e60c53b9b18db","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.8.2.tgz","fileCount":14,"integrity":"sha512-3gq1eQvqPhHuLZLdOyG0BGVaRHmaLsDvXl5IKST0tX4IxrycOaHQiRGUOfw6sV7k0xicz2EsGqF0UxTO1lqqlg==","signatures":[{"sig":"MEQCID72E6UAGGTYnaOkzmjSGlibgkk6TJJmGXk+/HnT55HxAiB2ZEtuSPSzQe95y5Wo/FhLgf95Msr+fnEHNr5DjGMNXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66048},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"43ad67036c92553139a5f7ad4460a82e2174ce68","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.8.2_1770387745813_0.926498857952587","host":"s3://npm-registry-packages-npm-production"}},"2.8.3":{"name":"promise-logic","version":"2.8.3","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.8.3","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"9df3c78960366724f44111c322794c6e4bbf1c8a","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.8.3.tgz","fileCount":14,"integrity":"sha512-G7d/Z7uj3I8G8XIYpOXi9C+vCJ5uZAxVSnAINhjtRTVUjd5Uc9wAMK2HdZuNeAXGHw676TgEYas6oxpBU2gUZg==","signatures":[{"sig":"MEUCIAG89lxRjY9N8jEwfZXY5BuVm64+Mev6ebPTRi9nODISAiEAgbt/7fc10jZlbWallucHqQEYwS03RpbenBNiokZFJGU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66044},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"4c381abbbb0da5ca888751358a78df505f0522d1","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.8.3_1770390145092_0.9890188119174441","host":"s3://npm-registry-packages-npm-production"}},"2.8.4":{"name":"promise-logic","version":"2.8.4","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.8.4","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"2940281dfdec83fdde0e9491eafe622e790011dc","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.8.4.tgz","fileCount":14,"integrity":"sha512-NfO29xWWncignMrF3NAyYsd5qaPsB+53BCwague9lgMb7OkX2tEKAHo1SakH+L/fYngvzpM1Og49ctxgh5Forg==","signatures":[{"sig":"MEUCIQC3iWwc4Xf78CmFruwXN8g/FVloeM3Ino+0ibUXvibaawIgJlt5WlduWenWIuw7Zj5yluEWNtdxGnMo+GXu9NPg8Yw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66034},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"b0820b9c4d48649a3166078a9b17af34d7a8e898","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.8.4_1770393042779_0.17151908778240332","host":"s3://npm-registry-packages-npm-production"}},"2.8.5":{"name":"promise-logic","version":"2.8.5","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.8.5","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"dc6be69b00682af43e83fa659c4d5c5d3b0d3a7b","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.8.5.tgz","fileCount":14,"integrity":"sha512-psuQfMnGKMmQYQC3FlwQrf73qt2WX8+qbMybQYg78CeTieRWTCYDPV+3EhHw1ob+F6qjUXhJAYkw4zlF8HUCjA==","signatures":[{"sig":"MEUCIQC47Li0BSRr3YEIF2aEg5N99VcG3ltDWtFq+h8//QlUpQIgeFQNluy4uVMLEYDCu4OWowhmkWMpHqOtyVd8XsBb4DQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66582},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"6e4a65cd93dde2be9923a437294cfedc6210bc63","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.8.5_1770443312425_0.7907912848106744","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"promise-logic","version":"2.9.0","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"url":"Let me hug you again","name":"再乔乔我一下","email":"2820387220@qq.com"},"license":"MIT","_id":"promise-logic@2.9.0","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"homepage":"https://promise-logic-1a6v.vercel.app/","bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"dist":{"shasum":"e805741e8ff831f36a0e60309a12c88aa5962fad","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.9.0.tgz","fileCount":15,"integrity":"sha512-jPHmVsmkre2letXlVb5FHhjGnZdafiJxpd9RSV1ArxqgMcFrQEjE9dWnxptzyNQjcy1YQp3imsx5tyTFJXtgZA==","signatures":[{"sig":"MEQCIAYl7pDe0nD7trHCW+hVi4AsXJIYuqLWSAtPNhH9muXRAiByZ+VPFMmq+6pxTCSxiSDlERkJhPw3EuLAa1AKScfVyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76532},"main":"dist/index.cjs.js","type":"module","types":"dist/types/index.d.ts","module":"dist/index.esm.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"},"./typescript":{"types":"./dist/v2/types/index.d.ts","import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js"}},"gitHead":"9b551ca6232ffd180df6fd6b3eaedc1666bca653","scripts":{"dev":"cross-env NODE_ENV=development rollup -c -w","lint":"eslint src test","test":"node src/test/test.js","build":"cross-env NODE_ENV=production rollup -c","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepare":"npm run build","lint:fix":"eslint src test --fix","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"repository":{"url":"git+https://github.com/xier123456/promise-logic.git","type":"git"},"_npmVersion":"11.4.2","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","tslib":"^2.8.1","eslint":"^8.0.0","rollup":"^4.56.0","ts-jest":"^29.4.6","prettier":"^3.0.0","cross-env":"^10.1.0","babel-jest":"^30.2.0","typescript":"^5.9.3","@babel/core":"^7.28.6","@types/jest":"^30.0.0","@babel/preset-env":"^7.28.6","rollup-plugin-dts":"^6.3.0","rollup-plugin-copy":"^3.5.0","@rollup/plugin-terser":"^0.4.4","jest-environment-jsdom":"^30.2.0","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-typescript":"^12.3.0","@rollup/plugin-node-resolve":"^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/promise-logic_2.9.0_1770709090872_0.8928917463224118","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"promise-logic","version":"2.9.1","description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","type":"module","main":"dist/index.cjs.js","module":"dist/index.esm.js","types":"dist/types/index.d.ts","exports":{".":{"import":"./dist/index.esm.js","require":"./dist/index.cjs.js","types":"./dist/types/index.d.ts"},"./typescript":{"import":"./dist/v2/index.esm.js","require":"./dist/v2/index.cjs.js","types":"./dist/v2/types/index.d.ts"}},"scripts":{"build":"cross-env NODE_ENV=production rollup -c","dev":"cross-env NODE_ENV=development rollup -c -w","test":"node src/test/test.js","test:jest":"jest --config jest.config.cjs","test:watch":"jest --watch --config jest.config.cjs","test:coverage":"jest --coverage --config jest.config.cjs","lint":"eslint src test","lint:fix":"eslint src test --fix","format":"prettier --write \"src/**/*.js\" \"test/**/*.js\"","prepublishOnly":"npm run build && npm test","prepare":"npm run build"},"keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"author":{"name":"再乔乔我一下","email":"2820387220@qq.com","url":"Let me hug you again"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/xier123456/promise-logic.git"},"bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"homepage":"https://promise-logic-1a6v.vercel.app/","engines":{"node":">=14.0.0"},"sideEffects":false,"devDependencies":{"@babel/core":"^7.28.6","@babel/preset-env":"^7.28.6","@rollup/plugin-commonjs":"^25.0.0","@rollup/plugin-node-resolve":"^15.0.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^12.3.0","@types/jest":"^30.0.0","babel-jest":"^30.2.0","cross-env":"^10.1.0","eslint":"^8.0.0","jest":"^29.0.0","jest-environment-jsdom":"^30.2.0","prettier":"^3.0.0","rollup":"^4.56.0","rollup-plugin-copy":"^3.5.0","rollup-plugin-dts":"^6.3.0","ts-jest":"^29.4.6","tslib":"^2.8.1","typescript":"^5.9.3"},"_id":"promise-logic@2.9.1","gitHead":"c8e6a6af6e4d8371b8095add7e58f4fa4f5c5259","_nodeVersion":"22.17.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-ym9VlVnzzMxncouJkuD2RSjNZk0kSkwLLgw3E+DjwJWapAFIpZ7y1PPJ6Qi237Ocxk3KccmOdR1Jx52ln9w4XA==","shasum":"6da16e6b83dfb80c39d02dc6654c1077a904c5da","tarball":"https://registry.npmjs.org/promise-logic/-/promise-logic-2.9.1.tgz","fileCount":15,"unpackedSize":77828,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC9a0UKi+89lGmqyXTFe2gqhL2xal3JI1iFnceDNGcZdgIgK7aiXQrIYiTnvxEQ8H2NTOuCT2kw48C2aQvnMZsO8CM="}]},"_npmUser":{"name":"haowhite_haob","email":"2820387220@qq.com"},"directories":{},"maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/promise-logic_2.9.1_1770978881565_0.5819686145434466"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-19T12:33:35.092Z","modified":"2026-02-13T10:34:41.846Z","1.0.0":"2026-01-19T12:33:35.329Z","1.1.0":"2026-01-19T13:04:32.157Z","1.2.0":"2026-01-19T13:22:33.650Z","1.2.1":"2026-01-19T13:29:02.214Z","1.3.1":"2026-01-20T16:59:52.365Z","1.3.2":"2026-01-21T11:53:50.347Z","2.3.3":"2026-01-22T10:12:36.859Z","2.4.3":"2026-01-22T11:08:34.457Z","2.4.4":"2026-01-22T14:37:46.883Z","2.4.5":"2026-01-22T15:13:30.604Z","2.4.6":"2026-01-23T03:50:04.141Z","2.4.7":"2026-01-23T11:44:37.545Z","2.5.7":"2026-01-24T10:06:08.970Z","2.6.1":"2026-01-27T08:19:06.004Z","2.6.2":"2026-01-27T11:23:46.451Z","2.6.3":"2026-01-27T17:12:41.515Z","2.6.4":"2026-01-27T17:15:06.328Z","2.6.5":"2026-01-27T17:29:26.523Z","2.7.0":"2026-02-01T01:22:58.078Z","2.8.0":"2026-02-01T23:11:09.900Z","2.8.1":"2026-02-01T23:59:02.007Z","2.8.2":"2026-02-06T14:22:26.011Z","2.8.3":"2026-02-06T15:02:25.247Z","2.8.4":"2026-02-06T15:50:42.934Z","2.8.5":"2026-02-07T05:48:32.573Z","2.9.0":"2026-02-10T07:38:11.010Z","2.9.1":"2026-02-13T10:34:41.713Z"},"bugs":{"url":"https://github.com/xier123456/promise-logic.git/issues"},"author":{"name":"再乔乔我一下","email":"2820387220@qq.com","url":"Let me hug you again"},"license":"MIT","homepage":"https://promise-logic-1a6v.vercel.app/","keywords":["promise","logic","async","logic-gates","xor","nand","nor","xnor","majority","combinational","async-programming","concurrency"],"repository":{"type":"git","url":"git+https://github.com/xier123456/promise-logic.git"},"description":"Compose promises with logic gate semantics (AND, OR, XOR, NAND, NOR, XNOR, Majority). Forget APIs, remember logic.","maintainers":[{"name":"haowhite_haob","email":"2820387220@qq.com"}],"readme":"## Core Philosophy\n\n**Replace API Memory with Logical Concepts**\n\nThe design philosophy of `promise-logic` is: **Developers should focus on business logic, not on details of Promise APIs**.\n\nTraditional Promise combinations (such as `Promise.all`, `Promise.race`) have naming and semantics that are not intuitive enough, especially in complex asynchronous scenarios where code readability rapidly declines.\n\n`promise-logic` abstracts asynchronous combinations into logical operations like `and`, `or`, `xor` through the concept of **Logic Gates**, making code semantically clear and self-explanatory.\n\n### Example Scenario: E-commerce Order Processing\n\n```javascript\nimport { PromiseLogic } from 'promise-logic';\n\n\n\n\n\n// Order processing flow\nasync function createOrder() {\n  // Unified error types\n  const PAYMENT_OR_INVENTORY_ERROR = 'PAYMENT_OR_INVENTORY_ERROR';\n  const ORDER_ERROR = 'ORDER_ERROR';\n  const LOGISTICS_ERROR = 'LOGISTICS_ERROR';\n  const COUPON_ERROR = 'COUPON_ERROR';\n\n  // Destructure and, or methods from PromiseLogic for simpler syntax and understand the logical relationship of the current scenario\n  const { and, or } = PromiseLogic;\n\n  try {\n    // Execute payment and inventory operations (both must succeed)\n\n    const [\n      [paymentResult, inventoryResult], // Payment and inventory operation results\n      logistics,                        // Logistics operation result\n      coupon                            // Coupon operation result\n      ] = await and([\n        and([paymentAPI(), inventoryAPI()],{\n          errorType: PAYMENT_OR_INVENTORY_ERROR,// Custom payment or inventory error type\n        }),\n        or([oneLogisticsAPI(), twoLogisticsAPI()], {  \n          errorType: LOGISTICS_ERROR,// Custom logistics error type\n        }),\n        or([couponAPI1(), couponAPI2()], {\n          errorType: COUPON_ERROR,// Custom coupon error type\n        })\n    ], {\n      errorType: ORDER_ERROR,// Custom order error type\n      errorMessage: 'Order creation failed' // Custom order error message\n    });\n\n    // Order creation successful, return payment result, inventory result, logistics result and coupon result\n    return {\n      payment: paymentResult,\n      inventory: inventoryResult,\n      logistics: logistics,\n      coupon: coupon,\n      status: 'success'\n    };\n  } catch (error) {\n    // Analyze error type\n    switch (error.type) {\n      case ORDER_ERROR:\n        return {\n          status: 'error',\n          errorType: 'order_error',\n          message: 'Order creation failed',\n          details: error\n        };\n      case PAYMENT_OR_INVENTORY_ERROR:\n        return {\n          status: 'error',\n          errorType: 'payment_or_inventory_failed',\n          message: 'Payment or inventory operation failed',\n          details: error\n        };\n      case LOGISTICS_ERROR:\n        return {\n          status: 'error',\n          errorType: 'logistics_unavailable',\n          message: 'All logistics services are unavailable',\n          details: error\n        };\n      case COUPON_ERROR:\n        return {\n          status: 'error',\n          errorType: 'coupon_error',\n          message: 'All coupons are unavailable',\n          details: error\n        };\n      default:\n        return {\n          status: 'error',\n          errorType: 'default_error',\n          message: 'Unknown error occurred during order creation',\n          details: error\n        };\n    }\n  }\n}\n```\n\nAs you can see, the code structure is completely consistent with business rules. Code is documentation, and logic is self-explanatory.\n\n---\n\n## Features\n\n### 1. Logical Semantics\n\n- `and`: All tasks must succeed (equivalent to `Promise.all`)\n- `or`: At least one task succeeds (equivalent to `Promise.any`)\n- `xor`: **Exactly one task succeeds**\n- `nand`: Not all tasks succeed (at least one fails)\n- `nor`: All tasks fail (no task succeeds)\n- `xnor`: All tasks succeed or all fail (same state)\n- `not`: Inverts the result of a single Promise\n- `majority`: Most tasks succeed\n\n### 2. Zero Dependencies\n\nOnly depends on native Promise, no additional runtime dependencies.\n\n### 3. Full Test Coverage\n\nAll logic gates have undergone rigorous unit testing to ensure behavior meets expectations.\n\n### 4. Clear Error Classification\n\n- `PromiseLogicError` unified error type\n- `error.type` distinguishes specific logical errors (e.g., `'XOR_ERROR'`)\n- Supports custom error types and messages\n\n### 5. Timeout Control\n\n- `maxTimer`: Adds timeout functionality to any Promise operation (unit: milliseconds)\n- Supports custom timeout error messages\n\n**Note**: After timeout, it immediately interrupts the execution of the current Promise chain and jumps to error handling, but does not cancel underlying asynchronous operations that have already started (such as network requests, file read/write, etc.).\n\n### 6. Extended Operations\n\n- `allFulfilled`: Returns all successful results in order, immediately tries to return when there are successful results\n- `allRejected`: Returns all failed results in order, immediately tries to return when there are failed results\n- `allSettled`: Returns all results (both successful and failed)\n\n---\n\n## Installation\n\n```bash\nnpm install promise-logic\n```\n\n---\n\n## Quick Start\n\n### Basic Usage Examples\n\n#### Destructuring Assignment\n\n```javascript\nimport { PromiseLogic } from 'promise-logic';\n\n// Destructure methods from PromiseLogic for simpler syntax\nconst { and, or, xor, not, race } = PromiseLogic;\n\n// Use destructured methods\nand([\n  fetch('/api/user').then(r => r.json()),\n  fetch('/api/profile').then(r => r.json())\n]).then(results => console.log(results));\n\nor([\n  fetch('/api/primary').then(r => r.json()).catch(() => { throw new Error('primary failed'); }),\n  fetch('/api/backup').then(r => r.json())\n]).then(result => console.log(result));\n\nxor([\n  fetch('/api/method1').then(r => r.json()),\n  fetch('/api/method2').then(r => r.json())\n]).then(result => console.log(result));\n```\n\n#### Security Audit (XOR Scenario)\n\n```javascript\nimport { PromiseLogic } from 'promise-logic';\n\n// Execute XOR logic: exactly one success\nPromiseLogic.xor([\n  biometricAuth(), // Biometric authentication\n  hardwareKeyAuth() // Hardware key authentication\n])\n  .then((result) => {\n    console.log('Successfully authenticated:', result);\n  })\n  .catch((error) => {\n    if (error.type === 'XOR_ERROR') {\n      console.error('Conflict between biometric and hardware key authentication');\n    } else {\n      console.error('Authentication error:', error);\n    }\n  });\n```\n\n#### Majority Decision (Majority Scenario)\n\n```javascript\nimport { PromiseLogic } from 'promise-logic';\n\nconst services = [\n  fetch('https://api.node1.com/vote'),\n  fetch('https://api.node2.com/vote'),\n  fetch('https://api.node3.com/vote')\n];\n\n// Custom threshold 0.6 (60%)\nPromiseLogic.majority(services, { max: 0.6 })\n  .then((results) => {\n    console.log('Custom threshold met, successful results:', results);\n  })\n  .catch((error) => {\n    console.error('Custom threshold not met:', error);\n  });\n```\n\n#### Timeout Control\n\n```javascript\nimport { PromiseLogic } from 'promise-logic';\n\n// Execute operation with custom timeout error message\nPromiseLogic.and([\n  Promise.resolve(1),\n  new Promise((resolve) => setTimeout(resolve, 3000)), // 3 second operation\n  Promise.resolve(3)\n])\n  .maxTimer(2000, 'Custom timeout error: operation did not complete within 2000ms') // 2 second timeout\n  .then((result) => {\n    console.log('Operation completed within timeout:', result);\n  })\n  .catch((error) => {\n    console.error('Operation timed out:', error.message);\n  });\n```\n\n#### Extended Operations\n\n```javascript\nimport { PromiseLogic } from 'promise-logic';\n\nconst operations = [\n  Promise.resolve('success1'),\n  Promise.reject('error1'),\n  Promise.resolve('success2'),\n  Promise.reject('error2')\n];\n\n// Get all successful results (returns immediately when there are successes)\nPromiseLogic.allFulfilled(operations).then((results) => {\n  console.log('Successful results:', results); // ['success1', 'success2']\n});\n\n// Get all failed results (returns immediately when there are failures)\nPromiseLogic.allRejected(operations).then((errors) => {\n  console.log('Failed results:', errors); // ['error1', 'error2']\n});\n\n// Get all results (both success and failure)\nPromiseLogic.allSettled(operations).then((results) => {\n  console.log('All results:', results);\n});\n```\n\n\n### Custom Error Types and Messages\n\n```javascript\nimport { PromiseLogic } from 'promise-logic';\n\n// Custom error type\nconst CUSTOM_ERROR_TYPE = 'CUSTOM_ERROR';\n\n// Custom error message\nconst CUSTOM_ERROR_MESSAGE = 'Custom error message';\n\n// Use custom error type and message\nPromiseLogic.and([Promise.resolve('success1'), Promise.reject('error1')], {\n  errorType: CUSTOM_ERROR_TYPE,\n  errorMessage: CUSTOM_ERROR_MESSAGE\n})\n  .then((results) => {\n    console.log(results);\n  })\n  .catch((error) => {\n    if (error.type === CUSTOM_ERROR_TYPE) {\n      console.error(error); // Output: Custom error message\n    } else {\n      console.error(error);\n    }\n  });\n```\n\n### Using Factory Function\n\nThe factory function allows you to create PromiseLogic methods with custom names:\n\n```javascript\nimport { createPromiseLogic } from 'promise-logic';\n\n// Create instance with custom naming\nconst logic = createPromiseLogic({\n  prefix: 'api_',\n  suffix: '_call',\n  rename: {\n    and: 'all',\n    or: 'any',\n    xor: 'exclusive'\n  }\n});\n\n// Use custom-named methods\nlogic.api_all_call([fetch('/api/users'), fetch('/api/posts')]);\nlogic.api_any_call([fetch('/api/cache'), fetch('/api/database')]);\n```\n\n### TypeScript Support\n\n```typescript\nimport { PromiseLogic } from 'promise-logic/typescript';\n\n// Type inference\nPromiseLogic.and([Promise.resolve(1), Promise.resolve(2)]).then(\n  (results: number[]) => {\n    console.log(results);\n  }\n);\n\n// Type assertion\nPromiseLogic.and<number>([Promise.resolve(1), Promise.resolve(2)]);\n```\n\n### Dynamic Logic Nested\n\n```javascript\nimport { PromiseLogic } from 'promise-logic';\n\n\n// Dynamic nesting example: adjust logistics strategy based on user level\nconst orderFlow = async (userLevel) => {\n  // VIP users: dual high-availability logistics guarantee (at least one success)\n  // Normal users: priority standard logistics, failover to economy logistics (at least one success)\n  const logisticsStrategy = userLevel === 'VIP'\n    ? PromiseLogic.or([premiumLogistics(), backupLogistics()])\n    : PromiseLogic.or([standardLogistics(), economyLogistics()]);\n\n  return await PromiseLogic.and([\n    PromiseLogic.and([paymentAPI(), inventoryAPI()]), // Payment + inventory atomic operations\n    logisticsStrategy,                                // Logistics strategy\n    couponValidation()                                // Coupon validation\n  ]);\n};\n```\n---\n\n## API Reference\n\n| API            | Description                                                                                                                         |\n| :------------- | :--------------------------------------------------------------------------------------------------------------------------- |\n| `and`          | All Promises succeed, returns result array; any failure causes overall failure. Equivalent to native `Promise.all`.                                                                        |\n| `or`           | At least one Promise succeeds, returns first success result; all failures cause overall failure. Equivalent to native `Promise.any`.                                                                |\n| `xor`          | **Exactly one Promise succeeds**, returns that result; otherwise throws `XOR_ERROR`.                                                            |\n| `nand`         | Not all Promises succeed (at least one fails), returns success result array; all succeed causes overall failure.                                              |\n| `nor`          | All Promises fail (no task succeeds), returns empty array; any success causes overall failure.                                                        |\n| `xnor`         | All Promises succeed or all fail (same state), returns success result array; otherwise throws `XNOR_ERROR`.                                           |\n| `not`          | Inverts the result of a single Promise: success becomes failure, failure becomes success.                                                                            |\n| `majority`     | More than specified threshold of Promises succeed, returns success result array; otherwise overall failure. Accepts `options` parameter, where `max` property can customize threshold (default: 0.5), range: [0, 1]. |\n| `allFulfilled` | Returns all successful results as an array, ignoring failures. Returns immediately when a result exists, while maintaining consistent input and output order.                     |\n| `allRejected`  | Returns all failed results as an array, ignoring successes. Returns immediately when a result exists, while maintaining consistent input and output order.                     |\n| `allSettled`   | Returns all results (both successful and failed) as an array. Equivalent to native `Promise.allSettled`.                                                                                     |\n| `race`         | Returns the first completed Promise result (regardless of success or failure). Equivalent to native `Promise.race`.                                                                            |\n| `maxTimer`     | Adds timeout functionality to any Promise operation (unit: milliseconds). Supports custom timeout error messages.                                              |\n\n---\n\n## Changelog\n\n### v2.9.0\n\n**Error Mechanism Improvements**\n- Added `errorType` and `errorMessage` parameters to logic gates, supporting custom error types and messages, further fitting business scenarios\n- Optimized the existing error type system to ensure correct TypeScript type definitions\n- Optimized TypeScript type compatibility issues\n- Optimized allSettled gate return type error messages\n- Improved test scripts, covering most promise combination logic boundaries and tricky scenario issues, ensuring more stable operation of logic gates\n- Optimized logic gate execution efficiency, reducing unnecessary Promise wrapping\n\n### v2.8.0\n\n- **Performance optimization**: Optimized `allFulfilled` and `allRejected` implementation logic from the bottom layer, existing results return immediately while maintaining consistent input and output order\n- **Added chain timeout control with custom error messages**: Can customize timeout error messages in the `maxTimer` method\n- **Type fixes**: Fixed TypeScript version type declaration issues\n- **Test completion**: Added complete test cases for `allFulfilled`, `allRejected`, and `maxTimer`\n- **Code refactoring**: Improved code structure for better maintainability\n\n---\n\n## Contribution Guide\n\n### 1. Development Environment\n\n```bash\ngit clone https://github.com/xier123456/promise-logic.git\ncd promise-logic\nnpm install\n```\n\n### 2. Testing\n\n```bash\nnpm test\n```\n\n### 3. Commit Guidelines\n\n- Commit messages must include prefixes like `feat:` (new feature), `fix:` (bug fix), `docs:` (documentation).\n- Pull Requests must include test cases.\n\n---\n\n## Resource Links\n\n- **GitHub Repository**: [https://github.com/xier123456/promise-logic](https://github.com/xier123456/promise-logic)\n- **npm Package**: [https://www.npmjs.com/package/promise-logic](https://www.npmjs.com/package/promise-logic)\n- **Issue Tracking**: [GitHub Issues](https://github.com/xier123456/promise-logic/issues)\n","readmeFilename":"README.md"}