@wener/utils 1.1.26 → 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 (351) hide show
  1. package/README.md +4 -0
  2. package/lib/arrays/MaybeArray.js +36 -25
  3. package/lib/arrays/MaybeArray.js.map +1 -1
  4. package/lib/arrays/arrayFromAsync.js +5 -7
  5. package/lib/arrays/arrayFromAsync.js.map +1 -1
  6. package/lib/asyncs/AsyncInterval.js +11 -12
  7. package/lib/asyncs/AsyncInterval.js.map +1 -1
  8. package/lib/asyncs/MaybePromise.js +3 -0
  9. package/lib/asyncs/MaybePromise.js.map +1 -0
  10. package/lib/asyncs/createAsyncIterator.js +37 -35
  11. package/lib/asyncs/createAsyncIterator.js.map +1 -1
  12. package/lib/asyncs/createLazyPromise.js +59 -60
  13. package/lib/asyncs/createLazyPromise.js.map +1 -1
  14. package/lib/asyncs/firstOfAsyncIterator.js +7 -9
  15. package/lib/asyncs/firstOfAsyncIterator.js.map +1 -1
  16. package/lib/asyncs/generatorOfStream.js +16 -0
  17. package/lib/asyncs/generatorOfStream.js.map +1 -0
  18. package/lib/asyncs/isIterator.js +3 -4
  19. package/lib/asyncs/isIterator.js.map +1 -1
  20. package/lib/asyncs/isPromise.js +3 -4
  21. package/lib/asyncs/isPromise.js.map +1 -1
  22. package/lib/asyncs/isThenable.js +6 -0
  23. package/lib/asyncs/isThenable.js.map +1 -0
  24. package/lib/asyncs/nextOfAsyncIterator.js +20 -14
  25. package/lib/asyncs/nextOfAsyncIterator.js.map +1 -1
  26. package/lib/asyncs/promiseOfCallback.js +17 -0
  27. package/lib/asyncs/promiseOfCallback.js.map +1 -0
  28. package/lib/asyncs/sleep.js +2 -3
  29. package/lib/asyncs/sleep.js.map +1 -1
  30. package/lib/asyncs/timeout.js +22 -26
  31. package/lib/asyncs/timeout.js.map +1 -1
  32. package/lib/browsers/copy.js +47 -45
  33. package/lib/browsers/copy.js.map +1 -1
  34. package/lib/browsers/download.js +38 -27
  35. package/lib/browsers/download.js.map +1 -1
  36. package/lib/browsers/getFileFromDataTransfer.js +41 -28
  37. package/lib/browsers/getFileFromDataTransfer.js.map +1 -1
  38. package/lib/browsers/loaders.js +43 -43
  39. package/lib/browsers/loaders.js.map +1 -1
  40. package/lib/crypto/base.js +5 -4
  41. package/lib/crypto/base.js.map +1 -1
  42. package/lib/crypto/getNodeCrypto.js +14 -13
  43. package/lib/crypto/getNodeCrypto.js.map +1 -1
  44. package/lib/crypto/getRandomValues.js +22 -26
  45. package/lib/crypto/getRandomValues.js.map +1 -1
  46. package/lib/crypto/hashing.js +42 -50
  47. package/lib/crypto/hashing.js.map +1 -1
  48. package/lib/crypto/md5.bench.js +21 -0
  49. package/lib/crypto/md5.bench.js.map +1 -0
  50. package/lib/crypto/md5.d.js +3 -0
  51. package/lib/crypto/md5.d.js.map +1 -0
  52. package/lib/crypto/md5.js +119 -121
  53. package/lib/crypto/md5.js.map +1 -1
  54. package/lib/crypto/pem/pem.js +32 -35
  55. package/lib/crypto/pem/pem.js.map +1 -1
  56. package/lib/crypto/randomUUID.js +12 -11
  57. package/lib/crypto/randomUUID.js.map +1 -1
  58. package/lib/crypto/ulid.js +123 -112
  59. package/lib/crypto/ulid.js.map +1 -1
  60. package/lib/errors/Errors.js +167 -149
  61. package/lib/errors/Errors.js.map +1 -1
  62. package/lib/fetch/createFetchWith.js +20 -23
  63. package/lib/fetch/createFetchWith.js.map +1 -1
  64. package/lib/fetch/createFetchWithLogging.js +20 -16
  65. package/lib/fetch/createFetchWithLogging.js.map +1 -1
  66. package/lib/fetch/createFetchWithRetry.js +61 -65
  67. package/lib/fetch/createFetchWithRetry.js.map +1 -1
  68. package/lib/fetch/dumpRequest.js +39 -42
  69. package/lib/fetch/dumpRequest.js.map +1 -1
  70. package/lib/fetch/dumpResponse.js +13 -20
  71. package/lib/fetch/dumpResponse.js.map +1 -1
  72. package/lib/fetch/index.js +7 -0
  73. package/lib/fetch/index.js.map +1 -0
  74. package/lib/fetch/types.js +3 -0
  75. package/lib/fetch/types.js.map +1 -0
  76. package/lib/http/HttpStatus.js +89 -80
  77. package/lib/http/HttpStatus.js.map +1 -1
  78. package/lib/i18n/createTranslate.js +48 -48
  79. package/lib/i18n/createTranslate.js.map +1 -1
  80. package/lib/index.js +30 -14
  81. package/lib/index.js.map +1 -1
  82. package/lib/io/AbstractEncoding.js +7 -0
  83. package/lib/io/AbstractEncoding.js.map +1 -0
  84. package/lib/io/ArrayBuffer.test-d.js +7 -0
  85. package/lib/io/ArrayBuffer.test-d.js.map +1 -0
  86. package/lib/io/ArrayBuffers.js +198 -172
  87. package/lib/io/ArrayBuffers.js.map +1 -1
  88. package/lib/io/Buffer.js +21 -20
  89. package/lib/io/Buffer.js.map +1 -1
  90. package/lib/io/base64.js +49 -48
  91. package/lib/io/base64.js.map +1 -1
  92. package/lib/io/isBuffer.js +7 -5
  93. package/lib/io/isBuffer.js.map +1 -1
  94. package/lib/io/isTransferable.js +23 -19
  95. package/lib/io/isTransferable.js.map +1 -1
  96. package/lib/isomorphics/getGlobalThis.js +17 -12
  97. package/lib/isomorphics/getGlobalThis.js.map +1 -1
  98. package/lib/isomorphics/structuredClone.js +71 -63
  99. package/lib/isomorphics/structuredClone.js.map +1 -1
  100. package/lib/langs/MaybeFunction.js +7 -7
  101. package/lib/langs/MaybeFunction.js.map +1 -1
  102. package/lib/langs/classOf.js +3 -4
  103. package/lib/langs/classOf.js.map +1 -1
  104. package/lib/langs/deepEqual.js +77 -85
  105. package/lib/langs/deepEqual.js.map +1 -1
  106. package/lib/langs/deepFreeze.js +20 -0
  107. package/lib/langs/deepFreeze.js.map +1 -0
  108. package/lib/langs/hashCode.ignored.js +112 -0
  109. package/lib/langs/hashCode.ignored.js.map +1 -0
  110. package/lib/langs/isClass.js +3 -4
  111. package/lib/langs/isClass.js.map +1 -1
  112. package/lib/langs/isDefined.js +3 -4
  113. package/lib/langs/isDefined.js.map +1 -1
  114. package/lib/langs/isEmptyObject.js +3 -5
  115. package/lib/langs/isEmptyObject.js.map +1 -1
  116. package/lib/langs/isFunction.js +5 -0
  117. package/lib/langs/isFunction.js.map +1 -0
  118. package/lib/langs/isPlainObject.js +7 -8
  119. package/lib/langs/isPlainObject.js.map +1 -1
  120. package/lib/langs/memoize.js +19 -21
  121. package/lib/langs/memoize.js.map +1 -1
  122. package/lib/langs/parseBoolean.js +26 -27
  123. package/lib/langs/parseBoolean.js.map +1 -1
  124. package/lib/langs/shallowClone.js +12 -12
  125. package/lib/langs/shallowClone.js.map +1 -1
  126. package/lib/langs/shallowEqual.js +21 -18
  127. package/lib/langs/shallowEqual.js.map +1 -1
  128. package/lib/libs/ms.js +123 -103
  129. package/lib/libs/ms.js.map +1 -1
  130. package/lib/logging/Logger.js +5 -0
  131. package/lib/logging/Logger.js.map +1 -0
  132. package/lib/logging/createChildLogger.js +12 -14
  133. package/lib/logging/createChildLogger.js.map +1 -1
  134. package/lib/logging/createLogger.js +59 -33
  135. package/lib/logging/createLogger.js.map +1 -1
  136. package/lib/logging/createNoopLogger.js +11 -12
  137. package/lib/logging/createNoopLogger.js.map +1 -1
  138. package/lib/logging/slog.js +143 -0
  139. package/lib/logging/slog.js.map +1 -0
  140. package/lib/maths/clamp.js +21 -0
  141. package/lib/maths/clamp.js.map +1 -0
  142. package/lib/maths/random.js +14 -15
  143. package/lib/maths/random.js.map +1 -1
  144. package/lib/modules/isModule.js +5 -4
  145. package/lib/modules/isModule.js.map +1 -1
  146. package/lib/modules/parseModuleId.js +36 -31
  147. package/lib/modules/parseModuleId.js.map +1 -1
  148. package/lib/objects/get.js +13 -11
  149. package/lib/objects/get.js.map +1 -1
  150. package/lib/objects/get.test-d.js +33 -0
  151. package/lib/objects/get.test-d.js.map +1 -0
  152. package/lib/objects/merge/index.js +3 -0
  153. package/lib/objects/merge/index.js.map +1 -0
  154. package/lib/objects/merge/isMergeableObject.js +11 -10
  155. package/lib/objects/merge/isMergeableObject.js.map +1 -1
  156. package/lib/objects/merge/merge.js +65 -66
  157. package/lib/objects/merge/merge.js.map +1 -1
  158. package/lib/objects/parseObjectPath.js +35 -23
  159. package/lib/objects/parseObjectPath.js.map +1 -1
  160. package/lib/objects/set.js +33 -34
  161. package/lib/objects/set.js.map +1 -1
  162. package/lib/schema/typebox/gen/codegen/common/encoder.js +100 -0
  163. package/lib/schema/typebox/gen/codegen/common/encoder.js.map +1 -0
  164. package/lib/schema/typebox/gen/codegen/common/formatter.js +33 -0
  165. package/lib/schema/typebox/gen/codegen/common/formatter.js.map +1 -0
  166. package/lib/schema/typebox/gen/codegen/common/index.js +5 -0
  167. package/lib/schema/typebox/gen/codegen/common/index.js.map +1 -0
  168. package/lib/schema/typebox/gen/codegen/common/jsdoc.js +117 -0
  169. package/lib/schema/typebox/gen/codegen/common/jsdoc.js.map +1 -0
  170. package/lib/schema/typebox/gen/codegen/expression/compiler.js +367 -0
  171. package/lib/schema/typebox/gen/codegen/expression/compiler.js.map +1 -0
  172. package/lib/schema/typebox/gen/codegen/expression/errors.js +259 -0
  173. package/lib/schema/typebox/gen/codegen/expression/errors.js.map +1 -0
  174. package/lib/schema/typebox/gen/codegen/expression/evaluator.js +254 -0
  175. package/lib/schema/typebox/gen/codegen/expression/evaluator.js.map +1 -0
  176. package/lib/schema/typebox/gen/codegen/expression/expression.js +384 -0
  177. package/lib/schema/typebox/gen/codegen/expression/expression.js.map +1 -0
  178. package/lib/schema/typebox/gen/codegen/expression/index.js +6 -0
  179. package/lib/schema/typebox/gen/codegen/expression/index.js.map +1 -0
  180. package/lib/schema/typebox/gen/codegen/index.js +5 -0
  181. package/lib/schema/typebox/gen/codegen/index.js.map +1 -0
  182. package/lib/schema/typebox/gen/codegen/model/index.js +16 -0
  183. package/lib/schema/typebox/gen/codegen/model/index.js.map +1 -0
  184. package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js +239 -0
  185. package/lib/schema/typebox/gen/codegen/model/model-to-arktype.js.map +1 -0
  186. package/lib/schema/typebox/gen/codegen/model/model-to-expression.js +359 -0
  187. package/lib/schema/typebox/gen/codegen/model/model-to-expression.js.map +1 -0
  188. package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js +217 -0
  189. package/lib/schema/typebox/gen/codegen/model/model-to-grpc.js.map +1 -0
  190. package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js +253 -0
  191. package/lib/schema/typebox/gen/codegen/model/model-to-io-ts.js.map +1 -0
  192. package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js +47 -0
  193. package/lib/schema/typebox/gen/codegen/model/model-to-javascript.js.map +1 -0
  194. package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js +171 -0
  195. package/lib/schema/typebox/gen/codegen/model/model-to-json-schema.js.map +1 -0
  196. package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js +33 -0
  197. package/lib/schema/typebox/gen/codegen/model/model-to-typebox.js.map +1 -0
  198. package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js +164 -0
  199. package/lib/schema/typebox/gen/codegen/model/model-to-typescript.js.map +1 -0
  200. package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js +218 -0
  201. package/lib/schema/typebox/gen/codegen/model/model-to-valibot.js.map +1 -0
  202. package/lib/schema/typebox/gen/codegen/model/model-to-value.js +43 -0
  203. package/lib/schema/typebox/gen/codegen/model/model-to-value.js.map +1 -0
  204. package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js +206 -0
  205. package/lib/schema/typebox/gen/codegen/model/model-to-yrel.js.map +1 -0
  206. package/lib/schema/typebox/gen/codegen/model/model-to-yup.js +204 -0
  207. package/lib/schema/typebox/gen/codegen/model/model-to-yup.js.map +1 -0
  208. package/lib/schema/typebox/gen/codegen/model/model-to-zod.js +227 -0
  209. package/lib/schema/typebox/gen/codegen/model/model-to-zod.js.map +1 -0
  210. package/lib/schema/typebox/gen/codegen/model/model.js +27 -0
  211. package/lib/schema/typebox/gen/codegen/model/model.js.map +1 -0
  212. package/lib/schema/typebox/gen/codegen/typescript/index.js +4 -0
  213. package/lib/schema/typebox/gen/codegen/typescript/index.js.map +1 -0
  214. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js +48 -0
  215. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-model.js.map +1 -0
  216. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js +596 -0
  217. package/lib/schema/typebox/gen/codegen/typescript/typescript-to-typebox.js.map +1 -0
  218. package/lib/schema/typebox/gen/index.js +3 -0
  219. package/lib/schema/typebox/gen/index.js.map +1 -0
  220. package/lib/schema/typebox/index.js +3 -0
  221. package/lib/schema/typebox/index.js.map +1 -0
  222. package/lib/schema/typebox/typebox.js +23 -0
  223. package/lib/schema/typebox/typebox.js.map +1 -0
  224. package/lib/server.js +2 -1
  225. package/lib/server.js.map +1 -1
  226. package/lib/servers/crypto/md5.js +3 -5
  227. package/lib/servers/crypto/md5.js.map +1 -1
  228. package/lib/servers/fetch/createFetchWithProxy.js +2 -4
  229. package/lib/servers/fetch/createFetchWithProxy.js.map +1 -1
  230. package/lib/servers/fetch/createFetchWithProxyByNodeFetch.js +34 -34
  231. package/lib/servers/fetch/createFetchWithProxyByNodeFetch.js.map +1 -1
  232. package/lib/servers/fetch/createFetchWithProxyByUndici.js +59 -45
  233. package/lib/servers/fetch/createFetchWithProxyByUndici.js.map +1 -1
  234. package/lib/servers/getPackageDir.js +8 -10
  235. package/lib/servers/getPackageDir.js.map +1 -1
  236. package/lib/servers/jsdom.js +3 -2
  237. package/lib/servers/jsdom.js.map +1 -1
  238. package/lib/servers/node-fetch.js +4 -3
  239. package/lib/servers/node-fetch.js.map +1 -1
  240. package/lib/servers/polyfill/polyfillBrowser.js +17 -0
  241. package/lib/servers/polyfill/polyfillBrowser.js.map +1 -0
  242. package/lib/servers/polyfill/polyfillCrypto.js +8 -10
  243. package/lib/servers/polyfill/polyfillCrypto.js.map +1 -1
  244. package/lib/servers/polyfill/polyfillFetch.js +23 -22
  245. package/lib/servers/polyfill/polyfillFetch.js.map +1 -1
  246. package/lib/servers/polyfill/polyfillJsDom.js +59 -52
  247. package/lib/servers/polyfill/polyfillJsDom.js.map +1 -1
  248. package/lib/servers/polyfill/polyfillWebSocket.js +13 -13
  249. package/lib/servers/polyfill/polyfillWebSocket.js.map +1 -1
  250. package/lib/servers/ws.js +3 -2
  251. package/lib/servers/ws.js.map +1 -1
  252. package/lib/strings/camelCase.js +51 -49
  253. package/lib/strings/camelCase.js.map +1 -1
  254. package/lib/strings/formatBytes.js +41 -15
  255. package/lib/strings/formatBytes.js.map +1 -1
  256. package/lib/strings/renderTemplate.js +27 -20
  257. package/lib/strings/renderTemplate.js.map +1 -1
  258. package/lib/typedoc.js +4 -0
  259. package/lib/typedoc.js.map +1 -0
  260. package/lib/types/global.d.js +2 -0
  261. package/lib/types/global.d.js.map +1 -0
  262. package/lib/types/index.d.js +6 -0
  263. package/lib/types/index.d.js.map +1 -0
  264. package/lib/validations/asserts.js +14 -0
  265. package/lib/validations/asserts.js.map +1 -0
  266. package/lib/validations/isUUID.js +3 -4
  267. package/lib/validations/isUUID.js.map +1 -1
  268. package/lib/validations/parseTimestamp.js +25 -21
  269. package/lib/validations/parseTimestamp.js.map +1 -1
  270. package/package.json +59 -44
  271. package/src/index.ts +3 -3
  272. package/src/langs/deepFreeze.ts +19 -0
  273. package/src/langs/hashCode.ignored.ts +125 -0
  274. package/src/libs/README.md +2 -0
  275. package/src/logging/slog.ts +121 -0
  276. package/src/maths/clamp.test.ts +19 -0
  277. package/src/maths/clamp.ts +23 -1
  278. package/src/objects/get.ts +14 -14
  279. package/src/objects/set.ts +5 -5
  280. package/src/schema/typebox/gen/codegen/common/encoder.ts +99 -0
  281. package/src/schema/typebox/gen/codegen/common/formatter.ts +31 -0
  282. package/src/schema/typebox/gen/codegen/common/index.ts +29 -0
  283. package/src/schema/typebox/gen/codegen/common/jsdoc.ts +93 -0
  284. package/src/schema/typebox/gen/codegen/expression/compiler.ts +377 -0
  285. package/src/schema/typebox/gen/codegen/expression/errors.ts +302 -0
  286. package/src/schema/typebox/gen/codegen/expression/evaluator.ts +268 -0
  287. package/src/schema/typebox/gen/codegen/expression/expression.ts +538 -0
  288. package/src/schema/typebox/gen/codegen/expression/index.ts +32 -0
  289. package/src/schema/typebox/gen/codegen/index.ts +29 -0
  290. package/src/schema/typebox/gen/codegen/model/index.ts +40 -0
  291. package/src/schema/typebox/gen/codegen/model/model-to-arktype.ts +266 -0
  292. package/src/schema/typebox/gen/codegen/model/model-to-expression.ts +378 -0
  293. package/src/schema/typebox/gen/codegen/model/model-to-grpc.ts +244 -0
  294. package/src/schema/typebox/gen/codegen/model/model-to-io-ts.ts +294 -0
  295. package/src/schema/typebox/gen/codegen/model/model-to-javascript.ts +42 -0
  296. package/src/schema/typebox/gen/codegen/model/model-to-json-schema.ts +166 -0
  297. package/src/schema/typebox/gen/codegen/model/model-to-typebox.ts +32 -0
  298. package/src/schema/typebox/gen/codegen/model/model-to-typescript.ts +189 -0
  299. package/src/schema/typebox/gen/codegen/model/model-to-valibot.ts +236 -0
  300. package/src/schema/typebox/gen/codegen/model/model-to-value.ts +42 -0
  301. package/src/schema/typebox/gen/codegen/model/model-to-yrel.ts +232 -0
  302. package/src/schema/typebox/gen/codegen/model/model-to-yup.ts +226 -0
  303. package/src/schema/typebox/gen/codegen/model/model-to-zod.ts +251 -0
  304. package/src/schema/typebox/gen/codegen/model/model.ts +33 -0
  305. package/src/schema/typebox/gen/codegen/typescript/index.ts +28 -0
  306. package/src/schema/typebox/gen/codegen/typescript/typescript-to-model.ts +61 -0
  307. package/src/schema/typebox/gen/codegen/typescript/typescript-to-typebox.ts +647 -0
  308. package/src/schema/typebox/gen/gen.test.ts +12 -0
  309. package/src/schema/typebox/gen/index.ts +1 -0
  310. package/src/schema/typebox/index.ts +1 -0
  311. package/src/schema/typebox/typebox.ts +34 -0
  312. package/src/servers/fetch/createFetchWithProxyByUndici.ts +16 -1
  313. package/src/types/index.d.ts +1 -0
  314. package/dist/LICENSE.txt +0 -1
  315. package/dist/cjs/getGlobalThis-304f74e0.js +0 -2
  316. package/dist/cjs/getGlobalThis-304f74e0.js.map +0 -1
  317. package/dist/cjs/index.cjs +0 -21
  318. package/dist/cjs/index.cjs.map +0 -1
  319. package/dist/cjs/server.cjs +0 -2
  320. package/dist/cjs/server.cjs.map +0 -1
  321. package/dist/cjs/servers/jsdom.cjs +0 -2
  322. package/dist/cjs/servers/jsdom.cjs.map +0 -1
  323. package/dist/cjs/servers/node-fetch.cjs +0 -2
  324. package/dist/cjs/servers/node-fetch.cjs.map +0 -1
  325. package/dist/cjs/servers/ws.cjs +0 -2
  326. package/dist/cjs/servers/ws.cjs.map +0 -1
  327. package/dist/esm/getGlobalThis-b7ad0cf9.js +0 -2
  328. package/dist/esm/getGlobalThis-b7ad0cf9.js.map +0 -1
  329. package/dist/esm/index.js +0 -21
  330. package/dist/esm/index.js.map +0 -1
  331. package/dist/esm/server.js +0 -2
  332. package/dist/esm/server.js.map +0 -1
  333. package/dist/esm/servers/jsdom.js +0 -2
  334. package/dist/esm/servers/jsdom.js.map +0 -1
  335. package/dist/esm/servers/node-fetch.js +0 -2
  336. package/dist/esm/servers/node-fetch.js.map +0 -1
  337. package/dist/esm/servers/ws.js +0 -2
  338. package/dist/esm/servers/ws.js.map +0 -1
  339. package/dist/system/getGlobalThis-8951eb0e.js +0 -2
  340. package/dist/system/getGlobalThis-8951eb0e.js.map +0 -1
  341. package/dist/system/index.js +0 -21
  342. package/dist/system/index.js.map +0 -1
  343. package/dist/system/server.js +0 -2
  344. package/dist/system/server.js.map +0 -1
  345. package/dist/system/servers/jsdom.js +0 -2
  346. package/dist/system/servers/jsdom.js.map +0 -1
  347. package/dist/system/servers/node-fetch.js +0 -2
  348. package/dist/system/servers/node-fetch.js.map +0 -1
  349. package/dist/system/servers/ws.js +0 -2
  350. package/dist/system/servers/ws.js.map +0 -1
  351. package/src/langs/hashCode.ts +0 -37
