{"versions":{"0.1.0":{"name":"abort-controller-x","version":"0.1.0","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"dan.lytkin@gmail.com"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"abort-controller":"^3.0.0"},"gitHead":"c5b6652bb6a481c06d5ac94768438c4862374d83","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.1.0","_nodeVersion":"14.3.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-CO924b0XY/iegaEGJpdLmcIGYu+c+7UWKw26uQbGV4yXndQNEhVq4Yixnq4uDaFkGqCQUTndulWmExYMNAgtcQ==","shasum":"15caea9849cd9a6c298e3320d26d57c891144714","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.1.0.tgz","fileCount":89,"unpackedSize":146471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfgqMdCRA9TVsSAnZWagAAJ7YP/iuMzvN/WwRrpURWtMuj\nnkeg+JeHFgeBgKeU869IGUpqLsTOxod68EZ+e5QFCTM6JjcKMnifL0Xs+evS\nMBidN83wPZErGnraEZTb6F3C4ZWkjznxcI8S8jdCvzK0AAH4FezQzMLDp5SR\n1cGe4X/9NrTsNSnOfvDLddAMNwUzTYmiXhE4xgKNc8L8tZcz5e+aaUoRa3iz\n9zuVa9WLoeCtcxrn+uO0hUv8CipKon8NADnf7Z00js4fyMKXb3DO/TJ4au7C\nzvjHwa9rEB0ZtK1NAbF8Mpa6Fx32q1qXVE4tPQ/f0Ov+jg/enMjSATMyGFU1\nIvlSl/jgZKtkoBSRGnqCr0W7OGbbYWmCg+xucXeIjOe8DEnAncPgNlY4YT6T\ndop02RcFfs0RVU2zfTovgiVtZ7WcxFtqjMIJl6LPJDhd/00KdogueSwmAvll\ncPj36/F1WraPs1Ys4oy4pWm3RsvC/f5sNGWyfUs372gcbQdhJQI9kCBtwnVF\nJ0aa9vVPMmZjiOYiy6tSMabREdN/2B4b3bccm1M5utzwV2NLiZjKSc9zfoVp\nlUiEVuVyuUjpKFfh2gGP1bhl4opy+o7lei5AUElPH1WxJXzS0zh6rZO3ai37\nPzc8KMDDi3a+zdP/6YNEcE+6dyfhTIve1T+HG92pwATFOFqeZhcoYpdF+MGy\nYNz7\r\n=Sfje\r\n-----END PGP SIGNATURE-----\r\n","size":22775},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.1.0_1602396956450_0.6018037718766724"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:54:56.249Z","contributors":[]},"0.1.1":{"name":"abort-controller-x","version":"0.1.1","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"dan.lytkin@gmail.com"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"abort-controller":"^3.0.0"},"gitHead":"e883f1f8377286b54f5f445d07a82cd2d9c65e07","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.1.1","_nodeVersion":"14.3.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-YLpear6+YLhRj+52V3QfaKnoIpB2BFgWGoSuNAO1oKyFiCn1Harm7VdTBlyXxBXvwdKRzXZBrViB3hMmgrJp9A==","shasum":"de44cdc952522ad67bd46c4d20d0de9b76a1637a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.1.1.tgz","fileCount":95,"unpackedSize":151501,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfllTCCRA9TVsSAnZWagAARuIQAJF/kyuGhdj3qNntHwRF\nTo1zsly6EXZoZkR4SRQ3aRp57HqpXEoGpf0Si6z2x1gZhSiaw1AWT6GUe1jX\nP8bTn6Beau2HiIaF4JYlcmifiaDEkHCRoJJx4ztC+EakMn8xP6U/Hm3VROua\n1mqJYClgwborc348wNndx/3QQ7IgfY8z1qGj0ayrgPTcbzpgUJAc8nV0QLxa\nIy/9M5v7FidOudJ3r/tFZTGNyA4Dz9CKbCLYOYnB56f/leqUmwx2HreaxgcA\nuMKgr85v3ULfLcFKtf4ybToDDI3jkPVIecSg/Y7QHOFQUfocsEzjmvBGf8ad\n375FB34WMgZsAQnVdZLGQEZB4TDXkMVVPU7iH+e50NvWtJf071WJIOW8pxlF\ncjTjvAOrUpVXs64LGZBTxGUfT/lvCyN0hR+DUyuxlTyydNOackyU/KsdD1i7\nk90qFiYhboezTVTBaZVVpuULdejDkOyeU6ZYxpaZ4CNmrMA7eD2FVbnaymAn\nswUocHBryPgiNyKAOFU8gUxccU3ckN7GOqZQ7ow6uf/zOGby5EgyxvFoGEgd\nmKiDpVzG1x5BUpAEf0Gf4A9YfeaZk6Itj9DGiVLdKQotrFLsGvagOs8EvuG9\n0J3EBZx2JvoDxLw1JenmsGX8QBzsHaZRCBZzLqngr54bUSbv2dUHzdsXR0US\nDX4R\r\n=sPRl\r\n-----END PGP SIGNATURE-----\r\n","size":23559},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.1.1_1603687617823_0.8146765446776447"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:54:57.536Z","contributors":[]},"0.1.2":{"name":"abort-controller-x","version":"0.1.2","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"dan.lytkin@gmail.com"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"abort-controller":"^3.0.0"},"gitHead":"2022ab5b10701f62c98abac2fe26ef54eb2150a1","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.1.2","_nodeVersion":"14.3.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-fMKdiWt3jdjAC0FF0Y+DBnDQxdnIEMTKFmwFhGu5rgVjHbjOJBUM1gNoz/CAMZeCRDZEZuCbzWluC0pCm6Tnsg==","shasum":"5b519d3616be98c95ff52d768b86b06242f12f07","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.1.2.tgz","fileCount":95,"unpackedSize":152257,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmPNVCRA9TVsSAnZWagAAWskP/02Wx1AswdwKcWztBeUZ\nlLtbwg6zub9Z54NaWvW4gHMKqkHfK05eLeR/pYa/2BsXj6v4LUwPJoAtD78Z\n0u9wy8mhZ3U6UgpG2r3uLIJs8IT6gTC+Hb8QZAVD3liHyBv6pc8oZ1yA9aAV\na9+mGqhHzMazbbJDQpPbzrb8T6VgAHes/a7w2f2yZbCfW8346daJf+Crp2++\noXwCbAYiI8od9GRvHrBMv2ERTKQV/U6CVXkXH0wjTZEbwZMFDdbGoTDtnNnX\nkmO8bK76/rV6VXIZfkkwxXmVSYsQ09wVaUcpR9YswFvF5qyb8S1HxQjmjIgJ\nYj2+1hgc9R/uRitOYz9/UoHv/NO8aMX26t11zkQf8x/wZ9a1PN67Ldx9L57u\ntcSXdxpDLq4zuG9aPCAp78teri06X7+l6f+6qrMy/K760mkZHkUAp667Met1\nCJk1PRO0MicAmjnPdimY7K3+X/effnMZbZdJn2nlDZwEBgAFu858Km2cY2BV\n+pK14BLwVVmSp/zUeyv4zN64l5EMFix+qnKCRixfsmHedngYKncUt6VkjAFB\n06jaRxlg6TfkfaTHEUDlaO1mc/bGDZYRXgdyvw9uE3nEayjjsLrj4n7Ua1Tb\nMU1FOxZWDPWqIMHN/BukaVQCVU5eRrNcT8ZRh2UK0sodR4XbReNvXS96Lzus\nPRu6\r\n=CXLI\r\n-----END PGP SIGNATURE-----\r\n","size":23699},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.1.2_1603859284781_0.38214510548328295"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:54:58.834Z","contributors":[]},"0.1.3":{"name":"abort-controller-x","version":"0.1.3","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"dan.lytkin@gmail.com"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"abort-controller":"^3.0.0"},"gitHead":"a2c0754dbfac3b7ca2d2b54a7f2303d9bd768fd1","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.1.3","_nodeVersion":"14.3.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-Rv1t65S8e6DGqZbclUXv9syB7Ulv8f3VMVma7ysTQSh5H0bP9onzy+Nw8QIqdco+VrC7lxEc/SVUOWsZjVWXRQ==","shasum":"e9497583262c6a81f6e35a52073fa898346381bd","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.1.3.tgz","fileCount":95,"unpackedSize":153320,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfoiw+CRA9TVsSAnZWagAAX5cP/inKhIig6ya8e9FXHvFg\nK8BkhjcwCGSNk9RDcFT8+yq1EGMlVpl34AjjKmi/j8li/lqUY/UTxmahxm4z\n+NcBBp8yuhNdQJxbMCN3WqgP4Va5ob0SnsB4M3u4EnQGWVDDEg7cT00OQd4E\nOx7LR/CMwFNeZ8aslyrUhWdwBKXjEalePKjgUY4/WL2fZW3Z7VLunUjE79GL\nHE2gsblFHM0xOVy2tHdpJHe3jHrRsVmTdxcrxIXHtMXeTTp+zymgQQShKnJE\nDjArwQS/orA21UkvjJJ3/uFOM4mPzT4XxgxrT8DZ4ZAtWEmku/fHcQ6W2FQv\nsRv71cPjfIg4lEpNt4bCuP+idqOtFQt2gnSWDlBn0+qDsfegwXc2zbiWqPkD\nKwJ59+v+r+mjs51fjxIfgstj4bdXD5nxL1nIN3EVyx4z648xUk9hIc1XqWHp\ncEXP/+WNVFAC4MJkX3CqgGwZDlhg8f0vuyyUtD9xeeDAgbTb0HyyL05XzUHd\n/B3gHKreDzIEpVY8/aMdwTILRtr3b0MYszc0B3RENKvovGqT0YiZB2i7RMd8\nVXwHasvJjJhqfgdONLw57YPxMcXfzQ+IHyfdRFN1I/smgV+UrqmvNlTIBeuE\nmhGQ91bUcsy42o1wSTmrLBtYhQR6EOcBULhJtv8zAgybpeGoXMp94s3k2NVG\nR+UR\r\n=zMt8\r\n-----END PGP SIGNATURE-----\r\n","size":23806},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.1.3_1604463678150_0.3389940483778253"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:54:59.926Z","contributors":[]},"0.2.0":{"name":"abort-controller-x","version":"0.2.0","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"dan.lytkin@gmail.com"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"node-abort-controller":"^1.1.0"},"gitHead":"088ee868ed1ac9718c5f9f98bd90431d633e3b72","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.2.0","_nodeVersion":"14.3.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-eDPMKYtheP+5NjD1TMDOLuQ2jyYWEWLnhYeBKYw4Q+/mQ7e4xwM5pXWTuFer1Axpuk1PoSOojKqsFmUhl1iG+A==","shasum":"462ea0871643a766d0dea1ed329f1fcdda466663","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.2.0.tgz","fileCount":95,"unpackedSize":152016,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2G4ACRA9TVsSAnZWagAANbEP/AmLnQkahNSprW9jt5At\nyKtOVtjcrmgv1yXPGzUjIYg8mwPmGYNTwoEKpTi3O0e2ipWpqF2j9avrh5/X\njTJ3V9djR63Pr+DPrciPIqayES+cWl7Tm8CIs7ubhoVSGOtqY2L87duRlX9+\nw9d+BHCjh2mchT1p3jLzhkxoup71Ijfn5CeAcZKGqZky5Rder/l2SnKKq9ML\nAV/PiMQH++FrUZ7cv/dMiWMIfiT8CeogVPdOylFEJssLKT77Td0smiu8CFgw\nEjAByPOcDprISgCIvQQ8V3aEpJQoybEoHaWeZHUSar98SOGHDwUV8Nvi26g/\nJ0q5G03BDWjdHNfHmkYY3CMtXAs+IyZJQ/bjWnV6ASvSMowqSE5C9sXdLnJY\nky42DQuzS3csFJ8ZyLRGFKK0gIJ0jAbvFKQQZ6GHO6XjGl5PejyHotpfmew5\nIiV5iaspvRZ72zHbTrFHgfwnyaMN9fAxgF3aY60CFhgzmly/8KmZ1BJ2kCJK\n3hCwKC5yq1cH/qOvFUYW/xeuv2Om/GsFYh+75Rgw2Cfim2Lz9Q+LEgrxvXrp\nMjaz76bvR8iFllsujFD4D0HQyAZfVC2Pd4iiL6swFTmG4FYZxNmh9TrSS5pe\nLa0mYNxlttXh5hkVK8dc0O6YAqRTaZxMT7eMvqVXdmJwwL4B8wgvCBzrsmCA\ndt9Q\r\n=u53Q\r\n-----END PGP SIGNATURE-----\r\n","size":23791},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.2.0_1608019456051_0.1459792838157885"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:55:00.922Z","contributors":[]},"0.2.1":{"name":"abort-controller-x","version":"0.2.1","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"dan.lytkin@gmail.com"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"node-abort-controller":"^1.1.0"},"gitHead":"0a998d1733e3925f0e6bc0a08eb7bb4eaf271184","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.2.1","_nodeVersion":"15.8.0","_npmVersion":"7.5.0","dist":{"integrity":"sha512-FeQih82c7W5V07H4DfJtxrsEJ22/KLjTRx7GU+EPGFt4LGJTfeWBZzsAYNR45MErGO1GG7sEvlXDFpxY5YfaMg==","shasum":"ea619f03d7625813ab8b8b8e07912712a8d3bc43","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.2.1.tgz","fileCount":95,"unpackedSize":151949,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJQKsCRA9TVsSAnZWagAAQc4P/2S5u38yCekP966gL/ON\nI8Wr8rZBuX/BSI27HN2CTjEenLSecXTOLCGbGBxvSqHKaSM1gqwGqjxy1Hi3\niwAGv+oNl0xksygfScEkcGgJ7qIw8sMG4u3TBPnoCN++E8mi8p/EbSY7kPXf\n0ps2K2/OffekgFE4H0AHVbUdK4Uz4wSDOg9KiifjkQ0QzX1rIUJ9m5OsSRwc\nR9Bro1KXAyssjgnkB2aGQVYKieDrnGNJ2sJu2fqaTd8Y0NiRXgjo0Ts5zKP9\nJ4bAwPHrCnQZ6+aA+pElnqE8yBKDKGKIx0MTbho77JuKnNoC+T4nU8Wrja2M\naaJmCkj6htuvd9eMOCGZIq8R9N4+gDrj6jx98x0vic5Qw3WF9DSVFxRS5AR4\nYL/Zijz4x/bJ+BIv9G3fyEtafFddD8VcNDoj9V855XCBdNAUz3jrBt6610KA\nKUIN9kR3fnufVUB1k1/Mkqv1k1/1777fFomlO1qtaOzMdMI37vLNcJcb0Lc2\n71xSmp8g7B2GkWoxTEMMtIyxTgNMZL5woiVnZQb69QKp5m/PWGyoi1YDdEOX\n66SiWDTx49dnFJx9yqBehghvDQs6rPjAj8Mkj6EDaRb1HKZhLpzAjxico2ER\nyEI3E+5+Z9l0k+muoPQtKEgLL0n4q8rpkSBwmZVlWgIJBE4z9Y8FWZ5spa8V\nqu12\r\n=+EJ/\r\n-----END PGP SIGNATURE-----\r\n","size":23779},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.2.1_1613038251900_0.8134585638102012"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:55:02.030Z","contributors":[]},"0.2.2":{"name":"abort-controller-x","version":"0.2.2","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"node-abort-controller":"^1.1.0"},"gitHead":"9f833af2f54af5ded780f76d7c59ec9e83de49aa","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.2.2","_nodeVersion":"15.8.0","_npmVersion":"7.5.0","dist":{"integrity":"sha512-KipapTce/zqGjYwTPz7dHRIoQDzdFsW8z85mR536eVEVsrFgJlsThyjYa3ZXRZtYLZ6CtNw3d7NNyY9/d4t9fA==","shasum":"69388500b63c3c738c5c21628e1bacee3129a43a","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.2.2.tgz","fileCount":95,"unpackedSize":151941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgKMDVCRA9TVsSAnZWagAAuLYP/jhUSrsHI0skO4AT9KAe\n+7z3VRd5/X5pMx28ky4PMcdmtSpbFpHZbyy/z0loG/a7njAk/hUXXiPxWG6h\nsEYH+03GS+FiyFNt4qeJy3KNTUKKH1aY8+F4IinZ8SfXXYvZN+XBtHdy5ASZ\nl9VSPmGKRFwu6Q8sDFw7qX6VokBhWT4cF57Id8HOANAmS6nRzfsetv9qMlJI\nC2j/nLan1+ybT/Z6uKxE3aZCMBcl9Bwom1l4XoOcyKnRvB39XCDl0f3PZqT/\nQkvR0Qy07BiV+Bs5XY2EMnk0N2uFRam4WXaURT/beLk8PoBfsCl3QpyEqKhS\nL1z2gqInQ1FupAvBzttHeIVcOQaNuOWK0gReUNMfYn0/JoL57E5bMNhz6lwx\ngKqO+e3MtEFAKKUK6JbJvtXRYAVhtsQsUVbVgAUT+W+39hbm+gl3voWeLqvy\nMqOMTTw0cUqfxthcDmg2z9r572uO8VJixG5JUQLEV32SUm2KPzL7oZpM2mQo\nJfKc09RwzgyWdV0xsgeoWAPkj8Gra9lZwNuXgQvKHoIejJU6/PEoClj10Lvk\ntpMn5sjxgjPB2DrLmjIXTkCqvnzNSqCQz7gnc4p4sEYqNj+F2/Q8VQvXJTKK\nD+mCx+kVdZw3Z6hiibqQkkxoVTv2ZtYAUNVCw6knM8beue9pBqcHh90ggypd\n0UlI\r\n=f648\r\n-----END PGP SIGNATURE-----\r\n","size":23766},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.2.2_1613283541527_0.4882868052470084"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:55:03.133Z","contributors":[]},"0.2.3":{"name":"abort-controller-x","version":"0.2.3","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"node-abort-controller":"^1.2.1"},"gitHead":"7bf7e2f735860b2cf6c70173591e23b5d0330fe4","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.2.3","_nodeVersion":"15.8.0","_npmVersion":"7.5.0","dist":{"integrity":"sha512-B2zHDueYmj6Cz1MX8tbRxJeNkeJEz5/bCFaD6/dAD5CN3bD0iDGiofwq2PjORFwSP4kBumjdDvHg7vOVw2j8Kg==","shasum":"1a5886a94f98f2fa0711c1fa826393ecbb4eea50","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.2.3.tgz","fileCount":95,"unpackedSize":172439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgb8+qCRA9TVsSAnZWagAAJVoQAIZfXKfYSp9OCTeC2sEW\ncPhPzvDG6rjugIur5hxkBR4iEHyDIVv7J+HGgouUdyekLXtYY8AEaQszGLps\n4M9AV7ICvYAmIBmjZr72l1zw9quh1ruSokEpVUJ6v8dKByFEDPbvroCtCg87\nt5VSSjr1See4FK0wAkDYslphRPQrt7xVLXOtHNCyXRuEN2J2grvT42jvBdFi\nWEAN9PC/EUo5wOa6zZWN9ZJ+wIRbB9YpgFAto7n9VMUmK6j+kOuXfNNlzOix\nscZk44x0t/eM5v2Nis/Bv0f0PAwGBTW5BaYiJxJf01dOiNqVrJKggqOs8+Gd\nRU1rbHmUT52uc7SmuBoZvUrWsR0YvILTTeDIMFnaaFdepCandr/qx2z9exNc\nQ6ie7TCGKpLmthqFGk7ZeVQjktKS+NMakhmZE2m3inzaw4hwvp0jldKGimiS\nEp7AIeF0M/IRid5t+wbk+ValDIL4xnjBLyFWdiRwbOawEAhknjehMfZYrz/T\npd+EGAOMXUUZTy4+Z/+cwPmTvhiDCuMcJhz4winrkPGS47L2hXyx4GF6MvrG\nnb8we7MOMeOfQmqNHHgApfuQPKiQmPMgA0khPgx0TUH3BDkLcXP9hGcRjruP\n0s9ZfivDpDTIe+8UDJRyQMhpVN0aENnAsfbgl1n44djFTzcI6Ra2LFX1Me8A\nzcd2\r\n=44Zo\r\n-----END PGP SIGNATURE-----\r\n","size":26369},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.2.3_1617940394040_0.369150661867081"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:55:04.213Z","contributors":[]},"0.2.4":{"name":"abort-controller-x","version":"0.2.4","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"node-abort-controller":"^1.2.1"},"gitHead":"97b6158281d8c6893add4fb19214275654462419","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.2.4","_nodeVersion":"15.8.0","_npmVersion":"7.5.0","dist":{"integrity":"sha512-Hv1QoLAsSBx15omKbuH+sTVTwJX9Z5iYeXb6OFTcrKH6n0SsBHxHsns1KVFyKFz97dW/SsbyI+M/O/un6zzjPA==","shasum":"9ac58a24685825a6fd0ccbee8ef14b0e46b8d66b","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.2.4.tgz","fileCount":96,"unpackedSize":174969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdWjuCRA9TVsSAnZWagAAIcUP/jQRCkhfG/8bctwEqNdN\nq4lGcnQbTT6nYdJ9pDcNP23zRcmjilvOUAgO4K5UOoo5CPtdOknKX8u4KcD0\nYgacqDFw+Kpae7dRg2Jsy5GCW8havZhOXO8THcMjcDSvqzDo2Ddfw33dizEF\n9d9Qp0Os9Ez8U1zIxAhOYdvPC74WNVH600NKIljXGz8iFWjPEC2HcYENOIgY\n98C6KLTNU9pZ2AFTzlFeDfJ7FzW1995hn0eYcnMOFpeqSSsNR5YLPcGE6onz\ndpxzv7URkWnGVkhCVnHk6s5CWjIdEZARY+fjOMk0g5ZhO16OzAICrCcFwcxt\nTvirSzWwbZ1MCGrcPIHilCtFylJGNbMnRDUEOHWPJlw1NxrkhuKs63uZJX/y\n2nj01/IehcyRCx8PW6HovRr+74+PC+n5OsTQJ2L8kOafNNn1no9S94hTNyAG\nvCrMdRYsT20NvdpHx5cAobycrv1adAscQ1mU9IRa64gcp5zORtUj9/88YA/Y\nYFAn/TCLU3jTgk9XSXJJzaNYwnAmh1EzSxaSJtPaQgTg3brslt63kdOds/mx\nQ9mI9CYGDt9SUilS+QVteY5WUePKLgCCUMHjHPL0Xze/jHRw9AzOyCikGvLY\nlh2GUV3V5jsL394/JRUM0AqRHNlocfE5zz+AyNpJpWcOqvCGkBm+InPSc6E1\ndc0J\r\n=jzUu\r\n-----END PGP SIGNATURE-----\r\n","size":26602},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.2.4_1618307309961_0.7269823434908684"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:55:05.332Z","contributors":[]},"0.2.5":{"name":"abort-controller-x","version":"0.2.5","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"node-abort-controller":"^1.2.1"},"gitHead":"84776886105457c536a9cd6b604c2f9bf9a4b253","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.2.5","_nodeVersion":"15.8.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-0j5i16qrnUOC1mJIi5VA+pUhkJUgGLbyqaVB+RpaHeYl0xBAi19smJWmGIG5cAl8CDLVVOuc8zuCKZkhbn8m9w==","shasum":"e6eccfc461021cec3bb325eed57f871f90373e27","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.2.5.tgz","fileCount":96,"unpackedSize":175840,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglRVYCRA9TVsSAnZWagAAAaIP/RiAOjyFrMn/CCbdXYVq\nW9l4m6WOfqeXnpt4h+SlXTOQRiVoHRbwYJY7nU2APCEBVCbbC9sWA6m5syKu\nJoosDn4Sr6T4iE7ZqhLAlVd+a2mfE+yyMzHKct/5iX3MPDd8Wt5RQ8NCRkm9\nW/UX/9FzsGMQ8ibJgjxFuNi5VjJMba0A2wsvsw21zLCdphm5Ytl5oWtjKiC3\nTRXpE3lBuaNyxk2WpWQUBc7k3fyfOOzmopRGwbJlwPSodtHvwy7PP9sQwt5A\nM1hhtGxDX5DjiYAp05eObxyY4Jqk89EUQNMUt2Qwib0oBS46gPZrgJMaF38V\nl49fZk8PAx1rveRsHzThpcMcr5HVsk2dDyNBUFy69KYuV81s4Bq6oOKRYtfa\nq9z0HqbA/Ipv610w7NzMRA5yKUGPFL24yXL/x3g0W7wLgQo7XIc22odwnkAO\n77T3EKq2Y6upOkKwSyvamX6w0+NYHDcOXDCquSPwXqq3NriBd79ygVqGf/Nw\nufUSX0nLT9/fRibd+hNgtdotPNfnnfHUKgFVHjwWxntdyIwb7Zl1qrPhzCx7\nts5UgqXzPxmhruNteFUlsTLs8lyjMYQ6iGqjhNpEVRVHb6c/v1U96Q3hTud4\nPw9HTZxkJbsIocRxNpgQtN6WOEAiJZ3VwAlSLD+eh7B+SBBnKkS1aVlEXVMB\n92HA\r\n=VYuV\r\n-----END PGP SIGNATURE-----\r\n","size":26226},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.2.5_1620383064107_0.986224851023968"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:55:06.419Z","contributors":[]},"0.2.6":{"name":"abort-controller-x","version":"0.2.6","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"node-abort-controller":"^1.2.1 || ^2.0.0"},"gitHead":"1c9c0d3537942521a9a47c2ff8d517e06acd2c4d","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.2.6","_nodeVersion":"15.8.0","_npmVersion":"7.11.2","dist":{"integrity":"sha512-U8MmmcfIzl7qnzoog1woxKX/eYkQin3WR7k/S2dtpGLlSlsndXnvOYQEq8y1VnHC3+ofNFAT0GRgHq1lBbXlDQ==","shasum":"708d5fc50a9bccfdf04ec70e562c925cc6f5b4ad","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.2.6.tgz","fileCount":96,"unpackedSize":175850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgq2nCCRA9TVsSAnZWagAA1mEQAJFE6ZsH9J5K+4bv3agF\n3XpcG3A6aY3VoT4sKAj7P7Vq14YYBMdlBg917VW1DfrYXsqhsEnewKcdecba\nfpwBoSscQGyOjj4TEHpwjO7yFnMXMNetwJB91cyFNS70dlbFjtkK69hGwTOk\nUaKQPAlDu0KX5MWC1QtulZKxM2kH7lz5LJG3W71mAByG/WRcQtFvhGosky2c\nyaa4CElE46pqY0IXJGWB1m3VYysA5LCJqkG96SPt30sWoRWcBuR6pRnPB99D\ngCXpJOoTcD2IZPN4Dlkqt3Yl3Vy+0NVD6c13Oby00mUzVM08hJpQS31iayoQ\nz5jCNCp6Uja0qH/+Xd13sil5HBjXOQdHlSXwqkeMJVVklRlFvFDA8wiqjDAL\no06Uy5RxzAXfmELOIvXUDgrvxbAG/tPWakYQRy4XLTTencZosNKC+sP2UtKP\nGCmJI7xFIlh1IweBqhpm4t13cl1uy+/ioDbTNbsKCOVmWUOGY3SfabA5J/xj\nVKchP5ESb6OMGewRB7hvBaZQ1NnnWMopYNW33RtjAvWACxhHmi/Uf8Liks5P\noN794qpYs6TYnUNtqMqnKzTEW9fLQkQlT7bLuTzv2qG8AaPs1//c6Hx1yrAb\nGgroONIMnJR91TEO6UgzIOdUW44xiUEWwppuUhMGX9pc3DZbAtwsxjn89bjx\ntzYu\r\n=2TDG\r\n-----END PGP SIGNATURE-----\r\n","size":26232},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.2.6_1621846465522_0.4586731954569503"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-26T22:55:07.500Z","contributors":[]},"0.2.7":{"name":"abort-controller-x","version":"0.2.7","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^26.0.14","defer-promise":"^2.0.1","jest":"^26.5.0","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^26.4.1","typescript":"^4.0.3"},"dependencies":{"node-abort-controller":"^1.2.1 || ^2.0.0"},"gitHead":"b1a4ea2e2783a7f24aea420e3cb9b627f7381725","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.2.7","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-hq/lt8yODKrwuZa69GhSTl2l2kcrus2khZ7OjD6Bmqmx6tbW6dnV8cVGnkkdLCWnjXpgSx8zjQo+HUc9mvoQ/w==","shasum":"6fa9be5b278b9c533d4d078d0ba660d40683907e","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.2.7.tgz","fileCount":96,"unpackedSize":178295,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIENHEjFEUgPXeqigQZ91w9t2EI+6hsZR0XIfMcZ0dLYlAiEApPgatC6TkZcy+RgsloT2BpTsyOa1B2+W+xzJg/NIYdg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiy/K3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoqTw//ZIPo3XNVlXfwVZgEeuXgSN8dTzSpMKZrkqzoQ6g3gu862kRw\r\nUXJhbR155OTEY2iCMUdCKIGR236vuz6HtKBEXJ5CyrITwjPmCyi/lwiAlzQv\r\nK/I5qC8AeruTg8lRkFSQPzO/hzSWx1vl5Vy/6RUSRmnTaXT5nLKVPSzky69P\r\nhM1EH6BL1t6EQFa7YTtuR1vUi7XUok0koJav8HdNAt8gqENxP/mhUUllCvQr\r\ngkThnzHguc/z2NMC8VaTj5/3tKOXtCb0VuVju3hOqzJFjehtIl3Cngwckjd8\r\nC79XWQKQ/9Q+dtU9Z4qGf8wqerybUf91mcJHnbDs/ghmyVn/8Rs08tlEPT6i\r\nApaVyUoyltm3UgLISjGq61cgDarWlGw9ilDYkwbSBxg0yGXNkraeWkrnYxf8\r\ncQEzD/9i7cTDYFU6BcQ7WhnhkoLbOiAJgZTRg+M+nag0t7O+8nnDzSmBOSpM\r\nMsj1MKhS0+NEEJ4RilerGSMqqiBYuOPGdC0qjTWD/4LsPBid7SvoDhuBceQI\r\nymv2y9sRxpjI//SlDFxBTsFG8OlMHQ+e/ThLEABG/Eb47yR76cMJZZkKoq7M\r\nGVD2fDGOWwfZEYpnAnz83oq8nuJow50UNPpLANrovcFU2z8NH64waC6ULnXh\r\nkZ7S4wzXxc6bcNZ+z0pY2aXvAMJvMTSPbN0=\r\n=39i6\r\n-----END PGP SIGNATURE-----\r\n","size":26610},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.2.7_1657533111604_0.7312480415878291"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-11T10:20:07.095Z","contributors":[]},"0.3.0":{"name":"abort-controller-x","version":"0.3.0","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"type":"module","exports":"./lib/index.js","typings":"./lib/index.d.ts","scripts":{"clean":"rimraf lib","test":"jest","build":"tsc -P tsconfig.build.json","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^28.1.6","@types/node":"^14.17.0","defer-promise":"^2.0.1","jest":"^28.1.3","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^28.0.7","typescript":"^4.7.4"},"gitHead":"ae24426cab2cc597797c441f46811c518043e9f1","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.3.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-XBxLdp1gOdnwPE48J/VUAb7Ldk8UuzksHXf/G9TAEZ101L87vxFiYdgWH3iUKt2En1qx1JFfBCe3NAO+XMK/iw==","shasum":"f11f7523c15b84b7669b8871714182535ec35c9d","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.3.0.tgz","fileCount":63,"unpackedSize":123871,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA7WTDo+9MW4k+WtrFcjAZJjdpCdP1smRYmzsAseH7GMAiAQ/cUobAJq2NZXhXXu4lv7wrTyCLUprJu1o5SPtZWgrQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi2hQtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwVQ/9Ft/GrE31L2OaEVnLBnHEaD1nLv9ZEXkffTtH1It5WmO2jnrY\r\nT1KMZM/g9FAIQMzMQ/TTTfzY0mI8vMi0smgsUskoybXhY6g2LlMOcHsFjVzy\r\nV83mKxES4GFo4VDF5T2mOs88/TAQz4yUpaJkmXCX0gQtS9kOOsvCBMsAsp4e\r\nlTGvXxJ/AV96GEV7NkOYnZ0rvouMZN6v6RDvwfSerze2VnTLr9q9iz/ztdSI\r\n5SvkJC+ujTp/DIq+dqAIhjWWqqAW5tEc6RY08CVp8bvxc47on7TA4RkbgRnN\r\nEcjwiFJMepNV11wIyGH5OnwihXQ0G5fYz3iS4nZz5aqcd8ZQRExLxHkcmOh+\r\nsk1QMiVU+N01pAvpMby+PzYip2arhzF0q2f58BsuFgyyLlzQNlGKR+GUjM1G\r\naNnhRmrWgLZ0csSug3YRaOTsZHJppTmtNNeCaXrWl+EVSd/mMgoQWf+PkwRJ\r\no3WVv84uy408NB635Zr1L4iM3HhinbK/Qrg7AuH70zTO18cRyNWRWgm4/0d9\r\nEtvS2UHSNVa933gMyU0qWWpBy3uj6bIbq4JwsXTFEpMilv5OV6Zy7v0r5KXm\r\nrOkRWpRGqbvhiWWwUQ6v2ZcQPMkmt9mU6sRIC7IOp5d83PhW/OUQ8k8b3dUN\r\nEhYYkJplKO3FnBqlxXR5VOZCaCo/nGUJtaY=\r\n=SXKZ\r\n-----END PGP SIGNATURE-----\r\n","size":23637},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.3.0_1658459181422_0.5887500926982094"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-22T03:11:10.707Z","contributors":[]},"0.4.0":{"name":"abort-controller-x","version":"0.4.0","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^28.1.6","@types/node":"^14.17.0","defer-promise":"^2.0.1","jest":"^28.1.3","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^28.0.7","typescript":"^4.7.4"},"gitHead":"10f21c928fc91e685bb7736c9f53c426d233dbdf","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.4.0","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-cuNbw3c/SvEOkWkgxoWOOS3QzcTCC6YXCFH6oTZ/jvjZPBhkjaoUyCLwdAViRRhYmluJPD7vGaTLkHCp67xQVQ==","shasum":"fde25da52548c7ff3d8b3b32dffc943452874d5f","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.4.0.tgz","fileCount":96,"unpackedSize":175593,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCrADFSRGl9UYn6m7PjcsAX8Q7fsDKP1WiwN51O/TyQFgIhAIFEgZMEPLSm2hTQ9/d7bmvXFp/lE3OWWEYUJ3Tbg1qU"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi86M4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpc9g//RZFQVW39/ntqvUEyJ1R3NBXCQEiDmOp28e7TzvNVgqe1vI4b\r\n6oNgZGpttWS9/U0T1lr8hl/HVrHmbzKsfZV3haj8UlSLDbKjWB6WywTX3uSI\r\nU8k5zY4AFvEz0gmIR36g1KoWcpCYIpkRUkzYVUDjRSX1zpgBeaLGcs4+017U\r\nnw+ZCVSJaKNA3MU25R2RtLmRzITl+sM3O+Z4vXhKXfeKRaGDRE9s+yVp5t7q\r\n22FUvYB0QFJ1tiuMrncZg5ofwqckMUOb/j7I2htA5/lxHUEhFpbjdhsy6TjW\r\nmyTtJ8657Vvd7VgMYa2/t9jA0rmnS9kZUfNe8AlW8IVq+QXavdwCIlpbACH0\r\nMaDxdgMmxsVXyQHfUO6YE5yAK/7Tbxg/11e5wTAyvubNZROJqY3B4PhTvr5r\r\nuxlKe9purA9xeL4oj0/1M8+7M2W60oagf/4CunJwiyLSq0waVZhPWiExPWf8\r\nA7VhXVVsnCQ+KHw65KDmZsTD0451KVss11GE5XRyjyiAlOzHIKN/5uEDR8sO\r\n5JIPpmgS/YmDc7aP5EHwfTUb1xGFtgB+03ZCu9Sydhbh9Li1izjy7gd5ty9G\r\nzvz9a9lLa+YvE4+9phqFXROS8m9xR1Z//BV6F6AGqL34OLro/zSwRqw6jt+C\r\nvenYyW1jcJACZi07pOmz6qUQ1yBrgtPfs84=\r\n=3ahU\r\n-----END PGP SIGNATURE-----\r\n","size":26594},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.4.0_1660134200485_0.6224017249956233"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-08-10T12:25:17.846Z","contributors":[]},"0.4.1":{"name":"abort-controller-x","version":"0.4.1","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^28.1.6","@types/node":"^14.17.0","defer-promise":"^2.0.1","jest":"^28.1.3","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^28.0.7","typescript":"^4.7.4"},"gitHead":"bf9aa2abd0976ed9a61a2aae61297dda2faa8882","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.4.1","_nodeVersion":"16.14.2","_npmVersion":"8.5.0","dist":{"integrity":"sha512-lJ2ssrl3FoTK3cX/g15lRCkXFWKiwRTRtBjfwounO2EM/Q65rI/MEZsfsch1juWU2pH2aLSaq0HGowlDP/imrw==","shasum":"b2eefab8503897e0bbdf3dd7a4d33e05ea1ffce9","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.4.1.tgz","fileCount":96,"unpackedSize":175797,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC1qU3ygmWKvzdaz645U/cxHaUx3XgukKxcIpQECvT/kwIhAPIlVY593SEVHZWNvsC3Tm8pA2mOcnktd3/Wa361BSfd"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNnW+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5fxAAoXwmeOtyiJyYcDB8jaxp20A87pBHWqqo1MR34ZDrtPGG/OiH\r\n1QXX7fLogfgVE+Opg0Ddx1S8YkR7VtmoyHiG9YTIXy9IUrg1b9I0cgIluIkL\r\nXLHPAJ9qWPOlIbkBm/TA4l6M3h/li2caf3TJcUdOWBMRNRF4V/fu91gRSEfp\r\n9SYEQR+fA8FW//8kcPzbEncQscyYeibzphiWiF/Rl6W9DiNoUuVn3miQfjvv\r\nls7miPGE9BBjtY5c8yNA1z3lZo3yB/Xd/A9S8Ya1RzxMl4sLJNK5ed4QDMKq\r\nFjRQI91QnArb68t8A2k1lE4RZUVP1I38w4WldG9oZbetRtosIIoF0O2aEowV\r\nYvR2PgfFEWU+6+yP42usd3I8PPmUDV7iR4Y7dJbP6em9zKx3h+DaxPqrBBf0\r\ndBoKffzoypAuZiIJSxp6sr1Cw2H6xPv+ySW8f7CYI3u6V0zHeJY4vINR0Pl4\r\n2ArpNQ1HMWTQBd5jBqMW1SItA0nmLUVhdETFf0y/IulAY61NjR+u0LiH+M8r\r\n3sX7iaMnxCwcZgWs6QpL6azyQp8QQGshY1I81YLexxtRXOUZw4E1LxNj6W3H\r\nwfPsP2ua8NXJxtIKpOK4hqbOrpMCQiL0q6wgTr+y6JIdbpmvycaC6QH4iiIa\r\nJptcICAwS0VfNWmyqSypXs1keINm/kWMngw=\r\n=mzW3\r\n-----END PGP SIGNATURE-----\r\n","size":26684},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.4.1_1664513470537_0.42028453923583586"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-09-30T04:55:02.976Z","contributors":[]},"0.4.2":{"name":"abort-controller-x","version":"0.4.2","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^28.1.6","@types/node":"^14.17.0","defer-promise":"^2.0.1","jest":"^28.1.3","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^28.0.7","typescript":"^4.7.4"},"gitHead":"c4c5e6e9556b5ade07255bd77a81c892d3412664","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.4.2","_nodeVersion":"18.15.0","_npmVersion":"9.5.0","dist":{"integrity":"sha512-5bgqvgogTIxTkQpkgDoFZHt2YS8uireyOkC4snQG2kaEKs7DI7Tgsu5xysjp9MxG+6OLICBOAL8TtKHzxQrlqw==","shasum":"66dae3c510706b407915af6ecc420ded1e616f08","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.4.2.tgz","fileCount":96,"unpackedSize":175943,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIErhbAxCUIs+ebvGYaohijOpbWoFsspyRKeRCN89C2NEAiEAoFpGrhDfo2QYV7XGyn9pdSVmPaTpZZJ7BXJzvjXAUo4="}],"size":26687},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.4.2_1684911355238_0.4645632112118785"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-05-24T06:55:55.419Z","publish_time":1684911355419,"_source_registry_name":"default","contributors":[]},"0.4.3":{"name":"abort-controller-x","version":"0.4.3","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"jest","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/jest":"^28.1.6","@types/node":"^14.17.0","defer-promise":"^2.0.1","jest":"^28.1.3","prettier":"^2.1.2","rimraf":"^2.6.3","ts-jest":"^28.0.7","typescript":"^4.7.4"},"gitHead":"3b36ce7a6dbc04a739038c6f1ad2c6c014dc5b9f","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_id":"abort-controller-x@0.4.3","_nodeVersion":"16.20.0","_npmVersion":"8.19.4","dist":{"integrity":"sha512-VtUwTNU8fpMwvWGn4xE93ywbogTYsuT+AUxAXOeelbXuQVIwNmC5YLeho9sH4vZ4ITW8414TTAOG1nW6uIVHCA==","shasum":"ff269788386fabd58a7b6eeaafcb6cf55c2958e0","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.4.3.tgz","fileCount":103,"unpackedSize":191052,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrm37HPwor53NDlq7TmzwEti8oM3v+W6b5aohOtbi5HwIhAPZ5E6hq+nHB1JMyC/e48q9IH2LHw+KhRSebvEM7Qe0N"}],"size":28404},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/abort-controller-x_0.4.3_1689319530212_0.6974075949658931"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-07-14T07:25:30.409Z","publish_time":1689319530409,"_source_registry_name":"default","contributors":[]},"0.5.0":{"name":"abort-controller-x","version":"0.5.0","description":"Abortable async function helpers","keywords":["abort","abortable","cancel","cancelable","cancellable","abort-controller","async","coroutine"],"repository":{"type":"git","url":"git+https://github.com/deeplay-io/abort-controller-x.git"},"sideEffects":false,"main":"lib/index.js","module":"es/index.js","typings":"lib/index.d.ts","scripts":{"clean":"rimraf lib es","test":"npm run test:node","test:node":"mocha --require ts-node/register --timeout 10000 \"src/**/*.test.ts\"","test:browser":"npm run test:browser:chrome","test:browser:chrome":"cross-env WDIO_BROWSER=chrome wdio run ./wdio.browser.conf.ts","test:browser:firefox":"cross-env WDIO_BROWSER=firefox wdio run ./wdio.browser.conf.ts","test:browser:safari":"cross-env WDIO_BROWSER=safari wdio run ./wdio.browser.conf.ts","build:lib":"tsc -P tsconfig.build.json","build:es":"tsc -P tsconfig.es.json","build":"npm run build:lib && npm run build:es","prepublishOnly":"npm test && npm run clean && npm run build"},"author":{"name":"Daniel Lytkin","email":"aikoven@deeplay.io"},"license":"MIT","devDependencies":{"@types/defer-promise":"^1.0.0","@types/mocha":"^10.0.7","@types/node":"^14.17.0","@wdio/browser-runner":"^9.0.8","@wdio/cli":"^9.0.8","@wdio/local-runner":"^9.0.8","@wdio/mocha-framework":"^9.0.8","@wdio/spec-reporter":"^9.0.8","chromedriver":"^141.0.0","cross-env":"^7.0.3","defer-promise":"^2.0.1","expect":"^29.7.0","mocha":"^10.7.3","prettier":"^2.1.2","rimraf":"^2.6.3","ts-node":"^10.9.2","typescript":"^4.7.4","wdio-chromedriver-service":"^8.1.1","wdio-geckodriver-service":"^5.0.2","wdio-safaridriver-service":"^2.1.1","webdriverio":"^9.0.8"},"_id":"abort-controller-x@0.5.0","gitHead":"99f5aee9b6cb0839679669de62b3b197ecba8f3d","bugs":{"url":"https://github.com/deeplay-io/abort-controller-x/issues"},"homepage":"https://github.com/deeplay-io/abort-controller-x#readme","_nodeVersion":"20.19.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-yTt9CI0x+nRfX6BFMenEGP8ooPvErGH6AbFz20C2IeOLIlDsrw/VHpgne3GsCEuTA410IiFiaLVFKmgM4bKEPQ==","shasum":"2c0531a83c7717eccd47435bfe123bccfd34e2b8","tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/abort-controller-x/-/abort-controller-x-0.5.0.tgz","fileCount":110,"unpackedSize":210109,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB4WhyL7nMSb+t5JPPuTkGTXWcOzB0xHzIsDP0CphDcVAiA7/zlCsOVKLiEKdAXQPkCa5ak6oYXAw8J4GR4NJLx+rg=="}],"size":31255},"_npmUser":{"name":"anonymous","email":"dan.lytkin@gmail.com"},"directories":{},"maintainers":[{"name":"anonymous","email":"dan.lytkin@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/abort-controller-x_0.5.0_1760684885392_0.6052949662416189"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2025-10-17T07:08:05.565Z","publish_time":1760684885565,"_source_registry_name":"default","contributors":[]}},"dist-tags":{"latest":"0.5.0"},"name":"abort-controller-x","time":{"created":"2022-01-27T11:05:14.192Z","modified":"2025-10-17T07:08:12.521Z","0.1.0":"2020-10-11T06:15:56.614Z","0.1.1":"2020-10-26T04:46:57.947Z","0.1.2":"2020-10-28T04:28:04.910Z","0.1.3":"2020-11-04T04:21:18.290Z","0.2.0":"2020-12-15T08:04:16.182Z","0.2.1":"2021-02-11T10:10:52.035Z","0.2.2":"2021-02-14T06:19:01.662Z","0.2.3":"2021-04-09T03:53:14.205Z","0.2.4":"2021-04-13T09:48:30.138Z","0.2.5":"2021-05-07T10:24:24.221Z","0.2.6":"2021-05-24T08:54:25.662Z","0.2.7":"2022-07-11T09:51:51.776Z","0.3.0":"2022-07-22T03:06:21.592Z","0.4.0":"2022-08-10T12:23:20.714Z","0.4.1":"2022-09-30T04:51:10.719Z","0.4.2":"2023-05-24T06:55:55.419Z","0.4.3":"2023-07-14T07:25:30.409Z","0.5.0":"2025-10-17T07:08:05.565Z"},"readme":"# Abort Controller Extras [![npm version][npm-image]][npm-url]\n\nAbortable async function primitives and combinators.\n\n- [Installation](#installation)\n- [Abort Controller](#abort-controller)\n- [Abortable Functions](#abortable-functions)\n- [Composing Abortable Functions](#composing-abortable-functions)\n- [Companion Packages](#companion-packages)\n- [API](#api)\n  - [`all`](#all)\n  - [`race`](#race)\n  - [`delay`](#delay)\n  - [`waitForEvent`](#waitforevent)\n  - [`forever`](#forever)\n  - [`spawn`](#spawn)\n  - [`retry`](#retry)\n  - [`proactiveRetry`](#proactive-retry)\n  - [`execute`](#execute)\n  - [`abortable`](#abortable)\n  - [`run`](#run)\n  - [`AbortError`](#aborterror)\n  - [`isAbortError`](#isaborterror)\n  - [`throwIfAborted`](#throwifaborted)\n  - [`rethrowAbortError`](#rethrowaborterror)\n  - [`catchAbortError`](#catchaborterror)\n\n## Installation\n\n```\nyarn add abort-controller-x\n```\n\n## Abort Controller\n\nSee\n[`AbortController` MDN page](https://developer.mozilla.org/en-US/docs/Web/API/AbortController).\nAbortController is\n[available in NodeJS](https://nodejs.org/api/globals.html#class-abortcontroller)\nsince 15.0.0, NodeJS 14.17+ requires the\n[--experimental-abortcontroller](https://nodejs.org/docs/latest-v14.x/api/cli.html#cli_experimental_abortcontroller)\nflag. A [polyfill](https://www.npmjs.com/package/abort-controller) is available\nfor older NodeJS versions and browsers.\n\n## Abortable Functions\n\nWe define _abortable function_ as a function that obeys following rules:\n\n- It must accept `AbortSignal` in its arguments.\n- It must return a `Promise`.\n- It must add\n  [`abort`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/abort_event)\n  event listener to the `AbortSignal`. Once the `AbortSignal` is aborted, the\n  returned `Promise` must reject with `AbortError` either immediately, or after\n  doing any async cleanup. It's also possible to reject with other errors that\n  happen during cleanup.\n- Once the returned `Promise` is fulfilled or rejected, it must remove\n  [`abort`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/abort_event)\n  event listener.\n\nAn example of _abortable function_ is the standard\n[`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) function.\n\n## Composing Abortable Functions\n\nThis library provides a way to build complex abortable functions using standard\n`async`/`await` syntax, without the burden of manually managing\n[`abort`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/abort_event)\nevent listeners. You can reuse a single `AbortSignal` between many operations\ninside a parent function:\n\n```ts\n/**\n * Make requests repeatedly with a delay between consecutive requests\n */\nasync function makeRequests(signal: AbortSignal): Promise<never> {\n  while (true) {\n    await fetch('...', {signal});\n    await delay(signal, 1000);\n  }\n}\n\nconst abortController = new AbortController();\n\nmakeRequests(abortController.signal).catch(catchAbortError);\n\nprocess.on('SIGTERM', () => {\n  abortController.abort();\n});\n```\n\nThe above example can be rewritten in a more ergonomic way using [`run`](#run)\nhelper.\n\nUsually you should only create `AbortController` somewhere on the top level, and\nin regular code use `async`/`await` and pass `AbortSignal` to abortable\nfunctions provided by this library or custom ones composed of other abortable\nfunctions.\n\n## Companion Packages\n\n- [`abort-controller-x-rxjs`](https://github.com/deeplay-io/abort-controller-x-rxjs)\n  — Abortable helpers for RxJS.\n- [`abort-controller-x-reactive-store`](https://github.com/deeplay-io/abort-controller-x-reactive-store)\n  — Reactive store primitive and helpers.\n\n## API\n\n### `all`\n\n```ts\nfunction all<T>(\n  signal: AbortSignal,\n  executor: (innerSignal: AbortSignal) => readonly PromiseLike<T>[],\n): Promise<T[]>;\n```\n\nAbortable version of `Promise.all`.\n\nCreates new inner `AbortSignal` and passes it to `executor`. That signal is\naborted when `signal` is aborted or any of the promises returned from `executor`\nare rejected.\n\nReturns a promise that fulfills with an array of results when all of the\npromises returned from `executor` fulfill, rejects when any of the promises\nreturned from `executor` are rejected, and rejects with `AbortError` when\n`signal` is aborted.\n\nThe promises returned from `executor` must be abortable, i.e. once `innerSignal`\nis aborted, they must reject with `AbortError` either immediately, or after\ndoing any async cleanup.\n\nExample:\n\n```ts\nconst [result1, result2] = await all(signal, signal => [\n  makeRequest(signal, params1),\n  makeRequest(signal, params2),\n]);\n```\n\n### `race`\n\n```ts\nfunction race<T>(\n  signal: AbortSignal,\n  executor: (innerSignal: AbortSignal) => readonly PromiseLike<T>[],\n): Promise<T>;\n```\n\nAbortable version of `Promise.race`.\n\nCreates new inner `AbortSignal` and passes it to `executor`. That signal is\naborted when `signal` is aborted or any of the promises returned from `executor`\nare fulfilled or rejected.\n\nReturns a promise that fulfills or rejects when any of the promises returned\nfrom `executor` are fulfilled or rejected, and rejects with `AbortError` when\n`signal` is aborted.\n\nThe promises returned from `executor` must be abortable, i.e. once `innerSignal`\nis aborted, they must reject with `AbortError` either immediately, or after\ndoing any async cleanup.\n\nExample:\n\n```ts\nconst result = await race(signal, signal => [\n  delay(signal, 1000).then(() => ({status: 'timeout'})),\n  makeRequest(signal, params).then(value => ({status: 'success', value})),\n]);\n\nif (result.status === 'timeout') {\n  // request timed out\n} else {\n  const response = result.value;\n}\n```\n\n### `delay`\n\n```ts\nfunction delay(signal: AbortSignal, dueTime: number | Date): Promise<void>;\n```\n\nReturn a promise that resolves after delay and rejects with `AbortError` once\n`signal` is aborted.\n\nThe delay time is specified as a `Date` object or as an integer denoting\nmilliseconds to wait.\n\nExample:\n\n```ts\n// Make a request repeatedly with a delay between consecutive requests\nwhile (true) {\n  await makeRequest(signal, params);\n  await delay(signal, 1000);\n}\n```\n\nExample:\n\n```ts\n// Make a request repeatedly with a fixed interval\nimport {addMilliseconds} from 'date-fns';\n\nlet date = new Date();\n\nwhile (true) {\n  await makeRequest(signal, params);\n\n  date = addMilliseconds(date, 1000);\n  await delay(signal, date);\n}\n```\n\n### `waitForEvent`\n\n```ts\nfunction waitForEvent<T>(\n  signal: AbortSignal,\n  target: EventTargetLike<T>,\n  eventName: string,\n  options?: EventListenerOptions,\n): Promise<T>;\n```\n\nReturns a promise that fulfills when an event of specific type is emitted from\ngiven event target and rejects with `AbortError` once `signal` is aborted.\n\nExample:\n\n```ts\n// Create a WebSocket and wait for connection\nconst webSocket = new WebSocket(url);\n\nconst openEvent = await race(signal, signal => [\n  waitForEvent<WebSocketEventMap['open']>(signal, webSocket, 'open'),\n  waitForEvent<WebSocketEventMap['close']>(signal, webSocket, 'close').then(\n    event => {\n      throw new Error(`Failed to connect to ${url}: ${event.reason}`);\n    },\n  ),\n]);\n```\n\n### `forever`\n\n```ts\nfunction forever(signal: AbortSignal): Promise<never>;\n```\n\nReturn a promise that never fulfills and only rejects with `AbortError` once\n`signal` is aborted.\n\n### `spawn`\n\n```ts\nfunction spawn<T>(\n  signal: AbortSignal,\n  fn: (signal: AbortSignal, effects: SpawnEffects) => Promise<T>,\n): Promise<T>;\n\ntype SpawnEffects = {\n  defer(fn: () => void | Promise<void>): void;\n  fork<T>(fn: (signal: AbortSignal) => Promise<T>): ForkTask<T>;\n};\n\ntype ForkTask<T> = {\n  abort(): void;\n  join(): Promise<T>;\n};\n```\n\nRun an abortable function with `fork` and `defer` effects attached to it.\n\n`spawn` allows to write Go-style coroutines.\n\n- `SpawnEffects.defer`\n\n  Schedules a function to run after spawned function finishes.\n\n  Deferred functions run serially in last-in-first-out order.\n\n  Promise returned from `spawn` resolves or rejects only after all deferred\n  functions finish.\n\n- `SpawnEffects.fork`\n\n  Executes an abortable function in background.\n\n  If a forked function throws an exception, spawned function and other forks are\n  aborted and promise returned from `spawn` rejects with that exception.\n\n  When spawned function finishes, all forks are aborted.\n\n- `ForkTask.abort`\n\n  Abort a forked function.\n\n- `ForkTask.join`\n\n  Returns a promise returned from a forked function.\n\nExample:\n\n```ts\n// Connect to a database, then start a server, then block until abort.\n// On abort, gracefully shutdown the server, and once done, disconnect\n// from the database.\nspawn(signal, async (signal, {defer}) => {\n  const db = await connectToDb();\n\n  defer(async () => {\n    await db.close();\n  });\n\n  const server = await startServer(db);\n\n  defer(async () => {\n    await server.close();\n  });\n\n  await forever(signal);\n});\n```\n\nExample:\n\n```ts\n// Connect to a database, then start an infinite polling loop.\n// On abort, disconnect from the database.\nspawn(signal, async (signal, {defer}) => {\n  const db = await connectToDb();\n\n  defer(async () => {\n    await db.close();\n  });\n\n  while (true) {\n    await poll(signal, db);\n    await delay(signal, 5000);\n  }\n});\n```\n\nExample:\n\n```ts\n// Acquire a lock and execute a function.\n// Extend the lock while the function is running.\n// Once the function finishes or the signal is aborted, stop extending\n// the lock and release it.\nimport Redlock = require('redlock');\n\nconst lockTtl = 30_000;\n\nfunction withLock<T>(\n  signal: AbortSignal,\n  redlock: Redlock,\n  key: string,\n  fn: (signal: AbortSignal) => Promise<T>,\n): Promise<T> {\n  return spawn(signal, async (signal, {fork, defer}) => {\n    const lock = await redlock.lock(key, lockTtl);\n\n    defer(() => lock.unlock());\n\n    fork(async signal => {\n      while (true) {\n        await delay(signal, lockTtl / 10);\n        await lock.extend(lockTtl);\n      }\n    });\n\n    return await fn(signal);\n  });\n}\n\nconst redlock = new Redlock([redis], {\n  retryCount: -1,\n});\n\nawait withLock(signal, redlock, 'the-lock-key', async signal => {\n  // ...\n});\n```\n\n### `retry`\n\n```ts\nfunction retry<T>(\n  signal: AbortSignal,\n  fn: (signal: AbortSignal, attempt: number, reset: () => void) => Promise<T>,\n  options?: RetryOptions,\n): Promise<T>;\n\ntype RetryOptions = {\n  baseMs?: number;\n  maxDelayMs?: number;\n  maxAttempts?: number;\n  onError?: (error: unknown, attempt: number, delayMs: number) => void;\n};\n```\n\nRetry a function with exponential backoff.\n\n- `fn`\n\n  A function that will be called and retried in case of error. It receives:\n\n  - `signal`\n\n    `AbortSignal` that is aborted when the signal passed to `retry` is aborted.\n\n  - `attempt`\n\n    Attempt number starting with 0.\n\n  - `reset`\n\n    Function that sets attempt number to -1 so that the next attempt will be\n    made without delay.\n\n- `RetryOptions.baseMs`\n\n  Starting delay before first retry attempt in milliseconds.\n\n  Defaults to 1000.\n\n  Example: if `baseMs` is 100, then retries will be attempted in 100ms, 200ms,\n  400ms etc (not counting jitter).\n\n- `RetryOptions.maxDelayMs`\n\n  Maximum delay between attempts in milliseconds.\n\n  Defaults to 30 seconds.\n\n  Example: if `baseMs` is 1000 and `maxDelayMs` is 3000, then retries will be\n  attempted in 1000ms, 2000ms, 3000ms, 3000ms etc (not counting jitter).\n\n- `RetryOptions.maxAttempts`\n\n  Maximum for the total number of attempts.\n\n  Defaults to `Infinity`.\n\n- `RetryOptions.onError`\n\n  Called after each failed attempt before setting delay timer.\n\n  Rethrow error from this callback to prevent further retries.\n\n### `proactiveRetry`\n\n```ts\nfunction proactiveRetry<T>(\n  signal: AbortSignal,\n  fn: (signal: AbortSignal, attempt: number) => Promise<T>,\n  options?: ProactiveRetryOptions,\n): Promise<T>;\n\ntype ProactiveRetryOptions = {\n  baseMs?: number;\n  maxAttempts?: number;\n  onError?: (error: unknown, attempt: number) => void;\n};\n```\n\nProactively retry a function with exponential backoff.\n\nAlso known as hedging.\n\nThe function will be called multiple times in parallel until it succeeds, in\nwhich case all the other calls will be aborted.\n\n- `fn`\n\n  A function that will be called multiple times in parallel until it succeeds.\n  It receives:\n\n  - `signal`\n\n    `AbortSignal` that is aborted when the signal passed to `retry` is aborted,\n    or when the function succeeds.\n\n  - `attempt`\n\n    Attempt number starting with 0.\n\n- `ProactiveRetryOptions.baseMs`\n\n  Base delay between attempts in milliseconds.\n\n  Defaults to 1000.\n\n  Example: if `baseMs` is 100, then retries will be attempted in 100ms, 200ms,\n  400ms etc (not counting jitter).\n\n- `ProactiveRetryOptions.maxAttempts`\n\n  Maximum for the total number of attempts.\n\n  Defaults to `Infinity`.\n\n- `ProactiveRetryOptions.onError`\n\n  Called after each failed attempt.\n\n  Rethrow error from this callback to prevent further retries.\n\n### `execute`\n\n```ts\nfunction execute<T>(\n  signal: AbortSignal,\n  executor: (\n    resolve: (value: T) => void,\n    reject: (reason?: any) => void,\n  ) => () => void | PromiseLike<void>,\n): Promise<T>;\n```\n\nSimilar to `new Promise(executor)`, but allows executor to return abort callback\nthat is called once `signal` is aborted.\n\nReturned promise rejects with `AbortError` once `signal` is aborted.\n\nCallback can return a promise, e.g. for doing any async cleanup. In this case,\nthe promise returned from `execute` rejects with `AbortError` after that promise\nfulfills.\n\n### `abortable`\n\n```ts\nfunction abortable<T>(signal: AbortSignal, promise: PromiseLike<T>): Promise<T>;\n```\n\nWrap a promise to reject with `AbortError` once `signal` is aborted.\n\nUseful to wrap non-abortable promises. Note that underlying process will NOT be\naborted.\n\n### `run`\n\n```ts\nfunction run(fn: (signal: AbortSignal) => Promise<void>): () => Promise<void>;\n```\n\nInvokes an abortable function with implicitly created `AbortSignal`.\n\nReturns a function that aborts that signal and waits until passed function\nfinishes.\n\nAny error other than `AbortError` thrown from passed function will result in\nunhandled promise rejection.\n\nExample:\n\n```ts\nconst stop = run(async signal => {\n  try {\n    while (true) {\n      await delay(signal, 1000);\n      console.log('tick');\n    }\n  } finally {\n    await doCleanup();\n  }\n});\n\n// abort and wait until cleanup is done\nawait stop();\n```\n\nThis function is also useful with React `useEffect` hook:\n\n```ts\n// make requests periodically while the component is mounted\nuseEffect(\n  () =>\n    run(async signal => {\n      while (true) {\n        await makeRequest(signal);\n        await delay(signal, 1000);\n      }\n    }),\n  [],\n);\n```\n\n### `AbortError`\n\n```ts\nclass AbortError extends Error\n```\n\nThrown when an abortable function was aborted.\n\n**Warning**: do not use `instanceof` with this class. Instead, use\n`isAbortError` function.\n\n### `isAbortError`\n\n```ts\nfunction isAbortError(error: unknown): boolean;\n```\n\nChecks whether given `error` is an `AbortError`.\n\n### `throwIfAborted`\n\n```ts\nfunction throwIfAborted(signal: AbortSignal): void;\n```\n\nIf `signal` is aborted, throws `AbortError`. Otherwise does nothing.\n\n### `rethrowAbortError`\n\n```ts\nfunction rethrowAbortError(error: unknown): void;\n```\n\nIf `error` is `AbortError`, throws it. Otherwise does nothing.\n\nUseful for `try/catch` blocks around abortable code:\n\n```ts\ntry {\n  await somethingAbortable(signal);\n} catch (err) {\n  rethrowAbortError(err);\n\n  // do normal error handling\n}\n```\n\n### `catchAbortError`\n\n```ts\nfunction catchAbortError(error: unknown): void;\n```\n\nIf `error` is `AbortError`, does nothing. Otherwise throws it.\n\nUseful for invoking top-level abortable functions:\n\n```ts\nsomethingAbortable(signal).catch(catchAbortError);\n```\n\nWithout `catchAbortError`, aborting would result in unhandled promise rejection.\n\n[npm-image]: https://badge.fury.io/js/abort-controller-x.svg\n[npm-url]: https://badge.fury.io/js/abort-controller-x","users":{}}