@wener/utils 1.1.31 → 1.1.33

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 (317) hide show
  1. package/dist/LICENSE.txt +1 -0
  2. package/dist/cjs/index.cjs +21 -0
  3. package/dist/cjs/index.cjs.map +1 -0
  4. package/dist/esm/index.js +21 -0
  5. package/dist/esm/index.js.map +1 -0
  6. package/dist/system/index.js +21 -0
  7. package/dist/system/index.js.map +1 -0
  8. package/package.json +37 -69
  9. package/src/asyncs/nextOfAsyncIterator.ts +13 -1
  10. package/src/asyncs/timeout.ts +15 -12
  11. package/src/cn/index.ts +1 -0
  12. package/src/cn/parseChineseNumber.test.ts +24 -0
  13. package/src/cn/parseChineseNumber.ts +97 -0
  14. package/src/crypto/getRandomValues.ts +5 -3
  15. package/src/crypto/hashing.test.ts +1 -1
  16. package/src/errors/Errors.test.ts +22 -0
  17. package/src/errors/Errors.ts +1 -4
  18. package/src/index.ts +2 -0
  19. package/src/io/Bytes.ts +64 -0
  20. package/src/isomorphics/structuredClone.ts +0 -3
  21. package/src/langs/AsyncCloser.ts +45 -0
  22. package/src/langs/Closer.ts +39 -0
  23. package/src/server/index.ts +6 -0
  24. package/src/{servers → server}/polyfill/polyfillWebSocket.ts +5 -0
  25. package/src/{types/index.d.ts → types.d.ts} +12 -0
  26. package/tsconfig.json +7 -5
  27. package/index.ts +0 -1
  28. package/lib/arrays/MaybeArray.js +0 -41
  29. package/lib/arrays/MaybeArray.js.map +0 -1
  30. package/lib/arrays/arrayFromAsync.js +0 -7
  31. package/lib/arrays/arrayFromAsync.js.map +0 -1
  32. package/lib/asyncs/AsyncInterval.js +0 -14
  33. package/lib/asyncs/AsyncInterval.js.map +0 -1
  34. package/lib/asyncs/MaybePromise.js +0 -3
  35. package/lib/asyncs/MaybePromise.js.map +0 -1
  36. package/lib/asyncs/createAsyncIterator.js +0 -41
  37. package/lib/asyncs/createAsyncIterator.js.map +0 -1
  38. package/lib/asyncs/createLazyPromise.js +0 -65
  39. package/lib/asyncs/createLazyPromise.js.map +0 -1
  40. package/lib/asyncs/firstOfAsyncIterator.js +0 -11
  41. package/lib/asyncs/firstOfAsyncIterator.js.map +0 -1
  42. package/lib/asyncs/generatorOfStream.js +0 -16
  43. package/lib/asyncs/generatorOfStream.js.map +0 -1
  44. package/lib/asyncs/isIterator.js +0 -5
  45. package/lib/asyncs/isIterator.js.map +0 -1
  46. package/lib/asyncs/isPromise.js +0 -5
  47. package/lib/asyncs/isPromise.js.map +0 -1
  48. package/lib/asyncs/isThenable.js +0 -6
  49. package/lib/asyncs/isThenable.js.map +0 -1
  50. package/lib/asyncs/nextOfAsyncIterator.js +0 -25
  51. package/lib/asyncs/nextOfAsyncIterator.js.map +0 -1
  52. package/lib/asyncs/promiseOfCallback.js +0 -17
  53. package/lib/asyncs/promiseOfCallback.js.map +0 -1
  54. package/lib/asyncs/sleep.js +0 -3
  55. package/lib/asyncs/sleep.js.map +0 -1
  56. package/lib/asyncs/timeout.js +0 -25
  57. package/lib/asyncs/timeout.js.map +0 -1
  58. package/lib/browsers/copy.js +0 -53
  59. package/lib/browsers/copy.js.map +0 -1
  60. package/lib/browsers/download.js +0 -41
  61. package/lib/browsers/download.js.map +0 -1
  62. package/lib/browsers/getFileFromDataTransfer.js +0 -45
  63. package/lib/browsers/getFileFromDataTransfer.js.map +0 -1
  64. package/lib/browsers/loaders.js +0 -49
  65. package/lib/browsers/loaders.js.map +0 -1
  66. package/lib/crypto/base.js +0 -7
  67. package/lib/crypto/base.js.map +0 -1
  68. package/lib/crypto/getNodeCrypto.js +0 -18
  69. package/lib/crypto/getNodeCrypto.js.map +0 -1
  70. package/lib/crypto/getRandomValues.js +0 -29
  71. package/lib/crypto/getRandomValues.js.map +0 -1
  72. package/lib/crypto/hashing.js +0 -57
  73. package/lib/crypto/hashing.js.map +0 -1
  74. package/lib/crypto/md5.bench.js +0 -21
  75. package/lib/crypto/md5.bench.js.map +0 -1
  76. package/lib/crypto/md5.d.js +0 -3
  77. package/lib/crypto/md5.d.js.map +0 -1
  78. package/lib/crypto/md5.js +0 -121
  79. package/lib/crypto/md5.js.map +0 -1
  80. package/lib/crypto/pem/pem.js +0 -35
  81. package/lib/crypto/pem/pem.js.map +0 -1
  82. package/lib/crypto/randomUUID.js +0 -16
  83. package/lib/crypto/randomUUID.js.map +0 -1
  84. package/lib/crypto/ulid.js +0 -153
  85. package/lib/crypto/ulid.js.map +0 -1
  86. package/lib/errors/Errors.js +0 -181
  87. package/lib/errors/Errors.js.map +0 -1
  88. package/lib/fetch/createFetchWith.js +0 -23
  89. package/lib/fetch/createFetchWith.js.map +0 -1
  90. package/lib/fetch/createFetchWithLogging.js +0 -25
  91. package/lib/fetch/createFetchWithLogging.js.map +0 -1
  92. package/lib/fetch/createFetchWithRetry.js +0 -66
  93. package/lib/fetch/createFetchWithRetry.js.map +0 -1
  94. package/lib/fetch/dumpRequest.js +0 -45
  95. package/lib/fetch/dumpRequest.js.map +0 -1
  96. package/lib/fetch/dumpResponse.js +0 -16
  97. package/lib/fetch/dumpResponse.js.map +0 -1
  98. package/lib/fetch/index.js +0 -7
  99. package/lib/fetch/index.js.map +0 -1
  100. package/lib/fetch/types.js +0 -3
  101. package/lib/fetch/types.js.map +0 -1
  102. package/lib/http/HttpStatus.js +0 -94
  103. package/lib/http/HttpStatus.js.map +0 -1
  104. package/lib/i18n/createTranslate.js +0 -54
  105. package/lib/i18n/createTranslate.js.map +0 -1
  106. package/lib/index.js +0 -80
  107. package/lib/index.js.map +0 -1
  108. package/lib/io/AbstractEncoding.js +0 -7
  109. package/lib/io/AbstractEncoding.js.map +0 -1
  110. package/lib/io/ArrayBuffer.test-d.js +0 -7
  111. package/lib/io/ArrayBuffer.test-d.js.map +0 -1
  112. package/lib/io/ArrayBuffers.js +0 -210
  113. package/lib/io/ArrayBuffers.js.map +0 -1
  114. package/lib/io/Buffer.js +0 -25
  115. package/lib/io/Buffer.js.map +0 -1
  116. package/lib/io/base64.js +0 -54
  117. package/lib/io/base64.js.map +0 -1
  118. package/lib/io/isBuffer.js +0 -9
  119. package/lib/io/isBuffer.js.map +0 -1
  120. package/lib/io/isTransferable.js +0 -30
  121. package/lib/io/isTransferable.js.map +0 -1
  122. package/lib/isomorphics/getGlobalThis.js +0 -19
  123. package/lib/isomorphics/getGlobalThis.js.map +0 -1
  124. package/lib/isomorphics/structuredClone.js +0 -80
  125. package/lib/isomorphics/structuredClone.js.map +0 -1
  126. package/lib/langs/MaybeFunction.js +0 -9
  127. package/lib/langs/MaybeFunction.js.map +0 -1
  128. package/lib/langs/classOf.js +0 -5
  129. package/lib/langs/classOf.js.map +0 -1
  130. package/lib/langs/deepEqual.js +0 -87
  131. package/lib/langs/deepEqual.js.map +0 -1
  132. package/lib/langs/deepFreeze.js +0 -20
  133. package/lib/langs/deepFreeze.js.map +0 -1
  134. package/lib/langs/hashCode.ignored.js +0 -112
  135. package/lib/langs/hashCode.ignored.js.map +0 -1
  136. package/lib/langs/isClass.js +0 -5
  137. package/lib/langs/isClass.js.map +0 -1
  138. package/lib/langs/isDefined.js +0 -5
  139. package/lib/langs/isDefined.js.map +0 -1
  140. package/lib/langs/isEmptyObject.js +0 -6
  141. package/lib/langs/isEmptyObject.js.map +0 -1
  142. package/lib/langs/isFunction.js +0 -5
  143. package/lib/langs/isFunction.js.map +0 -1
  144. package/lib/langs/isPlainObject.js +0 -10
  145. package/lib/langs/isPlainObject.js.map +0 -1
  146. package/lib/langs/memoize.js +0 -22
  147. package/lib/langs/memoize.js.map +0 -1
  148. package/lib/langs/parseBoolean.js +0 -30
  149. package/lib/langs/parseBoolean.js.map +0 -1
  150. package/lib/langs/shallowClone.js +0 -15
  151. package/lib/langs/shallowClone.js.map +0 -1
  152. package/lib/langs/shallowEqual.js +0 -24
  153. package/lib/langs/shallowEqual.js.map +0 -1
  154. package/lib/libs/ms.js +0 -137
  155. package/lib/libs/ms.js.map +0 -1
  156. package/lib/logging/Logger.js +0 -5
  157. package/lib/logging/Logger.js.map +0 -1
  158. package/lib/logging/createChildLogger.js +0 -16
  159. package/lib/logging/createChildLogger.js.map +0 -1
  160. package/lib/logging/createLogger.js +0 -63
  161. package/lib/logging/createLogger.js.map +0 -1
  162. package/lib/logging/createNoopLogger.js +0 -13
  163. package/lib/logging/createNoopLogger.js.map +0 -1
  164. package/lib/logging/slog.js +0 -143
  165. package/lib/logging/slog.js.map +0 -1
  166. package/lib/maths/clamp.js +0 -21
  167. package/lib/maths/clamp.js.map +0 -1
  168. package/lib/maths/random.js +0 -17
  169. package/lib/maths/random.js.map +0 -1
  170. package/lib/modules/isModule.js +0 -7
  171. package/lib/modules/isModule.js.map +0 -1
  172. package/lib/modules/parseModuleId.js +0 -39
  173. package/lib/modules/parseModuleId.js.map +0 -1
  174. package/lib/objects/get.js +0 -16
  175. package/lib/objects/get.js.map +0 -1
  176. package/lib/objects/get.test-d.js +0 -33
  177. package/lib/objects/get.test-d.js.map +0 -1
  178. package/lib/objects/merge/index.js +0 -3
  179. package/lib/objects/merge/index.js.map +0 -1
  180. package/lib/objects/merge/isMergeableObject.js +0 -19
  181. package/lib/objects/merge/isMergeableObject.js.map +0 -1
  182. package/lib/objects/merge/merge.js +0 -89
  183. package/lib/objects/merge/merge.js.map +0 -1
  184. package/lib/objects/parseObjectPath.js +0 -39
  185. package/lib/objects/parseObjectPath.js.map +0 -1
  186. package/lib/objects/set.js +0 -38
  187. package/lib/objects/set.js.map +0 -1
  188. package/lib/schema/typebox/gen/codegen/common/encoder.js +0 -100
  189. package/lib/schema/typebox/gen/codegen/common/encoder.js.map +0 -1
  190. package/lib/schema/typebox/gen/codegen/common/formatter.js +0 -33
  191. package/lib/schema/typebox/gen/codegen/common/formatter.js.map +0 -1
  192. package/lib/schema/typebox/gen/codegen/common/index.js +0 -5
  193. package/lib/schema/typebox/gen/codegen/common/index.js.map +0 -1
  194. package/lib/schema/typebox/gen/codegen/common/jsdoc.js +0 -117
  195. package/lib/schema/typebox/gen/codegen/common/jsdoc.js.map +0 -1
  196. package/lib/schema/typebox/gen/codegen/expression/compiler.js +0 -367
  197. package/lib/schema/typebox/gen/codegen/expression/compiler.js.map +0 -1
  198. package/lib/schema/typebox/gen/codegen/expression/errors.js +0 -259
  199. package/lib/schema/typebox/gen/codegen/expression/errors.js.map +0 -1
  200. package/lib/schema/typebox/gen/codegen/expression/evaluator.js +0 -254
  201. package/lib/schema/typebox/gen/codegen/expression/evaluator.js.map +0 -1
  202. package/lib/schema/typebox/gen/codegen/expression/expression.js +0 -384
  203. package/lib/schema/typebox/gen/codegen/expression/expression.js.map +0 -1
  204. package/lib/schema/typebox/gen/codegen/expression/index.js +0 -6
  205. package/lib/schema/typebox/gen/codegen/expression/index.js.map +0 -1
  206. package/lib/schema/typebox/gen/codegen/index.js +0 -5
  207. package/lib/schema/typebox/gen/codegen/index.js.map +0 -1
  208. package/lib/schema/typebox/gen/codegen/model/index.js +0 -16
  209. package/lib/schema/typebox/gen/codegen/model/index.js.map +0 -1
  210. package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js +0 -239
  211. package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js.map +0 -1
  212. package/lib/schema/typebox/gen/codegen/model/model-to-expression.js +0 -359
  213. package/lib/schema/typebox/gen/codegen/model/model-to-expression.js.map +0 -1
  214. package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js +0 -217
  215. package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js.map +0 -1
  216. package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js +0 -253
  217. package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js.map +0 -1
  218. package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js +0 -47
  219. package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js.map +0 -1
  220. package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js +0 -171
  221. package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js.map +0 -1
  222. package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js +0 -33
  223. package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js.map +0 -1
  224. package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js +0 -164
  225. package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js.map +0 -1
  226. package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js +0 -218
  227. package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js.map +0 -1
  228. package/lib/schema/typebox/gen/codegen/model/model-to-value.js +0 -43
  229. package/lib/schema/typebox/gen/codegen/model/model-to-value.js.map +0 -1
  230. package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js +0 -206
  231. package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js.map +0 -1
  232. package/lib/schema/typebox/gen/codegen/model/model-to-yup.js +0 -204
  233. package/lib/schema/typebox/gen/codegen/model/model-to-yup.js.map +0 -1
  234. package/lib/schema/typebox/gen/codegen/model/model-to-zod.js +0 -227
  235. package/lib/schema/typebox/gen/codegen/model/model-to-zod.js.map +0 -1
  236. package/lib/schema/typebox/gen/codegen/model/model.js +0 -27
  237. package/lib/schema/typebox/gen/codegen/model/model.js.map +0 -1
  238. package/lib/schema/typebox/gen/codegen/typescript/index.js +0 -4
  239. package/lib/schema/typebox/gen/codegen/typescript/index.js.map +0 -1
  240. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js +0 -48
  241. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js.map +0 -1
  242. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js +0 -596
  243. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js.map +0 -1
  244. package/lib/schema/typebox/gen/index.js +0 -3
  245. package/lib/schema/typebox/gen/index.js.map +0 -1
  246. package/lib/schema/typebox/index.js +0 -3
  247. package/lib/schema/typebox/index.js.map +0 -1
  248. package/lib/schema/typebox/typebox.js +0 -23
  249. package/lib/schema/typebox/typebox.js.map +0 -1
  250. package/lib/server.js +0 -7
  251. package/lib/server.js.map +0 -1
  252. package/lib/servers/crypto/md5.js +0 -6
  253. package/lib/servers/crypto/md5.js.map +0 -1
  254. package/lib/servers/fetch/createFetchWithProxy.js +0 -4
  255. package/lib/servers/fetch/createFetchWithProxy.js.map +0 -1
  256. package/lib/servers/fetch/createFetchWithProxyByNodeFetch.js +0 -38
  257. package/lib/servers/fetch/createFetchWithProxyByNodeFetch.js.map +0 -1
  258. package/lib/servers/fetch/createFetchWithProxyByUndici.js +0 -64
  259. package/lib/servers/fetch/createFetchWithProxyByUndici.js.map +0 -1
  260. package/lib/servers/getPackageDir.js +0 -16
  261. package/lib/servers/getPackageDir.js.map +0 -1
  262. package/lib/servers/jsdom.js +0 -3
  263. package/lib/servers/jsdom.js.map +0 -1
  264. package/lib/servers/node-fetch.js +0 -4
  265. package/lib/servers/node-fetch.js.map +0 -1
  266. package/lib/servers/polyfill/polyfillBrowser.js +0 -17
  267. package/lib/servers/polyfill/polyfillBrowser.js.map +0 -1
  268. package/lib/servers/polyfill/polyfillCrypto.js +0 -11
  269. package/lib/servers/polyfill/polyfillCrypto.js.map +0 -1
  270. package/lib/servers/polyfill/polyfillFetch.js +0 -25
  271. package/lib/servers/polyfill/polyfillFetch.js.map +0 -1
  272. package/lib/servers/polyfill/polyfillJsDom.js +0 -64
  273. package/lib/servers/polyfill/polyfillJsDom.js.map +0 -1
  274. package/lib/servers/polyfill/polyfillWebSocket.js +0 -16
  275. package/lib/servers/polyfill/polyfillWebSocket.js.map +0 -1
  276. package/lib/servers/ws.js +0 -3
  277. package/lib/servers/ws.js.map +0 -1
  278. package/lib/strings/camelCase.js +0 -58
  279. package/lib/strings/camelCase.js.map +0 -1
  280. package/lib/strings/formatBytes.js +0 -43
  281. package/lib/strings/formatBytes.js.map +0 -1
  282. package/lib/strings/renderTemplate.js +0 -32
  283. package/lib/strings/renderTemplate.js.map +0 -1
  284. package/lib/typedoc.js +0 -4
  285. package/lib/typedoc.js.map +0 -1
  286. package/lib/types/global.d.js +0 -2
  287. package/lib/types/global.d.js.map +0 -1
  288. package/lib/types/index.d.js +0 -6
  289. package/lib/types/index.d.js.map +0 -1
  290. package/lib/validations/asserts.js +0 -14
  291. package/lib/validations/asserts.js.map +0 -1
  292. package/lib/validations/isUUID.js +0 -5
  293. package/lib/validations/isUUID.js.map +0 -1
  294. package/lib/validations/parseTimestamp.js +0 -29
  295. package/lib/validations/parseTimestamp.js.map +0 -1
  296. package/schema/typebox/gen/index.ts +0 -1
  297. package/schema/typebox/index.ts +0 -1
  298. package/server/jsdom.ts +0 -1
  299. package/server/node-fetch.ts +0 -1
  300. package/server/ws.ts +0 -1
  301. package/server.ts +0 -1
  302. package/src/server.ts +0 -6
  303. package/src/types/global.d.ts +0 -11
  304. package/types.d.ts +0 -1
  305. /package/src/{servers → server}/crypto/md5.ts +0 -0
  306. /package/src/{servers → server}/fetch/createFetchWithProxy.ts +0 -0
  307. /package/src/{servers → server}/fetch/createFetchWithProxyByNodeFetch.ts +0 -0
  308. /package/src/{servers → server}/fetch/createFetchWithProxyByUndici.ts +0 -0
  309. /package/src/{servers → server}/getPackageDir.ts +0 -0
  310. /package/src/{servers → server}/jsdom.ts +0 -0
  311. /package/src/{servers → server}/node-fetch.ts +0 -0
  312. /package/src/{servers → server}/polyfill/polyfillBrowser.test.ts +0 -0
  313. /package/src/{servers → server}/polyfill/polyfillBrowser.ts +0 -0
  314. /package/src/{servers → server}/polyfill/polyfillCrypto.ts +0 -0
  315. /package/src/{servers → server}/polyfill/polyfillFetch.ts +0 -0
  316. /package/src/{servers → server}/polyfill/polyfillJsDom.ts +0 -0
  317. /package/src/{servers → server}/ws.ts +0 -0