package/README.md CHANGED
@@ -10,6 +10,10 @@
10
10
  - https://github.com/lukeed/templite
11
11
  - https://github.com/lukeed/rosetta
12
12
  - https://github.com/sindresorhus/camelcase
13
+ - https://github.com/triggerdotdev/trigger.dev/blob/main/packages/core-backend/src/bloom.ts
14
+ - ohash
15
+ - humanlize-duration
16
+ - morgan
13
17
  - see also
14
18
  - https://github.com/Daninet/hash-wasm
15
19
 
@@ -1,30 +1,41 @@
1
- function objectOfMaybeArray(o, keys = null, picker = firstOfMaybeArray) {
2
- if (keys === null) {
3
- return Object.fromEntries(Object.entries(o).map(([k, v]) => [k, picker(v)]));
4
- }
5
- return Object.fromEntries(keys.map((v) => [v, picker(v)]));
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
+ ]));
6
16
  }
7
- function firstOfMaybeArray(v) {
8
- if (Array.isArray(v)) {
9
- return v[0];
10
- }
11
- return v;
12
- }
13
- function lastOfMaybeArray(v) {
14
- if (Array.isArray(v)) {
15
- return v[v.length - 1];
16
- }
17
- return v;
17
+ export function firstOfMaybeArray(v) {
18
+ if (Array.isArray(v)) {
19
+ return v[0];
20
+ }
21
+ return v;
18
22
  }
19
- function arrayOfMaybeArray(v) {
20
- if (Array.isArray(v)) {
23
+ export function lastOfMaybeArray(v) {
24
+ if (Array.isArray(v)) {
25
+ return v[v.length - 1];
26
+ }
21
27
  return v;
22
- }
23
- if (v === null || v === void 0) {
24
- return [];
25
- }
26
- 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
+ ];
27
39
  }
28
40
 
29
- export { arrayOfMaybeArray, firstOfMaybeArray, lastOfMaybeArray, objectOfMaybeArray };
30
- //# sourceMappingURL=MaybeArray.js.map
41
+ //# sourceMappingURL=MaybeArray.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaybeArray.js","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":[],"mappings":"AAQO,SAAS,kBACd,CAAA,CAAA,EACA,IAAwB,GAAA,IAAA,EACxB,SAAS,iBACU,EAAA;AACnB,EAAA,IAAI,SAAS,IAAM,EAAA;AACjB,IAAA,OAAO,OAAO,WAAY,CAAA,MAAA,CAAO,QAAQ,CAAC,CAAA,CAAE,IAAI,CAAC,CAAC,CAAG,EAAA,CAAC,MAAM,CAAC,CAAA,EAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,GAC7E;AACA,EAAA,OAAO,MAAO,CAAA,WAAA,CAAY,IAAK,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,CAAC,CAAA,EAAG,MAAO,CAAA,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA;AAC3D,CAAA;AAEO,SAAS,kBAAqB,CAAqB,EAAA;AACxD,EAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,CAAG,EAAA;AACpB,IAAA,OAAO,EAAE,CAAC,CAAA,CAAA;AAAA,GACZ;AACA,EAAO,OAAA,CAAA,CAAA;AACT,CAAA;AAEO,SAAS,iBAAoB,CAAqB,EAAA;AACvD,EAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,CAAG,EAAA;AACpB,IAAO,OAAA,CAAA,CAAE,CAAE,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AAAA,GACvB;AACA,EAAO,OAAA,CAAA,CAAA;AACT,CAAA;AAEO,SAAS,kBAAqB,CAA0C,EAAA;AAC7E,EAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,CAAG,EAAA;AACpB,IAAO,OAAA,CAAA,CAAA;AAAA,GACT;AACA,EAAI,IAAA,CAAA,KAAM,IAAQ,IAAA,CAAA,KAAM,KAAW,CAAA,EAAA;AACjC,IAAA,OAAO,EAAC,CAAA;AAAA,GACV;AACA,EAAA,OAAO,CAAC,CAAC,CAAA,CAAA;AACX;;;;"}
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,9 +1,7 @@
1
- async function arrayFromAsync(asyncIterable) {
2
- const array = [];
3
- for await (const i of asyncIterable)
4
- array.push(i);
5
- return array;
1
+ export async function arrayFromAsync(asyncIterable) {
2
+ const array = [];
3
+ for await (const i of asyncIterable)array.push(i);
4
+ return array;
6
5
  }
7
6
 
8
- export { arrayFromAsync };
9
- //# sourceMappingURL=arrayFromAsync.js.map
7
+ //# sourceMappingURL=arrayFromAsync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrayFromAsync.js","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":[],"mappings":"AAAA,eAAsB,eAAkB,aAA+C,EAAA;AACrF,EAAA,MAAM,QAAQ,EAAC,CAAA;AACf,EAAA,WAAA,MAAiB,CAAK,IAAA,aAAA;AAAe,IAAA,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AACjD,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
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,15 +1,14 @@
1
- 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;
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
9
  }
10
- function clearAsyncInterval(v) {
11
- clearTimeout(v == null ? void 0 : v());
10
+ export function clearAsyncInterval(v) {
11
+ clearTimeout(v?.());
12
12
  }
13
13
 
14
- export { clearAsyncInterval, setAsyncInterval };
15
- //# sourceMappingURL=AsyncInterval.js.map
14
+ //# sourceMappingURL=AsyncInterval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncInterval.js","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":[],"mappings":"AAEO,SAAS,gBAAiB,CAAA,EAAA,EAAgB,QAAkB,EAAA,OAAA,GAAU,QAAmC,EAAA;AAC9G,EAAI,IAAA,EAAA,CAAA;AACJ,EAAA,MAAM,UAAU,YAAY;AAC1B,IAAA,MAAM,EAAG,EAAA,CAAA;AACT,IAAK,EAAA,GAAA,UAAA,CAAW,SAAS,QAAQ,CAAA,CAAA;AAAA,GACnC,CAAA;AACA,EAAK,EAAA,GAAA,UAAA,CAAW,SAAS,OAAO,CAAA,CAAA;AAChC,EAAA,OAAO,MAAM,EAAA,CAAA;AACf,CAAA;AAEO,SAAS,mBAAmB,CAA4B,EAAA;AAC7D,EAAA,YAAA,CAAa,CAAK,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA;AACpB;;;;"}
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"}
@@ -0,0 +1,3 @@
1
+ export { };
2
+
3
+ //# sourceMappingURL=MaybePromise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/asyncs/MaybePromise.ts"],"sourcesContent":["export type MaybePromise<T> = Promise<T> | T;\n"],"names":[],"mappings":"AAAA,WAA6C"}
@@ -1,39 +1,41 @@
1
1
  import { createLazyPromise } from './createLazyPromise.js';
2
-
3
- function createAsyncIterator(fn) {
4
- const values = [];
5
- let recv;
6
- {
7
- let next;
8
- values.push(next = createLazyPromise());
9
- recv = (val, err) => {
10
- if (err !== void 0) {
11
- next.resolve([void 0, true, err]);
12
- } else if (val !== void 0) {
13
- next.resolve(val);
14
- } else {
15
- return;
16
- }
17
- values.push(next = createLazyPromise());
18
- };
19
- }
20
- fn(recv);
21
- return async function* () {
22
- let value;
23
- let err;
24
- for (let i = 0, done = false; !done; i++) {
25
- let result = await values[i];
26
- delete values[i];
27
- [value, done, err] = result;
28
- if (err) {
29
- throw err;
30
- }
31
- if (value !== void 0) {
32
- yield value;
33
- }
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
+ };
34
22
  }
35
- }();
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
+ }();
36
39
  }
