@wener/utils 1.1.49 → 1.1.51

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.
Files changed (204) hide show
  1. package/lib/arrays/MaybeArray.js.map +1 -1
  2. package/lib/arrays/arrayFromAsync.js.map +1 -1
  3. package/lib/asyncs/AsyncInterval.js.map +1 -1
  4. package/lib/asyncs/MaybePromise.js.map +1 -1
  5. package/lib/asyncs/Promises.js.map +1 -1
  6. package/lib/asyncs/createAsyncIterator.js.map +1 -1
  7. package/lib/asyncs/createLazyPromise.js.map +1 -1
  8. package/lib/asyncs/firstOfAsyncIterator.js.map +1 -1
  9. package/lib/asyncs/generatorOfStream.js.map +1 -1
  10. package/lib/asyncs/isIterator.js.map +1 -1
  11. package/lib/asyncs/isPromise.js.map +1 -1
  12. package/lib/asyncs/isThenable.js.map +1 -1
  13. package/lib/asyncs/nextOfAsyncIterator.js.map +1 -1
  14. package/lib/asyncs/promiseOfCallback.js.map +1 -1
  15. package/lib/asyncs/timeout.js.map +1 -1
  16. package/lib/browsers/copy.js.map +1 -1
  17. package/lib/browsers/download.js.map +1 -1
  18. package/lib/browsers/getFileFromDataTransfer.js.map +1 -1
  19. package/lib/browsers/loaders.js.map +1 -1
  20. package/lib/cn/division/DivisionCode.js +21 -15
  21. package/lib/cn/division/DivisionCode.js.map +1 -1
  22. package/lib/cn/division/binarySearch.js.map +1 -1
  23. package/lib/cn/formatChineseAmount.js.map +1 -1
  24. package/lib/cn/id/Mod11.js.map +1 -1
  25. package/lib/cn/id/ResidentIdNumber.js.map +1 -1
  26. package/lib/cn/id/types.js.map +1 -1
  27. package/lib/cn/index.js.map +1 -1
  28. package/lib/cn/parseChineseNumber.js.map +1 -1
  29. package/lib/cn/pinyin/cartesianProduct.js.map +1 -1
  30. package/lib/cn/pinyin/loader.js.map +1 -1
  31. package/lib/cn/pinyin/preload.js.map +1 -1
  32. package/lib/cn/pinyin/toPinyinPure.js.map +1 -1
  33. package/lib/cn/pinyin/transform.js.map +1 -1
  34. package/lib/cn/types.js.map +1 -1
  35. package/lib/cn/uscc/Mod31.js.map +1 -1
  36. package/lib/cn/uscc/USCC.js.map +1 -1
  37. package/lib/cn/uscc/isUSCC.js.map +1 -1
  38. package/lib/crypto/base.js.map +1 -1
  39. package/lib/crypto/getNodeCrypto.js +1 -1
  40. package/lib/crypto/getNodeCrypto.js.map +1 -1
  41. package/lib/crypto/hashing.js.map +1 -1
  42. package/lib/crypto/md5.bench.js.map +1 -1
  43. package/lib/crypto/md5.d.js.map +1 -1
  44. package/lib/crypto/md5.js.map +1 -1
  45. package/lib/crypto/pem/pem.js.map +1 -1
  46. package/lib/crypto/randomUUIDv7.js.map +1 -1
  47. package/lib/crypto/ulid.js +1 -1
  48. package/lib/crypto/ulid.js.map +1 -1
  49. package/lib/emitter/types.js.map +1 -1
  50. package/lib/errors/Errors.js +38 -17
  51. package/lib/errors/Errors.js.map +1 -1
  52. package/lib/fetch/HttpStatus.js.map +1 -1
  53. package/lib/fetch/createFetchWith.js +1 -1
  54. package/lib/fetch/createFetchWith.js.map +1 -1
  55. package/lib/fetch/createFetchWithLogging.js.map +1 -1
  56. package/lib/fetch/createFetchWithRetry.js +1 -1
  57. package/lib/fetch/createFetchWithRetry.js.map +1 -1
  58. package/lib/fetch/dumpRequest.js.map +1 -1
  59. package/lib/fetch/dumpResponse.js.map +1 -1
  60. package/lib/fetch/http.types.js.map +1 -1
  61. package/lib/fetch/index.js.map +1 -1
  62. package/lib/fetch/types.js.map +1 -1
  63. package/lib/i18n/createTranslate.js.map +1 -1
  64. package/lib/index.js +9 -7
  65. package/lib/index.js.map +1 -1
  66. package/lib/io/AbstractEncoding.js.map +1 -1
  67. package/lib/io/ArrayBuffer.test-d.js.map +1 -1
  68. package/lib/io/ArrayBuffers.js +218 -174
  69. package/lib/io/ArrayBuffers.js.map +1 -1
  70. package/lib/io/Buffer.js.map +1 -1
  71. package/lib/io/ByteBuffer.js.map +1 -1
  72. package/lib/io/base64.js +2 -2
  73. package/lib/io/base64.js.map +1 -1
  74. package/lib/io/dump.js.map +1 -1
  75. package/lib/io/isBuffer.js.map +1 -1
  76. package/lib/io/isTransferable.js +1 -1
  77. package/lib/io/isTransferable.js.map +1 -1
  78. package/lib/io/parseDataUri.js.map +1 -1
  79. package/lib/langs/AsyncCloser.js.map +1 -0
  80. package/lib/langs/Closer.js.map +1 -0
  81. package/lib/langs/MaybeFunction.js.map +1 -1
  82. package/lib/langs/classOf.js.map +1 -1
  83. package/lib/langs/deepEqual.js.map +1 -1
  84. package/lib/langs/deepFreeze.js.map +1 -1
  85. package/lib/langs/getGlobalStates.js +11 -3
  86. package/lib/langs/getGlobalStates.js.map +1 -1
  87. package/lib/langs/getObjectId.js +1 -1
  88. package/lib/langs/getObjectId.js.map +1 -1
  89. package/lib/langs/ifPresent.js +5 -0
  90. package/lib/langs/ifPresent.js.map +1 -0
  91. package/lib/langs/isClass.js.map +1 -1
  92. package/lib/langs/isDefined.js.map +1 -1
  93. package/lib/langs/isEmptyObject.js.map +1 -1
  94. package/lib/langs/isFunction.js.map +1 -1
  95. package/lib/langs/isNullish.js.map +1 -1
  96. package/lib/langs/isPlainObject.js.map +1 -1
  97. package/lib/langs/memoize.js.map +1 -1
  98. package/lib/langs/mixin.js.map +1 -1
  99. package/lib/langs/parseBoolean.js.map +1 -1
  100. package/lib/langs/shallowClone.js.map +1 -1
  101. package/lib/langs/shallowEqual.js.map +1 -1
  102. package/lib/libs/ms.js.map +1 -1
  103. package/lib/logging/Logger.js.map +1 -1
  104. package/lib/logging/createChildLogger.js.map +1 -1
  105. package/lib/logging/createLogger.js.map +1 -1
  106. package/lib/logging/createNoopLogger.js.map +1 -1
  107. package/lib/logging/slog.js.map +1 -1
  108. package/lib/maths/clamp.js.map +1 -1
  109. package/lib/maths/random.js.map +1 -1
  110. package/lib/mitt/index.js.map +1 -1
  111. package/lib/modules/isModule.js.map +1 -1
  112. package/lib/modules/parseModuleId.js.map +1 -1
  113. package/lib/objects/computeIfAbsent.js.map +1 -1
  114. package/lib/objects/get.js.map +1 -1
  115. package/lib/objects/get.test-d.js.map +1 -1
  116. package/lib/objects/merge/index.js.map +1 -1
  117. package/lib/objects/merge/isMergeableObject.js.map +1 -1
  118. package/lib/objects/merge/merge.js.map +1 -1
  119. package/lib/objects/parseObjectPath.js.map +1 -1
  120. package/lib/objects/set.js.map +1 -1
  121. package/lib/schema/typebox/index.js.map +1 -1
  122. package/lib/schema/typebox/typebox.js.map +1 -1
  123. package/lib/scripts/getGenerateContext.js +2 -1
  124. package/lib/scripts/getGenerateContext.js.map +1 -1
  125. package/lib/server/crypto/md5.js.map +1 -1
  126. package/lib/server/fetch/createFetchWithProxy.js.map +1 -1
  127. package/lib/server/fetch/createFetchWithProxyByNodeFetch.js +1 -1
  128. package/lib/server/fetch/createFetchWithProxyByNodeFetch.js.map +1 -1
  129. package/lib/server/fetch/createFetchWithProxyByUndici.js +1 -1
  130. package/lib/server/fetch/createFetchWithProxyByUndici.js.map +1 -1
  131. package/lib/server/getPackageDir.js.map +1 -1
  132. package/lib/server/index.js.map +1 -1
  133. package/lib/server/jsdom.js.map +1 -1
  134. package/lib/server/node-fetch.js.map +1 -1
  135. package/lib/server/polyfill/polyfillBrowser.js.map +1 -1
  136. package/lib/server/polyfill/polyfillCrypto.js +1 -1
  137. package/lib/server/polyfill/polyfillCrypto.js.map +1 -1
  138. package/lib/server/polyfill/polyfillFetch.js.map +1 -1
  139. package/lib/server/polyfill/polyfillJsDom.js +1 -1
  140. package/lib/server/polyfill/polyfillJsDom.js.map +1 -1
  141. package/lib/server/polyfill/polyfillWebSocket.js +1 -1
  142. package/lib/server/polyfill/polyfillWebSocket.js.map +1 -1
  143. package/lib/server/ws.js.map +1 -1
  144. package/lib/strings/camelCase.js.map +1 -1
  145. package/lib/strings/formatBytes.js.map +1 -1
  146. package/lib/strings/renderTemplate.js.map +1 -1
  147. package/lib/typedoc.js.map +1 -1
  148. package/lib/types.d.js.map +1 -1
  149. package/lib/validations/asserts.js.map +1 -1
  150. package/lib/validations/isUUID.js.map +1 -1
  151. package/lib/validations/parseTimestamp.js.map +1 -1
  152. package/lib/web/getGlobalThis.js.map +1 -0
  153. package/lib/{crypto → web}/getRandomValues.js +2 -2
  154. package/lib/web/getRandomValues.js.map +1 -0
  155. package/lib/{crypto → web}/randomUUID.js +1 -1
  156. package/lib/web/randomUUID.js.map +1 -0
  157. package/lib/web/requestIdleCallback.js +13 -0
  158. package/lib/web/requestIdleCallback.js.map +1 -0
  159. package/lib/web/structuredClone.js.map +1 -0
  160. package/package.json +4 -7
  161. package/src/asyncs/createAsyncIterator.ts +1 -1
  162. package/src/cn/division/DivisionCode.ts +25 -7
  163. package/src/cn/division/division.test.ts +18 -2
  164. package/src/crypto/getNodeCrypto.ts +1 -1
  165. package/src/crypto/hashing.test.ts +1 -1
  166. package/src/crypto/ulid.test.ts +1 -1
  167. package/src/crypto/ulid.ts +1 -1
  168. package/src/errors/Errors.ts +37 -16
  169. package/src/fetch/createFetchWith.ts +2 -2
  170. package/src/fetch/createFetchWithLogging.ts +1 -1
  171. package/src/fetch/createFetchWithRetry.ts +1 -1
  172. package/src/index.ts +9 -8
  173. package/src/io/ArrayBuffers.base64.test.ts +7 -0
  174. package/src/io/ArrayBuffers.ts +273 -272
  175. package/src/io/base64.ts +2 -2
  176. package/src/io/isTransferable.ts +1 -1
  177. package/src/langs/getGlobalStates.ts +13 -3
  178. package/src/langs/getObjectId.ts +1 -1
  179. package/src/langs/ifPresent.ts +3 -0
  180. package/src/scripts/getGenerateContext.ts +3 -1
  181. package/src/server/fetch/createFetchWithProxyByNodeFetch.ts +2 -2
  182. package/src/server/fetch/createFetchWithProxyByUndici.ts +1 -1
  183. package/src/server/polyfill/polyfillCrypto.ts +1 -1
  184. package/src/server/polyfill/polyfillJsDom.ts +1 -1
  185. package/src/server/polyfill/polyfillWebSocket.ts +1 -1
  186. package/src/validations/isUUID.test.ts +1 -1
  187. package/src/{crypto → web}/getRandomValues.ts +2 -2
  188. package/src/{crypto → web}/randomUUID.ts +1 -1
  189. package/src/web/requestIdleCallback.ts +14 -0
  190. package/lib/crypto/getRandomValues.js.map +0 -1
  191. package/lib/crypto/randomUUID.js.map +0 -1
  192. package/lib/runtime/AsyncCloser.js.map +0 -1
  193. package/lib/runtime/Closer.js.map +0 -1
  194. package/lib/runtime/getGlobalThis.js.map +0 -1
  195. package/lib/runtime/structuredClone.js.map +0 -1
  196. /package/lib/{runtime → langs}/AsyncCloser.js +0 -0
  197. /package/lib/{runtime → langs}/Closer.js +0 -0
  198. /package/lib/{runtime → web}/getGlobalThis.js +0 -0
  199. /package/lib/{runtime → web}/structuredClone.js +0 -0
  200. /package/src/{runtime → langs}/AsyncCloser.ts +0 -0
  201. /package/src/{runtime → langs}/Closer.ts +0 -0
  202. /package/src/{runtime → web}/getGlobalThis.ts +0 -0
  203. /package/src/{runtime → web}/structuredClone.test.ts +0 -0
  204. /package/src/{runtime → web}/structuredClone.ts +0 -0
