@wener/utils 1.1.27 → 1.1.29

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 (324) hide show
  1. package/lib/arrays/MaybeArray.js +36 -25
  2. package/lib/arrays/MaybeArray.js.map +1 -1
  3. package/lib/arrays/arrayFromAsync.js +5 -7
  4. package/lib/arrays/arrayFromAsync.js.map +1 -1
  5. package/lib/asyncs/AsyncInterval.js +11 -12
  6. package/lib/asyncs/AsyncInterval.js.map +1 -1
  7. package/lib/asyncs/MaybePromise.js +3 -0
  8. package/lib/asyncs/MaybePromise.js.map +1 -0
  9. package/lib/asyncs/createAsyncIterator.js +37 -35
  10. package/lib/asyncs/createAsyncIterator.js.map +1 -1
  11. package/lib/asyncs/createLazyPromise.js +59 -60
  12. package/lib/asyncs/createLazyPromise.js.map +1 -1
  13. package/lib/asyncs/firstOfAsyncIterator.js +7 -9
  14. package/lib/asyncs/firstOfAsyncIterator.js.map +1 -1
  15. package/lib/asyncs/generatorOfStream.js +16 -0
  16. package/lib/asyncs/generatorOfStream.js.map +1 -0
  17. package/lib/asyncs/isIterator.js +3 -4
  18. package/lib/asyncs/isIterator.js.map +1 -1
  19. package/lib/asyncs/isPromise.js +3 -4
  20. package/lib/asyncs/isPromise.js.map +1 -1
  21. package/lib/asyncs/isThenable.js +6 -0
  22. package/lib/asyncs/isThenable.js.map +1 -0
  23. package/lib/asyncs/nextOfAsyncIterator.js +20 -14
  24. package/lib/asyncs/nextOfAsyncIterator.js.map +1 -1
  25. package/lib/asyncs/promiseOfCallback.js +17 -0
  26. package/lib/asyncs/promiseOfCallback.js.map +1 -0
  27. package/lib/asyncs/sleep.js +2 -3
  28. package/lib/asyncs/sleep.js.map +1 -1
  29. package/lib/asyncs/timeout.js +22 -26
  30. package/lib/asyncs/timeout.js.map +1 -1
  31. package/lib/browsers/copy.js +47 -45
  32. package/lib/browsers/copy.js.map +1 -1
  33. package/lib/browsers/download.js +38 -27
  34. package/lib/browsers/download.js.map +1 -1
  35. package/lib/browsers/getFileFromDataTransfer.js +41 -28
  36. package/lib/browsers/getFileFromDataTransfer.js.map +1 -1
  37. package/lib/browsers/loaders.js +43 -43
  38. package/lib/browsers/loaders.js.map +1 -1
  39. package/lib/crypto/base.js +5 -4
  40. package/lib/crypto/base.js.map +1 -1
  41. package/lib/crypto/getNodeCrypto.js +14 -13
  42. package/lib/crypto/getNodeCrypto.js.map +1 -1
  43. package/lib/crypto/getRandomValues.js +22 -26
  44. package/lib/crypto/getRandomValues.js.map +1 -1
  45. package/lib/crypto/hashing.js +42 -50
  46. package/lib/crypto/hashing.js.map +1 -1
  47. package/lib/crypto/md5.bench.js +21 -0
  48. package/lib/crypto/md5.bench.js.map +1 -0
  49. package/lib/crypto/md5.d.js +3 -0
  50. package/lib/crypto/md5.d.js.map +1 -0
  51. package/lib/crypto/md5.js +119 -121
  52. package/lib/crypto/md5.js.map +1 -1
  53. package/lib/crypto/pem/pem.js +32 -35
  54. package/lib/crypto/pem/pem.js.map +1 -1
  55. package/lib/crypto/randomUUID.js +12 -11
  56. package/lib/crypto/randomUUID.js.map +1 -1
  57. package/lib/crypto/ulid.js +123 -112
  58. package/lib/crypto/ulid.js.map +1 -1
  59. package/lib/errors/Errors.js +167 -149
  60. package/lib/errors/Errors.js.map +1 -1
  61. package/lib/fetch/createFetchWith.js +20 -23
  62. package/lib/fetch/createFetchWith.js.map +1 -1
  63. package/lib/fetch/createFetchWithLogging.js +20 -16
  64. package/lib/fetch/createFetchWithLogging.js.map +1 -1
  65. package/lib/fetch/createFetchWithRetry.js +61 -65
  66. package/lib/fetch/createFetchWithRetry.js.map +1 -1
  67. package/lib/fetch/dumpRequest.js +39 -42
  68. package/lib/fetch/dumpRequest.js.map +1 -1
  69. package/lib/fetch/dumpResponse.js +13 -20
  70. package/lib/fetch/dumpResponse.js.map +1 -1
  71. package/lib/fetch/index.js +7 -0
  72. package/lib/fetch/index.js.map +1 -0
  73. package/lib/fetch/types.js +3 -0
  74. package/lib/fetch/types.js.map +1 -0
  75. package/lib/http/HttpStatus.js +89 -80
  76. package/lib/http/HttpStatus.js.map +1 -1
  77. package/lib/i18n/createTranslate.js +48 -48
  78. package/lib/i18n/createTranslate.js.map +1 -1
  79. package/lib/index.js +28 -14
  80. package/lib/index.js.map +1 -1
  81. package/lib/io/AbstractEncoding.js +7 -0
  82. package/lib/io/AbstractEncoding.js.map +1 -0
  83. package/lib/io/ArrayBuffer.test-d.js +7 -0
  84. package/lib/io/ArrayBuffer.test-d.js.map +1 -0
  85. package/lib/io/ArrayBuffers.js +198 -172
  86. package/lib/io/ArrayBuffers.js.map +1 -1
  87. package/lib/io/Buffer.js +21 -20
  88. package/lib/io/Buffer.js.map +1 -1
  89. package/lib/io/base64.js +49 -48
  90. package/lib/io/base64.js.map +1 -1
  91. package/lib/io/isBuffer.js +7 -5
  92. package/lib/io/isBuffer.js.map +1 -1
  93. package/lib/io/isTransferable.js +23 -19
  94. package/lib/io/isTransferable.js.map +1 -1
  95. package/lib/isomorphics/getGlobalThis.js +17 -12
  96. package/lib/isomorphics/getGlobalThis.js.map +1 -1
  97. package/lib/isomorphics/structuredClone.js +71 -63
  98. package/lib/isomorphics/structuredClone.js.map +1 -1
  99. package/lib/langs/MaybeFunction.js +7 -7
  100. package/lib/langs/MaybeFunction.js.map +1 -1
  101. package/lib/langs/classOf.js +3 -4
  102. package/lib/langs/classOf.js.map +1 -1
  103. package/lib/langs/deepEqual.js +77 -85
  104. package/lib/langs/deepEqual.js.map +1 -1
  105. package/lib/langs/deepFreeze.js +17 -13
  106. package/lib/langs/deepFreeze.js.map +1 -1
  107. package/lib/langs/hashCode.ignored.js +112 -0
  108. package/lib/langs/hashCode.ignored.js.map +1 -0
  109. package/lib/langs/isClass.js +3 -4
  110. package/lib/langs/isClass.js.map +1 -1
  111. package/lib/langs/isDefined.js +3 -4
  112. package/lib/langs/isDefined.js.map +1 -1
  113. package/lib/langs/isEmptyObject.js +3 -5
  114. package/lib/langs/isEmptyObject.js.map +1 -1
  115. package/lib/langs/isFunction.js +5 -0
  116. package/lib/langs/isFunction.js.map +1 -0
  117. package/lib/langs/isPlainObject.js +7 -8
  118. package/lib/langs/isPlainObject.js.map +1 -1
  119. package/lib/langs/memoize.js +19 -21
  120. package/lib/langs/memoize.js.map +1 -1
  121. package/lib/langs/parseBoolean.js +26 -27
  122. package/lib/langs/parseBoolean.js.map +1 -1
  123. package/lib/langs/shallowClone.js +12 -12
  124. package/lib/langs/shallowClone.js.map +1 -1
  125. package/lib/langs/shallowEqual.js +21 -18
  126. package/lib/langs/shallowEqual.js.map +1 -1
  127. package/lib/libs/ms.js +123 -103
  128. package/lib/libs/ms.js.map +1 -1
  129. package/lib/logging/Logger.js +5 -0
  130. package/lib/logging/Logger.js.map +1 -0
  131. package/lib/logging/createChildLogger.js +12 -14
  132. package/lib/logging/createChildLogger.js.map +1 -1
  133. package/lib/logging/createLogger.js +59 -33
  134. package/lib/logging/createLogger.js.map +1 -1
  135. package/lib/logging/createNoopLogger.js +11 -12
  136. package/lib/logging/createNoopLogger.js.map +1 -1
  137. package/lib/logging/slog.js +143 -0
  138. package/lib/logging/slog.js.map +1 -0
  139. package/lib/maths/clamp.js +20 -20
  140. package/lib/maths/clamp.js.map +1 -1
  141. package/lib/maths/random.js +14 -15
  142. package/lib/maths/random.js.map +1 -1
  143. package/lib/modules/isModule.js +5 -4
  144. package/lib/modules/isModule.js.map +1 -1
  145. package/lib/modules/parseModuleId.js +36 -31
  146. package/lib/modules/parseModuleId.js.map +1 -1
  147. package/lib/objects/get.js +13 -11
  148. package/lib/objects/get.js.map +1 -1
  149. package/lib/objects/get.test-d.js +33 -0
  150. package/lib/objects/get.test-d.js.map +1 -0
  151. package/lib/objects/merge/index.js +3 -0
  152. package/lib/objects/merge/index.js.map +1 -0
  153. package/lib/objects/merge/isMergeableObject.js +11 -10
  154. package/lib/objects/merge/isMergeableObject.js.map +1 -1
  155. package/lib/objects/merge/merge.js +65 -66
  156. package/lib/objects/merge/merge.js.map +1 -1
  157. package/lib/objects/parseObjectPath.js +35 -23
  158. package/lib/objects/parseObjectPath.js.map +1 -1
  159. package/lib/objects/set.js +33 -34
  160. package/lib/objects/set.js.map +1 -1
  161. package/lib/schema/typebox/gen/codegen/common/encoder.js +93 -67
  162. package/lib/schema/typebox/gen/codegen/common/encoder.js.map +1 -1
  163. package/lib/schema/typebox/gen/codegen/common/formatter.js +31 -8
  164. package/lib/schema/typebox/gen/codegen/common/formatter.js.map +1 -1
  165. package/lib/schema/typebox/gen/codegen/common/index.js +5 -0
  166. package/lib/schema/typebox/gen/codegen/common/index.js.map +1 -0
  167. package/lib/schema/typebox/gen/codegen/common/jsdoc.js +109 -60
  168. package/lib/schema/typebox/gen/codegen/common/jsdoc.js.map +1 -1
  169. package/lib/schema/typebox/gen/codegen/expression/compiler.js +359 -317
  170. package/lib/schema/typebox/gen/codegen/expression/compiler.js.map +1 -1
  171. package/lib/schema/typebox/gen/codegen/expression/errors.js +255 -233
  172. package/lib/schema/typebox/gen/codegen/expression/errors.js.map +1 -1
  173. package/lib/schema/typebox/gen/codegen/expression/evaluator.js +249 -236
  174. package/lib/schema/typebox/gen/codegen/expression/evaluator.js.map +1 -1
  175. package/lib/schema/typebox/gen/codegen/expression/expression.js +382 -198
  176. package/lib/schema/typebox/gen/codegen/expression/expression.js.map +1 -1
  177. package/lib/schema/typebox/gen/codegen/expression/index.js +6 -0
  178. package/lib/schema/typebox/gen/codegen/expression/index.js.map +1 -0
  179. package/lib/schema/typebox/gen/codegen/index.js +5 -19
  180. package/lib/schema/typebox/gen/codegen/index.js.map +1 -1
  181. package/lib/schema/typebox/gen/codegen/model/index.js +16 -0
  182. package/lib/schema/typebox/gen/codegen/model/index.js.map +1 -0
  183. package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js +236 -260
  184. package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js.map +1 -1
  185. package/lib/schema/typebox/gen/codegen/model/model-to-expression.js +348 -352
  186. package/lib/schema/typebox/gen/codegen/model/model-to-expression.js.map +1 -1
  187. package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js +214 -242
  188. package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js.map +1 -1
  189. package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js +229 -292
  190. package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js.map +1 -1
  191. package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js +42 -15
  192. package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js.map +1 -1
  193. package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js +168 -168
  194. package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js.map +1 -1
  195. package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js +31 -8
  196. package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js.map +1 -1
  197. package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js +156 -190
  198. package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js.map +1 -1
  199. package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js +215 -249
  200. package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js.map +1 -1
  201. package/lib/schema/typebox/gen/codegen/model/model-to-value.js +37 -13
  202. package/lib/schema/typebox/gen/codegen/model/model-to-value.js.map +1 -1
  203. package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js +201 -242
  204. package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js.map +1 -1
  205. package/lib/schema/typebox/gen/codegen/model/model-to-yup.js +200 -245
  206. package/lib/schema/typebox/gen/codegen/model/model-to-yup.js.map +1 -1
  207. package/lib/schema/typebox/gen/codegen/model/model-to-zod.js +223 -268
  208. package/lib/schema/typebox/gen/codegen/model/model-to-zod.js.map +1 -1
  209. package/lib/schema/typebox/gen/codegen/model/model.js +27 -0
  210. package/lib/schema/typebox/gen/codegen/model/model.js.map +1 -0
  211. package/lib/schema/typebox/gen/codegen/typescript/index.js +4 -0
  212. package/lib/schema/typebox/gen/codegen/typescript/index.js.map +1 -0
  213. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js +43 -40
  214. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js.map +1 -1
  215. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js +592 -616
  216. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js.map +1 -1
  217. package/lib/schema/typebox/gen/index.js +3 -3
  218. package/lib/schema/typebox/gen/index.js.map +1 -1
  219. package/lib/schema/typebox/index.js +3 -3
  220. package/lib/schema/typebox/index.js.map +1 -1
  221. package/lib/schema/typebox/typebox.js +18 -29
  222. package/lib/schema/typebox/typebox.js.map +1 -1
  223. package/lib/server.js +2 -1
  224. package/lib/server.js.map +1 -1
  225. package/lib/servers/crypto/md5.js +3 -5
  226. package/lib/servers/crypto/md5.js.map +1 -1
  227. package/lib/servers/fetch/createFetchWithProxy.js +2 -4
  228. package/lib/servers/fetch/createFetchWithProxy.js.map +1 -1
  229. package/lib/servers/fetch/createFetchWithProxyByNodeFetch.js +34 -34
  230. package/lib/servers/fetch/createFetchWithProxyByNodeFetch.js.map +1 -1
  231. package/lib/servers/fetch/createFetchWithProxyByUndici.js +57 -58
  232. package/lib/servers/fetch/createFetchWithProxyByUndici.js.map +1 -1
  233. package/lib/servers/getPackageDir.js +8 -10
  234. package/lib/servers/getPackageDir.js.map +1 -1
  235. package/lib/servers/jsdom.js +3 -2
  236. package/lib/servers/jsdom.js.map +1 -1
  237. package/lib/servers/node-fetch.js +4 -3
  238. package/lib/servers/node-fetch.js.map +1 -1
  239. package/lib/servers/polyfill/polyfillBrowser.js +17 -0
  240. package/lib/servers/polyfill/polyfillBrowser.js.map +1 -0
  241. package/lib/servers/polyfill/polyfillCrypto.js +8 -10
  242. package/lib/servers/polyfill/polyfillCrypto.js.map +1 -1
  243. package/lib/servers/polyfill/polyfillFetch.js +23 -22
  244. package/lib/servers/polyfill/polyfillFetch.js.map +1 -1
  245. package/lib/servers/polyfill/polyfillJsDom.js +59 -52
  246. package/lib/servers/polyfill/polyfillJsDom.js.map +1 -1
  247. package/lib/servers/polyfill/polyfillWebSocket.js +13 -13
  248. package/lib/servers/polyfill/polyfillWebSocket.js.map +1 -1
  249. package/lib/servers/ws.js +3 -2
  250. package/lib/servers/ws.js.map +1 -1
  251. package/lib/strings/camelCase.js +51 -49
  252. package/lib/strings/camelCase.js.map +1 -1
  253. package/lib/strings/formatBytes.js +41 -15
  254. package/lib/strings/formatBytes.js.map +1 -1
  255. package/lib/strings/renderTemplate.js +27 -20
  256. package/lib/strings/renderTemplate.js.map +1 -1
  257. package/lib/typedoc.js +4 -0
  258. package/lib/typedoc.js.map +1 -0
  259. package/lib/types/global.d.js +2 -0
  260. package/lib/types/global.d.js.map +1 -0
  261. package/lib/types/index.d.js +6 -0
  262. package/lib/types/index.d.js.map +1 -0
  263. package/lib/validations/asserts.js +14 -0
  264. package/lib/validations/asserts.js.map +1 -0
  265. package/lib/validations/isUUID.js +3 -4
  266. package/lib/validations/isUUID.js.map +1 -1
  267. package/lib/validations/parseTimestamp.js +25 -21
  268. package/lib/validations/parseTimestamp.js.map +1 -1
  269. package/package.json +47 -47
  270. package/dist/LICENSE.txt +0 -1
  271. package/dist/cjs/createFetchWith-qhRObsE4.js +0 -2
  272. package/dist/cjs/createFetchWith-qhRObsE4.js.map +0 -1
  273. package/dist/cjs/getGlobalThis-GhffAgiG.js +0 -2
  274. package/dist/cjs/getGlobalThis-GhffAgiG.js.map +0 -1
  275. package/dist/cjs/index.cjs +0 -21
  276. package/dist/cjs/index.cjs.map +0 -1
  277. package/dist/cjs/schema/typebox/gen/index.cjs +0 -118
  278. package/dist/cjs/schema/typebox/gen/index.cjs.map +0 -1
  279. package/dist/cjs/schema/typebox/index.cjs +0 -2
  280. package/dist/cjs/schema/typebox/index.cjs.map +0 -1
  281. package/dist/cjs/server.cjs +0 -2
  282. package/dist/cjs/server.cjs.map +0 -1
  283. package/dist/cjs/servers/jsdom.cjs +0 -2
  284. package/dist/cjs/servers/jsdom.cjs.map +0 -1
  285. package/dist/cjs/servers/node-fetch.cjs +0 -2
  286. package/dist/cjs/servers/node-fetch.cjs.map +0 -1
  287. package/dist/cjs/servers/ws.cjs +0 -2
  288. package/dist/cjs/servers/ws.cjs.map +0 -1
  289. package/dist/esm/createFetchWith-1q1S-Xro.js +0 -2
  290. package/dist/esm/createFetchWith-1q1S-Xro.js.map +0 -1
  291. package/dist/esm/getGlobalThis-A8F-nU7J.js +0 -2
  292. package/dist/esm/getGlobalThis-A8F-nU7J.js.map +0 -1
  293. package/dist/esm/index.js +0 -21
  294. package/dist/esm/index.js.map +0 -1
  295. package/dist/esm/schema/typebox/gen.js +0 -118
  296. package/dist/esm/schema/typebox/gen.js.map +0 -1
  297. package/dist/esm/schema/typebox.js +0 -2
  298. package/dist/esm/schema/typebox.js.map +0 -1
  299. package/dist/esm/server.js +0 -2
  300. package/dist/esm/server.js.map +0 -1
  301. package/dist/esm/servers/jsdom.js +0 -2
  302. package/dist/esm/servers/jsdom.js.map +0 -1
  303. package/dist/esm/servers/node-fetch.js +0 -2
  304. package/dist/esm/servers/node-fetch.js.map +0 -1
  305. package/dist/esm/servers/ws.js +0 -2
  306. package/dist/esm/servers/ws.js.map +0 -1
  307. package/dist/system/createFetchWith-TjUle-dI.js +0 -2
  308. package/dist/system/createFetchWith-TjUle-dI.js.map +0 -1
  309. package/dist/system/getGlobalThis-X5ifUXDI.js +0 -2
  310. package/dist/system/getGlobalThis-X5ifUXDI.js.map +0 -1
  311. package/dist/system/index.js +0 -21
  312. package/dist/system/index.js.map +0 -1
  313. package/dist/system/schema/typebox/gen.js +0 -118
  314. package/dist/system/schema/typebox/gen.js.map +0 -1
  315. package/dist/system/schema/typebox.js +0 -2
  316. package/dist/system/schema/typebox.js.map +0 -1
  317. package/dist/system/server.js +0 -2
  318. package/dist/system/server.js.map +0 -1
  319. package/dist/system/servers/jsdom.js +0 -2
  320. package/dist/system/servers/jsdom.js.map +0 -1
  321. package/dist/system/servers/node-fetch.js +0 -2
  322. package/dist/system/servers/node-fetch.js.map +0 -1
  323. package/dist/system/servers/ws.js +0 -2
  324. package/dist/system/servers/ws.js.map +0 -1
