New:Socket for Asana Is Now Available.Learn more
Sign In

it-queueless-pushable

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

it-queueless-pushable - npm Package Compare versions

Comparing version
0.0.0
to
1.0.0
+1
-1
dist/index.min.js
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.ItQueuelessPushable = factory()}(typeof self !== 'undefined' ? self : this, function () {
"use strict";var ItQueuelessPushable=(()=>{var u=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)u(r,t,{get:e[t],enumerable:!0})},w=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of x(e))!c.call(r,s)&&s!==t&&u(r,s,{get:()=>e[s],enumerable:!(n=h(e,s))||n.enumerable});return r};var p=r=>w(u({},"__esModule",{value:!0}),r);var m={};f(m,{queuelessPushable:()=>v});function i(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var o=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=t??"ABORT_ERR"}};async function d(r,e,t){if(e==null)return r;if(e.aborted)return Promise.reject(new o(t?.errorMessage,t?.errorCode));let n,s=new o(t?.errorMessage,t?.errorCode);try{return await Promise.race([r,new Promise((N,l)=>{n=()=>{l(s)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var a=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=i(),this.haveNext=i()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=i(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");if(this.nextResult!=null&&(await this.readNext.promise,this.nextResult!=null))throw new Error("NeedNext promise resolved but nextResult was not consumed");e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=i(),await d(this.readNext.promise,t?.signal,t)}};function v(){return new a}return p(m);})();
"use strict";var ItQueuelessPushable=(()=>{var o=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var t in e)o(r,t,{get:e[t],enumerable:!0})},w=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of c(e))!x.call(r,s)&&s!==t&&o(r,s,{get:()=>e[s],enumerable:!(n=h(e,s))||n.enumerable});return r};var p=r=>w(o({},"__esModule",{value:!0}),r);var m={};f(m,{queuelessPushable:()=>v});function i(){let r={};return r.promise=new Promise((e,t)=>{r.resolve=e,r.reject=t}),r}var a=class extends Error{type;code;constructor(e,t){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=t??"ABORT_ERR"}};async function d(r,e,t){if(e==null)return r;if(e.aborted)return Promise.reject(new a(t?.errorMessage,t?.errorCode));let n,s=new a(t?.errorMessage,t?.errorCode);try{return await Promise.race([r,new Promise((N,l)=>{n=()=>{l(s)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var u=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=i(),this.haveNext=i()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=i(),e}async throw(e){return this.ended=!0,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,t){await this._push(e,t)}async end(e,t){e!=null?await this.throw(e):await this._push(void 0,t)}async _push(e,t){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=i(),await d(this.readNext.promise,t?.signal,t)}};function v(){return new u}return p(m);})();
return ItQueuelessPushable}));

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEhE,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;IACnE;;;;OAIG;IACH,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3E;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E;AAiHD,wBAAgB,iBAAiB,CAAE,CAAC,KAAM,QAAQ,CAAC,CAAC,CAAC,CAEpD"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEhE,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,QAAQ,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;IACnE;;;;OAIG;IACH,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3E;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E;AAgHD,wBAAgB,iBAAiB,CAAE,CAAC,KAAM,QAAQ,CAAC,CAAC,CAAC,CAEpD"}

@@ -63,2 +63,5 @@ /**

if (err != null) {
// this can cause unhandled promise rejections if nothing is awaiting the
// next value so attach a dummy catch listener to the promise
this.haveNext.promise.catch(() => { });
this.haveNext.reject(err);

@@ -96,8 +99,5 @@ }

}
// already have a value, wait for it to be read
if (this.nextResult != null) {
// wait for all values to be read
while (this.nextResult != null) {
await this.readNext.promise;
if (this.nextResult != null) {
throw new Error('NeedNext promise resolved but nextResult was not consumed');
}
}

@@ -104,0 +104,0 @@ if (value != null) {

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
{
"name": "it-queueless-pushable",
"version": "0.0.0",
"version": "1.0.0",
"description": "A pushable queue that waits until a value is consumed before accepting another",

@@ -142,4 +142,7 @@ "author": "Alex Potsides <alex@achingbrain.net>",

"devDependencies": {
"aegir": "^43.0.0"
"aegir": "^43.0.0",
"delay": "^6.0.0",
"it-all": "^3.0.6",
"it-drain": "^3.0.7"
}
}

@@ -94,2 +94,5 @@ /**

if (err != null) {
// this can cause unhandled promise rejections if nothing is awaiting the
// next value so attach a dummy catch listener to the promise
this.haveNext.promise.catch(() => {})
this.haveNext.reject(err)

@@ -135,9 +138,5 @@ }

// already have a value, wait for it to be read
if (this.nextResult != null) {
// wait for all values to be read
while (this.nextResult != null) {
await this.readNext.promise
if (this.nextResult != null) {
throw new Error('NeedNext promise resolved but nextResult was not consumed')
}
}

@@ -144,0 +143,0 @@