@@ -1,41 +0,0 @@
1
- /**
2
- * Array or element of an array
3
- */ /**
4
- * convert to single value object
5
- */ export function objectOfMaybeArray(o, keys = null, picker = firstOfMaybeArray) {
6
- if (keys === null) {
7
- return Object.fromEntries(Object.entries(o).map(([k, v])=>[
8
- k,
9
- picker(v)
10
- ]));
11
- }
12
- return Object.fromEntries(keys.map((v)=>[
13
- v,
14
- picker(v)
15
- ]));
16
- }
17
- export function firstOfMaybeArray(v) {
18
- if (Array.isArray(v)) {
19
- return v[0];
20
- }
21
- return v;
22
- }
23
- export function lastOfMaybeArray(v) {
24
- if (Array.isArray(v)) {
25
- return v[v.length - 1];
26
- }
27
- return v;
28
- }
29
- export function arrayOfMaybeArray(v) {
30
- if (Array.isArray(v)) {
31
- return v;
32
- }
33
- if (v === null || v === undefined) {
34
- return [];
35
- }
36
- return [
37
- v
38
- ];
39
- }
40
-
41
- //# sourceMappingURL=MaybeArray.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/arrays/MaybeArray.ts"],"sourcesContent":["/**\n * Array or element of an array\n */\nexport type MaybeArray<T> = T | T[];\n\n/**\n * convert to single value object\n */\nexport function objectOfMaybeArray<T = any>(\n o: Record<string, MaybeArray<T>>,\n keys: string[] | null = null,\n picker = firstOfMaybeArray,\n): Record<string, T> {\n if (keys === null) {\n return Object.fromEntries(Object.entries(o).map(([k, v]) => [k, picker(v)]));\n }\n return Object.fromEntries(keys.map((v) => [v, picker(v)])) as any;\n}\n\nexport function firstOfMaybeArray<T>(v: MaybeArray<T>): T {\n if (Array.isArray(v)) {\n return v[0];\n }\n return v;\n}\n\nexport function lastOfMaybeArray<T>(v: MaybeArray<T>): T {\n if (Array.isArray(v)) {\n return v[v.length - 1];\n }\n return v;\n}\n\nexport function arrayOfMaybeArray<T>(v: MaybeArray<T> | null | undefined): T[] {\n if (Array.isArray(v)) {\n return v;\n }\n if (v === null || v === undefined) {\n return [];\n }\n return [v];\n}\n"],"names":["objectOfMaybeArray","o","keys","picker","firstOfMaybeArray","Object","fromEntries","entries","map","k","v","Array","isArray","lastOfMaybeArray","length","arrayOfMaybeArray","undefined"],"mappings":"AAAA;;CAEC,GAGD;;CAEC,GACD,OAAO,SAASA,mBACdC,CAAgC,EAChCC,OAAwB,IAAI,EAC5BC,SAASC,iBAAiB;IAE1B,IAAIF,SAAS,MAAM;QACjB,OAAOG,OAAOC,WAAW,CAACD,OAAOE,OAAO,CAACN,GAAGO,GAAG,CAAC,CAAC,CAACC,GAAGC,EAAE,GAAK;gBAACD;gBAAGN,OAAOO;aAAG;IAC5E;IACA,OAAOL,OAAOC,WAAW,CAACJ,KAAKM,GAAG,CAAC,CAACE,IAAM;YAACA;YAAGP,OAAOO;SAAG;AAC1D;AAEA,OAAO,SAASN,kBAAqBM,CAAgB;IACnD,IAAIC,MAAMC,OAAO,CAACF,IAAI;QACpB,OAAOA,CAAC,CAAC,EAAE;IACb;IACA,OAAOA;AACT;AAEA,OAAO,SAASG,iBAAoBH,CAAgB;IAClD,IAAIC,MAAMC,OAAO,CAACF,IAAI;QACpB,OAAOA,CAAC,CAACA,EAAEI,MAAM,GAAG,EAAE;IACxB;IACA,OAAOJ;AACT;AAEA,OAAO,SAASK,kBAAqBL,CAAmC;IACtE,IAAIC,MAAMC,OAAO,CAACF,IAAI;QACpB,OAAOA;IACT;IACA,IAAIA,MAAM,QAAQA,MAAMM,WAAW;QACjC,OAAO,EAAE;IACX;IACA,OAAO;QAACN;KAAE;AACZ"}
@@ -1,7 +0,0 @@
1
- export async function arrayFromAsync(asyncIterable) {
2
- const array = [];
3
- for await (const i of asyncIterable)array.push(i);
4
- return array;
5
- }
6
-
7
- //# sourceMappingURL=arrayFromAsync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/arrays/arrayFromAsync.ts"],"sourcesContent":["export async function arrayFromAsync<T>(asyncIterable: AsyncIterable<T>): Promise<T[]> {\n const array = [];\n for await (const i of asyncIterable) array.push(i);\n return array;\n}\n"],"names":["arrayFromAsync","asyncIterable","array","i","push"],"mappings":"AAAA,OAAO,eAAeA,eAAkBC,aAA+B;IACrE,MAAMC,QAAQ,EAAE;IAChB,WAAW,MAAMC,KAAKF,cAAeC,MAAME,IAAI,CAACD;IAChD,OAAOD;AACT"}
@@ -1,14 +0,0 @@
1
- export function setAsyncInterval(cb, interval, initial = interval) {
2
- let id;
3
- const handler = async ()=>{
4
- await cb();
5
- id = setTimeout(handler, interval);
6
- };
7
- id = setTimeout(handler, initial);
8
- return ()=>id;
9
- }
10
- export function clearAsyncInterval(v) {
11
- clearTimeout(v?.());
12
- }
13
-
14
- //# sourceMappingURL=AsyncInterval.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/AsyncInterval.ts"],"sourcesContent":["export type AsyncIntervalIdentifier = any;\n\nexport function setAsyncInterval(cb: () => void, interval: number, initial = interval): AsyncIntervalIdentifier {\n let id: any;\n const handler = async () => {\n await cb();\n id = setTimeout(handler, interval);\n };\n id = setTimeout(handler, initial);\n return () => id;\n}\n\nexport function clearAsyncInterval(v: AsyncIntervalIdentifier) {\n clearTimeout(v?.());\n}\n"],"names":["setAsyncInterval","cb","interval","initial","id","handler","setTimeout","clearAsyncInterval","v","clearTimeout"],"mappings":"AAEA,OAAO,SAASA,iBAAiBC,EAAc,EAAEC,QAAgB,EAAEC,UAAUD,QAAQ;IACnF,IAAIE;IACJ,MAAMC,UAAU;QACd,MAAMJ;QACNG,KAAKE,WAAWD,SAASH;IAC3B;IACAE,KAAKE,WAAWD,SAASF;IACzB,OAAO,IAAMC;AACf;AAEA,OAAO,SAASG,mBAAmBC,CAA0B;IAC3DC,aAAaD;AACf"}
@@ -1,3 +0,0 @@
1
- export { };
2
-
3
- //# sourceMappingURL=MaybePromise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/MaybePromise.ts"],"sourcesContent":["export type MaybePromise<T> = Promise<T> | T;\n"],"names":[],"mappings":"AAAA,WAA6C"}
@@ -1,41 +0,0 @@
1
- import { createLazyPromise } from './createLazyPromise.js';
2
- export function createAsyncIterator(fn) {
3
- const values = [];
4
- let recv;
5
- {
6
- let next;
7
- values.push(next = createLazyPromise());
8
- recv = (val, err)=>{
9
- if (err !== undefined) {
10
- next.resolve([
11
- undefined,
12
- true,
13
- err
14
- ]);
15
- } else if (val !== undefined) {
16
- next.resolve(val);
17
- } else {
18
- return;
19
- }
20
- values.push(next = createLazyPromise());
21
- };
22
- }
23
- fn(recv);
24
- return async function*() {
25
- let value;
26
- let err;
27
- for(let i = 0, done = false; !done; i++){
28
- let result = await values[i];
29
- delete values[i];
30
- [value, done, err] = result;
31
- if (err) {
32
- throw err;
33
- }
34
- if (value !== undefined) {
35
- yield value;
36
- }
37
- }
38
- }();
39
- }
40
-
41
- //# sourceMappingURL=createAsyncIterator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/createAsyncIterator.ts"],"sourcesContent":["import { type MaybePromise } from './MaybePromise';\nimport { createLazyPromise, type LazyPromise } from './createLazyPromise';\n\ntype Val<T> = [val: MaybePromise<T> | undefined, done: boolean, err?: any];\n\nexport function createAsyncIterator<T>(\n fn: (next: (val: [MaybePromise<T> | undefined, boolean] | undefined, err?: any) => void) => void,\n): AsyncGenerator<T, void, unknown> {\n const values: Array<Promise<Val<T>>> = [];\n let recv: (val: [MaybePromise<T> | undefined, boolean] | undefined, err?: any) => void;\n {\n let next: LazyPromise<Val<T>>;\n values.push((next = createLazyPromise()));\n recv = (val, err) => {\n if (err !== undefined) {\n next.resolve([undefined, true, err]);\n } else if (val !== undefined) {\n next.resolve(val);\n } else {\n return;\n }\n values.push((next = createLazyPromise()));\n };\n }\n\n fn(recv);\n\n return (async function* () {\n let value: Val<T>[0];\n let err: any;\n for (let i = 0, done = false; !done; i++) {\n let result = await values[i];\n delete values[i];\n [value, done, err] = result;\n if (err) {\n throw err;\n }\n if (value !== undefined) {\n yield value;\n }\n }\n })();\n}\n"],"names":["createLazyPromise","createAsyncIterator","fn","values","recv","next","push","val","err","undefined","resolve","value","i","done","result"],"mappings":"AACA,SAASA,iBAAiB,QAA0B,sBAAsB;AAI1E,OAAO,SAASC,oBACdC,EAAgG;IAEhG,MAAMC,SAAiC,EAAE;IACzC,IAAIC;IACJ;QACE,IAAIC;QACJF,OAAOG,IAAI,CAAED,OAAOL;QACpBI,OAAO,CAACG,KAAKC;YACX,IAAIA,QAAQC,WAAW;gBACrBJ,KAAKK,OAAO,CAAC;oBAACD;oBAAW;oBAAMD;iBAAI;YACrC,OAAO,IAAID,QAAQE,WAAW;gBAC5BJ,KAAKK,OAAO,CAACH;YACf,OAAO;gBACL;YACF;YACAJ,OAAOG,IAAI,CAAED,OAAOL;QACtB;IACF;IAEAE,GAAGE;IAEH,OAAO,AAAC;QACN,IAAIO;QACJ,IAAIH;QACJ,IAAK,IAAII,IAAI,GAAGC,OAAO,OAAO,CAACA,MAAMD,IAAK;YACxC,IAAIE,SAAS,MAAMX,MAAM,CAACS,EAAE;YAC5B,OAAOT,MAAM,CAACS,EAAE;YAChB,CAACD,OAAOE,MAAML,IAAI,GAAGM;YACrB,IAAIN,KAAK;gBACP,MAAMA;YACR;YACA,IAAIG,UAAUF,WAAW;gBACvB,MAAME;YACR;QACF;IACF;AACF"}
@@ -1,65 +0,0 @@
1
- import { isPromise } from './isPromise.js';
2
- /**
3
- * createLazyPromise return a promise that can be resolved or rejected manually.
4
- * if you pass a function to it, it will be executed when the promise try to resolve.
5
- */ export function createLazyPromise(executor) {
6
- const holder = {
7
- resolve (_) {
8
- throw new Error('pending resolve');
9
- },
10
- reject (_) {
11
- throw new Error('pending reject');
12
- }
13
- };
14
- const future = Object.assign(new Promise((resolve, reject)=>{
15
- holder.reject = reject;
16
- holder.resolve = resolve;
17
- }), {
18
- resolve (v) {
19
- holder.resolve(v);
20
- },
21
- reject (v) {
22
- holder.resolve(v);
23
- }
24
- });
25
- if (executor) {
26
- const r = holder.resolve;
27
- let shouldExec = true;
28
- holder.resolve = (v)=>{
29
- shouldExec = false;
30
- r(v);
31
- };
32
- const then = future.then.bind(future);
33
- future.then = (...args)=>{
34
- if (shouldExec) {
35
- shouldExec = false;
36
- try {
37
- // kind of bad
38
- const result = executor(holder.resolve, holder.reject);
39
- // ensure resolve/reject is called
40
- if (isPromise(result)) {
41
- result.then(holder.resolve, holder.reject);
42
- } else if (result !== undefined) {
43
- holder.resolve(result);
44
- }
45
- } catch (e) {
46
- holder.reject(e);
47
- }
48
- }
49
- return then(...args);
50
- };
51
- const like = holder;
52
- like.then = future.then;
53
- like.catch = future.catch.bind(future);
54
- if (future.finally) like.finally = future.finally;
55
- void Object.defineProperty(like, Symbol.species, {
56
- get () {
57
- return Promise;
58
- }
59
- });
60
- return like;
61
- }
62
- return future;
63
- }
64
-
65
- //# sourceMappingURL=createLazyPromise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/createLazyPromise.ts"],"sourcesContent":["import type { MaybePromise } from './MaybePromise';\nimport { isPromise } from './isPromise';\n\nexport type LazyPromise<T> = Promise<T> & {\n reject(reason?: any): void;\n resolve(v?: MaybePromise<T>): void;\n};\n\n/**\n * createLazyPromise return a promise that can be resolved or rejected manually.\n * if you pass a function to it, it will be executed when the promise try to resolve.\n */\nexport function createLazyPromise<T = any>(\n executor?:\n | ((resolve: LazyPromise<T>['resolve'], reject: LazyPromise<T>['reject']) => void)\n | ((resolve: LazyPromise<T>['resolve'], reject: LazyPromise<T>['reject']) => MaybePromise<T>),\n): LazyPromise<T> {\n const holder = {\n resolve(_: any): void {\n throw new Error('pending resolve');\n },\n reject(_: any): void {\n throw new Error('pending reject');\n },\n };\n const future = Object.assign(\n new Promise<T>((resolve, reject) => {\n holder.reject = reject;\n holder.resolve = resolve;\n }),\n {\n resolve(v: any) {\n holder.resolve(v);\n },\n reject(v: any) {\n holder.resolve(v);\n },\n },\n );\n if (executor) {\n const r = holder.resolve;\n let shouldExec = true;\n holder.resolve = (v: any) => {\n shouldExec = false;\n r(v);\n };\n const then = future.then.bind(future);\n future.then = (...args) => {\n if (shouldExec) {\n shouldExec = false;\n try {\n // kind of bad\n const result = executor(holder.resolve, holder.reject);\n // ensure resolve/reject is called\n if (isPromise(result)) {\n result.then(holder.resolve, holder.reject);\n } else if (result !== undefined) {\n holder.resolve(result);\n }\n } catch (e) {\n holder.reject(e);\n }\n }\n return then(...args);\n };\n const like = holder as LazyPromise<T>;\n like.then = future.then;\n like.catch = future.catch.bind(future);\n if (future.finally) like.finally = future.finally;\n\n void Object.defineProperty(like, Symbol.species, {\n get() {\n return Promise;\n },\n });\n return like;\n }\n return future;\n}\n"],"names":["isPromise","createLazyPromise","executor","holder","resolve","_","Error","reject","future","Object","assign","Promise","v","r","shouldExec","then","bind","args","result","undefined","e","like","catch","finally","defineProperty","Symbol","species","get"],"mappings":"AACA,SAASA,SAAS,QAAQ,cAAc;AAOxC;;;CAGC,GACD,OAAO,SAASC,kBACdC,QAE+F;IAE/F,MAAMC,SAAS;QACbC,SAAQC,CAAM;YACZ,MAAM,IAAIC,MAAM;QAClB;QACAC,QAAOF,CAAM;YACX,MAAM,IAAIC,MAAM;QAClB;IACF;IACA,MAAME,SAASC,OAAOC,MAAM,CAC1B,IAAIC,QAAW,CAACP,SAASG;QACvBJ,OAAOI,MAAM,GAAGA;QAChBJ,OAAOC,OAAO,GAAGA;IACnB,IACA;QACEA,SAAQQ,CAAM;YACZT,OAAOC,OAAO,CAACQ;QACjB;QACAL,QAAOK,CAAM;YACXT,OAAOC,OAAO,CAACQ;QACjB;IACF;IAEF,IAAIV,UAAU;QACZ,MAAMW,IAAIV,OAAOC,OAAO;QACxB,IAAIU,aAAa;QACjBX,OAAOC,OAAO,GAAG,CAACQ;YAChBE,aAAa;YACbD,EAAED;QACJ;QACA,MAAMG,OAAOP,OAAOO,IAAI,CAACC,IAAI,CAACR;QAC9BA,OAAOO,IAAI,GAAG,CAAC,GAAGE;YAChB,IAAIH,YAAY;gBACdA,aAAa;gBACb,IAAI;oBACF,cAAc;oBACd,MAAMI,SAAShB,SAASC,OAAOC,OAAO,EAAED,OAAOI,MAAM;oBACrD,kCAAkC;oBAClC,IAAIP,UAAUkB,SAAS;wBACrBA,OAAOH,IAAI,CAACZ,OAAOC,OAAO,EAAED,OAAOI,MAAM;oBAC3C,OAAO,IAAIW,WAAWC,WAAW;wBAC/BhB,OAAOC,OAAO,CAACc;oBACjB;gBACF,EAAE,OAAOE,GAAG;oBACVjB,OAAOI,MAAM,CAACa;gBAChB;YACF;YACA,OAAOL,QAAQE;QACjB;QACA,MAAMI,OAAOlB;QACbkB,KAAKN,IAAI,GAAGP,OAAOO,IAAI;QACvBM,KAAKC,KAAK,GAAGd,OAAOc,KAAK,CAACN,IAAI,CAACR;QAC/B,IAAIA,OAAOe,OAAO,EAAEF,KAAKE,OAAO,GAAGf,OAAOe,OAAO;QAEjD,KAAKd,OAAOe,cAAc,CAACH,MAAMI,OAAOC,OAAO,EAAE;YAC/CC;gBACE,OAAOhB;YACT;QACF;QACA,OAAOU;IACT;IACA,OAAOb;AACT"}
@@ -1,11 +0,0 @@
1
- import { isPromise } from './isPromise.js';
2
- import { nextOfAsyncIterator } from './nextOfAsyncIterator.js';
3
- export function firstOfAsyncIterator(it) {
4
- const next = nextOfAsyncIterator(it);
5
- if (isPromise(next)) {
6
- return next.then((v)=>v[0]);
7
- }
8
- return next[0];
9
- }
10
-
11
- //# sourceMappingURL=firstOfAsyncIterator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/firstOfAsyncIterator.ts"],"sourcesContent":["import { MaybePromise } from './MaybePromise';\nimport { isPromise } from './isPromise';\nimport { nextOfAsyncIterator } from './nextOfAsyncIterator';\n\nexport function firstOfAsyncIterator<T>(it: MaybePromise<AsyncIterator<T> | Iterator<T> | T>): MaybePromise<T> {\n const next = nextOfAsyncIterator(it);\n if (isPromise(next)) {\n return next.then((v) => v[0]);\n }\n return next[0];\n}\n"],"names":["isPromise","nextOfAsyncIterator","firstOfAsyncIterator","it","next","then","v"],"mappings":"AACA,SAASA,SAAS,QAAQ,cAAc;AACxC,SAASC,mBAAmB,QAAQ,wBAAwB;AAE5D,OAAO,SAASC,qBAAwBC,EAAoD;IAC1F,MAAMC,OAAOH,oBAAoBE;IACjC,IAAIH,UAAUI,OAAO;QACnB,OAAOA,KAAKC,IAAI,CAAC,CAACC,IAAMA,CAAC,CAAC,EAAE;IAC9B;IACA,OAAOF,IAAI,CAAC,EAAE;AAChB"}
@@ -1,16 +0,0 @@
1
- export function* generatorOfStream(stream) {
2
- let done = false;
3
- stream.on('end', ()=>{
4
- done = true;
5
- });
6
- // eslint-disable-next-line no-unmodified-loop-condition
7
- while(!done){
8
- yield new Promise((resolve, reject)=>{
9
- stream.once('data', resolve);
10
- stream.once('end', resolve);
11
- stream.once('error', reject);
12
- });
13
- }
14
- }
15
-
16
- //# sourceMappingURL=generatorOfStream.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/generatorOfStream.ts"],"sourcesContent":["export function* generatorOfStream<T = any>(stream: any): IterableIterator<Promise<T>> {\n let done = false;\n stream.on('end', () => {\n done = true;\n });\n // eslint-disable-next-line no-unmodified-loop-condition\n while (!done) {\n yield new Promise((resolve, reject) => {\n stream.once('data', resolve);\n stream.once('end', resolve);\n stream.once('error', reject);\n });\n }\n}\n"],"names":["generatorOfStream","stream","done","on","Promise","resolve","reject","once"],"mappings":"AAAA,OAAO,UAAUA,kBAA2BC,MAAW;IACrD,IAAIC,OAAO;IACXD,OAAOE,EAAE,CAAC,OAAO;QACfD,OAAO;IACT;IACA,wDAAwD;IACxD,MAAO,CAACA,KAAM;QACZ,MAAM,IAAIE,QAAQ,CAACC,SAASC;YAC1BL,OAAOM,IAAI,CAAC,QAAQF;YACpBJ,OAAOM,IAAI,CAAC,OAAOF;YACnBJ,OAAOM,IAAI,CAAC,SAASD;QACvB;IACF;AACF"}
@@ -1,5 +0,0 @@
1
- export function isIterator(it) {
2
- return typeof it?.next === 'function';
3
- }
4
-
5
- //# sourceMappingURL=isIterator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/isIterator.ts"],"sourcesContent":["export function isIterator<T>(it: any): it is Iterator<T> | AsyncIterator<T> {\n return typeof it?.next === 'function';\n}\n"],"names":["isIterator","it","next"],"mappings":"AAAA,OAAO,SAASA,WAAcC,EAAO;IACnC,OAAO,OAAOA,IAAIC,SAAS;AAC7B"}
@@ -1,5 +0,0 @@
1
- export function isPromise(v) {
2
- return v && (v instanceof Promise || v.then && v.catch);
3
- }
4
-
5
- //# sourceMappingURL=isPromise.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/isPromise.ts"],"sourcesContent":["export function isPromise<T>(v: any): v is Promise<T> {\n return v && (v instanceof Promise || (v.then && v.catch));\n}\n"],"names":["isPromise","v","Promise","then","catch"],"mappings":"AAAA,OAAO,SAASA,UAAaC,CAAM;IACjC,OAAOA,KAAMA,CAAAA,aAAaC,WAAYD,EAAEE,IAAI,IAAIF,EAAEG,KAAK;AACzD"}
@@ -1,6 +0,0 @@
1
- export function isThenable(v) {
2
- // we are at Promise era now, so we can use Promise instead of PromiseLike
3
- return v && typeof v.then === 'function';
4
- }
5
-
6
- //# sourceMappingURL=isThenable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/isThenable.ts"],"sourcesContent":["export function isThenable(v: any): v is PromiseLike<any> {\n // we are at Promise era now, so we can use Promise instead of PromiseLike\n return v && typeof v.then === 'function';\n}\n"],"names":["isThenable","v","then"],"mappings":"AAAA,OAAO,SAASA,WAAWC,CAAM;IAC/B,0EAA0E;IAC1E,OAAOA,KAAK,OAAOA,EAAEC,IAAI,KAAK;AAChC"}
@@ -1,25 +0,0 @@
1
- import { isIterator } from './isIterator.js';
2
- import { isPromise } from './isPromise.js';
3
- export function nextOfAsyncIterator(it) {
4
- if (isPromise(it)) {
5
- return it.then((v)=>nextOfAsyncIterator(v));
6
- }
7
- if (isIterator(it)) {
8
- let next = it.next();
9
- if (isPromise(next)) {
10
- return next.then((v)=>[
11
- v.value,
12
- v.done
13
- ]);
14
- }
15
- return [
16
- next.value,
17
- next.done
18
- ];
19
- }
20
- return [
21
- it
22
- ];
23
- }
24
-
25
- //# sourceMappingURL=nextOfAsyncIterator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/nextOfAsyncIterator.ts"],"sourcesContent":["import { MaybePromise } from './MaybePromise';\nimport { isIterator } from './isIterator';\nimport { isPromise } from './isPromise';\n\nexport function nextOfAsyncIterator<T>(\n it: MaybePromise<AsyncIterator<T> | Iterator<T> | T>,\n): MaybePromise<[value: T, done?: boolean]> {\n if (isPromise(it)) {\n return it.then((v) => nextOfAsyncIterator(v));\n }\n if (isIterator(it)) {\n let next = it.next();\n if (isPromise(next)) {\n return next.then((v) => [v.value, v.done]);\n }\n return [next.value, next.done];\n }\n return [it];\n}\n"],"names":["isIterator","isPromise","nextOfAsyncIterator","it","then","v","next","value","done"],"mappings":"AACA,SAASA,UAAU,QAAQ,eAAe;AAC1C,SAASC,SAAS,QAAQ,cAAc;AAExC,OAAO,SAASC,oBACdC,EAAoD;IAEpD,IAAIF,UAAUE,KAAK;QACjB,OAAOA,GAAGC,IAAI,CAAC,CAACC,IAAMH,oBAAoBG;IAC5C;IACA,IAAIL,WAAWG,KAAK;QAClB,IAAIG,OAAOH,GAAGG,IAAI;QAClB,IAAIL,UAAUK,OAAO;YACnB,OAAOA,KAAKF,IAAI,CAAC,CAACC,IAAM;oBAACA,EAAEE,KAAK;oBAAEF,EAAEG,IAAI;iBAAC;QAC3C;QACA,OAAO;YAACF,KAAKC,KAAK;YAAED,KAAKE,IAAI;SAAC;IAChC;IACA,OAAO;QAACL;KAAG;AACb"}
@@ -1,17 +0,0 @@
1
- export function promiseOfCallback(fun) {
2
- return new Promise((resolve, reject)=>{
3
- try {
4
- fun((e, v)=>{
5
- if (e) {
6
- reject(e);
7
- } else {
8
- resolve(v);
9
- }
10
- });
11
- } catch (e) {
12
- reject(e);
13
- }
14
- });
15
- }
16
-
17
- //# sourceMappingURL=promiseOfCallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/promiseOfCallback.ts"],"sourcesContent":["export function promiseOfCallback<T>(fun: (cb: (err: any, val?: T) => void) => void) {\n return new Promise<T>((resolve, reject) => {\n try {\n fun((e: any, v: any) => {\n if (e) {\n reject(e);\n } else {\n resolve(v);\n }\n });\n } catch (e) {\n reject(e);\n }\n });\n}\n"],"names":["promiseOfCallback","fun","Promise","resolve","reject","e","v"],"mappings":"AAAA,OAAO,SAASA,kBAAqBC,GAA8C;IACjF,OAAO,IAAIC,QAAW,CAACC,SAASC;QAC9B,IAAI;YACFH,IAAI,CAACI,GAAQC;gBACX,IAAID,GAAG;oBACLD,OAAOC;gBACT,OAAO;oBACLF,QAAQG;gBACV;YACF;QACF,EAAE,OAAOD,GAAG;YACVD,OAAOC;QACT;IACF;AACF"}
@@ -1,3 +0,0 @@
1
- export const sleep = (ms)=>new Promise((resolve)=>setTimeout(resolve, ms));
2
-
3
- //# sourceMappingURL=sleep.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/sleep.ts"],"sourcesContent":["export const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n"],"names":["sleep","ms","Promise","resolve","setTimeout"],"mappings":"AAAA,OAAO,MAAMA,QAAQ,CAACC,KAAe,IAAIC,QAAQ,CAACC,UAAYC,WAAWD,SAASF,KAAK"}
@@ -1,25 +0,0 @@
1
- export function timeout(v, ms) {
2
- const error = new TimeoutError();
3
- let timeout;
4
- return Promise.race([
5
- v,
6
- new Promise((_resolve, reject)=>{
7
- timeout = setTimeout(()=>{
8
- reject(error);
9
- }, ms);
10
- })
11
- ]).then((v)=>{
12
- clearTimeout(timeout);
13
- return v;
14
- }, (e)=>{
15
- clearTimeout(timeout);
16
- throw e;
17
- });
18
- }
19
- export class TimeoutError extends Error {
20
- constructor(){
21
- super('TimeoutError');
22
- }
23
- }
24
-
25
- //# sourceMappingURL=timeout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/asyncs/timeout.ts"],"sourcesContent":["export function timeout<T = any>(v: Promise<T>, ms: number): Promise<T> {\n const error = new TimeoutError();\n let timeout: any;\n return Promise.race([\n v,\n new Promise((_resolve, reject) => {\n timeout = setTimeout(() => {\n reject(error);\n }, ms);\n }),\n ]).then(\n (v) => {\n clearTimeout(timeout);\n return v;\n },\n (e) => {\n clearTimeout(timeout);\n throw e;\n },\n ) as Promise<T>;\n}\n\nexport class TimeoutError extends Error {\n constructor() {\n super('TimeoutError');\n }\n}\n"],"names":["timeout","v","ms","error","TimeoutError","Promise","race","_resolve","reject","setTimeout","then","clearTimeout","e","Error","constructor"],"mappings":"AAAA,OAAO,SAASA,QAAiBC,CAAa,EAAEC,EAAU;IACxD,MAAMC,QAAQ,IAAIC;IAClB,IAAIJ;IACJ,OAAOK,QAAQC,IAAI,CAAC;QAClBL;QACA,IAAII,QAAQ,CAACE,UAAUC;YACrBR,UAAUS,WAAW;gBACnBD,OAAOL;YACT,GAAGD;QACL;KACD,EAAEQ,IAAI,CACL,CAACT;QACCU,aAAaX;QACb,OAAOC;IACT,GACA,CAACW;QACCD,aAAaX;QACb,MAAMY;IACR;AAEJ;AAEA,OAAO,MAAMR,qBAAqBS;IAChCC,aAAc;QACZ,KAAK,CAAC;IACR;AACF"}
@@ -1,53 +0,0 @@
1
- let _copy;
2
- // https://gist.github.com/rproenca/64781c6a1329b48a455b645d361a9aa3
3
- function initCopy() {
4
- let textArea;
5
- function isIOS() {
6
- return navigator.userAgent.match(/ipad|iphone/i);
7
- }
8
- function createTextArea(text) {
9
- textArea = document.createElement('textArea');
10
- textArea.value = text;
11
- document.body.appendChild(textArea);
12
- }
13
- function selectText() {
14
- let range, selection;
15
- if (isIOS()) {
16
- range = document.createRange();
17
- range.selectNodeContents(textArea);
18
- selection = window.getSelection();
19
- if (selection === null) {
20
- console.error(`no selection`);
21
- return;
22
- }
23
- selection.removeAllRanges();
24
- selection.addRange(range);
25
- textArea.setSelectionRange(0, 999999);
26
- } else {
27
- textArea.select();
28
- }
29
- }
30
- function copyToClipboard() {
31
- document.execCommand('copy');
32
- document.body.removeChild(textArea);
33
- }
34
- _copy = (text)=>{
35
- createTextArea(text);
36
- selectText();
37
- copyToClipboard();
38
- };
39
- }
40
- /**
41
- * Write text to clipboard
42
- * @param content content
43
- */ export function copy(content) {
44
- if (window.navigator?.clipboard?.writeText) {
45
- return window.navigator.clipboard.writeText(content);
46
- }
47
- if (!_copy) {
48
- initCopy();
49
- }
50
- return _copy(content);
51
- }
52
-
53
- //# sourceMappingURL=copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/browsers/copy.ts"],"sourcesContent":["import type { MaybePromise } from '../asyncs/MaybePromise';\n\nlet _copy: (s: any) => MaybePromise<void>;\n\n// https://gist.github.com/rproenca/64781c6a1329b48a455b645d361a9aa3\nfunction initCopy() {\n let textArea: HTMLTextAreaElement;\n\n function isIOS() {\n return navigator.userAgent.match(/ipad|iphone/i);\n }\n\n function createTextArea(text: string) {\n textArea = document.createElement('textArea') as HTMLTextAreaElement;\n textArea.value = text;\n document.body.appendChild(textArea);\n }\n\n function selectText() {\n let range, selection;\n\n if (isIOS()) {\n range = document.createRange();\n range.selectNodeContents(textArea);\n selection = window.getSelection();\n if (selection === null) {\n console.error(`no selection`);\n return;\n }\n selection.removeAllRanges();\n selection.addRange(range);\n textArea.setSelectionRange(0, 999999);\n } else {\n textArea.select();\n }\n }\n\n function copyToClipboard() {\n document.execCommand('copy');\n document.body.removeChild(textArea);\n }\n\n _copy = (text) => {\n createTextArea(text);\n selectText();\n copyToClipboard();\n };\n}\n\n/**\n * Write text to clipboard\n * @param content content\n */\nexport function copy(content: string): MaybePromise<void> {\n if (window.navigator?.clipboard?.writeText) {\n return window.navigator.clipboard.writeText(content);\n }\n if (!_copy) {\n initCopy();\n }\n return _copy(content);\n}\n"],"names":["_copy","initCopy","textArea","isIOS","navigator","userAgent","match","createTextArea","text","document","createElement","value","body","appendChild","selectText","range","selection","createRange","selectNodeContents","window","getSelection","console","error","removeAllRanges","addRange","setSelectionRange","select","copyToClipboard","execCommand","removeChild","copy","content","clipboard","writeText"],"mappings":"AAEA,IAAIA;AAEJ,oEAAoE;AACpE,SAASC;IACP,IAAIC;IAEJ,SAASC;QACP,OAAOC,UAAUC,SAAS,CAACC,KAAK,CAAC;IACnC;IAEA,SAASC,eAAeC,IAAY;QAClCN,WAAWO,SAASC,aAAa,CAAC;QAClCR,SAASS,KAAK,GAAGH;QACjBC,SAASG,IAAI,CAACC,WAAW,CAACX;IAC5B;IAEA,SAASY;QACP,IAAIC,OAAOC;QAEX,IAAIb,SAAS;YACXY,QAAQN,SAASQ,WAAW;YAC5BF,MAAMG,kBAAkB,CAAChB;YACzBc,YAAYG,OAAOC,YAAY;YAC/B,IAAIJ,cAAc,MAAM;gBACtBK,QAAQC,KAAK,CAAC,CAAC,YAAY,CAAC;gBAC5B;YACF;YACAN,UAAUO,eAAe;YACzBP,UAAUQ,QAAQ,CAACT;YACnBb,SAASuB,iBAAiB,CAAC,GAAG;QAChC,OAAO;YACLvB,SAASwB,MAAM;QACjB;IACF;IAEA,SAASC;QACPlB,SAASmB,WAAW,CAAC;QACrBnB,SAASG,IAAI,CAACiB,WAAW,CAAC3B;IAC5B;IAEAF,QAAQ,CAACQ;QACPD,eAAeC;QACfM;QACAa;IACF;AACF;AAEA;;;CAGC,GACD,OAAO,SAASG,KAAKC,OAAe;IAClC,IAAIZ,OAAOf,SAAS,EAAE4B,WAAWC,WAAW;QAC1C,OAAOd,OAAOf,SAAS,CAAC4B,SAAS,CAACC,SAAS,CAACF;IAC9C;IACA,IAAI,CAAC/B,OAAO;QACVC;IACF;IACA,OAAOD,MAAM+B;AACf"}
@@ -1,41 +0,0 @@
1
- /**
2
- * Trigger browser download
3
- * @param filename download as filename
4
- * @param data data or url to download
5
- * @param type content type
6
- * @param raw if true, data is treated as raw data, not url
7
- */ export function download(filename, data, { type = 'application/octet-stream', raw = false } = {}) {
8
- const a = document.createElement('a');
9
- let closer = ()=>null;
10
- try {
11
- a.download = filename;
12
- // console.info(`downloading ${name}`, data);
13
- // url or data url
14
- if (typeof data === 'string' && /^(https?:|data:)/.test(data) && !raw) {
15
- a.href = data;
16
- } else if (typeof data === 'string') {
17
- data = new TextEncoder().encode(data);
18
- }
19
- if (data instanceof Uint8Array) {
20
- data = new Blob([
21
- data
22
- ], {
23
- type
24
- });
25
- }
26
- if (data instanceof File || data instanceof Blob || data instanceof MediaSource) {
27
- a.href = URL.createObjectURL(data);
28
- closer = ()=>{
29
- URL.revokeObjectURL(a.href);
30
- };
31
- } else {
32
- console.error(`invalid download data`, data);
33
- throw new Error(`can not download ${Object.getPrototypeOf(data)}`);
34
- }
35
- a.click();
36
- } finally{
37
- closer();
38
- }
39
- }
40
-
41
- //# sourceMappingURL=download.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/browsers/download.ts"],"sourcesContent":["/**\n * Trigger browser download\n * @param filename download as filename\n * @param data data or url to download\n * @param type content type\n * @param raw if true, data is treated as raw data, not url\n */\nexport function download(filename: string, data: any, { type = 'application/octet-stream', raw = false } = {}) {\n const a = document.createElement('a');\n let closer: () => void = () => null;\n try {\n a.download = filename;\n\n // console.info(`downloading ${name}`, data);\n\n // url or data url\n if (typeof data === 'string' && /^(https?:|data:)/.test(data) && !raw) {\n a.href = data;\n } else if (typeof data === 'string') {\n data = new TextEncoder().encode(data);\n }\n\n if (data instanceof Uint8Array) {\n data = new Blob([data], { type });\n }\n\n if (data instanceof File || data instanceof Blob || data instanceof MediaSource) {\n a.href = URL.createObjectURL(data);\n closer = () => {\n URL.revokeObjectURL(a.href);\n };\n } else {\n console.error(`invalid download data`, data);\n throw new Error(`can not download ${Object.getPrototypeOf(data)}`);\n }\n a.click();\n } finally {\n closer();\n }\n}\n"],"names":["download","filename","data","type","raw","a","document","createElement","closer","test","href","TextEncoder","encode","Uint8Array","Blob","File","MediaSource","URL","createObjectURL","revokeObjectURL","console","error","Error","Object","getPrototypeOf","click"],"mappings":"AAAA;;;;;;CAMC,GACD,OAAO,SAASA,SAASC,QAAgB,EAAEC,IAAS,EAAE,EAAEC,OAAO,0BAA0B,EAAEC,MAAM,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3G,MAAMC,IAAIC,SAASC,aAAa,CAAC;IACjC,IAAIC,SAAqB,IAAM;IAC/B,IAAI;QACFH,EAAEL,QAAQ,GAAGC;QAEb,6CAA6C;QAE7C,kBAAkB;QAClB,IAAI,OAAOC,SAAS,YAAY,mBAAmBO,IAAI,CAACP,SAAS,CAACE,KAAK;YACrEC,EAAEK,IAAI,GAAGR;QACX,OAAO,IAAI,OAAOA,SAAS,UAAU;YACnCA,OAAO,IAAIS,cAAcC,MAAM,CAACV;QAClC;QAEA,IAAIA,gBAAgBW,YAAY;YAC9BX,OAAO,IAAIY,KAAK;gBAACZ;aAAK,EAAE;gBAAEC;YAAK;QACjC;QAEA,IAAID,gBAAgBa,QAAQb,gBAAgBY,QAAQZ,gBAAgBc,aAAa;YAC/EX,EAAEK,IAAI,GAAGO,IAAIC,eAAe,CAAChB;YAC7BM,SAAS;gBACPS,IAAIE,eAAe,CAACd,EAAEK,IAAI;YAC5B;QACF,OAAO;YACLU,QAAQC,KAAK,CAAC,CAAC,qBAAqB,CAAC,EAAEnB;YACvC,MAAM,IAAIoB,MAAM,CAAC,iBAAiB,EAAEC,OAAOC,cAAc,CAACtB,MAAM,CAAC;QACnE;QACAG,EAAEoB,KAAK;IACT,SAAU;QACRjB;IACF;AACF"}
@@ -1,45 +0,0 @@
1
- export function getFileFromDataTransfer(dataTransfer) {
2
- if (!dataTransfer) {
3
- return {};
4
- }
5
- const items = dataTransfer.items ?? [];
6
- if (items.length >= 2 && items[0].kind === 'string' && items[1].kind === 'file') {
7
- // name, file
8
- const text = dataTransfer.getData('text');
9
- const file = items[1].getAsFile() ?? dataTransfer.files?.item(0);
10
- if (!file) {
11
- console.error(`no file ${text}`, items[1]);
12
- return {};
13
- }
14
- // let type = file.type;
15
- // // fix type
16
- // type = type;
17
- // // NOTE paste file can not parse by libs
18
- // if (type !== file.type) {
19
- // const blob = file.slice(0, file.size);
20
- // file = new File([blob], text, {type});
21
- // }
22
- return {
23
- file,
24
- name: text
25
- };
26
- } else if (items[0].kind === 'file') {
27
- const file = items[0].getAsFile();
28
- if (!file) {
29
- console.error(`no file`, items[0]);
30
- return {};
31
- }
32
- return {
33
- file,
34
- name: file.name
35
- };
36
- } else {
37
- console.debug(`file item not match`, Array.from(items).map((v)=>({
38
- type: v.type,
39
- kind: v.kind
40
- })));
41
- }
42
- return {};
43
- }
44
-
45
- //# sourceMappingURL=getFileFromDataTransfer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/browsers/getFileFromDataTransfer.ts"],"sourcesContent":["export function getFileFromDataTransfer(dataTransfer?: DataTransfer | null): { file?: File; name?: string } {\n if (!dataTransfer) {\n return {};\n }\n\n const items: DataTransferItemList = dataTransfer.items ?? [];\n\n if (items.length >= 2 && items[0].kind === 'string' && items[1].kind === 'file') {\n // name, file\n const text = dataTransfer.getData('text');\n const file = items[1].getAsFile() ?? dataTransfer.files?.item(0);\n if (!file) {\n console.error(`no file ${text}`, items[1]);\n return {};\n }\n\n // let type = file.type;\n // // fix type\n // type = type;\n // // NOTE paste file can not parse by libs\n // if (type !== file.type) {\n // const blob = file.slice(0, file.size);\n // file = new File([blob], text, {type});\n // }\n\n return { file, name: text };\n } else if (items[0].kind === 'file') {\n const file = items[0].getAsFile();\n if (!file) {\n console.error(`no file`, items[0]);\n return {};\n }\n return { file, name: file.name };\n } else {\n console.debug(\n `file item not match`,\n Array.from(items).map((v) => ({ type: v.type, kind: v.kind })),\n );\n }\n return {};\n}\n"],"names":["getFileFromDataTransfer","dataTransfer","items","length","kind","text","getData","file","getAsFile","files","item","console","error","name","debug","Array","from","map","v","type"],"mappings":"AAAA,OAAO,SAASA,wBAAwBC,YAAkC;IACxE,IAAI,CAACA,cAAc;QACjB,OAAO,CAAC;IACV;IAEA,MAAMC,QAA8BD,aAAaC,KAAK,IAAI,EAAE;IAE5D,IAAIA,MAAMC,MAAM,IAAI,KAAKD,KAAK,CAAC,EAAE,CAACE,IAAI,KAAK,YAAYF,KAAK,CAAC,EAAE,CAACE,IAAI,KAAK,QAAQ;QAC/E,aAAa;QACb,MAAMC,OAAOJ,aAAaK,OAAO,CAAC;QAClC,MAAMC,OAAOL,KAAK,CAAC,EAAE,CAACM,SAAS,MAAMP,aAAaQ,KAAK,EAAEC,KAAK;QAC9D,IAAI,CAACH,MAAM;YACTI,QAAQC,KAAK,CAAC,CAAC,QAAQ,EAAEP,KAAK,CAAC,EAAEH,KAAK,CAAC,EAAE;YACzC,OAAO,CAAC;QACV;QAEA,wBAAwB;QACxB,cAAc;QACd,eAAe;QACf,2CAA2C;QAC3C,4BAA4B;QAC5B,2CAA2C;QAC3C,2CAA2C;QAC3C,IAAI;QAEJ,OAAO;YAAEK;YAAMM,MAAMR;QAAK;IAC5B,OAAO,IAAIH,KAAK,CAAC,EAAE,CAACE,IAAI,KAAK,QAAQ;QACnC,MAAMG,OAAOL,KAAK,CAAC,EAAE,CAACM,SAAS;QAC/B,IAAI,CAACD,MAAM;YACTI,QAAQC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAEV,KAAK,CAAC,EAAE;YACjC,OAAO,CAAC;QACV;QACA,OAAO;YAAEK;YAAMM,MAAMN,KAAKM,IAAI;QAAC;IACjC,OAAO;QACLF,QAAQG,KAAK,CACX,CAAC,mBAAmB,CAAC,EACrBC,MAAMC,IAAI,CAACd,OAAOe,GAAG,CAAC,CAACC,IAAO,CAAA;gBAAEC,MAAMD,EAAEC,IAAI;gBAAEf,MAAMc,EAAEd,IAAI;YAAC,CAAA;IAE/D;IACA,OAAO,CAAC;AACV"}
@@ -1,49 +0,0 @@
1
- function load(el, resolve, reject, options) {
2
- el.onload = ()=>{
3
- resolve(el);
4
- };
5
- el.onerror = (e)=>{
6
- el.remove();
7
- reject(e);
8
- };
9
- const { attributes = {} } = options || {};
10
- Object.entries(attributes).forEach(([k, v])=>{
11
- el.setAttribute(k, v);
12
- });
13
- document.head.appendChild(el);
14
- }
15
- export function loadScripts(src, options) {
16
- if (Array.isArray(src)) {
17
- return Promise.resolve().then(async ()=>{
18
- const all = [];
19
- for (const s of src){
20
- all.push(await loadScripts(s));
21
- }
22
- return all;
23
- });
24
- }
25
- // todo quote ?
26
- const $ele = document.querySelector(`script[src="${src}"]`);
27
- if ($ele) {
28
- return Promise.resolve($ele);
29
- }
30
- return new Promise((resolve, reject)=>{
31
- const el = document.createElement('script');
32
- el.src = src;
33
- load(el, resolve, reject, options);
34
- });
35
- }
36
- export function loadStyles(href, options) {
37
- const $ele = document.querySelector(`link[href="${href}"]`);
38
- if ($ele) {
39
- return Promise.resolve($ele);
40
- }
41
- return new Promise((resolve, reject)=>{
42
- const el = document.createElement('link');
43
- el.rel = 'stylesheet';
44
- el.href = href;
45
- load(el, resolve, reject, options);
46
- });
47
- }
48
-
49
- //# sourceMappingURL=loaders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/browsers/loaders.ts"],"sourcesContent":["function load(\n el: HTMLScriptElement | HTMLLinkElement,\n resolve: (v: any) => void,\n reject: (v: any) => void,\n options: { attributes: Record<string, string> } | undefined,\n) {\n el.onload = () => {\n resolve(el);\n };\n el.onerror = (e) => {\n el.remove();\n reject(e);\n };\n const { attributes = {} } = options || {};\n Object.entries(attributes).forEach(([k, v]) => {\n el.setAttribute(k, v);\n });\n\n document.head.appendChild(el);\n}\n\nexport function loadScripts(\n src: string[],\n options?: { attributes: Record<string, string> },\n): Promise<HTMLScriptElement[]>;\nexport function loadScripts(src: string, options?: { attributes: Record<string, string> }): Promise<HTMLScriptElement>;\n\nexport function loadScripts(\n src: string | string[],\n options?: { attributes: Record<string, string> },\n): Promise<HTMLScriptElement | HTMLScriptElement[]> {\n if (Array.isArray(src)) {\n return Promise.resolve().then(async () => {\n const all = [];\n for (const s of src) {\n all.push(await loadScripts(s));\n }\n return all;\n });\n }\n // todo quote ?\n const $ele = document.querySelector(`script[src=\"${src}\"]`) as HTMLScriptElement;\n if ($ele) {\n return Promise.resolve($ele);\n }\n return new Promise((resolve, reject) => {\n const el = document.createElement('script');\n el.src = src;\n load(el, resolve, reject, options);\n });\n}\n\nexport function loadStyles(href: string, options?: { attributes: Record<string, string> }): Promise<HTMLLinkElement> {\n const $ele = document.querySelector(`link[href=\"${href}\"]`) as HTMLLinkElement;\n if ($ele) {\n return Promise.resolve($ele);\n }\n\n return new Promise((resolve, reject) => {\n const el = document.createElement('link');\n el.rel = 'stylesheet';\n el.href = href;\n load(el, resolve, reject, options);\n });\n}\n"],"names":["load","el","resolve","reject","options","onload","onerror","e","remove","attributes","Object","entries","forEach","k","v","setAttribute","document","head","appendChild","loadScripts","src","Array","isArray","Promise","then","all","s","push","$ele","querySelector","createElement","loadStyles","href","rel"],"mappings":"AAAA,SAASA,KACPC,EAAuC,EACvCC,OAAyB,EACzBC,MAAwB,EACxBC,OAA2D;IAE3DH,GAAGI,MAAM,GAAG;QACVH,QAAQD;IACV;IACAA,GAAGK,OAAO,GAAG,CAACC;QACZN,GAAGO,MAAM;QACTL,OAAOI;IACT;IACA,MAAM,EAAEE,aAAa,CAAC,CAAC,EAAE,GAAGL,WAAW,CAAC;IACxCM,OAAOC,OAAO,CAACF,YAAYG,OAAO,CAAC,CAAC,CAACC,GAAGC,EAAE;QACxCb,GAAGc,YAAY,CAACF,GAAGC;IACrB;IAEAE,SAASC,IAAI,CAACC,WAAW,CAACjB;AAC5B;AAQA,OAAO,SAASkB,YACdC,GAAsB,EACtBhB,OAAgD;IAEhD,IAAIiB,MAAMC,OAAO,CAACF,MAAM;QACtB,OAAOG,QAAQrB,OAAO,GAAGsB,IAAI,CAAC;YAC5B,MAAMC,MAAM,EAAE;YACd,KAAK,MAAMC,KAAKN,IAAK;gBACnBK,IAAIE,IAAI,CAAC,MAAMR,YAAYO;YAC7B;YACA,OAAOD;QACT;IACF;IACA,eAAe;IACf,MAAMG,OAAOZ,SAASa,aAAa,CAAC,CAAC,YAAY,EAAET,IAAI,EAAE,CAAC;IAC1D,IAAIQ,MAAM;QACR,OAAOL,QAAQrB,OAAO,CAAC0B;IACzB;IACA,OAAO,IAAIL,QAAQ,CAACrB,SAASC;QAC3B,MAAMF,KAAKe,SAASc,aAAa,CAAC;QAClC7B,GAAGmB,GAAG,GAAGA;QACTpB,KAAKC,IAAIC,SAASC,QAAQC;IAC5B;AACF;AAEA,OAAO,SAAS2B,WAAWC,IAAY,EAAE5B,OAAgD;IACvF,MAAMwB,OAAOZ,SAASa,aAAa,CAAC,CAAC,WAAW,EAAEG,KAAK,EAAE,CAAC;IAC1D,IAAIJ,MAAM;QACR,OAAOL,QAAQrB,OAAO,CAAC0B;IACzB;IAEA,OAAO,IAAIL,QAAQ,CAACrB,SAASC;QAC3B,MAAMF,KAAKe,SAASc,aAAa,CAAC;QAClC7B,GAAGgC,GAAG,GAAG;QACThC,GAAG+B,IAAI,GAAGA;QACVhC,KAAKC,IAAIC,SAASC,QAAQC;IAC5B;AACF"}
@@ -1,7 +0,0 @@
1
- /**
2
- * hex string
3
- */ export function hex(s) {
4
- return Array.from(new Uint8Array(s)).map((v)=>v.toString(16).padStart(2, '0')).join('');
5
- }
6
-
7
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/crypto/base.ts"],"sourcesContent":["/**\n * hex string\n */\nexport function hex(s: Uint8Array | ArrayBuffer) {\n return Array.from(new Uint8Array(s))\n .map((v) => v.toString(16).padStart(2, '0'))\n .join('');\n}\n"],"names":["hex","s","Array","from","Uint8Array","map","v","toString","padStart","join"],"mappings":"AAAA;;CAEC,GACD,OAAO,SAASA,IAAIC,CAA2B;IAC7C,OAAOC,MAAMC,IAAI,CAAC,IAAIC,WAAWH,IAC9BI,GAAG,CAAC,CAACC,IAAMA,EAAEC,QAAQ,CAAC,IAAIC,QAAQ,CAAC,GAAG,MACtCC,IAAI,CAAC;AACV"}