37
40
 
38
- export { createAsyncIterator };
39
- //# sourceMappingURL=createAsyncIterator.js.map
41
+ //# sourceMappingURL=createAsyncIterator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createAsyncIterator.js","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":[],"mappings":";;AAKO,SAAS,oBACd,EACkC,EAAA;AAClC,EAAA,MAAM,SAAiC,EAAC,CAAA;AACxC,EAAI,IAAA,IAAA,CAAA;AACJ,EAAA;AACE,IAAI,IAAA,IAAA,CAAA;AACJ,IAAO,MAAA,CAAA,IAAA,CAAM,IAAO,GAAA,iBAAA,EAAoB,CAAA,CAAA;AACxC,IAAO,IAAA,GAAA,CAAC,KAAK,GAAQ,KAAA;AACnB,MAAA,IAAI,QAAQ,KAAW,CAAA,EAAA;AACrB,QAAA,IAAA,CAAK,OAAQ,CAAA,CAAC,KAAW,CAAA,EAAA,IAAA,EAAM,GAAG,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA,IAAW,QAAQ,KAAW,CAAA,EAAA;AAC5B,QAAA,IAAA,CAAK,QAAQ,GAAG,CAAA,CAAA;AAAA,OACX,MAAA;AACL,QAAA,OAAA;AAAA,OACF;AACA,MAAO,MAAA,CAAA,IAAA,CAAM,IAAO,GAAA,iBAAA,EAAoB,CAAA,CAAA;AAAA,KAC1C,CAAA;AAAA,GACF;AAEA,EAAA,EAAA,CAAG,IAAI,CAAA,CAAA;AAEP,EAAA,OAAQ,mBAAmB;AACzB,IAAI,IAAA,KAAA,CAAA;AACJ,IAAI,IAAA,GAAA,CAAA;AACJ,IAAA,KAAA,IAAS,IAAI,CAAG,EAAA,IAAA,GAAO,KAAO,EAAA,CAAC,MAAM,CAAK,EAAA,EAAA;AACxC,MAAI,IAAA,MAAA,GAAS,MAAM,MAAA,CAAO,CAAC,CAAA,CAAA;AAC3B,MAAA,OAAO,OAAO,CAAC,CAAA,CAAA;AACf,MAAC,CAAA,KAAA,EAAO,IAAM,EAAA,GAAG,CAAI,GAAA,MAAA,CAAA;AACrB,MAAA,IAAI,GAAK,EAAA;AACP,QAAM,MAAA,GAAA,CAAA;AAAA,OACR;AACA,MAAA,IAAI,UAAU,KAAW,CAAA,EAAA;AACvB,QAAM,MAAA,KAAA,CAAA;AAAA,OACR;AAAA,KACF;AAAA,GACC,EAAA,CAAA;AACL;;;;"}
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,66 +1,65 @@
1
1
  import { isPromise } from './isPromise.js';