@@ -1,9 +1,19 @@
1
- import { computeIfAbsent, getGlobalThis } from '@wener/utils';
1
+ import { computeIfAbsent } from '../objects/computeIfAbsent';
2
+ import { getGlobalThis } from '../web/getGlobalThis';
2
3
 
3
4
  let _holder: any;
4
5
 
5
- export function setGlobalStates(states: Record<string, any>) {
6
- _holder = states;
6
+ export function setGlobalStates(states: Record<string, any>): Record<string, any>;
7
+ export function setGlobalStates<V = any>(key: string, value: V): V | undefined;
8
+ export function setGlobalStates(a: any, b?: any) {
9
+ if (typeof a === 'string') {
10
+ let s = getGlobalStates();
11
+ const last = s[a];
12
+ s[a] = b;
13
+ return last;
14
+ } else if (typeof a === 'object') {
15
+ _holder = a;
16
+ }
7
17
  }
8
18
 
9
19
  export function getGlobalStates(): Record<string, any>;
@@ -3,7 +3,7 @@ import { getGlobalStates } from './getGlobalStates';
3
3
  export function getObjectId(k: any): number {
4
4
  const state = getGlobalStates('ObjectId', () => {
5
5
  return {
6
- id: 0,
6
+ id: 1,
7
7
  map: new WeakMap(),
8
8
  };
9
9
  });
@@ -0,0 +1,3 @@
1
+ export function ifPresent<T, R>(value: T, fn: (v: T) => R): R | undefined {
2
+ return value ? fn(value) : undefined;
3
+ }
@@ -1,7 +1,9 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
- import { Errors, formatBytes, type MaybePromise } from '@wener/utils';
3
+ import type { MaybePromise } from '../asyncs/MaybePromise';
4
+ import { Errors } from '../errors/Errors';
4
5
  import { getPackageDir } from '../server';
6
+ import { formatBytes } from '../strings/formatBytes';
5
7
 
6
8
  let _root: GenerateContext;
7
9
 
@@ -1,5 +1,5 @@
1
- import { type FetchLike } from '../../fetch';
2
- import { getGlobalThis } from '../../runtime/getGlobalThis';
1
+ import type { FetchLike } from '../../fetch';
2
+ import { getGlobalThis } from '../../web/getGlobalThis';
3
3
 
4
4
  export function createFetchWithProxyByNodeFetch({
5
5
  proxy,
@@ -1,6 +1,6 @@
1
1
  import type { MaybePromise } from '../../asyncs/MaybePromise';
2
2
  import { createFetchWith, type FetchLike } from '../../fetch';
3
- import { getGlobalThis } from '../../runtime/getGlobalThis';
3
+ import { getGlobalThis } from '../../web/getGlobalThis';
4
4
 
5
5
  export function createFetchWithProxyByUndici({
6
6
  proxy,
@@ -1,4 +1,4 @@
1
- import { getGlobalThis } from '../../runtime/getGlobalThis';
1
+ import { getGlobalThis } from '../../web/getGlobalThis';
2
2
 
3
3
  export async function polyfillCrypto() {
4
4
  const globalThis = getGlobalThis();
@@ -1,5 +1,5 @@
1
1
  import type { ConstructorOptions, ResourceLoaderConstructorOptions } from 'jsdom';
2
- import { getGlobalThis } from '../../runtime/getGlobalThis';
2
+ import { getGlobalThis } from '../../web/getGlobalThis';
3
3
 
4
4
  export async function polyfillJsDom() {
5
5
  if (typeof window !== 'undefined') {
@@ -1,5 +1,5 @@
1
1
  import type { MaybePromise } from '../../asyncs/MaybePromise';
2
- import { getGlobalThis } from '../../runtime/getGlobalThis';
2
+ import { getGlobalThis } from '../../web/getGlobalThis';
3
3
 
4
4
  export function polyfillWebSocket(ws: any): boolean;
5
5
  export function polyfillWebSocket(ws?: undefined): Promise<boolean>;
@@ -1,5 +1,5 @@
1
1
  import { expect, test } from 'vitest';
2
- import { randomUUID } from '../crypto/randomUUID';
2
+ import { randomUUID } from '../web/randomUUID';
3
3
  import { isUUID } from './isUUID';
4
4
 
5
5
  test('isUUID', () => {
@@ -1,7 +1,7 @@
1
1
  // eslint-disable-next-line @typescript-eslint/consistent-type-imports
2
+ import { getNodeCrypto } from '../crypto/getNodeCrypto';
2
3
  import type { TypedArray } from '../io/ArrayBuffers';
3
- import { getGlobalThis } from '../runtime/getGlobalThis';
4
- import { getNodeCrypto } from './getNodeCrypto';
4
+ import { getGlobalThis } from './getGlobalThis';
5
5
 
6
6
  const globalThis = getGlobalThis();
7
7
 
@@ -1,4 +1,4 @@
1
- import { getGlobalThis } from '../runtime/getGlobalThis';
1
+ import { getGlobalThis } from './getGlobalThis';
2
2
 
3
3
  const globalThis = getGlobalThis();
4
4
 
@@ -0,0 +1,14 @@
1
+ // for safari
2
+ export const requestIdleCallback =
3
+ globalThis.requestIdleCallback ||
4
+ ((callback: (deadline: IdleDeadline) => void, options?: IdleRequestOptions) => {
5
+ const start = Date.now();
6
+ const deadline: IdleDeadline = {
7
+ didTimeout: false,
8
+ timeRemaining: () => Math.max(0, 50 - (Date.now() - start)),
9
+ };
10
+ // skip options?.timeout
11
+ return setTimeout(() => callback(deadline), 1);
12
+ });
13
+
14
+ export const cancelIdleCallback = globalThis.cancelIdleCallback || ((id: number) => clearTimeout(id));
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/crypto/getRandomValues.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/consistent-type-imports\nimport type { TypedArray } from '../io/ArrayBuffers';\nimport { getGlobalThis } from '../runtime/getGlobalThis';\nimport { getNodeCrypto } from './getNodeCrypto';\n\nconst globalThis = getGlobalThis();\n\n// chrome 11+, safari 5+, nodejs 17.4+\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nexport let getRandomValues: <T extends Exclude<TypedArray, Float32Array | Float64Array>>(typedArray: T) => T =\n globalThis.crypto?.getRandomValues?.bind(globalThis.crypto) ||\n (globalThis as any).msCrypto?.getRandomValues?.bind((globalThis as any).msCrypto) ||\n (() => {\n throw new Error('[getRandomValues]: No secure random number generator available.');\n });\n\nfunction _getRandomValues<T extends Exclude<TypedArray, Float32Array | Float64Array>>(buf: T) {\n const nodeCrypto = getNodeCrypto();\n // avoid type error\n let wc = nodeCrypto?.webcrypto as any;\n if (wc?.getRandomValues) {\n getRandomValues = wc.getRandomValues?.bind(nodeCrypto?.webcrypto);\n return wc.getRandomValues(buf);\n }\n if (nodeCrypto?.randomBytes) {\n if (!(buf instanceof Uint8Array)) {\n throw new TypeError('expected Uint8Array');\n }\n if (buf.length > 65536) {\n const e: any = new Error();\n e.code = 22;\n e.message = `Failed to execute 'getRandomValues' on 'Crypto': The ArrayBufferView's byte length (${buf.length}) exceeds the number of bytes of entropy available via this API (65536).`;\n e.name = 'QuotaExceededError';\n throw e;\n }\n const bytes = nodeCrypto.randomBytes(buf.length);\n buf.set(bytes);\n return buf;\n }\n throw new Error('[getRandomValues]: No secure random number generator available.');\n}\n"],"names":["getGlobalThis","getNodeCrypto","globalThis","getRandomValues","crypto","bind","msCrypto","Error","_getRandomValues","buf","nodeCrypto","wc","webcrypto","randomBytes","Uint8Array","TypeError","length","e","code","message","name","bytes","set"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,sEAAsE;AAEtE,SAASA,aAAa,QAAQ,2BAA2B;AACzD,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,MAAMC,aAAaF;AAEnB,sCAAsC;AACtC,0EAA0E;AAC1E,OAAO,IAAIG,kBACTD,WAAWE,MAAM,EAAED,iBAAiBE,KAAKH,WAAWE,MAAM,KAC1D,AAACF,WAAmBI,QAAQ,EAAEH,iBAAiBE,KAAK,AAACH,WAAmBI,QAAQ,KAC/E,CAAA;IACC,MAAM,IAAIC,MAAM;AAClB,CAAA,EAAG;AAEL,SAASC,iBAA6EC,GAAM;IAC1F,MAAMC,aAAaT;IACnB,mBAAmB;IACnB,IAAIU,KAAKD,YAAYE;IACrB,IAAID,IAAIR,iBAAiB;QACvBA,kBAAkBQ,GAAGR,eAAe,EAAEE,KAAKK,YAAYE;QACvD,OAAOD,GAAGR,eAAe,CAACM;IAC5B;IACA,IAAIC,YAAYG,aAAa;QAC3B,IAAI,CAAEJ,CAAAA,eAAeK,UAAS,GAAI;YAChC,MAAM,IAAIC,UAAU;QACtB;QACA,IAAIN,IAAIO,MAAM,GAAG,OAAO;YACtB,MAAMC,IAAS,IAAIV;YACnBU,EAAEC,IAAI,GAAG;YACTD,EAAEE,OAAO,GAAG,CAAC,oFAAoF,EAAEV,IAAIO,MAAM,CAAC,wEAAwE,CAAC;YACvLC,EAAEG,IAAI,GAAG;YACT,MAAMH;QACR;QACA,MAAMI,QAAQX,WAAWG,WAAW,CAACJ,IAAIO,MAAM;QAC/CP,IAAIa,GAAG,CAACD;QACR,OAAOZ;IACT;IACA,MAAM,IAAIF,MAAM;AAClB"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/crypto/randomUUID.ts"],"sourcesContent":["import { getGlobalThis } from '../runtime/getGlobalThis';\n\nconst globalThis = getGlobalThis();\n\n/**\n * generate random UUIDv4\n */\nexport const randomUUID: () => string = globalThis.crypto?.randomUUID?.bind(globalThis.crypto) || _randomUUID;\n\n/**\n * @internal\n */\nexport function _randomUUID() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n"],"names":["getGlobalThis","globalThis","randomUUID","crypto","bind","_randomUUID","replace","c","r","Math","random","v","toString"],"rangeMappings":";;;;;;;;;;;;;","mappings":"AAAA,SAASA,aAAa,QAAQ,2BAA2B;AAEzD,MAAMC,aAAaD;AAEnB;;CAEC,GACD,OAAO,MAAME,aAA2BD,WAAWE,MAAM,EAAED,YAAYE,KAAKH,WAAWE,MAAM,KAAKE,YAAY;AAE9G;;CAEC,GACD,OAAO,SAASA;IACd,OAAO,uCAAuCC,OAAO,CAAC,SAAS,CAACC;QAC9D,MAAMC,IAAI,AAACC,KAAKC,MAAM,KAAK,KAAM;QACjC,MAAMC,IAAIJ,MAAM,MAAMC,IAAI,AAACA,IAAI,MAAO;QACtC,OAAOG,EAAEC,QAAQ,CAAC;IACpB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/runtime/AsyncCloser.ts"],"sourcesContent":["type AsyncClosable = { close(): void | Promise<void> } | (() => void | Promise<void>) | AsyncDisposable | Disposable;\n\n/**\n * @see AsyncDisposableStack\n */\nexport class AsyncCloser implements AsyncDisposable {\n closers: Array<AsyncClosable> = [];\n\n defer(closer: AsyncClosable | null | undefined) {\n if (!closer) {\n return;\n }\n this.closers.push(closer);\n }\n\n add<T extends AsyncClosable | null | undefined>(closer: T): T {\n if (!closer) {\n return closer;\n }\n this.closers.push(closer);\n return closer;\n }\n\n async [Symbol.asyncDispose]() {\n for (let closer of this.closers) {\n let o;\n if (typeof closer === 'function') {\n o = closer();\n } else if (Symbol.asyncDispose in closer) {\n o = closer[Symbol.asyncDispose]();\n } else if (Symbol.dispose in closer) {\n closer[Symbol.dispose]();\n } else {\n o = closer.close();\n }\n if (o && typeof o.then === 'function') {\n await o;\n }\n }\n }\n\n close() {\n return this[Symbol.asyncDispose]();\n }\n}\n"],"names":["AsyncCloser","closers","defer","closer","push","add","Symbol","asyncDispose","o","dispose","close","then"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA;;CAEC,GACD,OAAO,MAAMA;IACXC,UAAgC,EAAE,CAAC;IAEnCC,MAAMC,MAAwC,EAAE;QAC9C,IAAI,CAACA,QAAQ;YACX;QACF;QACA,IAAI,CAACF,OAAO,CAACG,IAAI,CAACD;IACpB;IAEAE,IAAgDF,MAAS,EAAK;QAC5D,IAAI,CAACA,QAAQ;YACX,OAAOA;QACT;QACA,IAAI,CAACF,OAAO,CAACG,IAAI,CAACD;QAClB,OAAOA;IACT;IAEA,MAAM,CAACG,OAAOC,YAAY,CAAC,GAAG;QAC5B,KAAK,IAAIJ,UAAU,IAAI,CAACF,OAAO,CAAE;YAC/B,IAAIO;YACJ,IAAI,OAAOL,WAAW,YAAY;gBAChCK,IAAIL;YACN,OAAO,IAAIG,OAAOC,YAAY,IAAIJ,QAAQ;gBACxCK,IAAIL,MAAM,CAACG,OAAOC,YAAY,CAAC;YACjC,OAAO,IAAID,OAAOG,OAAO,IAAIN,QAAQ;gBACnCA,MAAM,CAACG,OAAOG,OAAO,CAAC;YACxB,OAAO;gBACLD,IAAIL,OAAOO,KAAK;YAClB;YACA,IAAIF,KAAK,OAAOA,EAAEG,IAAI,KAAK,YAAY;gBACrC,MAAMH;YACR;QACF;IACF;IAEAE,QAAQ;QACN,OAAO,IAAI,CAACJ,OAAOC,YAAY,CAAC;IAClC;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/runtime/Closer.ts"],"sourcesContent":["type Closable = { close(): void } | (() => void) | Disposable;\n\n/**\n * @see DisposableStack\n */\nexport class Closer implements Disposable {\n closers: Array<Closable> = [];\n\n defer(closer: Closable | null | undefined) {\n if (!closer) {\n return;\n }\n this.closers.push(closer);\n }\n\n add<T extends Closable | null | undefined>(closer: T): T {\n if (!closer) {\n return closer;\n }\n this.closers.push(closer);\n return closer;\n }\n\n [Symbol.dispose]() {\n for (let closer of this.closers) {\n if (typeof closer === 'function') {\n closer();\n } else if (Symbol.dispose in closer) {\n closer[Symbol.dispose]();\n } else {\n closer.close();\n }\n }\n }\n\n close() {\n this[Symbol.dispose]();\n }\n}\n"],"names":["Closer","closers","defer","closer","push","add","Symbol","dispose","close"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA;;CAEC,GACD,OAAO,MAAMA;IACXC,UAA2B,EAAE,CAAC;IAE9BC,MAAMC,MAAmC,EAAE;QACzC,IAAI,CAACA,QAAQ;YACX;QACF;QACA,IAAI,CAACF,OAAO,CAACG,IAAI,CAACD;IACpB;IAEAE,IAA2CF,MAAS,EAAK;QACvD,IAAI,CAACA,QAAQ;YACX,OAAOA;QACT;QACA,IAAI,CAACF,OAAO,CAACG,IAAI,CAACD;QAClB,OAAOA;IACT;IAEA,CAACG,OAAOC,OAAO,CAAC,GAAG;QACjB,KAAK,IAAIJ,UAAU,IAAI,CAACF,OAAO,CAAE;YAC/B,IAAI,OAAOE,WAAW,YAAY;gBAChCA;YACF,OAAO,IAAIG,OAAOC,OAAO,IAAIJ,QAAQ;gBACnCA,MAAM,CAACG,OAAOC,OAAO,CAAC;YACxB,OAAO;gBACLJ,OAAOK,KAAK;YACd;QACF;IACF;IAEAA,QAAQ;QACN,IAAI,CAACF,OAAOC,OAAO,CAAC;IACtB;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/runtime/getGlobalThis.ts"],"sourcesContent":["declare const global: typeof globalThis;\n\n/**\n * isomorphic globalThis\n *\n * globalThis supported by ff 65, Chrome 71, Node 12, babel\n *\n * non-standard globalThis supported for Alipay Miniprogram\n *\n * @see https://caniuse.com/#search=globalThis\n * @see https://v8.dev/features/globalthis\n */\nexport const getGlobalThis = (): typeof globalThis => {\n if (typeof globalThis !== 'undefined') return globalThis;\n if (typeof self !== 'undefined') return self;\n if (typeof window !== 'undefined') return window;\n if (typeof global !== 'undefined') return global as any;\n if (typeof this !== 'undefined') return this as any;\n throw new Error('Unable to locate global `this`');\n};\n"],"names":["getGlobalThis","globalThis","self","window","global","Error"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAEA;;;;;;;;;CASC,GACD,OAAO,MAAMA,gBAAgB;IAC3B,IAAI,OAAOC,eAAe,aAAa,OAAOA;IAC9C,IAAI,OAAOC,SAAS,aAAa,OAAOA;IACxC,IAAI,OAAOC,WAAW,aAAa,OAAOA;IAC1C,IAAI,OAAOC,WAAW,aAAa,OAAOA;IAC1C,IAAI,OAAO,IAAI,KAAK,aAAa,OAAO,IAAI;IAC5C,MAAM,IAAIC,MAAM;AAClB,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/runtime/structuredClone.ts"],"sourcesContent":["/* eslint no-proto:0 */\nimport { classOf } from '../langs/classOf';\n\n/**\n * Clone an object using structured cloning algorithm\n *\n * - Chrome 98, Safari 15.4, NodeJS 17\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/structuredClone structuredClone}\n * @see {@link https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/web.structured-clone.js core-js}\n */\nexport const structuredClone: <T>(value: T, options?: StructuredSerializeOptions) => T =\n globalThis.structuredClone || _clone;\n\nfunction set(obj: any, key: any, val: any) {\n if (typeof val.value === 'object') val.value = _clone(val.value);\n if (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === '__proto__') {\n Object.defineProperty(obj, key, val);\n } else obj[key] = val.value;\n}\n\n/**\n * @see {@link https://github.com/lukeed/klona/blob/master/src/full.js klona}\n */\nexport function _clone(x: any): any {\n // too complex\n // https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/web.structured-clone.js\n\n if (typeof x !== 'object') return x;\n\n let i = 0;\n let k;\n let list;\n let tmp: any;\n const str = classOf(x);\n switch (str) {\n case 'Array':\n tmp = Array(x.length);\n break;\n case 'Object':\n tmp = Object.create(x.__proto__ || null);\n break;\n case 'Set':\n tmp = new Set();\n x.forEach(function (val: any) {\n tmp.add(_clone(val));\n });\n break;\n case 'Map':\n tmp = new Map();\n x.forEach(function (val: any, key: any) {\n tmp.set(_clone(key), _clone(val));\n });\n break;\n case 'Date':\n tmp = new Date(+x);\n break;\n case 'RegExp':\n tmp = new RegExp(x.source, x.flags);\n break;\n case 'DataView':\n tmp = new x.constructor(_clone(x.buffer));\n break;\n case 'ArrayBuffer':\n tmp = x.slice(0);\n break;\n default:\n // typed arrays\n if (str.endsWith('Array')) {\n // ArrayBuffer.isView(x)\n // ~> `new` bcuz `Buffer.slice` => ref\n tmp = new x.constructor(x);\n }\n }\n\n if (tmp) {\n for (list = Object.getOwnPropertySymbols(x); i < list.length; i++) {\n set(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));\n }\n\n for (i = 0, list = Object.getOwnPropertyNames(x); i < list.length; i++) {\n if (Object.hasOwnProperty.call(tmp, (k = list[i])) && tmp[k] === x[k]) continue;\n set(tmp, k, Object.getOwnPropertyDescriptor(x, k));\n }\n }\n\n return tmp || x;\n}\n"],"names":["classOf","structuredClone","globalThis","_clone","set","obj","key","val","value","enumerable","get","configurable","writable","Object","defineProperty","x","i","k","list","tmp","str","Array","length","create","__proto__","Set","forEach","add","Map","Date","RegExp","source","flags","constructor","buffer","slice","endsWith","getOwnPropertySymbols","getOwnPropertyDescriptor","getOwnPropertyNames","hasOwnProperty","call"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,qBAAqB,GACrB,SAASA,OAAO,QAAQ,mBAAmB;AAE3C;;;;;;;CAOC,GACD,OAAO,MAAMC,kBACXC,WAAWD,eAAe,IAAIE,OAAO;AAEvC,SAASC,IAAIC,GAAQ,EAAEC,GAAQ,EAAEC,GAAQ;IACvC,IAAI,OAAOA,IAAIC,KAAK,KAAK,UAAUD,IAAIC,KAAK,GAAGL,OAAOI,IAAIC,KAAK;IAC/D,IAAI,CAACD,IAAIE,UAAU,IAAIF,IAAIG,GAAG,IAAIH,IAAIH,GAAG,IAAI,CAACG,IAAII,YAAY,IAAI,CAACJ,IAAIK,QAAQ,IAAIN,QAAQ,aAAa;QACtGO,OAAOC,cAAc,CAACT,KAAKC,KAAKC;IAClC,OAAOF,GAAG,CAACC,IAAI,GAAGC,IAAIC,KAAK;AAC7B;AAEA;;CAEC,GACD,OAAO,SAASL,OAAOY,CAAM;IAC3B,cAAc;IACd,mGAAmG;IAEnG,IAAI,OAAOA,MAAM,UAAU,OAAOA;IAElC,IAAIC,IAAI;IACR,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,MAAMC,MAAMpB,QAAQe;IACpB,OAAQK;QACN,KAAK;YACHD,MAAME,MAAMN,EAAEO,MAAM;YACpB;QACF,KAAK;YACHH,MAAMN,OAAOU,MAAM,CAACR,EAAES,SAAS,IAAI;YACnC;QACF,KAAK;YACHL,MAAM,IAAIM;YACVV,EAAEW,OAAO,CAAC,SAAUnB,GAAQ;gBAC1BY,IAAIQ,GAAG,CAACxB,OAAOI;YACjB;YACA;QACF,KAAK;YACHY,MAAM,IAAIS;YACVb,EAAEW,OAAO,CAAC,SAAUnB,GAAQ,EAAED,GAAQ;gBACpCa,IAAIf,GAAG,CAACD,OAAOG,MAAMH,OAAOI;YAC9B;YACA;QACF,KAAK;YACHY,MAAM,IAAIU,KAAK,CAACd;YAChB;QACF,KAAK;YACHI,MAAM,IAAIW,OAAOf,EAAEgB,MAAM,EAAEhB,EAAEiB,KAAK;YAClC;QACF,KAAK;YACHb,MAAM,IAAIJ,EAAEkB,WAAW,CAAC9B,OAAOY,EAAEmB,MAAM;YACvC;QACF,KAAK;YACHf,MAAMJ,EAAEoB,KAAK,CAAC;YACd;QACF;YACE,eAAe;YACf,IAAIf,IAAIgB,QAAQ,CAAC,UAAU;gBACzB,wBAAwB;gBACxB,sCAAsC;gBACtCjB,MAAM,IAAIJ,EAAEkB,WAAW,CAAClB;YAC1B;IACJ;IAEA,IAAII,KAAK;QACP,IAAKD,OAAOL,OAAOwB,qBAAqB,CAACtB,IAAIC,IAAIE,KAAKI,MAAM,EAAEN,IAAK;YACjEZ,IAAIe,KAAKD,IAAI,CAACF,EAAE,EAAEH,OAAOyB,wBAAwB,CAACvB,GAAGG,IAAI,CAACF,EAAE;QAC9D;QAEA,IAAKA,IAAI,GAAGE,OAAOL,OAAO0B,mBAAmB,CAACxB,IAAIC,IAAIE,KAAKI,MAAM,EAAEN,IAAK;YACtE,IAAIH,OAAO2B,cAAc,CAACC,IAAI,CAACtB,KAAMF,IAAIC,IAAI,CAACF,EAAE,KAAMG,GAAG,CAACF,EAAE,KAAKF,CAAC,CAACE,EAAE,EAAE;YACvEb,IAAIe,KAAKF,GAAGJ,OAAOyB,wBAAwB,CAACvB,GAAGE;QACjD;IACF;IAEA,OAAOE,OAAOJ;AAChB"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes