{"_id":"o-promise","_rev":"8-91bf8c01de9004cc0d1851672e2f99b3","name":"o-promise","dist-tags":{"next":"1.0.0-next.3","latest":"1.4.0"},"versions":{"1.0.0-next.1":{"name":"o-promise","version":"1.0.0-next.1","keywords":["open","promise","util","defer","deferred"],"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","_id":"o-promise@1.0.0-next.1","maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"dist":{"shasum":"b61dcbce78d82805e1ab2bd7fcaabcdf8abd53b2","tarball":"https://registry.npmjs.org/o-promise/-/o-promise-1.0.0-next.1.tgz","fileCount":4,"integrity":"sha512-IZR7Rh3EwYxGERQJ8e5bpg2L6k1MjCemgKv2dQWpS7+kdbt7LERXEXPOJpr1/K2pVrF9e3BG3+pVcCJLQjZyZA==","signatures":[{"sig":"MEUCIQCOk5RkI+tJW3p6AhB4AqOGK7i2WT2nxZ8DZGPG/ZEc+gIgFzZ5v+PCnjG+XOj6dHulfziLBXIMPoTEG/NsyRBTyIM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1999,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvEUUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNVw/8CbiB7DdfRTIbFQO+7GVfzmME3EstC2YXza5wfKnmtNQZRYLv\r\nKiCFzbgWxY9NiJT1F/gsWEv8l0nKXWroNEk0EwW/4vWNnCZmvfNkZm0Eq4r/\r\nxKT7xRikQdRjNZsT03ItP7qkA1VGJ3yrifz+9GjUg2LVkfyc1mm6frWqIG2L\r\nF8nVAJlTcLGVi1p55xpCBlpM7ojwJYmBfvFnnJu3k+YPUNt1LSHZ6ggsqZv6\r\nNbmHCFGRuK1H6ez2qZd+p+zbPbICa59nqu1oZnuJTB60Kr3Ml59Udzd1KyG4\r\n/nNkFA+JkwNlYaJKe+PC8wB2IGyXm1nNN4MZFHdNMXh+XAVH9TCFxPhv0gwW\r\nxi5LWx5UEZ2J8XUQGMs9KrOkUwZQgzuQIycOuVOEAYzJuD7TQG6SoEdLBg7p\r\nm7TH1sySWoNzCe5VeYT4zFMPcX4nri/rt2Gw+EuNnW4JmekYTI4kyocFpPOe\r\nN1+yvKiH1wcYcowF3zPxvEZS+mGh2f5y4aC/B7sMkWnfZeBJKpqowhFEHthz\r\nbvg8DQWeVDB+qDrZrXzBzob7jY58RBg03K90JDE9eKo4uy3q4CfA3u+tRUbO\r\nry+xj6OEdd+dhPd2VWm61MYgZ4OOtufGMExWXHYgG342nepEXWNOX6nHsTL+\r\n4UH5Oh5T2Rd2p+kR4CxszYh2xNFKmhSQdmo=\r\n=QDJN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"9c493fa46655bedd13544b1417933d2f9478ea30","scripts":{"test":"jest --coverage","release":"npm_config_registry=https://registry.npmjs.com npm publish","prepublishOnly":"tsc"},"_npmUser":{"name":"rubaxa","email":"ibnRubaXa@gmail.com"},"_npmVersion":"8.8.0","description":"Open Promise — Micro tool for creating Promise like Deferred","directories":{},"_nodeVersion":"18.1.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4","@types/jest":"^29.2.4","@types/node":"^18.11.18","expect-type":"^0.15.0","@tsconfig/recommended":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-promise_1.0.0-next.1_1673282836614_0.23781552275776452","host":"s3://npm-registry-packages"}},"1.0.0-next.2":{"name":"o-promise","version":"1.0.0-next.2","keywords":["open","promise","util","defer","deferred"],"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","_id":"o-promise@1.0.0-next.2","maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"homepage":"https://github.com/RubaXa/open-promise","dist":{"shasum":"f25203eb13a7e350a384c872280fc288640f5a7d","tarball":"https://registry.npmjs.org/o-promise/-/o-promise-1.0.0-next.2.tgz","fileCount":3,"integrity":"sha512-mZ4db9yf2u+wPWdG2X5LoMoS67Jrr94iSb0VMIxzdWqOGls8rcV1ySM589WJLEdWBklEhhK9/Zim09FAO0kmRg==","signatures":[{"sig":"MEQCIF0eNWDYiIyBo2ilhXuXCqau8fDK7sTQ9gdnWCEBVBlVAiAnWna9JnstPahSIp3doa55fZ9lt7xFxFGBHiifm0woGw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvEXlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoBrw/+LKFgr04pe2E2vrnyDqLrjvxed54SVCHdACguUEhCgIyDI+fz\r\nuT8a3gF/Wsk39OYcSx/5KK6sogzV09WBFlslk3ANIbrGPo1fcXptysi5/Ems\r\nEplpRX65rable1ZizKyfSgDlz/Rk3BPqkIqdldYBHRNmV5NF8gHY+SxVCYM8\r\n8uIqt8o1pR1ZNLqgHRUgjg4BEuWhOcSIoLfsWZ8X9o5DUgNeXfOxlQJ2szfv\r\niMJo/500swU7aaG1PacV3lkb1e9Spwcjxdcpoig1K6iWt2fqgBr9rSFjzQN7\r\nROYJ1x0l6r8iIiHYQwK03fDe+2+DL9FBzDGun0m+pfzRIl9Dq7M4csjec0t3\r\nR2At66xtTLX1n5qzCTX3RC0KalJV17z5cbgI9/ZM8DcNMiSeJPp0BNAuMDbo\r\nUSzxSJNCmkq7fY0V1bUjmJetVVxGujXh+In9mGNNT6BtInx/vLeImaeMRbNc\r\npNobwmcU50p2mpq2uryCG0WsF8LNuV6B/Ce0OHGtOtR0wX6BqROPzL1EMGoQ\r\nKjtJk/aShM4jzKgD0FBJDcK4yikTP6af07TUh4QU2TsNUZ20Pi8j5AQh+AOR\r\nPxii4qOoWDWPrnDNDxvttGdBxq1+hs/XnhX5fa2e4itIsElu6pReQDitm2f1\r\nCddmo9g4b4UkRn8oby8ZqsX+TijBGSeGK1M=\r\n=p5ds\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/open/promise.js","gitHead":"9c493fa46655bedd13544b1417933d2f9478ea30","scripts":{"test":"jest --coverage","release":"npm_config_registry=https://registry.npmjs.com npm publish","prepublishOnly":"tsc"},"_npmUser":{"name":"rubaxa","email":"ibnRubaXa@gmail.com"},"_npmVersion":"8.8.0","description":"Open Promise — Micro tool for creating Promise like Deferred","directories":{},"_nodeVersion":"18.1.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.3.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4","@types/jest":"^29.2.4","@types/node":"^18.11.18","expect-type":"^0.15.0","@tsconfig/recommended":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-promise_1.0.0-next.2_1673283045146_0.8174414745432321","host":"s3://npm-registry-packages"}},"1.0.0-next.3":{"name":"o-promise","version":"1.0.0-next.3","keywords":["open","promise","util","defer","deferred"],"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","_id":"o-promise@1.0.0-next.3","maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"homepage":"https://github.com/RubaXa/open-promise","dist":{"shasum":"1c02b1a51a1d6c3426be32f3fba6ed08c599ef75","tarball":"https://registry.npmjs.org/o-promise/-/o-promise-1.0.0-next.3.tgz","fileCount":6,"integrity":"sha512-H4CNjMdCH0YyE0eVIg+8aLSXVVbSuK4XKXntE2O8jJoV7rnOZ7UK+asBy9QIeb5lok68tBk4eGJY9tw6H+3Kzw==","signatures":[{"sig":"MEUCIEFRD5EZkY+z9z2Xu8cwDGXwr6vzSnvAZsge9xjBzM73AiEAmux+3cyXX/ClDOw7LUj1WSXmypinoDHzg54hQqWpbSo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2731,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvEdsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqS+g//U9kughseUsUuNuigVLpgrDszbLoNSyiFadK7pEASmb27zUTg\r\nzF8oC0fCmLdTKT19ogg+iD9pCzBWnoAqDBj5dYkU/ldLTomLYi6yZgyWDDsc\r\nesSXoQjfMK4JDR/6LBWKAtSY0GOzDRJKdPbghKszDvC97AuDKwrcdC++DIdM\r\n0Fa0tM+kAJWZtloJM9gfrCQIpyHK9ZHTNmWKOJk2y/2cFEqUo7Dpw4tHEOOi\r\nIYPzgzagDuu9lOBtuv0nCFs/tHQpRh30JFe9sL/WkIf6bXXqleaCkFO3ecfu\r\nRtJhICaLL/Ej3any+iM8kZ4oG3T9lokjgGOhqnCRcjGqevPQhG2h9TR+CAhd\r\nM7XS15nywAEBDreb5bizwlEjFMzxIqgO11rxylYoBYTJmSkbC0eTtVOrioyu\r\nX70LS4IfeJMeH5sv9Kx6OnX3AcDD5XfL8YjJnK+v2mSdpZ7Ci3L6xH3ou+d2\r\nM2KHD6rWBPELzf1q5RjqFy944Zd0QCvBR5ssIy9+dQhabJ30EuyWxzNotcED\r\nHFzbqbryFe46gTJJcMqDpQ+WGIJzoUkKQ9Cnz5MVd1LqvUcMQeC6YSBW4R1W\r\nbQv7YMDzSlBB59w59dnIi+DVDNpxjIZaucSqUftvjRyT/LVKNZ7rS0FnM+Bk\r\nz7A1mGmSf+zs2VhI3iABL4soR9pTm7ky2uA=\r\n=yOWI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","types":"./index.d.ts","gitHead":"9c493fa46655bedd13544b1417933d2f9478ea30","scripts":{"test":"jest --coverage","release":"npm_config_registry=https://registry.npmjs.com npm publish","prepublishOnly":"tsc"},"_npmUser":{"name":"rubaxa","email":"ibnRubaXa@gmail.com"},"_npmVersion":"8.8.0","description":"Open Promise — Micro tool for creating Promise like Deferred","directories":{},"_nodeVersion":"18.1.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.3.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4","@types/jest":"^29.2.4","@types/node":"^18.11.18","expect-type":"^0.15.0","@tsconfig/recommended":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-promise_1.0.0-next.3_1673283436232_0.9835519493791605","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"o-promise","version":"1.0.0","keywords":["open","promise","util","defer","deferred"],"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","_id":"o-promise@1.0.0","maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"homepage":"https://github.com/RubaXa/open-promise","bugs":{"url":"https://github.com/RubaXa/open-promise/issues"},"dist":{"shasum":"395d88be49ab9d72dedb7c7fcac6f1a48d383b2e","tarball":"https://registry.npmjs.org/o-promise/-/o-promise-1.0.0.tgz","fileCount":6,"integrity":"sha512-zYl3iFg/sFQ8A2RBhX7rx0ZSvVagyiSuQSx/GEf/GFn/Am0zGHfLV1acAi2MkZoi8bZfISKbQmTmMdN2liPdOA==","signatures":[{"sig":"MEQCIAVSY0WG6qvsTqW8l9WtKQUQGGqjMm+3AChgLyBhAUnBAiBh7ElbBYh+/EXs7OKvwoVroRkDAxTv8jOdmjOxAfiXSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":2818,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvFBLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmru7A/7BjjddU8VTWoyp64ATemfOGS+76f2y9RsOW1riZbyC+csPylv\r\naVBDgZiOtaFeQyUM63vzMb0jM64ax3C1rz3BKYraMoU45vzuILEpLbC1xf9y\r\nOFp5lFvuUCEuwTmEeFuZLH5PMLm5kL1cSnXvTAGk0hoEwEDXHkgD4JF26MLq\r\nC22OvS7pIi1aVJGJTw5F6wBKKlFWU7jebFi2gfDoc91oDAgPjI99Arxxw6F0\r\npcrSqfgJQvRJ1NjFA5dllH+4bkT9MJB8Yti9qhbRlM0bmPtdFHbJMCVLM1vY\r\nwSbQ2wwN8G/NLcl7MBTdkb1z5MrowWicH7rcSpfG0uDcxNVrpRfLKKysV27N\r\nhGEbJLYBVcVbdFpzMKcg/GY0HIiWWSzJpUO9D6duSOA+08uhdJ2dJD6da6bu\r\nnj2Z1wZJyhAkgeA5MIxP+ogc3u96conoMtVd1P5P0cMp7oYlJntZ14AsrQ3O\r\n67OZGc2nkOp3dXn5x4NRVZ5e1P49WQJXOb7KqtNf4Av61XIRgzE62FkGu/ot\r\n5izrQWdbtt2bfCDtNBdwnDH+e1/TygBZSM7lUeVM5/zyo2XPb+pN64VN1CTT\r\npXzLnwhiyxtK8qn8StxT1xexxUrxFJjyJ/kjUKnQcQqymZI9DgDfTRNDfs8i\r\nGdHoevzwm3FaTF4DcyR27KiIXLtEia0coHE=\r\n=fgQ4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","types":"./index.d.ts","gitHead":"833408364ec7ae63a6f5a861cf0b29775138401e","scripts":{"test":"jest --coverage","release":"npm_config_registry=https://registry.npmjs.com npm publish","prepublishOnly":"tsc"},"_npmUser":{"name":"rubaxa","email":"ibnRubaXa@gmail.com"},"repository":{"url":"git+ssh://git@github.com/RubaXa/open-promise.git","type":"git"},"_npmVersion":"8.8.0","description":"Open Promise — Micro tool for creating Promise like Deferred","directories":{},"_nodeVersion":"18.1.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4","@types/jest":"^29.2.4","@types/node":"^18.11.18","expect-type":"^0.15.0","@tsconfig/recommended":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-promise_1.0.0_1673285707206_0.02538095332012169","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"o-promise","version":"1.1.0","keywords":["open","promise","util","defer","deferred"],"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","_id":"o-promise@1.1.0","maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"homepage":"https://github.com/RubaXa/open-promise","bugs":{"url":"https://github.com/RubaXa/open-promise/issues"},"dist":{"shasum":"92ffaf53ee6981056a89f8326c3c16aeaea24803","tarball":"https://registry.npmjs.org/o-promise/-/o-promise-1.1.0.tgz","fileCount":6,"integrity":"sha512-9ERIn26tCa9ezmArxq19QnAJPDGCNoGWepJ66sTWYLtZBekWMLglrA/lJ85RyvKN6ePwvWMuv5LAZHzdVJQ3gQ==","signatures":[{"sig":"MEUCIFsxS98Dun94FbAX/+5+e5150/MYm4rg5yOYPagF9cc8AiEAzoFJrWxVbAlqRSDzw3A/AMbaGcWx2Rqn2eM18LZu7xQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3672,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvGaOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpxChAAnppz49msaXRqRxgCFCrkscnI5MVWIXIb0NwmpN4GtrLWopsH\r\nvvctxgIA9Mf5JHLZipMKfiQYs2+X2Y+UsXj8wL1ogkR19Lah9JLqbpnWqLcL\r\niWEXTT+/aCwF72UCBCoUNrDnsf0BBDNq4TXS1jCXh7yOfKJi6WLKdF2u3oHB\r\nbwx7F2JRAVeoAX4S+dp56kYtvZksi74BAdoCNgHCCfkm0gJXX9HIdygIqZdM\r\nGry2Ea1/qZkxEi+/Zc1H8I1QGEgi6aW1l2A5PtAHf55tleyVHtae4BEX/KLw\r\nbV4nx97ku5P7z6L09vrqlf789mRq0MDLJWSTL9V4jrLZMjREuGgF/yrr+E3w\r\n0W3xtVCqocBuGLWttG0NpXqx0k3ikxNSDfZR+Tq5Drlpolx3GgixzxjbyNlo\r\nKG0Eu8/3nFn/2uv6E3q60vACt8XyM7LLTKKYGehPBYNNtxsMFwd/SUKqAamJ\r\nVcd2A8/q8Wg8eCWVBVc9ZlQ4yV+OGl2RgEAeVm3hmsgr+QrA2GW8lnRAZWze\r\n2SkshSbjvqn00Zq4C3pwXHL7MkFZ5yRYD5HjxBepxIPmZji4CV5ql9Yvg69+\r\n/gYyfdsjil5+49EkCvw5wnjsx+M7/MGzJkrn1N6ABnhFBLQ4tXOM7jS7hL6q\r\nK+36eGvxH/Pvh0e4pdYJAqOxrPqJyW9yw3k=\r\n=ifp9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","types":"./index.d.ts","gitHead":"45e5ceea5b73a8dc7c8f9e65abe532393a0b7bba","scripts":{"test":"jest --coverage","release":"npm_config_registry=https://registry.npmjs.com npm publish","prepublishOnly":"tsc"},"_npmUser":{"name":"rubaxa","email":"ibnRubaXa@gmail.com"},"repository":{"url":"git+ssh://git@github.com/RubaXa/open-promise.git","type":"git"},"_npmVersion":"8.8.0","description":"Open Promise — Micro tool for creating Promise likes Deferred","directories":{},"_nodeVersion":"18.1.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4","@types/jest":"^29.2.4","@types/node":"^18.11.18","expect-type":"^0.15.0","@tsconfig/recommended":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-promise_1.1.0_1673291406447_0.298320444938174","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"o-promise","version":"1.2.0","keywords":["open","promise","util","defer","deferred","fetch","abort","controller"],"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","_id":"o-promise@1.2.0","maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"homepage":"https://github.com/RubaXa/open-promise","bugs":{"url":"https://github.com/RubaXa/open-promise/issues"},"dist":{"shasum":"dcbb5e04218781f7199610a4d6f531e005d01820","tarball":"https://registry.npmjs.org/o-promise/-/o-promise-1.2.0.tgz","fileCount":6,"integrity":"sha512-4OlZqkYbpEsDTc8fGyrh/3BeObivhxPA68Ujli7EE0+LHhVw+GR37AeBXCJwA1eXtbR/DTlolZIuJwBpfLWOUg==","signatures":[{"sig":"MEUCIQDmAPyNECYZNe035c1AxTbytNRcnTEUeNz1nGFogzfIowIgfun4VojpLGB9DK9Ar5jRs9DlzVefmB1FvzI9z9NqbAs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5425,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvRkbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmresxAAnCSY1qLO2oMFKclkBHnhpiqL7RDoOCE2Lk93gB+5OAQsKrFK\r\ndnwc+wKbUO8jIWyfGC/Rj5XmLWREqa1COSQMc59oUNqwutMfbAxPP+moiSDU\r\nkznVL6SZSpG729yUW2eN6TvUA6I9foungJnwuzCt3r1sbA13ufewgnZFZtxj\r\nX6W57wxDwkqF8ddd9wxcGvTd9REP1RrY9VAULnMqE3SYUewp6G0JjQ2xY3fZ\r\njzvbKS6jmOvCKheRdHv4/lEVqVqCChlQ+GnQK0D+OfRNVbj9tBAlQB0qdUvE\r\n0u3R8mNb/EW919gSEd2Nte6ZEKlgqM3uzMiKY2hrLIKtS+f566v8L3roel/5\r\nnBwybEZcFqCgaGl6ZJCwpieiDuXvnZENp/amtSJxsQWb9fXcmtmHD/N6JbVt\r\nW2HWu9KqvCKiAwDCA+EMYFoQMYmKb2uqOxT70VOEyaYE92JHdX0XacDNveEP\r\nEU5Ma8gFkmIYRWzSO8u6qshQfWwdYsC0Xn7JLwl5WIGy1DmkSp8aniK9C0kT\r\niReOYl7rGPSYm0KJZb0uHT8cLVXJSQhsKm8VLSrXFyjxlSNH/WVx7660zzAP\r\nxM3HE3NfFEbblAhj14cd/bMcJTWzYARJ8ZxpJaeaCaE+Nb2Y+exDSZ3yvx9S\r\nNg685jsX3YBRroCQtLbbVGFzobxy76pJYxU=\r\n=QlOL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./index.js","types":"./index.d.ts","gitHead":"ae979a103df33c3fffe6a8a429c7f72270d76828","scripts":{"test":"jest --coverage","release":"npm test && npm_config_registry=https://registry.npmjs.com npm publish","prepublishOnly":"tsc"},"_npmUser":{"name":"rubaxa","email":"ibnRubaXa@gmail.com"},"repository":{"url":"git+ssh://git@github.com/RubaXa/open-promise.git","type":"git"},"_npmVersion":"8.8.0","description":"Open Promise 👐 — Micro tool for creating Promise likes Deferred (with AbortController support).","directories":{},"_nodeVersion":"18.1.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4","@types/jest":"^29.2.4","@types/node":"^18.11.18","expect-type":"^0.15.0","@tsconfig/recommended":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-promise_1.2.0_1673337115307_0.7310586344998897","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"o-promise","version":"1.3.0","keywords":["open","promise","util","defer","deferred","fetch","abort","controller"],"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","_id":"o-promise@1.3.0","maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"homepage":"https://github.com/RubaXa/open-promise","bugs":{"url":"https://github.com/RubaXa/open-promise/issues"},"dist":{"shasum":"0ed7e2ec650f413e5071d242b857f611ab8d66dc","tarball":"https://registry.npmjs.org/o-promise/-/o-promise-1.3.0.tgz","fileCount":6,"integrity":"sha512-zqXhh3qpvvJVml21bvHzxGV3RG9XNhMHw3wQOwek3cPn9etEjWmIUjSkah9vXCU5K4Jbhu+K2Ya02ZIu6DiIPg==","signatures":[{"sig":"MEQCIDYLXjJ0mVWG/2WuXgkWJ4mccZd9/x077sf9YzrZoYXjAiBIgF/TJd8LeZsadq2zG+m3f3pS2zwP1LSUVZGoZexyhQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5485},"main":"./index.js","types":"./index.d.ts","gitHead":"23fad8d2216ac6787804c0dbecde2b6bd17bfd6a","scripts":{"test":"jest --coverage","release":"npm test && npm_config_registry=https://registry.npmjs.com npm publish","prepublishOnly":"tsc"},"_npmUser":{"name":"rubaxa","email":"ibnRubaXa@gmail.com"},"repository":{"url":"git+ssh://git@github.com/RubaXa/open-promise.git","type":"git"},"_npmVersion":"9.8.1","description":"Open Promise 👐 — Micro tool for creating Promise likes Deferred (with AbortController support).","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.3.1","ts-jest":"^29.0.3","ts-node":"^10.9.1","typescript":"^4.9.4","@types/jest":"^29.2.4","@types/node":"^18.11.18","expect-type":"^0.15.0","@tsconfig/recommended":"^1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/o-promise_1.3.0_1711958005869_0.9671100172218077","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"o-promise","version":"1.4.0","description":"Open Promise 👐 — Micro tool for creating Promise likes Deferred (with AbortController support).","repository":{"type":"git","url":"git+ssh://git@github.com/RubaXa/open-promise.git"},"homepage":"https://github.com/RubaXa/open-promise","main":"./index.js","scripts":{"test":"jest --coverage","release":"npm test && npm_config_registry=https://registry.npmjs.com npm publish","prepublishOnly":"tsc"},"keywords":["open","promise","util","defer","deferred","fetch","abort","controller"],"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","devDependencies":{"@tsconfig/recommended":"^1.0.7","@types/jest":"^29.5.13","@types/node":"^22.7.6","expect-type":"^1.1.0","jest":"^29.7.0","ts-jest":"^29.2.5","ts-node":"^10.9.2","typescript":"^5.6.3"},"_id":"o-promise@1.4.0","gitHead":"bf8a9a3cb2c2b454450017cf4fb0095a2db5445c","types":"./index.d.ts","bugs":{"url":"https://github.com/RubaXa/open-promise/issues"},"_nodeVersion":"18.20.4","_npmVersion":"10.7.0","dist":{"integrity":"sha512-5Unb5JHijh/ytmpmF6v66jwVNWPpXynQeZmMXCiebaoFM0PLKrXEtS8QIkIgZMsq+L9PZ7UYF5344sXk0n8Dbw==","shasum":"275e16a272b7c0c1ebc77d1d16925c2920f74bea","tarball":"https://registry.npmjs.org/o-promise/-/o-promise-1.4.0.tgz","fileCount":6,"unpackedSize":7517,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFyiCUljhTxOtJEzC1wgmRUPoZ+cqVLkshxZbYZhBT5tAiBt+a4fE0rEDoXWzZye7cJDesTAC5N5xSrUbCARJ+tFuQ=="}]},"_npmUser":{"name":"rubaxa","email":"ibnRubaXa@gmail.com"},"directories":{},"maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/o-promise_1.4.0_1746631633567_0.24896667957672403"},"_hasShrinkwrap":false}},"time":{"created":"2023-01-09T16:47:16.613Z","modified":"2025-05-07T15:27:14.041Z","1.0.0-next.1":"2023-01-09T16:47:16.770Z","1.0.0-next.2":"2023-01-09T16:50:45.360Z","1.0.0-next.3":"2023-01-09T16:57:16.419Z","1.0.0":"2023-01-09T17:35:07.371Z","1.1.0":"2023-01-09T19:10:06.641Z","1.2.0":"2023-01-10T07:51:55.475Z","1.3.0":"2024-04-01T07:53:25.999Z","1.4.0":"2025-05-07T15:27:13.799Z"},"bugs":{"url":"https://github.com/RubaXa/open-promise/issues"},"author":{"name":"Lebedev Konstantin","email":"ibn@rubaxa.org"},"license":"MIT","homepage":"https://github.com/RubaXa/open-promise","keywords":["open","promise","util","defer","deferred","fetch","abort","controller"],"repository":{"type":"git","url":"git+ssh://git@github.com/RubaXa/open-promise.git"},"description":"Open Promise 👐 — Micro tool for creating Promise likes Deferred (with AbortController support).","maintainers":[{"name":"rubaxa","email":"ibnRubaXa@gmail.com"}],"readme":"Open Promise 👐\n---------------\nMicro tool for creating [OpenPromise](./src/open/promise.ts#L3-L15) likes Deferred (with AbortController support).\n\n```sh\nnpm i --save o-promise\n```\n\n---\n\n### Usage\n\n```js\nimport {createOpenPromise} from 'o-promise';\n\n// 1. Tuple\nconst [promise, resolve, reject] = createOpenPromise<string>();\n\n// 2. or Deferred\nconst {promise, resolve, reject} = createOpenPromise<number>();\n\n// 3. With executer + return\nconst open = createOpenPromise(() => {\n\treturn '...';\n});\n\nopen.state; // pending\nopen.reject('canceled'); // `executer` — won't be called\nopen.state; // rejected\n\n// 4. With executer + promise\nconst open = createOpenPromise(() => {\n\t// for example\n\treturn fetch('...');\n});\n\n// 5. With executer + resolvers + controller\nconst open = createOpenPromise((resolve, reject, controller) => {\n\t// Your Logic\n});\n```\n\n---\n\n### Support AbortController and AbortSignal\n\n#### Dependent `OpenPromise` on `AbortController`\n\n```js\nconst parentController = new AbortController();\nconst open = createOpenPromise<number>(parentController); // <- AbortController\n\nopen.promise.catch(reason => {\n\tconsole.info('OpenPromise canceled by parentController:', reason);\n});\n\nparentController.abort('canceled'); // ℹ️: open.controller === parentController;\n```\n\n---\n\n#### Dependent `OpenPromise` on `AbortSignal`\n\n```js\nconst parentController = new AbortController();\nconst open = createOpenPromise<number>(parentController.signal); // <- AbortSignal\n\nopen.promise.catch(reason => {\n\tconsole.info('OpenPromise canceled by parentSignal:', reason);\n});\n\nparentController.abort('canceled'); // ⚠️: open.controller !== parentController;\n```\n\n---\n\n#### Example: Open \"fetch\"\n\n```js\nimport {createOpenPromise} from 'o-promise';\n\nconst openFetch = createOpenPromise((_, __, controller) => {\n\treturn fetch('...', {signal: controller.signal});\n});\n\n// Reject\nopenFetch.reject('canceled');\n\n// Or `AbortController#abort`\nopenFetch.controller.abort('canceled');\n```\n\n---\n\n### 100% code & types coverage ;]","readmeFilename":"README.md"}