2
-
3
- function createLazyPromise(executor) {
4
- const holder = {
5
- resolve(_) {
6
- throw new Error("pending resolve");
7
- },
8
- reject(_) {
9
- throw new Error("pending reject");
10
- }
11
- };
12
- const future = Object.assign(
13
- new Promise((resolve, reject) => {
14
- holder.reject = reject;
15
- holder.resolve = resolve;
16
- }),
17
- {
18
- resolve(v) {
19
- holder.resolve(v);
20
- },
21
- reject(v) {
22
- holder.resolve(v);
23
- }
24
- }
25
- );
26
- if (executor) {
27
- const r = holder.resolve;
28
- let shouldExec = true;
29
- holder.resolve = (v) => {
30
- shouldExec = false;
31
- r(v);
32
- };
33
- const then = future.then.bind(future);
34
- future.then = (...args) => {
35
- if (shouldExec) {
36
- shouldExec = false;
37
- try {
38
- const result = executor(holder.resolve, holder.reject);
39
- if (isPromise(result)) {
40
- result.then(holder.resolve, holder.reject);
41
- } else if (result !== void 0) {
42
- holder.resolve(result);
43
- }
44
- } catch (e) {
45
- holder.reject(e);
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');
46
12
  }
47
- }
48
- return then(...args);
49
13
  };
50
- const like = holder;
51
- like.then = future.then;
52
- like.catch = future.catch.bind(future);
53
- if (future.finally)
54
- like.finally = future.finally;
55
- void Object.defineProperty(like, Symbol.species, {
56
- get() {
57
- return Promise;
58
- }
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
+ }
59
24
  });
60
- return like;
61
- }
62
- return future;
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
63
  }
