@nmtjs/common 0.11.7 → 0.11.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils.js +3 -0
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/utils.ts +7 -0
package/dist/utils.js
CHANGED
|
@@ -88,5 +88,8 @@ export function once(target, event) {
|
|
|
88
88
|
export function onceAborted(signal) {
|
|
89
89
|
return once(signal, "abort");
|
|
90
90
|
}
|
|
91
|
+
export function isAbortError(error) {
|
|
92
|
+
return error instanceof DOMException && (error.name === "AbortError" || error.code === DOMException.ABORT_ERR);
|
|
93
|
+
}
|
|
91
94
|
|
|
92
95
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAEA,OAAO,MAAM,SAAS,MAAM,CAAE;AAE9B,OAAO,SAAS,MAAuB,GAAG,SAAY;AACpD,QAAO,OAAO,OAAO,CAAE,GAAE,GAAG,QAAQ;AACrC;AAED,OAAO,SAAS,MACdA,IACA,KAAK,GACL,GAAG,MAC8B;AACjC,QAAO,IAAI,QAAQ,CAAC,SAAS,WAC3B,WAAW,YAAY;AACrB,MAAI;AACF,WAAQ,MAAM,GAAG,GAAG,KAAK,CAAC;EAC3B,SAAQ,OAAO;AACd,UAAO,MAAM;EACd;CACF,GAAE,GAAG;AAET;AAED,OAAO,SAAS,MAAMC,OAAe,QAAQ,GAAG;CAC9C,IAAI,UAAU;AACd,QAAO,EACL,CAAC,OAAO,YAAY;AAClB,SAAO,EACL,OAAO;AACL,OAAI,UAAU,OAAO;AACnB,WAAO;KAAE,MAAM;KAAO,OAAO;IAAW;GACzC,OAAM;AACL,WAAO;KAAE,MAAM;KAAM,OAAO;IAAS;GACtC;EACF,EACF;CACF,EACF;AACF;AAED,OAAO,SAAS,SAASC,IAAcC,OAAe;CACpD,IAAIC;CACJ,MAAM,QAAQ,MAAM,SAAS,aAAa,MAAM;CAChD,MAAM,KAAK,CAAC,GAAG,SAAgB;AAC7B,SAAO;AACP,UAAQ,WAAW,IAAI,OAAO,GAAG,KAAK;CACvC;AACD,QAAO,OAAO,OAAO,IAAI,EAAE,MAAO,EAAC;AACpC;AAUD,OAAO,SAAS,gBAA0C;CACxD,IAAIC;CACJ,IAAIC;CACJ,MAAM,UAAU,IAAI,QAAW,CAAC,KAAK,QAAQ;AAC3C,YAAU;AACV,WAAS;CACV;AAED,QAAO;EAAE;EAAS;EAAQ;EAAS,QAAQ,MAAM,CAAC,SAAS,MAAO;CAAE;AACrE;AAED,OAAO,SAAS,QACdC,QACAP,IACAQ,QACA;CACA,MAAM,WAAW,MAAM,GAAG,UAAU,OAAO,OAAO;AAClD,QAAO,iBAAiB,SAAS,UAAU,EAAE,MAAM,KAAM,EAAC;AAC1D,QAAO,MAAM,OAAO,oBAAoB,SAAS,SAAS;AAC3D;AAED,OAAO,SAAS,YACdC,OACAC,SACAC,cACAC,YACA;AACA,QAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;EACtC,MAAM,QAAQ,WAAW,QAAQ,SAAS,aAAa;EACvD,MAAM,aAAa,MAAM,aAAa,MAAM;EAC5C,MAAM,oBAAoB,CAACC,UAAe;AACxC,UAAO,MAAM;AACb,eAAY,MAAM,MAAM;EACzB;AACD,QAAM,KAAK,QAAQ,CAAC,MAAM,kBAAkB,CAAC,QAAQ,WAAW;CACjE;AACF;AAED,OAAO,SAAS,qBAAqB,QAAQ,GAAG;AAC9C,QACE,IAAI,QAAQ,OACR,MAAM,KAAK,CACZ,MAAM,IAAI,MAAM,CAChB,KAAK,KAAK,IAAI;AAEpB;AAED,OAAO,SAAS,oBAAoBC,OAAwC;AAC1E,eACS,UAAU,cACjB,MAAM,YAAY,SAAS;AAE9B;AAED,OAAO,SAAS,yBACdA,OACiC;AACjC,eACS,UAAU,cACjB,MAAM,YAAY,SAAS;AAE9B;AAED,OAAO,SAAS,WAAWC,SAAiB,aAAa,OAAc;AACrE,OAAM,IAAI,WAAW;AACtB;AAED,OAAO,SAAS,KAAKC,QAAqBC,OAAe;AACvD,QAAO,IAAI,QAAc,CAAC,YAAY;AACpC,SAAO,iBAAiB,OAAO,MAAM,SAAS,EAAE,EAAE,MAAM,KAAM,EAAC;CAChE;AACF;AAED,OAAO,SAAS,YAAYV,QAAqB;AAC/C,QAAO,KAAK,QAAQ,QAAQ;AAC7B","names":["cb: T","count: number","cb: Callback","delay: number","timer: any","resolve: InteractivePromise<T>['resolve']","reject: InteractivePromise<T>['reject']","signal: AbortSignal","reason?: any","value: Promise<any>","timeout: number","timeoutError: Error","controller?: AbortController","error: any","value: any","message: string","target: EventTarget","event: string"],"sources":["../src/utils.ts"],"sourcesContent":["import type { Callback } from './types.ts'\n\nexport const noopFn = () => {}\n\nexport function merge<T extends any[]>(...objects: T) {\n return Object.assign({}, ...objects)\n}\n\nexport function defer<T extends Callback>(\n cb: T,\n ms = 1,\n ...args: Parameters<T>\n): Promise<Awaited<ReturnType<T>>> {\n return new Promise((resolve, reject) =>\n setTimeout(async () => {\n try {\n resolve(await cb(...args))\n } catch (error) {\n reject(error)\n }\n }, ms),\n )\n}\n\nexport function range(count: number, start = 0) {\n let current = start\n return {\n [Symbol.iterator]() {\n return {\n next() {\n if (current < count) {\n return { done: false, value: current++ }\n } else {\n return { done: true, value: current }\n }\n },\n }\n },\n }\n}\n\nexport function debounce(cb: Callback, delay: number) {\n let timer: any\n const clear = () => timer && clearTimeout(timer)\n const fn = (...args: any[]) => {\n clear()\n timer = setTimeout(cb, delay, ...args)\n }\n return Object.assign(fn, { clear })\n}\n\n// TODO: Promise.withResolvers?\nexport interface InteractivePromise<T = any> {\n promise: Promise<T>\n resolve: (value: T) => void\n reject: (error: any) => void\n toArgs: () => [resolve: this['resolve'], reject: this['reject']]\n}\n// TODO: Promise.withResolvers?\nexport function createPromise<T>(): InteractivePromise<T> {\n let resolve: InteractivePromise<T>['resolve']\n let reject: InteractivePromise<T>['reject']\n const promise = new Promise<T>((res, rej) => {\n resolve = res\n reject = rej\n })\n // @ts-expect-error\n return { resolve, reject, promise, toArgs: () => [resolve, reject] }\n}\n\nexport function onAbort<T extends Callback>(\n signal: AbortSignal,\n cb: T,\n reason?: any,\n) {\n const listener = () => cb(reason ?? signal.reason)\n signal.addEventListener('abort', listener, { once: true })\n return () => signal.removeEventListener('abort', listener)\n}\n\nexport function withTimeout(\n value: Promise<any>,\n timeout: number,\n timeoutError: Error,\n controller?: AbortController,\n) {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(reject, timeout, timeoutError)\n const clearTimer = () => clearTimeout(timer)\n const rejectWithTimeout = (error: any) => {\n reject(error)\n controller?.abort(error)\n }\n value.then(resolve).catch(rejectWithTimeout).finally(clearTimer)\n })\n}\n\nexport function tryCaptureStackTrace(depth = 0) {\n return (\n new Error().stack\n ?.split('\\n')\n .slice(4 + depth)\n .join('\\n') ?? undefined\n )\n}\n\nexport function isGeneratorFunction(value: any): value is GeneratorFunction {\n return (\n typeof value === 'function' &&\n value.constructor.name === 'GeneratorFunction'\n )\n}\n\nexport function isAsyncGeneratorFunction(\n value: any,\n): value is AsyncGeneratorFunction {\n return (\n typeof value === 'function' &&\n value.constructor.name === 'AsyncGeneratorFunction'\n )\n}\n\nexport function throwError(message: string, ErrorClass = Error): never {\n throw new ErrorClass(message)\n}\n\nexport function once(target: EventTarget, event: string) {\n return new Promise<void>((resolve) => {\n target.addEventListener(event, () => resolve(), { once: true })\n })\n}\n\nexport function onceAborted(signal: AbortSignal) {\n return once(signal, 'abort')\n}\n"],"version":3,"file":"utils.js"}
|
|
1
|
+
{"mappings":"AAEA,OAAO,MAAM,SAAS,MAAM,CAAE;AAE9B,OAAO,SAAS,MAAuB,GAAG,SAAY;AACpD,QAAO,OAAO,OAAO,CAAE,GAAE,GAAG,QAAQ;AACrC;AAED,OAAO,SAAS,MACdA,IACA,KAAK,GACL,GAAG,MAC8B;AACjC,QAAO,IAAI,QAAQ,CAAC,SAAS,WAC3B,WAAW,YAAY;AACrB,MAAI;AACF,WAAQ,MAAM,GAAG,GAAG,KAAK,CAAC;EAC3B,SAAQ,OAAO;AACd,UAAO,MAAM;EACd;CACF,GAAE,GAAG;AAET;AAED,OAAO,SAAS,MAAMC,OAAe,QAAQ,GAAG;CAC9C,IAAI,UAAU;AACd,QAAO,EACL,CAAC,OAAO,YAAY;AAClB,SAAO,EACL,OAAO;AACL,OAAI,UAAU,OAAO;AACnB,WAAO;KAAE,MAAM;KAAO,OAAO;IAAW;GACzC,OAAM;AACL,WAAO;KAAE,MAAM;KAAM,OAAO;IAAS;GACtC;EACF,EACF;CACF,EACF;AACF;AAED,OAAO,SAAS,SAASC,IAAcC,OAAe;CACpD,IAAIC;CACJ,MAAM,QAAQ,MAAM,SAAS,aAAa,MAAM;CAChD,MAAM,KAAK,CAAC,GAAG,SAAgB;AAC7B,SAAO;AACP,UAAQ,WAAW,IAAI,OAAO,GAAG,KAAK;CACvC;AACD,QAAO,OAAO,OAAO,IAAI,EAAE,MAAO,EAAC;AACpC;AAUD,OAAO,SAAS,gBAA0C;CACxD,IAAIC;CACJ,IAAIC;CACJ,MAAM,UAAU,IAAI,QAAW,CAAC,KAAK,QAAQ;AAC3C,YAAU;AACV,WAAS;CACV;AAED,QAAO;EAAE;EAAS;EAAQ;EAAS,QAAQ,MAAM,CAAC,SAAS,MAAO;CAAE;AACrE;AAED,OAAO,SAAS,QACdC,QACAP,IACAQ,QACA;CACA,MAAM,WAAW,MAAM,GAAG,UAAU,OAAO,OAAO;AAClD,QAAO,iBAAiB,SAAS,UAAU,EAAE,MAAM,KAAM,EAAC;AAC1D,QAAO,MAAM,OAAO,oBAAoB,SAAS,SAAS;AAC3D;AAED,OAAO,SAAS,YACdC,OACAC,SACAC,cACAC,YACA;AACA,QAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;EACtC,MAAM,QAAQ,WAAW,QAAQ,SAAS,aAAa;EACvD,MAAM,aAAa,MAAM,aAAa,MAAM;EAC5C,MAAM,oBAAoB,CAACC,UAAe;AACxC,UAAO,MAAM;AACb,eAAY,MAAM,MAAM;EACzB;AACD,QAAM,KAAK,QAAQ,CAAC,MAAM,kBAAkB,CAAC,QAAQ,WAAW;CACjE;AACF;AAED,OAAO,SAAS,qBAAqB,QAAQ,GAAG;AAC9C,QACE,IAAI,QAAQ,OACR,MAAM,KAAK,CACZ,MAAM,IAAI,MAAM,CAChB,KAAK,KAAK,IAAI;AAEpB;AAED,OAAO,SAAS,oBAAoBC,OAAwC;AAC1E,eACS,UAAU,cACjB,MAAM,YAAY,SAAS;AAE9B;AAED,OAAO,SAAS,yBACdA,OACiC;AACjC,eACS,UAAU,cACjB,MAAM,YAAY,SAAS;AAE9B;AAED,OAAO,SAAS,WAAWC,SAAiB,aAAa,OAAc;AACrE,OAAM,IAAI,WAAW;AACtB;AAED,OAAO,SAAS,KAAKC,QAAqBC,OAAe;AACvD,QAAO,IAAI,QAAc,CAAC,YAAY;AACpC,SAAO,iBAAiB,OAAO,MAAM,SAAS,EAAE,EAAE,MAAM,KAAM,EAAC;CAChE;AACF;AAED,OAAO,SAAS,YAAYV,QAAqB;AAC/C,QAAO,KAAK,QAAQ,QAAQ;AAC7B;AAED,OAAO,SAAS,aAAaM,OAAqB;AAChD,QACE,iBAAiB,iBAChB,MAAM,SAAS,gBAAgB,MAAM,SAAS,aAAa;AAE/D","names":["cb: T","count: number","cb: Callback","delay: number","timer: any","resolve: InteractivePromise<T>['resolve']","reject: InteractivePromise<T>['reject']","signal: AbortSignal","reason?: any","value: Promise<any>","timeout: number","timeoutError: Error","controller?: AbortController","error: any","value: any","message: string","target: EventTarget","event: string"],"sources":["../src/utils.ts"],"sourcesContent":["import type { Callback } from './types.ts'\n\nexport const noopFn = () => {}\n\nexport function merge<T extends any[]>(...objects: T) {\n return Object.assign({}, ...objects)\n}\n\nexport function defer<T extends Callback>(\n cb: T,\n ms = 1,\n ...args: Parameters<T>\n): Promise<Awaited<ReturnType<T>>> {\n return new Promise((resolve, reject) =>\n setTimeout(async () => {\n try {\n resolve(await cb(...args))\n } catch (error) {\n reject(error)\n }\n }, ms),\n )\n}\n\nexport function range(count: number, start = 0) {\n let current = start\n return {\n [Symbol.iterator]() {\n return {\n next() {\n if (current < count) {\n return { done: false, value: current++ }\n } else {\n return { done: true, value: current }\n }\n },\n }\n },\n }\n}\n\nexport function debounce(cb: Callback, delay: number) {\n let timer: any\n const clear = () => timer && clearTimeout(timer)\n const fn = (...args: any[]) => {\n clear()\n timer = setTimeout(cb, delay, ...args)\n }\n return Object.assign(fn, { clear })\n}\n\n// TODO: Promise.withResolvers?\nexport interface InteractivePromise<T = any> {\n promise: Promise<T>\n resolve: (value: T) => void\n reject: (error: any) => void\n toArgs: () => [resolve: this['resolve'], reject: this['reject']]\n}\n// TODO: Promise.withResolvers?\nexport function createPromise<T>(): InteractivePromise<T> {\n let resolve: InteractivePromise<T>['resolve']\n let reject: InteractivePromise<T>['reject']\n const promise = new Promise<T>((res, rej) => {\n resolve = res\n reject = rej\n })\n // @ts-expect-error\n return { resolve, reject, promise, toArgs: () => [resolve, reject] }\n}\n\nexport function onAbort<T extends Callback>(\n signal: AbortSignal,\n cb: T,\n reason?: any,\n) {\n const listener = () => cb(reason ?? signal.reason)\n signal.addEventListener('abort', listener, { once: true })\n return () => signal.removeEventListener('abort', listener)\n}\n\nexport function withTimeout(\n value: Promise<any>,\n timeout: number,\n timeoutError: Error,\n controller?: AbortController,\n) {\n return new Promise((resolve, reject) => {\n const timer = setTimeout(reject, timeout, timeoutError)\n const clearTimer = () => clearTimeout(timer)\n const rejectWithTimeout = (error: any) => {\n reject(error)\n controller?.abort(error)\n }\n value.then(resolve).catch(rejectWithTimeout).finally(clearTimer)\n })\n}\n\nexport function tryCaptureStackTrace(depth = 0) {\n return (\n new Error().stack\n ?.split('\\n')\n .slice(4 + depth)\n .join('\\n') ?? undefined\n )\n}\n\nexport function isGeneratorFunction(value: any): value is GeneratorFunction {\n return (\n typeof value === 'function' &&\n value.constructor.name === 'GeneratorFunction'\n )\n}\n\nexport function isAsyncGeneratorFunction(\n value: any,\n): value is AsyncGeneratorFunction {\n return (\n typeof value === 'function' &&\n value.constructor.name === 'AsyncGeneratorFunction'\n )\n}\n\nexport function throwError(message: string, ErrorClass = Error): never {\n throw new ErrorClass(message)\n}\n\nexport function once(target: EventTarget, event: string) {\n return new Promise<void>((resolve) => {\n target.addEventListener(event, () => resolve(), { once: true })\n })\n}\n\nexport function onceAborted(signal: AbortSignal) {\n return once(signal, 'abort')\n}\n\nexport function isAbortError(error: any): boolean {\n return (\n error instanceof DOMException &&\n (error.name === 'AbortError' || error.code === DOMException.ABORT_ERR)\n )\n}\n"],"version":3,"file":"utils.js"}
|
package/package.json
CHANGED
package/src/utils.ts
CHANGED
|
@@ -133,3 +133,10 @@ export function once(target: EventTarget, event: string) {
|
|
|
133
133
|
export function onceAborted(signal: AbortSignal) {
|
|
134
134
|
return once(signal, 'abort')
|
|
135
135
|
}
|
|
136
|
+
|
|
137
|
+
export function isAbortError(error: any): boolean {
|
|
138
|
+
return (
|
|
139
|
+
error instanceof DOMException &&
|
|
140
|
+
(error.name === 'AbortError' || error.code === DOMException.ABORT_ERR)
|
|
141
|
+
)
|
|
142
|
+
}
|