{"_id":"better-promises","_rev":"15-a91a97c777160a5d834cec36d0a10277","name":"better-promises","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"better-promises","version":"0.0.1","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.0.1","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"bc0e15ff798016383fdb672822c6c32cf7d8f3c7","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.0.1.tgz","fileCount":36,"integrity":"sha512-B/yy1d5kWqF6DpKkmolc4sQuwpO24BMdtSHLlb4Kp+0y6bMjmT6FOv0WmR88OaLIp1JFPdvlZzYc4ncmKEZBwg==","signatures":[{"sig":"MEUCIHvDwkquucrkWvifF3fo1F7oPNVmwWq7V59n7qCfsqPiAiEAl/SLfi8BAly04Fcqq7Jk5I9nx+p4ZlIq1tLtZPc8fGI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102132},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.0.1.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\f65d2825b1b18de90e83aee6557fd5ab\\better-promises-0.0.1.tgz","_integrity":"sha512-B/yy1d5kWqF6DpKkmolc4sQuwpO24BMdtSHLlb4Kp+0y6bMjmT6FOv0WmR88OaLIp1JFPdvlZzYc4ncmKEZBwg==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.0.1_1727949793221_0.9232523077540473","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"better-promises","version":"0.0.2","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.0.2","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"07185a7db16911fc14f06d5e8f7ed299df1c3082","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.0.2.tgz","fileCount":36,"integrity":"sha512-goVUNLH8sPYyt72F/XZz5zJhZCPCQ0nDAx23qZG+wYKi+bjQ2weJ9hVtkmz7L1LV2eVxxXqLPX1jG2dHzWKw1w==","signatures":[{"sig":"MEUCIQD3erRzdaAAEHQiiXVVNIh8DIgKbUKAmVjX7oBzBr12sQIgaX2bQT5JWyCVYM37Au6SvUoZRtF7dMe+pTlRZWZYdAU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":102119},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.0.2.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\d7b42d052f0e9b975500f41a0121291a\\better-promises-0.0.2.tgz","_integrity":"sha512-goVUNLH8sPYyt72F/XZz5zJhZCPCQ0nDAx23qZG+wYKi+bjQ2weJ9hVtkmz7L1LV2eVxxXqLPX1jG2dHzWKw1w==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.0.2_1727950040124_0.714752925436692","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"better-promises","version":"0.0.3","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.0.3","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"cd4937913145e1814632e45cde8f0ac2bff0c529","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.0.3.tgz","fileCount":36,"integrity":"sha512-4yKt+lTZCgl4vFbJ7DMKM0QVdlYQnV5RHrAfEYLQvU9xO8qrJGQt71yeuxpCIiO431x9XrIFj8MGxVUhT8BIWw==","signatures":[{"sig":"MEUCIQC9WzAUkCIdn3sh246oFLyqjR67vCv6GZFbLizUIRHbgQIgVLouQDLH5ciCmLqv+apiB+riwMRHq3gqu6c0/nfeo+Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104721},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.0.3.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\512570f08d738cdae87d12254459fb9a\\better-promises-0.0.3.tgz","_integrity":"sha512-4yKt+lTZCgl4vFbJ7DMKM0QVdlYQnV5RHrAfEYLQvU9xO8qrJGQt71yeuxpCIiO431x9XrIFj8MGxVUhT8BIWw==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.0.3_1731859292016_0.4787275152533377","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"better-promises","version":"0.0.4","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.0.4","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"5daf2d17e26eec8cb599a00d2b7129d3a7dbc9bd","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.0.4.tgz","fileCount":31,"integrity":"sha512-jCquQrgxeWi45IOS+i8Cxo6XUsvpSxWI8v794urkYtmRLZ2KTOXpPmdrO3g8y+Djw9J/1QsMlfgA8rapg16dCg==","signatures":[{"sig":"MEUCIGa/SlbjLnUMs3sgz/2RnqL9hblW/8mE6s8ubYecbNsYAiEAvt37Kx47ImNf3CqnWMS8QWexOmGRFnLk3zeqMhxiWE8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":104665},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.0.4.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\69f4ddbab4ca2611de6e5fc068dc5f30\\better-promises-0.0.4.tgz","_integrity":"sha512-jCquQrgxeWi45IOS+i8Cxo6XUsvpSxWI8v794urkYtmRLZ2KTOXpPmdrO3g8y+Djw9J/1QsMlfgA8rapg16dCg==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.0.4_1736343203920_0.14064564224928788","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"better-promises","version":"0.0.5","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.0.5","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"90b17ea8f8bce57191df9711206bf888725a597a","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.0.5.tgz","fileCount":17,"integrity":"sha512-ubJM3VJEnsg3PmwYA3Hw/X0q8ABpN4uIzoqPoDYyi+jR1CN3wjwcpPcewBz6LYLQnwdyJLgwVCO6VyxEB+xDaA==","signatures":[{"sig":"MEYCIQCyxBu2u2i/ivKlgaQUb3e/Wfw9/eaJX+2FqxFuMYrLlgIhAJhHd2tCVBKG4L6Su7EdSQICeaIq09nlwNQJVxY2a1GN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":79602},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.0.5.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\b1ecfd3e5ab5a272e8fc0c9d524650c1\\better-promises-0.0.5.tgz","_integrity":"sha512-ubJM3VJEnsg3PmwYA3Hw/X0q8ABpN4uIzoqPoDYyi+jR1CN3wjwcpPcewBz6LYLQnwdyJLgwVCO6VyxEB+xDaA==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.0.5_1736343354467_0.02475227982811945","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"better-promises","version":"0.0.7","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.0.7","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"2d113416b25eb69fa8117b60b00430402e7b982f","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.0.7.tgz","fileCount":17,"integrity":"sha512-4CKbbcG2jLitUoyswS7IyE5Wn/j6KnhoTSCt1nLqqj8eVMeOQPk7E01Dz4SdGu58rCRfbfm1AoJpYYxjhz0emQ==","signatures":[{"sig":"MEUCIFT7ukd2AE7GbQTUbcj4xh2OyX5nUOYskUhQM+hK9OyoAiEA3UWtrQeyu4z61sS3bi5NglSqKz6NngxvTl8UXkIPXzw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81579},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.0.7.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\acfe54555ce69b082c5fb53601004a11\\better-promises-0.0.7.tgz","_integrity":"sha512-4CKbbcG2jLitUoyswS7IyE5Wn/j6KnhoTSCt1nLqqj8eVMeOQPk7E01Dz4SdGu58rCRfbfm1AoJpYYxjhz0emQ==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"error-kid":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.0.7_1737061645018_0.6228410317589861","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"better-promises","version":"0.0.8","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.0.8","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"111390e4465bce399ac7b961d611f655ef16e577","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.0.8.tgz","fileCount":17,"integrity":"sha512-+VTeWylr9olyIDfJK0rOcOqIqEma7+hvk0K5X9x53mY4iQRnwHhEAztVNDsUXYZpsPMnb0xSxaEmLd8756NsRw==","signatures":[{"sig":"MEYCIQDITyx2amIP2GTHajsm9wRalU3CkqFfEcStzrRr7ln0egIhAPP0tRTX5RX8WZEni+rfKiL5vtg092wHsF7APrVVgKb/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81793},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.0.8.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\502b14890978268ee6316285142379f6\\better-promises-0.0.8.tgz","_integrity":"sha512-+VTeWylr9olyIDfJK0rOcOqIqEma7+hvk0K5X9x53mY4iQRnwHhEAztVNDsUXYZpsPMnb0xSxaEmLd8756NsRw==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"error-kid":"^0.0.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.0.8_1737322532969_0.5132800502392352","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"better-promises","version":"0.0.9","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.0.9","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"52b2736ba9bece8fcf2bac843221c7a503019b1d","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.0.9.tgz","fileCount":16,"integrity":"sha512-bbIwRDu0fnPcWOvWkwEVgft6tRY2u1yYk0o073EV9oPBo5/MBK0DjThubkLQaITdrhbpZQXMTpBk8ztETr9qtA==","signatures":[{"sig":"MEUCIQDqSjQvXRb2/6z5fh6DPb4yC2bzcuPMYOnUfI0Po33J0wIgG11aiFas0y70DDuw2ZNx9oGVhQM/OW+XIvZgec+ojfQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":80704},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.0.9.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\9976804a0e7aed3d7d5e982bc94a6094\\better-promises-0.0.9.tgz","_integrity":"sha512-bbIwRDu0fnPcWOvWkwEVgft6tRY2u1yYk0o073EV9oPBo5/MBK0DjThubkLQaITdrhbpZQXMTpBk8ztETr9qtA==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"error-kid":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.0.9_1737581711531_0.1884203677595695","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"better-promises","version":"0.1.0","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.1.0","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"b7ba05e4ecb7e99539c9aeca202ae471e6e77743","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.1.0.tgz","fileCount":16,"integrity":"sha512-F1IBoV5dARFxx76KKSNv4SpsN7/UD2kBwNTTvBEYmkLdsjFsOtTEg0HVtBXytc2Bs25f4YfbxrzBhOoUeKEL1w==","signatures":[{"sig":"MEYCIQC/noSa3BToQxOHDYP9P2hpFTiW/J6edTbFIuD6BlGOrQIhANAt1ZZvz4dQvqVvD9A9wtcDxlULH8gjf6byorBS8z1G","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":95503},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.1.0.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\777a7bc14aec14b74ae77191060b955f\\better-promises-0.1.0.tgz","_integrity":"sha512-F1IBoV5dARFxx76KKSNv4SpsN7/UD2kBwNTTvBEYmkLdsjFsOtTEg0HVtBXytc2Bs25f4YfbxrzBhOoUeKEL1w==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"error-kid":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.1.0_1737652234612_0.7827748871275599","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"better-promises","version":"0.2.0","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.2.0","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"44914ed866afb409cbd9d50fa4aa0232e2705abb","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.2.0.tgz","fileCount":16,"integrity":"sha512-/Ta1inZcQshiT5asYiS1ZBgvg9ESSaMencNSGglYjqOs8PUrm13sqB6IHLi4/j5Y/s4Tt/pLzKSuZxLfce5O7Q==","signatures":[{"sig":"MEQCIFVXrzy/1VUZHR/lS8RPoGCgCunti/A6cmFUR422GfI1AiAudfJH6O/qBf0P09P57cZWDXJ9e5/kUtISDrdh4hwa+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97419},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.2.0.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\b6a3dbaec4de1614ce999fd597cee3cf\\better-promises-0.2.0.tgz","_integrity":"sha512-/Ta1inZcQshiT5asYiS1ZBgvg9ESSaMencNSGglYjqOs8PUrm13sqB6IHLi4/j5Y/s4Tt/pLzKSuZxLfce5O7Q==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"error-kid":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.2.0_1737658490316_0.40519911201860936","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"better-promises","version":"0.3.0","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.3.0","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"5307d0752c7b6843ac60a36a21a2a40b785a9a63","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.3.0.tgz","fileCount":16,"integrity":"sha512-/9kX1/mD/lD+5yMOZaQ5xjaiziqS3a15ib4NHWF6WmwCmAjK8xasusCPaZJKCUJQc8rTAF4Ks8ujDdLfHGhF8g==","signatures":[{"sig":"MEYCIQDSwsoTMaSpXJooesu2n2lXiEzrcGutnHWnGKtXCthN5AIhAI50PAGczNnRUsuaN5yxBpl3i6UXrF2CV46xD9VnRvHd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97680},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.3.0.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\005dad5cd2e208aad1d1bd291d736ec2\\better-promises-0.3.0.tgz","_integrity":"sha512-/9kX1/mD/lD+5yMOZaQ5xjaiziqS3a15ib4NHWF6WmwCmAjK8xasusCPaZJKCUJQc8rTAF4Ks8ujDdLfHGhF8g==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"error-kid":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.3.0_1737660364325_0.25305583488091465","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"better-promises","version":"0.3.1","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.3.1","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"bfdfd73d31aee132bac062c2d4d6c4a5c2472999","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.3.1.tgz","fileCount":16,"integrity":"sha512-Y5FwzH25bMheT6pjTJ2HvGkWhdG76FrsyonxxwzRCOWJny/LzwUHPdldmv1YgWrZqK/vP+S7Phq3LMt7lurnmg==","signatures":[{"sig":"MEYCIQC+HCbhJy68FoYQB4zRo3p1HNFFzB1OuyDYhHCtNfKzNAIhAJto0vb6jSI/HwPy8nlwkOqB2IF5cxUXtVa8ChnhF7YC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":97932},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.3.1.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\b07f674c58cb461d7e0c216b4a3b1191\\better-promises-0.3.1.tgz","_integrity":"sha512-Y5FwzH25bMheT6pjTJ2HvGkWhdG76FrsyonxxwzRCOWJny/LzwUHPdldmv1YgWrZqK/vP+S7Phq3LMt7lurnmg==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"error-kid":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.3.1_1737709373386_0.1967078711923964","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"better-promises","version":"0.4.0","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.4.0","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"e7984aaea24a8fc9fb390bbefec00ed370e30b70","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.4.0.tgz","fileCount":16,"integrity":"sha512-AcKkTUSd4o1vMf41eBbHW1NkY7vrXeNI6etitGdQE54WFXsF2wkfonrKA06Za7lViRNyT/cMvj5z+DScqhYW8A==","signatures":[{"sig":"MEUCIQDACDllPXvyO8iR2G8VmVpPCwYPnjB+VSH8NLyiOAKzkwIgUtEAyqL4Rh5u0TjQ6hpGaKKNx0So0fyRxUYqWUPZkPc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":100292},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.4.0.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\0c8debe7037a52cf6f371b83bf2cb3d6\\better-promises-0.4.0.tgz","_integrity":"sha512-AcKkTUSd4o1vMf41eBbHW1NkY7vrXeNI6etitGdQE54WFXsF2wkfonrKA06Za7lViRNyT/cMvj5z+DScqhYW8A==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.7.0","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.15.0","dependencies":{"error-kid":"^0.0.4"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.6.2","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.4.0_1737880124233_0.018575096406210134","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"better-promises","version":"0.4.1","keywords":["promise","async"],"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","_id":"better-promises@0.4.1","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"homepage":"https://github.com/heyqbnk/better-promises#readme","bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"dist":{"shasum":"37d23067d918160fdc8b0a074cb39e5afe630f3d","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-0.4.1.tgz","fileCount":16,"integrity":"sha512-cDW7eMvhvCoWzSih5o/OxsAgTUfP05yGMq77xNZUTmcZoNU9vEeFZJ+yJJi4lnocvxFrVFKsG0Yxt7ZnuYJEig==","signatures":[{"sig":"MEUCIEML02AHxMkYAr67j2AgFBmkon1E0QHZZ07PXTQV2nkbAiEA4pdR8XpUf77a0xXyN8aON4OlLMtIjFgjzum0I9tKLUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102243},"main":"./dist/index.cjs","type":"module","_from":"file:better-promises-0.4.1.tgz","types":"./dist/dts/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs","require":"./dist/index.cjs"}},"scripts":{"lint":"eslint src --ignore-pattern **/*.test.ts","test":"vitest --run","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build","build:default":"vite build -c vite.config.ts"},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\1142f772a8b949d27816d7ea276f40de\\better-promises-0.4.1.tgz","_integrity":"sha512-cDW7eMvhvCoWzSih5o/OxsAgTUfP05yGMq77xNZUTmcZoNU9vEeFZJ+yJJi4lnocvxFrVFKsG0Yxt7ZnuYJEig==","repository":{"url":"git+ssh://git@github.com/heyqbnk/better-promises.git","type":"git"},"_npmVersion":"10.8.2","description":"JavaScript's Promise extensions you may find useful during development.","directories":{},"sideEffects":false,"_nodeVersion":"20.19.0","dependencies":{"error-kid":"^0.0.7"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.8","eslint":"^9.11.1","rimraf":"^6.0.1","vitest":"^2.1.2","@eslint/js":"^9.11.1","@vitest/ui":"^2.1.2","typescript":"^5.8.3","@changesets/cli":"^2.27.8","vite-plugin-dts":"^4.2.3","typescript-eslint":"^8.8.0","@vitest/coverage-v8":"^2.1.2"},"_npmOperationalInternal":{"tmp":"tmp/better-promises_0.4.1_1744552784452_0.5988132995277469","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"better-promises","version":"1.0.0","description":"JavaScript's Promise extension you may find useful during development.","author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"homepage":"https://github.com/heyqbnk/better-promises#readme","repository":{"type":"git","url":"git+ssh://git@github.com/heyqbnk/better-promises.git"},"bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"keywords":["promise","async"],"license":"MIT","type":"module","sideEffects":false,"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/dts/index.d.ts","exports":{".":{"types":"./dist/dts/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs","default":"./dist/index.cjs"}},"devDependencies":{"@changesets/cli":"^2.27.8","@eslint/js":"^9.11.1","@vitest/coverage-v8":"^2.1.2","@vitest/ui":"^2.1.2","eslint":"^9.11.1","rimraf":"^6.0.1","typescript":"^5.8.3","typescript-eslint":"^8.8.0","vite":"^5.4.8","vite-plugin-dts":"^4.2.3","vitest":"^2.1.2"},"dependencies":{"error-kid":"^1.0.1"},"scripts":{"test":"vitest --run","lint":"eslint src --ignore-pattern **/*.test.ts","lint:fix":"pnpm run lint --fix","typecheck":"tsc --noEmit -p tsconfig.build.json","build":"rimraf dist && pnpm run build:default && pnpm run build:iife","build:default":"vite build -c vite.config.ts","build:iife":"vite build -c vite.iife.config.ts","prepublish":"pnpm run build"},"_id":"better-promises@1.0.0","_integrity":"sha512-gPgL2nRgeSbMIe3QpsYdKR3K0S9OZuphVuos60Eqsw8d/6GivOkyJ5D/zmnolJ6hzh7upnnflBUWUlQh4qpU2A==","_resolved":"C:\\Users\\q\\AppData\\Local\\Temp\\7753239cd9dfc19e6697e89d4218702a\\better-promises-1.0.0.tgz","_from":"file:better-promises-1.0.0.tgz","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-gPgL2nRgeSbMIe3QpsYdKR3K0S9OZuphVuos60Eqsw8d/6GivOkyJ5D/zmnolJ6hzh7upnnflBUWUlQh4qpU2A==","shasum":"b90552e8c037781b061433b89c8d4bfd203a08a8","tarball":"https://registry.npmjs.org/better-promises/-/better-promises-1.0.0.tgz","fileCount":13,"unpackedSize":93381,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBbzKGHDYIdoRERiddjVx5qaG6gNNn1Nb6NbfOl52WqeAiEAxAFRpC48sYrT+IDsYOSWX4m9KE+6q2fwlttFAhWyHzs="}]},"_npmUser":{"name":"qbnk","email":"wolfram.deus@gmail.com"},"directories":{},"maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/better-promises_1.0.0_1757600322960_0.6738566395412475"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-03T10:03:13.221Z","modified":"2025-09-11T14:18:43.350Z","0.0.1":"2024-10-03T10:03:13.482Z","0.0.2":"2024-10-03T10:07:20.384Z","0.0.3":"2024-11-17T16:01:32.254Z","0.0.4":"2025-01-08T13:33:24.153Z","0.0.5":"2025-01-08T13:35:54.632Z","0.0.7":"2025-01-16T21:07:25.192Z","0.0.8":"2025-01-19T21:35:33.135Z","0.0.9":"2025-01-22T21:35:11.850Z","0.1.0":"2025-01-23T17:10:34.780Z","0.2.0":"2025-01-23T18:54:50.491Z","0.3.0":"2025-01-23T19:26:04.536Z","0.3.1":"2025-01-24T09:02:53.582Z","0.4.0":"2025-01-26T08:28:44.442Z","0.4.1":"2025-04-13T13:59:44.652Z","1.0.0":"2025-09-11T14:18:43.155Z"},"bugs":{"url":"https://github.com/heyqbnk/better-promises/issues"},"author":{"name":"Vladislav Kibenko","email":"wolfram.deus@gmail.com"},"license":"MIT","homepage":"https://github.com/heyqbnk/better-promises#readme","keywords":["promise","async"],"repository":{"type":"git","url":"git+ssh://git@github.com/heyqbnk/better-promises.git"},"description":"JavaScript's Promise extension you may find useful during development.","maintainers":[{"name":"qbnk","email":"wolfram.deus@gmail.com"}],"readme":"# `better-promises`\r\n\r\n[code-badge]: https://img.shields.io/badge/source-black?logo=github\r\n\r\n[link]: https://github.com/heyqbnk/better-promises/tree/master\r\n\r\n[npm-link]: https://npmjs.com/package/better-promises\r\n\r\n[npm-badge]: https://img.shields.io/npm/v/better-promises?logo=npm\r\n\r\n[size-badge]: https://img.shields.io/bundlephobia/minzip/better-promises\r\n\r\n[![NPM][npm-badge]][npm-link]\r\n![Size][size-badge]\r\n[![code-badge]][link]\r\n\r\nJavaScript's `Promise` enhanced, flexible version you may find useful in your project.\r\n\r\n## Installation\r\n\r\n```bash\r\n# yarn\r\nyarn add better-promises\r\n\r\n# pnpm\r\npnpm i better-promises\r\n\r\n# npm\r\nnpm i better-promises\r\n```\r\n\r\n## Creating\r\n\r\nThe `BetterPromise` class has several ways of creating its instance.\r\n\r\n- **Using no arguments at all**\r\n\r\n```ts\r\nimport { BetterPromise } from 'better-promises';\r\n\r\nconst promise = new BetterPromise();\r\n```\r\n\r\n- **Using options only**\r\n\r\n```ts\r\nconst controller = new AbortController();\r\nconst promise = new BetterPromise({\r\n  abortSignal: controller.signal,\r\n  timeout: 3000\r\n});\r\n```\r\n\r\n- **Using the promise executor**. In this case the executor will receive an additional\r\n  argument representing the execution context (you will learn about it later).\r\n\r\n```ts\r\nconst promise = new BetterPromise((resolve, reject, context) => {\r\n  // ..\r\n});\r\n```\r\n\r\n- **Using both executor and options**.\r\n\r\n```ts\r\nconst controller = new AbortController();\r\nconst promise = new BetterPromise((resolve, reject, context) => {\r\n  // ..\r\n}, {\r\n  abortSignal: controller.signal,\r\n  timeout: 3000,\r\n});\r\n```\r\n\r\nWhen the promise was resolved or rejected, the executor receives a corresponding event:\r\n\r\n```ts\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.on('rejected', reason => {\r\n    // ...\r\n  });\r\n  context.on('resolved', result => {\r\n    // ...\r\n  });\r\n  context.on('finalized', result => {\r\n    // ...\r\n  });\r\n});\r\n```\r\n\r\nNow, let's learn more about its executor and execution context.\r\n\r\n## Execution Context\r\n\r\n**Executor** is a function, passed to the promise constructor. **Execution context** is an additional\r\nargument passed to the executor. It contains useful data that executor may use.\r\n\r\n### `readonly abortSignal: unknown`\r\n\r\nAbort signal created by the promise. You can use this in order to know when the promise was either rejected or\r\nresolved. You will likely need this value in order to pass it to some other abortable operations.\r\n\r\n```typescript\r\nnew BetterPromise((resolve, reject, { abortSignal }) => {\r\n  abortSignal.onabort = () => {\r\n    console.log('Promise was finalized:', abortSignal.reason);\r\n  };\r\n});\r\n```\r\n\r\n### `get isRejected(): boolean`\r\n\r\nReturns `true` if the promise was rejected.\r\n\r\n```ts\r\nnew BetterPromise((resolve, reject, context) => {\r\n  console.log(context.isRejected); // false\r\n  reject();\r\n  console.log(context.isRejected); // true\r\n});\r\n```\r\n\r\n### `get isResolved(): boolean`\r\n\r\nReturns `true` if the promise was resolved.\r\n\r\n```ts\r\nnew BetterPromise((resolve, reject, context) => {\r\n  console.log(context.isResolved); // false\r\n  resolve();\r\n  console.log(context.isResoled); // true\r\n});\r\n```\r\n\r\n### `on(event, listener): VoidFunction`\r\n\r\nAdds an event listener to one of the following events:\r\n\r\n- `resolved` - the payload will be a resolved value;\r\n- `rejected` - the payload will be a rejection reason;\r\n- `finalized` - the payload will be one of the following objects:\r\n  - `{ kind: 'resolved', result: T }`\r\n  - `{ kind: 'rejected', reason: TimeoutError | CancelledError | unknown }`\r\n\r\n```typescript\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.on('resolved', result => {\r\n    console.log(result);\r\n    // Output: 123\r\n  });\r\n  resolve(123);\r\n});\r\n\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.on('rejected', reason => {\r\n    console.log(reason);\r\n    // Output: Error('test')\r\n  });\r\n  resolve(new Error('test'))\r\n});\r\n\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.on('finalized', value => {\r\n    console.log(value);\r\n    // Output: { kind: 'resolved', value: 123 }\r\n  });\r\n  resolve(123)\r\n});\r\n```\r\n\r\nNote that if the promise is already in fulfilled state, listeners bound to the `finalized` and `resolved` events will\r\nbe called instantaneously. We can say the same about a rejected promise and trying to listen to the `rejected` event.\r\n\r\n```typescript\r\nnew BetterPromise((resolve, reject, context) => {\r\n  resolve(123);\r\n\r\n  // As long as the promise is already resolved at this moment, \r\n  // the listener will be called instantenously, so you wouldn't\r\n  // wait for it endlessly.\r\n  context.on('resolved', result => {\r\n    // ...\r\n  });\r\n});\r\n```\r\n\r\n### `get result(): T | undefined`\r\n\r\nReturns promise resolve result.\r\n\r\n```typescript\r\nnew BetterPromise((resolve, reject, context) => {\r\n  console.log(context.result); // undefined\r\n  resolve(123);\r\n  console.log(context.result); // 123\r\n});\r\n```\r\n\r\n### `get rejectReason(): TimeoutError | CancelledError | unknown | undefined`\r\n\r\nReturns promise rejection reason.\r\n\r\n```typescript\r\nnew BetterPromise((resolve, reject, context) => {\r\n  console.log(context.rejectReason); // undefined\r\n  reject(new Error('test'));\r\n  console.log(context.rejectReason); // Error('test')\r\n});\r\n```\r\n\r\n### `throwIfRejected(): void`\r\n\r\nWill throw an error if the promise is currently reject. The thrown error will be equal to the rejection reason.\r\n\r\n```ts\r\nconst controller = new AbortController();\r\ncontroller.abort(new Error('Hey ho!'));\r\n\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.throwIfRejected();\r\n}, {\r\n  abortSignal: controller.signal,\r\n})\r\n  .catch(e => {\r\n    console.log(e);\r\n    // Output: Error('Hey ho!')\r\n  });\r\n```\r\n\r\n## Options\r\n\r\n### `abortSignal?: AbortSignal`\r\n\r\nAn abort signal to let the promise know, it should abort the execution.\r\n\r\n```ts\r\nconst controller = new AbortController();\r\nsetTimeout(() => {\r\n  controller.abort(new Error('Oops!'));\r\n}, 1000);\r\n\r\nconst promise = new BetterPromise({ abortSignal: controller.signal })\r\n  .catch(e => {\r\n    console.log(e);\r\n    // Output: Error('Oops!')\r\n  });\r\n```\r\n\r\n### `abortOnReject?: boolean = true`\r\n\r\nShould the `abortSignal` passed to the executor be aborted if the promise was rejected.\r\n\r\nBy default, as long as there is no point to perform any operations at the moment of rejection,\r\nthe signal will be aborted.\r\n\r\nTo prevent the signal from being aborted, use the `false` value.\r\n\r\n```typescript\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.abortSignal.onabort = () => {\r\n    // This function will be called.\r\n  };\r\n  reject(new Error('test'));\r\n});\r\n\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.abortSignal.onabort = () => {\r\n    // This function will NOT be called.\r\n  };\r\n  reject(new Error('test'));\r\n}, { abortOnReject: false });\r\n```\r\n\r\n### `abortOnResolve?: boolean = true`\r\n\r\nShould the `abortSignal` passed to the executor be aborted if the promise was fulfilled.\r\n\r\nBy default, as long as there is no point to perform any operations at the moment of resolve, the signal will be aborted.\r\n\r\nTo prevent the signal from being aborted, use the `false` value.\r\n\r\n```typescript\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.abortSignal.onabort = () => {\r\n    // This function will be called.\r\n  };\r\n  resolve(123)\r\n});\r\n\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.abortSignal.onabort = () => {\r\n    // This function will NOT be called.\r\n  };\r\n  resolve(123)\r\n}, { abortOnResolve: false });\r\n```\r\n\r\nTo check if the abort reason represents a promise resolve result, use the `isResolved` function:\r\n\r\n```typescript\r\nnew BetterPromise((resolve, reject, context) => {\r\n  context.abortSignal.onabort = () => {\r\n    if (isResolved(context.abortSignal.reason)) {\r\n      console.log(context.abortSignal.reason.value);\r\n      // Output: 123\r\n    }\r\n  };\r\n  resolve(123)\r\n});\r\n```\r\n\r\n### `timeout?: number`\r\n\r\nTimeout in milliseconds after which the promise will be aborted with the `TimeoutError` error.\r\n\r\n```ts\r\nconst promise = new BetterPromise({ timeout: 1000 })\r\n  .catch(e => {\r\n    if (TimeoutError.is(e)) {\r\n      console.log(e);\r\n      // Output: TimeoutError('Timed out: 1000ms')\r\n    }\r\n  });\r\n```\r\n\r\n## Methods\r\n\r\nIn addition to standard promise methods (`then`, `catch`, and `finally`), `BetterPromise`\r\nintroduces three new methods: `abort`, `reject` and `cancel`. It also provides a static\r\nmethod `fn`.\r\n\r\n### `fn`\r\n\r\nThe `fn` static method executes a function and resolves its result.\r\n\r\nThe executed function receives the same execution context as when using the default way of\r\nusing `BetterPromise` via constructor.\r\n\r\nThe method optionally accepts options passed to the `BetterPromise` constructor.\r\n\r\n```ts\r\nconst controller = new AbortController();\r\nconst promise = BetterPromise.fn(context => 'Resolved!', {\r\n  abortSignal: controller.signal,\r\n  timeout: 3000,\r\n});\r\n\r\npromise.then(console.log); // Output: 'Resolved!'\r\n\r\nconst promise2 = BetterPromise.fn(() => {\r\n  throw new Error('Nah :(');\r\n});\r\npromise2.catch(console.error); // Output: Error('Nah :(')\r\n\r\nconst promise3 = BetterPromise.fn(async () => {\r\n  const r = await fetch('...');\r\n  return r.json();\r\n});\r\n// promise3 resolves with the fetched JSON body\r\n```\r\n\r\n### `reject`\r\n\r\nThe `reject` method rejects the initially created promise with a given reason. It is important to\r\nnote that `reject` applies to the original promise, regardless of any chained promises. So, calling\r\nthis method, only the initially created promise will be rejected to follow the expected flow.\r\n\r\nThe expected flow is the flow when rejection was performed in the promise executor (the function,\r\npassed to the promise constructor), and then all chained callbacks (add via `catch(func)`) called.\r\n\r\nHere is the example:\r\n\r\n```ts\r\nconst promise = new BetterPromise();\r\nconst promise2 = promise.catch(e => {\r\n  console.log('I got it!');\r\n});\r\n\r\n// Here calling promise.reject() and promise2.reject()\r\n// will have the same effect. We will see the log \"I got it!\"\r\n```\r\n\r\nA bit more real-world example:\r\n\r\n```ts\r\nconst promise = new BetterPromise((res, rej) => {\r\n  return fetch('...').then(res, rej);\r\n})\r\n  .then(r => r.json())\r\n  .catch(e => {\r\n    console.error('Something went wrong', e);\r\n  });\r\n\r\n// Imagine, that we want to reject the promise for some reason\r\n// and stop the execution. Calling the \"reject\" method we expect\r\n// the \"rej\" argument in the executor to be called, and then\r\n// call the \"catch\" method callback.\r\n\r\npromise.reject(new Error('Stop it! Get some help!'));\r\n// Output: 'Something went wrong', Error('Stop it! Get some help!')\r\n```\r\n\r\n### `cancel`\r\n\r\nThis method rejects the promise with `CancelledError`.\r\n\r\n```ts\r\nnew BetterPromise()\r\n  .catch(e => {\r\n    if (CancelledError.is(e)) {\r\n      console.log('Canceled');\r\n    }\r\n  })\r\n  .cancel();\r\n// Output: Canceled.\r\n```\r\n\r\n### `resolve`\r\n\r\nThis method resolves the promise with the specified result.\r\n\r\n```ts\r\nconst promise = new ManualPromise();\r\npromise.then(console.log);\r\n// Output: 'Done!'\r\n\r\npromise.resolve('Done!');\r\n```\r\n","readmeFilename":"README.md"}