64
64
 
65
- export { createLazyPromise };
66
- //# sourceMappingURL=createLazyPromise.js.map
65
+ //# sourceMappingURL=createLazyPromise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createLazyPromise.js","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":[],"mappings":";;AAYO,SAAS,kBACd,QAGgB,EAAA;AAChB,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,QAAQ,CAAc,EAAA;AACpB,MAAM,MAAA,IAAI,MAAM,iBAAiB,CAAA,CAAA;AAAA,KACnC;AAAA,IACA,OAAO,CAAc,EAAA;AACnB,MAAM,MAAA,IAAI,MAAM,gBAAgB,CAAA,CAAA;AAAA,KAClC;AAAA,GACF,CAAA;AACA,EAAA,MAAM,SAAS,MAAO,CAAA,MAAA;AAAA,IACpB,IAAI,OAAA,CAAW,CAAC,OAAA,EAAS,MAAW,KAAA;AAClC,MAAA,MAAA,CAAO,MAAS,GAAA,MAAA,CAAA;AAChB,MAAA,MAAA,CAAO,OAAU,GAAA,OAAA,CAAA;AAAA,KAClB,CAAA;AAAA,IACD;AAAA,MACE,QAAQ,CAAQ,EAAA;AACd,QAAA,MAAA,CAAO,QAAQ,CAAC,CAAA,CAAA;AAAA,OAClB;AAAA,MACA,OAAO,CAAQ,EAAA;AACb,QAAA,MAAA,CAAO,QAAQ,CAAC,CAAA,CAAA;AAAA,OAClB;AAAA,KACF;AAAA,GACF,CAAA;AACA,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,MAAM,IAAI,MAAO,CAAA,OAAA,CAAA;AACjB,IAAA,IAAI,UAAa,GAAA,IAAA,CAAA;AACjB,IAAO,MAAA,CAAA,OAAA,GAAU,CAAC,CAAW,KAAA;AAC3B,MAAa,UAAA,GAAA,KAAA,CAAA;AACb,MAAA,CAAA,CAAE,CAAC,CAAA,CAAA;AAAA,KACL,CAAA;AACA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAO,IAAK,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AACpC,IAAO,MAAA,CAAA,IAAA,GAAO,IAAI,IAAS,KAAA;AACzB,MAAA,IAAI,UAAY,EAAA;AACd,QAAa,UAAA,GAAA,KAAA,CAAA;AACb,QAAI,IAAA;AAEF,UAAA,MAAM,MAAS,GAAA,QAAA,CAAS,MAAO,CAAA,OAAA,EAAS,OAAO,MAAM,CAAA,CAAA;AAErD,UAAI,IAAA,SAAA,CAAU,MAAM,CAAG,EAAA;AACrB,YAAA,MAAA,CAAO,IAAK,CAAA,MAAA,CAAO,OAAS,EAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AAAA,WAC3C,MAAA,IAAW,WAAW,KAAW,CAAA,EAAA;AAC/B,YAAA,MAAA,CAAO,QAAQ,MAAM,CAAA,CAAA;AAAA,WACvB;AAAA,iBACO,CAAG,EAAA;AACV,UAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AAAA,SACjB;AAAA,OACF;AACA,MAAO,OAAA,IAAA,CAAK,GAAG,IAAI,CAAA,CAAA;AAAA,KACrB,CAAA;AACA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAA,IAAA,CAAK,OAAO,MAAO,CAAA,IAAA,CAAA;AACnB,IAAA,IAAA,CAAK,KAAQ,GAAA,MAAA,CAAO,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;AACrC,IAAA,IAAI,MAAO,CAAA,OAAA;AAAS,MAAA,IAAA,CAAK,UAAU,MAAO,CAAA,OAAA,CAAA;AAE1C,IAAA,KAAK,MAAO,CAAA,cAAA,CAAe,IAAM,EAAA,MAAA,CAAO,OAAS,EAAA;AAAA,MAC/C,GAAM,GAAA;AACJ,QAAO,OAAA,OAAA,CAAA;AAAA,OACT;AAAA,KACD,CAAA,CAAA;AACD,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}
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,13 +1,11 @@
1
1
  import { isPromise } from './isPromise.js';