package/lib/io/Buffer.js CHANGED
@@ -1,24 +1,25 @@
1
1
  import { ArrayBuffers } from './ArrayBuffers.js';
2
2
  import { isBuffer } from './isBuffer.js';
3
-
4
- class Buffer extends Uint8Array {
5
- // constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number) {
6
- // super(buffer, byteOffset, length);
7
- // }
8
- static get isPolyfill() {
9
- return true;
10
- }
11
- static isBuffer(v) {
12
- return v instanceof Buffer || isBuffer(v);
13
- }
14
- static from(array, arg2) {
15
- return new Buffer(ArrayBuffers.from(array, arg2));
16
- }
17
- static isEncoding = ArrayBuffers.isEncoding;
18
- toString(encoding) {
19
- return ArrayBuffers.toString(this, encoding);
20
- }
3
+ /**
4
+ * Buffer is a polyfill version of NodeJS Buffer
5
+ */ export class Buffer extends Uint8Array {
6
+ // constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number) {
7
+ // super(buffer, byteOffset, length);
8
+ // }
9
+ static get isPolyfill() {
10
+ return true;
11
+ }
12
+ static isBuffer(v) {
13
+ return v instanceof Buffer || isBuffer(v);
14
+ }
15
+ static from(array, arg2) {
16
+ // todo mapfn
17
+ return new Buffer(ArrayBuffers.from(array, arg2));
18
+ }
19
+ static isEncoding = ArrayBuffers.isEncoding;
20
+ toString(encoding) {
21
+ return ArrayBuffers.toString(this, encoding);
22
+ }
21
23
  }
22
24
 
23
- export { Buffer };
24
- //# sourceMappingURL=Buffer.js.map
25
+ //# sourceMappingURL=Buffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Buffer.js","sources":["../../src/io/Buffer.ts"],"sourcesContent":["import { ArrayBuffers } from './ArrayBuffers';\nimport { isBuffer } from './isBuffer';\n\n/**\n * Buffer is a polyfill version of NodeJS Buffer\n */\nexport class Buffer extends Uint8Array {\n // constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number) {\n // super(buffer, byteOffset, length);\n // }\n\n static get isPolyfill() {\n return true;\n }\n\n static isBuffer(v: any): v is Buffer {\n return v instanceof Buffer || isBuffer(v);\n }\n\n static from(array: string | BufferSource | ArrayLike<number> | Iterable<number>, arg2?: any): Buffer {\n // todo mapfn\n return new Buffer(ArrayBuffers.from(array, arg2) as ArrayBuffer);\n }\n\n static isEncoding = ArrayBuffers.isEncoding;\n\n toString(encoding?: string): string {\n return ArrayBuffers.toString(this, encoding as any);\n }\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,eAAe,UAAW,CAAA;AAAA;AAAA;AAAA;AAAA,EAKrC,WAAW,UAAa,GAAA;AACtB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEA,OAAO,SAAS,CAAqB,EAAA;AACnC,IAAO,OAAA,CAAA,YAAa,MAAU,IAAA,QAAA,CAAS,CAAC,CAAA,CAAA;AAAA,GAC1C;AAAA,EAEA,OAAO,IAAK,CAAA,KAAA,EAAqE,IAAoB,EAAA;AAEnG,IAAA,OAAO,IAAI,MAAO,CAAA,YAAA,CAAa,IAAK,CAAA,KAAA,EAAO,IAAI,CAAgB,CAAA,CAAA;AAAA,GACjE;AAAA,EAEA,OAAO,aAAa,YAAa,CAAA,UAAA,CAAA;AAAA,EAEjC,SAAS,QAA2B,EAAA;AAClC,IAAO,OAAA,YAAA,CAAa,QAAS,CAAA,IAAA,EAAM,QAAe,CAAA,CAAA;AAAA,GACpD;AACF;;;;"}
1
+ {"version":3,"sources":["../../src/io/Buffer.ts"],"sourcesContent":["import { ArrayBuffers } from './ArrayBuffers';\nimport { isBuffer } from './isBuffer';\n\n/**\n * Buffer is a polyfill version of NodeJS Buffer\n */\nexport class Buffer extends Uint8Array {\n // constructor(buffer: ArrayBufferLike, byteOffset?: number, length?: number) {\n // super(buffer, byteOffset, length);\n // }\n\n static get isPolyfill() {\n return true;\n }\n\n static isBuffer(v: any): v is Buffer {\n return v instanceof Buffer || isBuffer(v);\n }\n\n static from(array: string | BufferSource | ArrayLike<number> | Iterable<number>, arg2?: any): Buffer {\n // todo mapfn\n return new Buffer(ArrayBuffers.from(array, arg2) as ArrayBuffer);\n }\n\n static isEncoding = ArrayBuffers.isEncoding;\n\n toString(encoding?: string): string {\n return ArrayBuffers.toString(this, encoding as any);\n }\n}\n"],"names":["ArrayBuffers","isBuffer","Buffer","Uint8Array","isPolyfill","v","from","array","arg2","isEncoding","toString","encoding"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,QAAQ,QAAQ,aAAa;AAEtC;;CAEC,GACD,OAAO,MAAMC,eAAeC;IAC1B,+EAA+E;IAC/E,uCAAuC;IACvC,IAAI;IAEJ,WAAWC,aAAa;QACtB,OAAO;IACT;IAEA,OAAOH,SAASI,CAAM,EAAe;QACnC,OAAOA,aAAaH,UAAUD,SAASI;IACzC;IAEA,OAAOC,KAAKC,KAAmE,EAAEC,IAAU,EAAU;QACnG,aAAa;QACb,OAAO,IAAIN,OAAOF,aAAaM,IAAI,CAACC,OAAOC;IAC7C;IAEA,OAAOC,aAAaT,aAAaS,UAAU,CAAC;IAE5CC,SAASC,QAAiB,EAAU;QAClC,OAAOX,aAAaU,QAAQ,CAAC,IAAI,EAAEC;IACrC;AACF"}
package/lib/io/base64.js CHANGED
@@ -1,53 +1,54 @@
1
- const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
2
- const lookup = typeof Uint8Array === "undefined" ? [] : new Uint8Array(256);
3
- for (let i = 0; i < chars.length; i++) {
4
- lookup[chars.charCodeAt(i)] = i;
1
+ // https://github.com/niklasvh/base64-arraybuffer/blob/master/src/index.ts
2
+ const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
3
+ // Use a lookup table to find the index.
4
+ const lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);
5
+ for(let i = 0; i < chars.length; i++){
6
+ lookup[chars.charCodeAt(i)] = i;
5
7
  }
6
- function encodeArrayBufferToBase64(arraybuffer) {
7
- const bytes = new Uint8Array(arraybuffer);
8
- const len = bytes.length;
9
- let base64 = "";
10
- for (let i = 0; i < len; i += 3) {
11
- base64 += chars[bytes[i] >> 2];
12
- base64 += chars[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];
13
- base64 += chars[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];
14
- base64 += chars[bytes[i + 2] & 63];
15
- }
16
- if (len % 3 === 2) {
17
- base64 = base64.substring(0, base64.length - 1) + "=";
18
- } else if (len % 3 === 1) {
19
- base64 = base64.substring(0, base64.length - 2) + "==";
20
- }
21
- return base64;
8
+ export function encodeArrayBufferToBase64(arraybuffer) {
9
+ const bytes = new Uint8Array(arraybuffer);
10
+ const len = bytes.length;
11
+ let base64 = '';
12
+ for(let i = 0; i < len; i += 3){
13
+ base64 += chars[bytes[i] >> 2];
14
+ base64 += chars[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];
15
+ base64 += chars[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];
16
+ base64 += chars[bytes[i + 2] & 63];
17
+ }
18
+ if (len % 3 === 2) {
19
+ base64 = base64.substring(0, base64.length - 1) + '=';
20
+ } else if (len % 3 === 1) {
21
+ base64 = base64.substring(0, base64.length - 2) + '==';
22
+ }
23
+ return base64;
22
24
  }
23
- function decodeBase64ToArrayBuffer(base64) {
24
- const len = base64.length;
25
- let bufferLength = base64.length * 0.75;
26
- let i;
27
- let p = 0;
28
- let encoded1;
29
- let encoded2;
30
- let encoded3;
31
- let encoded4;
32
- if (base64[base64.length - 1] === "=") {
33
- bufferLength--;
34
- if (base64[base64.length - 2] === "=") {
35
- bufferLength--;
25
+ export function decodeBase64ToArrayBuffer(base64) {
26
+ const len = base64.length;
27
+ let bufferLength = base64.length * 0.75;
28
+ let i;
29
+ let p = 0;
30
+ let encoded1;
31
+ let encoded2;
32
+ let encoded3;
33
+ let encoded4;
34
+ if (base64[base64.length - 1] === '=') {
35
+ bufferLength--;
36
+ if (base64[base64.length - 2] === '=') {
37
+ bufferLength--;
38
+ }
39
+ }
40
+ const arraybuffer = new ArrayBuffer(bufferLength);
41
+ const bytes = new Uint8Array(arraybuffer);
42
+ for(i = 0; i < len; i += 4){
43
+ encoded1 = lookup[base64.charCodeAt(i)];
44
+ encoded2 = lookup[base64.charCodeAt(i + 1)];
45
+ encoded3 = lookup[base64.charCodeAt(i + 2)];
46
+ encoded4 = lookup[base64.charCodeAt(i + 3)];
47
+ bytes[p++] = encoded1 << 2 | encoded2 >> 4;
48
+ bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;
49
+ bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;
36
50
  }
37
- }
38
- const arraybuffer = new ArrayBuffer(bufferLength);
39
- const bytes = new Uint8Array(arraybuffer);
40
- for (i = 0; i < len; i += 4) {
41
- encoded1 = lookup[base64.charCodeAt(i)];
42
- encoded2 = lookup[base64.charCodeAt(i + 1)];
43
- encoded3 = lookup[base64.charCodeAt(i + 2)];
44
- encoded4 = lookup[base64.charCodeAt(i + 3)];
45
- bytes[p++] = encoded1 << 2 | encoded2 >> 4;
46
- bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;
47
- bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;
48
- }
49
- return arraybuffer;
51
+ return arraybuffer;
50
52
  }
51
53
 
52
- export { decodeBase64ToArrayBuffer, encodeArrayBufferToBase64 };
53
- //# sourceMappingURL=base64.js.map
54
+ //# sourceMappingURL=base64.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base64.js","sources":["../../src/io/base64.ts"],"sourcesContent":["// https://github.com/niklasvh/base64-arraybuffer/blob/master/src/index.ts\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport function encodeArrayBufferToBase64(arraybuffer: ArrayBuffer): string {\n const bytes = new Uint8Array(arraybuffer);\n const len = bytes.length;\n let base64 = '';\n\n for (let i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n}\n\nexport function decodeBase64ToArrayBuffer(base64: string): ArrayBuffer {\n const len = base64.length;\n let bufferLength = base64.length * 0.75;\n let i;\n let p = 0;\n let encoded1;\n let encoded2;\n let encoded3;\n let encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength);\n const bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/io/base64.ts"],"sourcesContent":["// https://github.com/niklasvh/base64-arraybuffer/blob/master/src/index.ts\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport function encodeArrayBufferToBase64(arraybuffer: ArrayBuffer): string {\n const bytes = new Uint8Array(arraybuffer);\n const len = bytes.length;\n let base64 = '';\n\n for (let i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n}\n\nexport function decodeBase64ToArrayBuffer(base64: string): ArrayBuffer {\n const len = base64.length;\n let bufferLength = base64.length * 0.75;\n let i;\n let p = 0;\n let encoded1;\n let encoded2;\n let encoded3;\n let encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength);\n const bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n}\n"],"names":["chars","lookup","Uint8Array","i","length","charCodeAt","encodeArrayBufferToBase64","arraybuffer","bytes","len","base64","substring","decodeBase64ToArrayBuffer","bufferLength","p","encoded1","encoded2","encoded3","encoded4","ArrayBuffer"],"mappings":"AAAA,0EAA0E;AAE1E,MAAMA,QAAQ;AAEd,wCAAwC;AACxC,MAAMC,SAAS,OAAOC,eAAe,cAAc,EAAE,GAAG,IAAIA,WAAW;AACvE,IAAK,IAAIC,IAAI,GAAGA,IAAIH,MAAMI,MAAM,EAAED,IAAK;IACrCF,MAAM,CAACD,MAAMK,UAAU,CAACF,GAAG,GAAGA;AAChC;AAEA,OAAO,SAASG,0BAA0BC,WAAwB;IAChE,MAAMC,QAAQ,IAAIN,WAAWK;IAC7B,MAAME,MAAMD,MAAMJ,MAAM;IACxB,IAAIM,SAAS;IAEb,IAAK,IAAIP,IAAI,GAAGA,IAAIM,KAAKN,KAAK,EAAG;QAC/BO,UAAUV,KAAK,CAACQ,KAAK,CAACL,EAAE,IAAI,EAAE;QAC9BO,UAAUV,KAAK,CAAC,AAAEQ,CAAAA,KAAK,CAACL,EAAE,GAAG,CAAA,KAAM,IAAMK,KAAK,CAACL,IAAI,EAAE,IAAI,EAAG;QAC5DO,UAAUV,KAAK,CAAC,AAAEQ,CAAAA,KAAK,CAACL,IAAI,EAAE,GAAG,EAAC,KAAM,IAAMK,KAAK,CAACL,IAAI,EAAE,IAAI,EAAG;QACjEO,UAAUV,KAAK,CAACQ,KAAK,CAACL,IAAI,EAAE,GAAG,GAAG;IACpC;IAEA,IAAIM,MAAM,MAAM,GAAG;QACjBC,SAASA,OAAOC,SAAS,CAAC,GAAGD,OAAON,MAAM,GAAG,KAAK;IACpD,OAAO,IAAIK,MAAM,MAAM,GAAG;QACxBC,SAASA,OAAOC,SAAS,CAAC,GAAGD,OAAON,MAAM,GAAG,KAAK;IACpD;IAEA,OAAOM;AACT;AAEA,OAAO,SAASE,0BAA0BF,MAAc;IACtD,MAAMD,MAAMC,OAAON,MAAM;IACzB,IAAIS,eAAeH,OAAON,MAAM,GAAG;IACnC,IAAID;IACJ,IAAIW,IAAI;IACR,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IAEJ,IAAIR,MAAM,CAACA,OAAON,MAAM,GAAG,EAAE,KAAK,KAAK;QACrCS;QACA,IAAIH,MAAM,CAACA,OAAON,MAAM,GAAG,EAAE,KAAK,KAAK;YACrCS;QACF;IACF;IAEA,MAAMN,cAAc,IAAIY,YAAYN;IACpC,MAAML,QAAQ,IAAIN,WAAWK;IAE7B,IAAKJ,IAAI,GAAGA,IAAIM,KAAKN,KAAK,EAAG;QAC3BY,WAAWd,MAAM,CAACS,OAAOL,UAAU,CAACF,GAAG;QACvCa,WAAWf,MAAM,CAACS,OAAOL,UAAU,CAACF,IAAI,GAAG;QAC3Cc,WAAWhB,MAAM,CAACS,OAAOL,UAAU,CAACF,IAAI,GAAG;QAC3Ce,WAAWjB,MAAM,CAACS,OAAOL,UAAU,CAACF,IAAI,GAAG;QAE3CK,KAAK,CAACM,IAAI,GAAG,AAACC,YAAY,IAAMC,YAAY;QAC5CR,KAAK,CAACM,IAAI,GAAG,AAAEE,CAAAA,WAAW,EAAC,KAAM,IAAMC,YAAY;QACnDT,KAAK,CAACM,IAAI,GAAG,AAAEG,CAAAA,WAAW,CAAA,KAAM,IAAMC,WAAW;IACnD;IAEA,OAAOX;AACT"}
@@ -1,7 +1,9 @@
1
- function isBuffer(obj) {
2
- var _a, _b;
3
- return (_b = (_a = obj == null ? void 0 : obj.constructor) == null ? void 0 : _a.isBuffer) == null ? void 0 : _b.call(_a, obj);
1
+ /**
2
+ * check {@link obj} is Buffer
3
+ *
4
+ * @see {@link https://github.com/feross/is-buffer feross/is-buffer}
5
+ */ export function isBuffer(obj) {
6
+ return obj?.constructor?.isBuffer?.(obj);
4
7
  }
5
8
 
6
- export { isBuffer };
7
- //# sourceMappingURL=isBuffer.js.map
9
+ //# sourceMappingURL=isBuffer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isBuffer.js","sources":["../../src/io/isBuffer.ts"],"sourcesContent":["/**\n * check {@link obj} is Buffer\n *\n * @see {@link https://github.com/feross/is-buffer feross/is-buffer}\n */\nexport function isBuffer(obj: any): obj is Buffer {\n return obj?.constructor?.isBuffer?.(obj);\n}\n"],"names":[],"mappings":"AAKO,SAAS,SAAS,GAAyB,EAAA;AALlD,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAME,EAAA,OAAA,CAAO,EAAK,GAAA,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,WAAA,KAAL,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAlB,IAA6B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,GAAA,CAAA,CAAA;AACtC;;;;"}
1
+ {"version":3,"sources":["../../src/io/isBuffer.ts"],"sourcesContent":["/**\n * check {@link obj} is Buffer\n *\n * @see {@link https://github.com/feross/is-buffer feross/is-buffer}\n */\nexport function isBuffer(obj: any): obj is Buffer {\n return obj?.constructor?.isBuffer?.(obj);\n}\n"],"names":["isBuffer","obj","constructor"],"mappings":"AAAA;;;;CAIC,GACD,OAAO,SAASA,SAASC,GAAQ;IAC/B,OAAOA,KAAKC,aAAaF,WAAWC;AACtC"}
@@ -1,26 +1,30 @@
1
1
  import { getGlobalThis } from '../isomorphics/getGlobalThis.js';
2
-
3
2
  const globalThis = getGlobalThis();
4
- function isTransferable(v) {
5
- _ctors || (_ctors = ctors());
6
- return _ctors.some((ctor) => v instanceof ctor);
3
+ /**
4
+ * transferable object pass between workers, can work with structuredClone
5
+ *
6
+ * - Chrome 87, FF 103, Safari X, NodeJS X
7
+ *
8
+ * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Transferable_objects | Transferable objects}
9
+ */ export function isTransferable(v) {
10
+ _ctors ||= ctors();
11
+ return _ctors.some((ctor)=>v instanceof ctor);
7
12
  }
8
13
  let _ctors;
9
14
  function ctors() {
10
- const o = globalThis.window || globalThis || global;
11
- return [
12
- o.ArrayBuffer,
13
- o.MessagePort,
14
- o.ReadableStream,
15
- o.WritableStream,
16
- o.TransformStream,
17
- o.AudioData,
18
- o.ImageBitmap,
19
- o.VideoFrame,
20
- o.OffscreenCanvas,
21
- o.RTCDataChannel
22
- ].filter(Boolean);
15
+ const o = globalThis.window || globalThis || global;
16
+ return [
17
+ o.ArrayBuffer,
18
+ o.MessagePort,
19
+ o.ReadableStream,
20
+ o.WritableStream,
21
+ o.TransformStream,
22
+ o.AudioData,
23
+ o.ImageBitmap,
24
+ o.VideoFrame,
25
+ o.OffscreenCanvas,
26
+ o.RTCDataChannel
27
+ ].filter(Boolean);
23
28
  }
24
29
 
25
- export { isTransferable };
26
- //# sourceMappingURL=isTransferable.js.map
30
+ //# sourceMappingURL=isTransferable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isTransferable.js","sources":["../../src/io/isTransferable.ts"],"sourcesContent":["import { getGlobalThis } from '../isomorphics/getGlobalThis';\n\nconst globalThis = getGlobalThis();\n\n/**\n * transferable object pass between workers, can work with structuredClone\n *\n * - Chrome 87, FF 103, Safari X, NodeJS X\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Transferable_objects | Transferable objects}\n */\nexport function isTransferable(v: any): v is TransferableObject {\n _ctors ||= ctors();\n return _ctors.some((ctor) => v instanceof ctor);\n}\n\nlet _ctors: any[];\n\nfunction ctors() {\n const o: any = globalThis.window || globalThis || global;\n return [\n o.ArrayBuffer,\n o.MessagePort,\n o.ReadableStream,\n o.WritableStream,\n o.TransformStream,\n o.AudioData,\n o.ImageBitmap,\n o.VideoFrame,\n o.OffscreenCanvas,\n o.RTCDataChannel,\n ].filter(Boolean);\n}\n\nexport type TransferableObject =\n | Transferable\n | ArrayBuffer\n | MessagePort\n | ReadableStream\n | WritableStream\n | TransformStream\n | AudioData\n | ImageBitmap\n | VideoFrame\n | OffscreenCanvas\n | RTCDataChannel;\n\ndeclare global {\n interface OffscreenCanvas {}\n\n interface VideoFrame {}\n\n interface AudioData {}\n}\n"],"names":[],"mappings":";;AAEA,MAAM,aAAa,aAAc,EAAA,CAAA;AAS1B,SAAS,eAAe,CAAiC,EAAA;AAC9D,EAAA,MAAA,KAAA,MAAA,GAAW,KAAM,EAAA,CAAA,CAAA;AACjB,EAAA,OAAO,MAAO,CAAA,IAAA,CAAK,CAAC,IAAA,KAAS,aAAa,IAAI,CAAA,CAAA;AAChD,CAAA;AAEA,IAAI,MAAA,CAAA;AAEJ,SAAS,KAAQ,GAAA;AACf,EAAM,MAAA,CAAA,GAAS,UAAW,CAAA,MAAA,IAAU,UAAc,IAAA,MAAA,CAAA;AAClD,EAAO,OAAA;AAAA,IACL,CAAE,CAAA,WAAA;AAAA,IACF,CAAE,CAAA,WAAA;AAAA,IACF,CAAE,CAAA,cAAA;AAAA,IACF,CAAE,CAAA,cAAA;AAAA,IACF,CAAE,CAAA,eAAA;AAAA,IACF,CAAE,CAAA,SAAA;AAAA,IACF,CAAE,CAAA,WAAA;AAAA,IACF,CAAE,CAAA,UAAA;AAAA,IACF,CAAE,CAAA,eAAA;AAAA,IACF,CAAE,CAAA,cAAA;AAAA,GACJ,CAAE,OAAO,OAAO,CAAA,CAAA;AAClB;;;;"}
1
+ {"version":3,"sources":["../../src/io/isTransferable.ts"],"sourcesContent":["import { getGlobalThis } from '../isomorphics/getGlobalThis';\n\nconst globalThis = getGlobalThis();\n\n/**\n * transferable object pass between workers, can work with structuredClone\n *\n * - Chrome 87, FF 103, Safari X, NodeJS X\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Transferable_objects | Transferable objects}\n */\nexport function isTransferable(v: any): v is TransferableObject {\n _ctors ||= ctors();\n return _ctors.some((ctor) => v instanceof ctor);\n}\n\nlet _ctors: any[];\n\nfunction ctors() {\n const o: any = globalThis.window || globalThis || global;\n return [\n o.ArrayBuffer,\n o.MessagePort,\n o.ReadableStream,\n o.WritableStream,\n o.TransformStream,\n o.AudioData,\n o.ImageBitmap,\n o.VideoFrame,\n o.OffscreenCanvas,\n o.RTCDataChannel,\n ].filter(Boolean);\n}\n\nexport type TransferableObject =\n | Transferable\n | ArrayBuffer\n | MessagePort\n | ReadableStream\n | WritableStream\n | TransformStream\n | AudioData\n | ImageBitmap\n | VideoFrame\n | OffscreenCanvas\n | RTCDataChannel;\n\ndeclare global {\n interface OffscreenCanvas {}\n\n interface VideoFrame {}\n\n interface AudioData {}\n}\n"],"names":["getGlobalThis","globalThis","isTransferable","v","_ctors","ctors","some","ctor","o","window","global","ArrayBuffer","MessagePort","ReadableStream","WritableStream","TransformStream","AudioData","ImageBitmap","VideoFrame","OffscreenCanvas","RTCDataChannel","filter","Boolean"],"mappings":"AAAA,SAASA,aAAa,QAAQ,+BAA+B;AAE7D,MAAMC,aAAaD;AAEnB;;;;;;CAMC,GACD,OAAO,SAASE,eAAeC,CAAM;IACnCC,WAAWC;IACX,OAAOD,OAAOE,IAAI,CAAC,CAACC,OAASJ,aAAaI;AAC5C;AAEA,IAAIH;AAEJ,SAASC;IACP,MAAMG,IAASP,WAAWQ,MAAM,IAAIR,cAAcS;IAClD,OAAO;QACLF,EAAEG,WAAW;QACbH,EAAEI,WAAW;QACbJ,EAAEK,cAAc;QAChBL,EAAEM,cAAc;QAChBN,EAAEO,eAAe;QACjBP,EAAEQ,SAAS;QACXR,EAAES,WAAW;QACbT,EAAEU,UAAU;QACZV,EAAEW,eAAe;QACjBX,EAAEY,cAAc;KACjB,CAACC,MAAM,CAACC;AACX"}
@@ -1,14 +1,19 @@
1
- const getGlobalThis = () => {
2
- if (typeof globalThis !== "undefined")
3
- return globalThis;
4
- if (typeof self !== "undefined")
5
- return self;
6
- if (typeof window !== "undefined")
7
- return window;
8
- if (typeof global !== "undefined")
9
- return global;
10
- throw new Error("Unable to locate global `this`");
1
+ /**
2
+ * isomorphic globalThis
3
+ *
4
+ * globalThis supported by ff 65, Chrome 71, Node 12, babel
5
+ *
6
+ * non-standard globalThis supported for Alipay Miniprogram
7
+ *
8
+ * @see https://caniuse.com/#search=globalThis
9
+ * @see https://v8.dev/features/globalthis
10
+ */ export const getGlobalThis = ()=>{
11
+ if (typeof globalThis !== 'undefined') return globalThis;
12
+ if (typeof self !== 'undefined') return self;
13
+ if (typeof window !== 'undefined') return window;
14
+ if (typeof global !== 'undefined') return global;
15
+ if (typeof this !== 'undefined') return this;
16
+ throw new Error('Unable to locate global `this`');
11
17
  };
12
18
 
13
- export { getGlobalThis };
14
- //# sourceMappingURL=getGlobalThis.js.map
19
+ //# sourceMappingURL=getGlobalThis.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGlobalThis.js","sources":["../../src/isomorphics/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":[],"mappings":"AAYO,MAAM,gBAAgB,MAAyB;AACpD,EAAA,IAAI,OAAO,UAAe,KAAA,WAAA;AAAa,IAAO,OAAA,UAAA,CAAA;AAC9C,EAAA,IAAI,OAAO,IAAS,KAAA,WAAA;AAAa,IAAO,OAAA,IAAA,CAAA;AACxC,EAAA,IAAI,OAAO,MAAW,KAAA,WAAA;AAAa,IAAO,OAAA,MAAA,CAAA;AAC1C,EAAA,IAAI,OAAO,MAAW,KAAA,WAAA;AAAa,IAAO,OAAA,MAAA,CAAA;AAE1C,EAAM,MAAA,IAAI,MAAM,gCAAgC,CAAA,CAAA;AAClD;;;;"}
1
+ {"version":3,"sources":["../../src/isomorphics/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"],"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,72 +1,80 @@
1
1
  import { classOf } from '../langs/classOf.js';
2
2
  import { getGlobalThis } from './getGlobalThis.js';
3
-
4
3
  const globalThis = getGlobalThis();
5
- const structuredClone = globalThis.structuredClone || _clone;
4
+ /**
5
+ * Clone an object using structured cloning algorithm
6
+ *
7
+ * - Chrome 98, Safari 15.4, NodeJS 17
8
+ *
9
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/structuredClone structuredClone}
10
+ * @see {@link https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/web.structured-clone.js core-js}
11
+ */ export const structuredClone = globalThis.structuredClone || _clone;
6
12
  function set(obj, key, val) {
7
- if (typeof val.value === "object")
8
- val.value = _clone(val.value);
9
- if (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === "__proto__") {
10
- Object.defineProperty(obj, key, val);
11
- } else
12
- obj[key] = val.value;
13
+ if (typeof val.value === 'object') val.value = _clone(val.value);
14
+ if (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === '__proto__') {
15
+ Object.defineProperty(obj, key, val);
16
+ } else obj[key] = val.value;
13
17
  }
14
- function _clone(x) {
15
- if (typeof x !== "object")
16
- return x;
17
- let i = 0;
18
- let k;
19
- let list;
20
- let tmp;
21
- const str = classOf(x);
22
- switch (str) {
23
- case "Array":
24
- tmp = Array(x.length);
25
- break;
26
- case "Object":
27
- tmp = Object.create(x.__proto__ || null);
28
- break;
29
- case "Set":
30
- tmp = /* @__PURE__ */ new Set();
31
- x.forEach(function(val) {
32
- tmp.add(_clone(val));
33
- });
34
- break;
35
- case "Map":
36
- tmp = /* @__PURE__ */ new Map();
37
- x.forEach(function(val, key) {
38
- tmp.set(_clone(key), _clone(val));
39
- });
40
- break;
41
- case "Date":
42
- tmp = /* @__PURE__ */ new Date(+x);
43
- break;
44
- case "RegExp":
45
- tmp = new RegExp(x.source, x.flags);
46
- break;
47
- case "DataView":
48
- tmp = new x.constructor(_clone(x.buffer));
49
- break;
50
- case "ArrayBuffer":
51
- tmp = x.slice(0);
52
- break;
53
- default:
54
- if (str.endsWith("Array")) {
55
- tmp = new x.constructor(x);
56
- }
57
- }
58
- if (tmp) {
59
- for (list = Object.getOwnPropertySymbols(x); i < list.length; i++) {
60
- set(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));
18
+ /**
19
+ * @see {@link https://github.com/lukeed/klona/blob/master/src/full.js klona}
20
+ */ export function _clone(x) {
21
+ // too complex
22
+ // https://github.com/zloirock/core-js/blob/master/packages/core-js/modules/web.structured-clone.js
23
+ if (typeof x !== 'object') return x;
24
+ let i = 0;
25
+ let k;
26
+ let list;
27
+ let tmp;
28
+ const str = classOf(x);
29
+ switch(str){
30
+ case 'Array':
31
+ tmp = Array(x.length);
32
+ break;
33
+ case 'Object':
34
+ tmp = Object.create(x.__proto__ || null);
35
+ break;
36
+ case 'Set':
37
+ tmp = new Set();
38
+ x.forEach(function(val) {
39
+ tmp.add(_clone(val));
40
+ });
41
+ break;
42
+ case 'Map':
43
+ tmp = new Map();
44
+ x.forEach(function(val, key) {
45
+ tmp.set(_clone(key), _clone(val));
46
+ });
47
+ break;
48
+ case 'Date':
49
+ tmp = new Date(+x);
50
+ break;
51
+ case 'RegExp':
52
+ tmp = new RegExp(x.source, x.flags);
53
+ break;
54
+ case 'DataView':
55
+ tmp = new x.constructor(_clone(x.buffer));
56
+ break;
57
+ case 'ArrayBuffer':
58
+ tmp = x.slice(0);
59
+ break;
60
+ default:
61
+ // typed arrays
62
+ if (str.endsWith('Array')) {
63
+ // ArrayBuffer.isView(x)
64
+ // ~> `new` bcuz `Buffer.slice` => ref
65
+ tmp = new x.constructor(x);
66
+ }
61
67
  }
62
- for (i = 0, list = Object.getOwnPropertyNames(x); i < list.length; i++) {
63
- if (Object.hasOwnProperty.call(tmp, k = list[i]) && tmp[k] === x[k])
64
- continue;
65
- set(tmp, k, Object.getOwnPropertyDescriptor(x, k));
68
+ if (tmp) {
69
+ for(list = Object.getOwnPropertySymbols(x); i < list.length; i++){
70
+ set(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));
71
+ }
72
+ for(i = 0, list = Object.getOwnPropertyNames(x); i < list.length; i++){
73
+ if (Object.hasOwnProperty.call(tmp, k = list[i]) && tmp[k] === x[k]) continue;
74
+ set(tmp, k, Object.getOwnPropertyDescriptor(x, k));
75
+ }
66
76
  }
67
- }
68
- return tmp || x;
77
+ return tmp || x;
69
78
  }
70
79
 
71
- export { _clone, structuredClone };
72
- //# sourceMappingURL=structuredClone.js.map
80
+ //# sourceMappingURL=structuredClone.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"structuredClone.js","sources":["../../src/isomorphics/structuredClone.ts"],"sourcesContent":["/* eslint no-proto:0 */\nimport { classOf } from '../langs/classOf';\nimport { getGlobalThis } from './getGlobalThis';\n\nconst globalThis = getGlobalThis();\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":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/isomorphics/structuredClone.ts"],"sourcesContent":["/* eslint no-proto:0 */\nimport { classOf } from '../langs/classOf';\nimport { getGlobalThis } from './getGlobalThis';\n\nconst globalThis = getGlobalThis();\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","getGlobalThis","globalThis","structuredClone","_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"],"mappings":"AAAA,qBAAqB,GACrB,SAASA,OAAO,QAAQ,mBAAmB;AAC3C,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,MAAMC,aAAaD;AAEnB;;;;;;;CAOC,GACD,OAAO,MAAME,kBACXD,WAAWC,eAAe,IAAIC,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,MAAMrB,QAAQgB;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"}
@@ -1,9 +1,9 @@
1
- function maybeFunction(v, ...args) {
2
- if (v instanceof Function) {
3
- return v(...args);
4
- }
5
- return v;
1
+ export function maybeFunction(v, ...args) {
2
+ // https://github.com/microsoft/TypeScript/issues/37663#issuecomment-759728342
3
+ if (v instanceof Function) {
4
+ return v(...args);
5
+ }
6
+ return v;
6
7
  }
7
8
 
8
- export { maybeFunction };
9
- //# sourceMappingURL=MaybeFunction.js.map
9
+ //# sourceMappingURL=MaybeFunction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaybeFunction.js","sources":["../../src/langs/MaybeFunction.ts"],"sourcesContent":["export type MaybeFunction<T, P extends any[] = any[]> = T | ((...args: P) => T);\n\nexport function maybeFunction<T, P extends any[] = any[]>(v: MaybeFunction<T, P>, ...args: P): T {\n // https://github.com/microsoft/TypeScript/issues/37663#issuecomment-759728342\n if (v instanceof Function) {\n return v(...args);\n }\n return v;\n}\n"],"names":[],"mappings":"AAEgB,SAAA,aAAA,CAA0C,MAA2B,IAAY,EAAA;AAE/F,EAAA,IAAI,aAAa,QAAU,EAAA;AACzB,IAAO,OAAA,CAAA,CAAE,GAAG,IAAI,CAAA,CAAA;AAAA,GAClB;AACA,EAAO,OAAA,CAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"sources":["../../src/langs/MaybeFunction.ts"],"sourcesContent":["export type MaybeFunction<T, P extends any[] = any[]> = T | ((...args: P) => T);\n\nexport function maybeFunction<T, P extends any[] = any[]>(v: MaybeFunction<T, P>, ...args: P): T {\n // https://github.com/microsoft/TypeScript/issues/37663#issuecomment-759728342\n if (v instanceof Function) {\n return v(...args);\n }\n return v;\n}\n"],"names":["maybeFunction","v","args","Function"],"mappings":"AAEA,OAAO,SAASA,cAA0CC,CAAsB,EAAE,GAAGC,IAAO;IAC1F,8EAA8E;IAC9E,IAAID,aAAaE,UAAU;QACzB,OAAOF,KAAKC;IACd;IACA,OAAOD;AACT"}
@@ -1,6 +1,5 @@
1
- function classOf(o) {
2
- return Object.prototype.toString.call(o).slice(8, -1);
1
+ export function classOf(o) {
2
+ return Object.prototype.toString.call(o).slice(8, -1);
3
3
  }
4
4
 
5
- export { classOf };
6
- //# sourceMappingURL=classOf.js.map
5
+ //# sourceMappingURL=classOf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"classOf.js","sources":["../../src/langs/classOf.ts"],"sourcesContent":["export function classOf(o: any) {\n return Object.prototype.toString.call(o).slice(8, -1);\n}\n"],"names":[],"mappings":"AAAO,SAAS,QAAQ,CAAQ,EAAA;AAC9B,EAAO,OAAA,MAAA,CAAO,UAAU,QAAS,CAAA,IAAA,CAAK,CAAC,CAAE,CAAA,KAAA,CAAM,GAAG,CAAE,CAAA,CAAA,CAAA;AACtD;;;;"}
1
+ {"version":3,"sources":["../../src/langs/classOf.ts"],"sourcesContent":["export function classOf(o: any) {\n return Object.prototype.toString.call(o).slice(8, -1);\n}\n"],"names":["classOf","o","Object","prototype","toString","call","slice"],"mappings":"AAAA,OAAO,SAASA,QAAQC,CAAM;IAC5B,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ,GAAGK,KAAK,CAAC,GAAG,CAAC;AACrD"}