@escapace/sequentialize
Advanced tools
+3
-58
@@ -1,59 +0,4 @@ | ||
| var __defProp = Object.defineProperty; | ||
| var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; | ||
| var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); | ||
| import { Deferred } from '@escapace/deferred'; | ||
| // src/deferred.ts | ||
| var Deferred = class { | ||
| constructor() { | ||
| // eslint-disable-next-line typescript/no-explicit-any | ||
| __publicField(this, "_reject"); | ||
| __publicField(this, "_resolve"); | ||
| __publicField(this, "fate"); | ||
| __publicField(this, "state"); | ||
| __publicField(this, "promise"); | ||
| this.state = "pending"; | ||
| this.fate = "unresolved"; | ||
| this.promise = new Promise((resolve, reject) => { | ||
| this._resolve = resolve; | ||
| this._reject = reject; | ||
| }); | ||
| this.promise.then( | ||
| () => this.state = "fulfilled", | ||
| () => this.state = "rejected" | ||
| ); | ||
| } | ||
| isFulfilled() { | ||
| return this.state === "fulfilled"; | ||
| } | ||
| isPending() { | ||
| return this.state === "pending"; | ||
| } | ||
| isRejected() { | ||
| return this.state === "rejected"; | ||
| } | ||
| isResolved() { | ||
| return this.fate === "resolved"; | ||
| } | ||
| // eslint-disable-next-line typescript/no-explicit-any | ||
| reject(reason) { | ||
| if (this.fate === "resolved") { | ||
| throw new Error("Deferred cannot be resolved twice"); | ||
| } | ||
| this.fate = "resolved"; | ||
| if (this._reject !== void 0) { | ||
| this._reject(reason); | ||
| } | ||
| } | ||
| resolve(value) { | ||
| if (this.fate === "resolved") { | ||
| throw new Error("Deferred cannot be resolved twice"); | ||
| } | ||
| this.fate = "resolved"; | ||
| if (this._resolve !== void 0) { | ||
| this._resolve(value); | ||
| } | ||
| } | ||
| }; | ||
| // src/sequentialize.ts | ||
| // src/index.ts | ||
| var sequentialize = () => { | ||
@@ -80,3 +25,3 @@ const locks = []; | ||
| export { Deferred, sequentialize }; | ||
| export { sequentialize }; | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sources":["../../src/deferred.ts","../../src/sequentialize.ts"],"sourcesContent":null,"names":[],"mappings":"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"} | ||
| {"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":null,"names":[],"mappings":";;;AAQO,IAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,QAA8B,EAAC;AAErC,EAAA,OAAO,CAAmD,SAAA,KACvD,CAAA,GAAI,UAAA,KAAsB;AACzB,IAAA,KAAA,IAAS,IAAI,KAAA,CAAM,MAAA,GAAS,GAAG,CAAA,IAAK,CAAA,EAAG,KAAK,CAAA,EAAG;AAC7C,MAAA,IAAI,KAAA,CAAM,CAAC,CAAA,CAAE,UAAA,EAAW,EAAG;AACzB,QAAA,KAAA,CAAM,MAAA,CAAO,GAAG,CAAC,CAAA;AAAA,MACnB;AAAA,IACF;AAEA,IAAA,MAAM,IAAA,GAAO,IAAI,QAAA,EAAc;AAC/B,IAAA,MAAM,QAAA,GAAW,CAAC,GAAG,KAAK,EAAE,GAAA,CAAI,CAAC,KAAA,KAAU,KAAA,CAAM,OAAO,CAAA;AAExD,IAAA,KAAA,CAAM,KAAK,IAAI,CAAA;AAEf,IAAA,OAAO,OAAA,CAAQ,GAAA,CAAI,QAAQ,CAAA,CACxB,IAAA,CAAK,MAAM,SAAA,CAAU,GAAG,UAAU,CAAC,CAAA,CACnC,IAAA,CAAK,CAAC,KAAA,KAAU;AACf,MAAA,IAAA,CAAK,OAAA,EAAQ;AAEb,MAAA,OAAO,KAAA;AAAA,IACT,CAAC,CAAA,CACA,KAAA,CAAM,CAAC,MAAA,KAAW;AACjB,MAAA,IAAA,CAAK,OAAO,MAAM,CAAA;AAElB,MAAA,OAAO,OAAA,CAAQ,OAAO,MAAM,CAAA;AAAA,IAC9B,CAAC,CAAA;AAAA,EACL,CAAA;AACJ;;;;"} |
@@ -1,3 +0,2 @@ | ||
| export { Deferred } from './deferred'; | ||
| export { sequentialize } from './sequentialize'; | ||
| export declare const sequentialize: () => <T extends (...arguments_: any[]) => Promise<any>>(function_: T) => T; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA"} | ||
| {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,SAGhB,CAAC,SAAS,CAAC,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAG,CA0B1E,CAAA"} |
+13
-10
| { | ||
| "name": "@escapace/sequentialize", | ||
| "description": "", | ||
| "version": "4.0.1", | ||
| "version": "5.0.0", | ||
| "author": { | ||
@@ -15,17 +15,17 @@ "name": "escapace", | ||
| "@ls-lint/ls-lint": "2.3.1", | ||
| "@vitest/coverage-v8": "3.2.3", | ||
| "eslint": "9.28.0", | ||
| "eslint-config-escapace": "5.7.1", | ||
| "@vitest/coverage-v8": "3.2.4", | ||
| "eslint": "9.31.0", | ||
| "eslint-config-escapace": "5.8.0", | ||
| "esroll": "0.4.5", | ||
| "knip": "5.60.2", | ||
| "lefthook": "1.11.13", | ||
| "prettier": "3.5.3", | ||
| "knip": "5.62.0", | ||
| "lefthook": "1.12.2", | ||
| "prettier": "3.6.2", | ||
| "prettier-config-escapace": "1.2.1", | ||
| "syncpack": "13.0.4", | ||
| "tsx": "4.19.4", | ||
| "tsx": "4.20.3", | ||
| "typescript": "5.8.3", | ||
| "vitest": "3.2.3" | ||
| "vitest": "3.2.4" | ||
| }, | ||
| "engines": { | ||
| "pnpm": ">=10.10.0" | ||
| "pnpm": "^10.10.0" | ||
| }, | ||
@@ -45,2 +45,5 @@ "exports": { | ||
| "module": "lib/neutral/index.js", | ||
| "peerDependencies": { | ||
| "@escapace/deferred": "^1.1.0" | ||
| }, | ||
| "private": false, | ||
@@ -47,0 +50,0 @@ "publishConfig": { |
+0
-17
@@ -67,18 +67,1 @@ # sequentialize | ||
| **Returns:** `<T>(fn: T) => T` - A function that wraps async functions | ||
| ### Deferred<T> | ||
| A promise wrapper with manual resolution control. Used internally by sequentialize. | ||
| **Methods:** | ||
| - `resolve(value?: T | PromiseLike<T>)` - Resolve the promise | ||
| - `reject(reason?: any)` - Reject the promise | ||
| - `isPending()` - Check if promise is pending | ||
| - `isFulfilled()` - Check if promise fulfilled successfully | ||
| - `isRejected()` - Check if promise was rejected | ||
| - `isResolved()` - Check if promise has been resolved (fulfilled or rejected) | ||
| **Properties:** | ||
| - `promise: Promise<T>` - The underlying promise |
| /** | ||
| * A deferred represents a promise which can be either resolved via | ||
| * deferred.resolve or rejected via deferred.reject.The promise can be acessed | ||
| * via the promise property on the deferred. | ||
| */ | ||
| export declare class Deferred<T> { | ||
| private _reject; | ||
| private _resolve; | ||
| private fate; | ||
| private state; | ||
| promise: Promise<T>; | ||
| constructor(); | ||
| isFulfilled(): boolean; | ||
| isPending(): boolean; | ||
| isRejected(): boolean; | ||
| isResolved(): boolean; | ||
| reject(reason?: any): void; | ||
| resolve(value?: PromiseLike<T> | T): void; | ||
| } | ||
| //# sourceMappingURL=deferred.d.ts.map |
| {"version":3,"file":"deferred.d.ts","sourceRoot":"","sources":["../../src/deferred.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAa,QAAQ,CAAC,CAAC;IAErB,OAAO,CAAC,OAAO,CAAsC;IAErD,OAAO,CAAC,QAAQ,CAAoD;IACpE,OAAO,CAAC,IAAI,CAA2B;IAEvC,OAAO,CAAC,KAAK,CAAsC;IAE5C,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;;IAiBnB,WAAW;IAIX,SAAS;IAIT,UAAU;IAIV,UAAU;IAKV,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG;IAYnB,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;CAW1C"} |
| export declare const sequentialize: () => <T extends (...arguments_: any[]) => Promise<any>>(function_: T) => T; | ||
| //# sourceMappingURL=sequentialize.d.ts.map |
| {"version":3,"file":"sequentialize.d.ts","sourceRoot":"","sources":["../../src/sequentialize.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,SAGhB,CAAC,SAAS,CAAC,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAG,CA0B1E,CAAA"} |
22487
-17.47%1
Infinity%7
-36.36%25
-75%67
-20.24%