2
2
  import { nextOfAsyncIterator } from './nextOfAsyncIterator.js';
3
-
4
- function firstOfAsyncIterator(it) {
5
- const next = nextOfAsyncIterator(it);
6
- if (isPromise(next)) {
7
- return next.then((v) => v[0]);
8
- }
9
- return next[0];
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];
10
9
  }
11
10
 
12
- export { firstOfAsyncIterator };
13
- //# sourceMappingURL=firstOfAsyncIterator.js.map
11
+ //# sourceMappingURL=firstOfAsyncIterator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firstOfAsyncIterator.js","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":[],"mappings":";;;AAIO,SAAS,qBAAwB,EAAuE,EAAA;AAC7G,EAAM,MAAA,IAAA,GAAO,oBAAoB,EAAE,CAAA,CAAA;AACnC,EAAI,IAAA,SAAA,CAAU,IAAI,CAAG,EAAA;AACnB,IAAA,OAAO,KAAK,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA;AAAA,GAC9B;AACA,EAAA,OAAO,KAAK,CAAC,CAAA,CAAA;AACf;;;;"}
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"}
@@ -0,0 +1,16 @@
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
@@ -0,0 +1 @@
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,6 +1,5 @@
1
- function isIterator(it) {
2
- return typeof (it == null ? void 0 : it.next) === "function";
1
+ export function isIterator(it) {
2
+ return typeof it?.next === 'function';
3
3
  }
4
4
 
5
- export { isIterator };
6
- //# sourceMappingURL=isIterator.js.map
5
+ //# sourceMappingURL=isIterator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isIterator.js","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":[],"mappings":"AAAO,SAAS,WAAc,EAA+C,EAAA;AAC3E,EAAO,OAAA,QAAO,yBAAI,IAAS,CAAA,KAAA,UAAA,CAAA;AAC7B;;;;"}
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,6 +1,5 @@
1
- function isPromise(v) {
2
- return v && (v instanceof Promise || v.then && v.catch);
1
+ export function isPromise(v) {
2
+ return v && (v instanceof Promise || v.then && v.catch);
3
3
  }
4
4
 
5
- export { isPromise };
6
- //# sourceMappingURL=isPromise.js.map
5
+ //# sourceMappingURL=isPromise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isPromise.js","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":[],"mappings":"AAAO,SAAS,UAAa,CAAyB,EAAA;AACpD,EAAA,OAAO,CAAM,KAAA,CAAA,YAAa,OAAY,IAAA,CAAA,CAAE,QAAQ,CAAE,CAAA,KAAA,CAAA,CAAA;AACpD;;;;"}
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"}
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
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,19 +1,25 @@
1
1
  import { isIterator } from './isIterator.js';
2
2
  import { isPromise } from './isPromise.js';
3
-
4
- function nextOfAsyncIterator(it) {
5
- if (isPromise(it)) {
6
- return it.then((v) => nextOfAsyncIterator(v));
7
- }
8
- if (isIterator(it)) {
9
- let next = it.next();
10
- if (isPromise(next)) {
11
- return next.then((v) => [v.value, v.done]);
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
+ ];
12
19
  }
13
- return [next.value, next.done];
14
- }
15
- return [it];
20
+ return [
21
+ it
22
+ ];
16
23
  }
17
24
 
18
- export { nextOfAsyncIterator };
19
- //# sourceMappingURL=nextOfAsyncIterator.js.map
25
+ //# sourceMappingURL=nextOfAsyncIterator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nextOfAsyncIterator.js","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":[],"mappings":";;;AAIO,SAAS,oBACd,EAC0C,EAAA;AAC1C,EAAI,IAAA,SAAA,CAAU,EAAE,CAAG,EAAA;AACjB,IAAA,OAAO,GAAG,IAAK,CAAA,CAAC,CAAM,KAAA,mBAAA,CAAoB,CAAC,CAAC,CAAA,CAAA;AAAA,GAC9C;AACA,EAAI,IAAA,UAAA,CAAW,EAAE,CAAG,EAAA;AAClB,IAAI,IAAA,IAAA,GAAO,GAAG,IAAK,EAAA,CAAA;AACnB,IAAI,IAAA,SAAA,CAAU,IAAI,CAAG,EAAA;AACnB,MAAO,OAAA,IAAA,CAAK,KAAK,CAAC,CAAA,KAAM,CAAC,CAAE,CAAA,KAAA,EAAO,CAAE,CAAA,IAAI,CAAC,CAAA,CAAA;AAAA,KAC3C;AACA,IAAA,OAAO,CAAC,IAAA,CAAK,KAAO,EAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAAA,GAC/B;AACA,EAAA,OAAO,CAAC,EAAE,CAAA,CAAA;AACZ;;;;"}
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"}
@@ -0,0 +1,17 @@
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
@@ -0,0 +1 @@
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,4 +1,3 @@
1
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
1
+ export const sleep = (ms)=>new Promise((resolve)=>setTimeout(resolve, ms));
2
2
 
3
- export { sleep };
4
- //# sourceMappingURL=sleep.js.map
3
+ //# sourceMappingURL=sleep.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sleep.js","sources":["../../src/asyncs/sleep.ts"],"sourcesContent":["export const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n"],"names":[],"mappings":"AAAa,MAAA,KAAA,GAAQ,CAAC,EAAA,KAAe,IAAI,OAAA,CAAQ,CAAC,OAAY,KAAA,UAAA,CAAW,OAAS,EAAA,EAAE,CAAC;;;;"}
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"}