@tstdl/base 0.86.0-beta1 → 0.86.0-beta11

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 (871) hide show
  1. package/.eslintrc.json +1 -0
  2. package/_container/container.js +443 -0
  3. package/_container/decorators.d.ts +76 -0
  4. package/_container/decorators.js +110 -0
  5. package/_container/index.d.ts +10 -0
  6. package/_container/index.js +27 -0
  7. package/_container/interfaces.d.ts +16 -0
  8. package/_container/interfaces.js +26 -0
  9. package/_container/provider.js +60 -0
  10. package/_container/resolve-chain.js +105 -0
  11. package/_container/resolve.error.js +36 -0
  12. package/_container/token.d.ts +18 -0
  13. package/_container/token.js +41 -0
  14. package/_container/type-info.js +16 -0
  15. package/_container/types.js +16 -0
  16. package/_container/utils.js +44 -0
  17. package/api/client/client.d.ts +2 -2
  18. package/api/client/client.js +127 -109
  19. package/api/client/index.js +18 -1
  20. package/api/default-error-handlers.js +44 -18
  21. package/api/index.js +20 -14
  22. package/api/response.js +123 -99
  23. package/api/server/api-controller.d.ts +2 -2
  24. package/api/server/api-controller.js +71 -42
  25. package/api/server/api-request-token.provider.js +40 -12
  26. package/api/server/error-handler.js +46 -25
  27. package/api/server/gateway.d.ts +5 -6
  28. package/api/server/gateway.js +226 -207
  29. package/api/server/index.js +22 -5
  30. package/api/server/middlewares/allowed-methods.middleware.js +40 -17
  31. package/api/server/middlewares/catch-error.middleware.js +33 -12
  32. package/api/server/middlewares/cors.middleware.js +69 -49
  33. package/api/server/middlewares/index.js +21 -4
  34. package/api/server/middlewares/response-time.middleware.js +31 -8
  35. package/api/server/module.js +42 -18
  36. package/api/server/tokens.d.ts +4 -1
  37. package/api/server/tokens.js +31 -2
  38. package/api/types.js +40 -14
  39. package/api/utils.js +36 -13
  40. package/application/application.d.ts +13 -10
  41. package/application/application.js +168 -155
  42. package/application/index.js +18 -1
  43. package/async-iterator-symbol.js +28 -5
  44. package/authentication/authentication.api.js +113 -89
  45. package/authentication/client/api.client.js +57 -28
  46. package/authentication/client/authentication.service.d.ts +4 -4
  47. package/authentication/client/authentication.service.js +249 -223
  48. package/authentication/client/http-client.middleware.d.ts +3 -5
  49. package/authentication/client/http-client.middleware.js +35 -21
  50. package/authentication/client/index.js +22 -5
  51. package/authentication/client/module.d.ts +2 -1
  52. package/authentication/client/module.js +46 -15
  53. package/authentication/client/tokens.d.ts +2 -2
  54. package/authentication/client/tokens.js +30 -5
  55. package/authentication/errors/index.js +18 -1
  56. package/authentication/errors/secret-requirements.error.js +29 -6
  57. package/authentication/index.js +19 -2
  58. package/authentication/models/authentication-credentials.model.js +66 -37
  59. package/authentication/models/authentication-session.model.js +80 -51
  60. package/authentication/models/index.js +23 -6
  61. package/authentication/models/init-secret-reset-data.model.js +44 -16
  62. package/authentication/models/secret-check-result.model.js +36 -9
  63. package/authentication/models/token-payload-base.model.js +59 -31
  64. package/authentication/models/token.model.js +16 -1
  65. package/authentication/server/authentication-api-request-token.provider.js +52 -24
  66. package/authentication/server/authentication-credentials.repository.js +24 -1
  67. package/authentication/server/authentication-secret-requirements.validator.d.ts +11 -2
  68. package/authentication/server/authentication-secret-requirements.validator.js +58 -23
  69. package/authentication/server/authentication-secret-reset.handler.js +24 -1
  70. package/authentication/server/authentication-session.repository.js +24 -1
  71. package/authentication/server/authentication-subject.resolver.js +24 -5
  72. package/authentication/server/authentication-token-payload.provider.js +29 -5
  73. package/authentication/server/authentication.api-controller.js +114 -88
  74. package/authentication/server/authentication.service.d.ts +10 -3
  75. package/authentication/server/authentication.service.js +308 -264
  76. package/authentication/server/helper.js +87 -66
  77. package/authentication/server/index.js +28 -11
  78. package/authentication/server/module.d.ts +2 -1
  79. package/authentication/server/module.js +48 -25
  80. package/authentication/server/mongo/index.js +19 -2
  81. package/authentication/server/mongo/mongo-authentication-credentials.repository.d.ts +3 -3
  82. package/authentication/server/mongo/mongo-authentication-credentials.repository.js +84 -52
  83. package/authentication/server/mongo/mongo-authentication-session.repository.d.ts +3 -3
  84. package/authentication/server/mongo/mongo-authentication-session.repository.js +81 -49
  85. package/browser/browser-context-controller.d.ts +4 -4
  86. package/browser/browser-context-controller.js +106 -72
  87. package/browser/browser-controller.d.ts +12 -5
  88. package/browser/browser-controller.js +115 -74
  89. package/browser/browser.service.d.ts +12 -6
  90. package/browser/browser.service.js +117 -83
  91. package/browser/document-controller.js +81 -48
  92. package/browser/element-controller.d.ts +24 -0
  93. package/browser/element-controller.js +217 -139
  94. package/browser/frame-controller.js +50 -27
  95. package/browser/index.js +27 -10
  96. package/browser/locator-controller.js +59 -36
  97. package/browser/module.js +47 -23
  98. package/browser/page-controller.js +108 -89
  99. package/browser/pdf-options.js +103 -73
  100. package/browser/types.js +16 -1
  101. package/browser/utils.d.ts +2 -0
  102. package/browser/utils.js +116 -77
  103. package/collections/awaitable/awaitable-list.js +122 -99
  104. package/collections/awaitable/awaitable-map.js +116 -93
  105. package/collections/awaitable/awaitable-set.js +86 -63
  106. package/collections/awaitable/index.js +20 -3
  107. package/collections/collection.js +16 -1
  108. package/collections/index.js +23 -6
  109. package/collections/keyed-set.js +77 -53
  110. package/collections/list.js +16 -1
  111. package/collections/observable/index.js +25 -8
  112. package/collections/observable/observable-array.js +118 -95
  113. package/collections/observable/observable-collection-base.js +83 -60
  114. package/collections/observable/observable-collection.js +16 -1
  115. package/collections/observable/observable-list-base.js +78 -55
  116. package/collections/observable/observable-list.js +16 -1
  117. package/collections/observable/observable-map.js +79 -56
  118. package/collections/observable/observable-set.js +98 -75
  119. package/collections/observable/observable-sorted-array-list.js +188 -165
  120. package/collections/sorted-array-list.js +179 -156
  121. package/collections/sorted-list.js +16 -1
  122. package/collections/sorted-map.js +93 -70
  123. package/container/decorators.d.ts +2 -76
  124. package/container/decorators.js +34 -126
  125. package/container/index.d.ts +0 -7
  126. package/container/index.js +20 -10
  127. package/container/interfaces.d.ts +2 -16
  128. package/container/interfaces.js +25 -2
  129. package/container/token.d.ts +2 -18
  130. package/container/token.js +26 -20
  131. package/cookie/cookie.js +71 -49
  132. package/cookie/index.js +18 -1
  133. package/core.d.ts +4 -2
  134. package/core.js +82 -46
  135. package/data-structures/array-dictionary.js +110 -89
  136. package/data-structures/array-list.d.ts +1 -1
  137. package/data-structures/array-list.js +128 -105
  138. package/data-structures/cache.js +64 -41
  139. package/data-structures/circular-buffer.js +219 -195
  140. package/data-structures/collection.js +109 -86
  141. package/data-structures/dictionary.js +75 -51
  142. package/data-structures/distinct-collection.d.ts +24 -0
  143. package/data-structures/distinct-collection.js +77 -0
  144. package/data-structures/index-out-of-bounds.error.js +31 -8
  145. package/data-structures/index.d.ts +2 -1
  146. package/data-structures/index.js +33 -15
  147. package/data-structures/iterable-weak-map.js +149 -129
  148. package/data-structures/linked-list.js +385 -367
  149. package/data-structures/list.js +109 -78
  150. package/data-structures/map-dictionary.js +78 -55
  151. package/data-structures/multi-key-map.d.ts +1 -1
  152. package/data-structures/multi-key-map.js +163 -138
  153. package/data-structures/multi-key-set.d.ts +19 -0
  154. package/data-structures/multi-key-set.js +81 -0
  155. package/data-structures/{set.d.ts → set-collection.d.ts} +3 -3
  156. package/data-structures/set-collection.js +79 -0
  157. package/data-structures/sorted-array-list.d.ts +1 -1
  158. package/data-structures/sorted-array-list.js +166 -142
  159. package/data-structures/weak-ref-map.js +146 -123
  160. package/database/entity-repository.js +26 -2
  161. package/database/entity.js +16 -1
  162. package/database/id.js +29 -8
  163. package/database/index.js +23 -6
  164. package/database/module.js +33 -9
  165. package/database/mongo/classes.d.ts +5 -5
  166. package/database/mongo/classes.js +43 -13
  167. package/database/mongo/index.js +27 -10
  168. package/database/mongo/model/document.js +93 -62
  169. package/database/mongo/model/index.js +18 -1
  170. package/database/mongo/module.js +79 -51
  171. package/database/mongo/mongo-base.repository.js +283 -259
  172. package/database/mongo/mongo-bulk.js +110 -87
  173. package/database/mongo/mongo-entity-repository.d.ts +5 -5
  174. package/database/mongo/mongo-entity-repository.js +296 -270
  175. package/database/mongo/operations.js +76 -48
  176. package/database/mongo/query-converter.js +96 -73
  177. package/database/mongo/simple-entity-repository.js +28 -5
  178. package/database/mongo/types.js +25 -2
  179. package/database/query.js +36 -7
  180. package/database/utils.js +25 -2
  181. package/decorators/index.d.ts +1 -0
  182. package/decorators/index.js +18 -0
  183. package/decorators/log.d.ts +2 -0
  184. package/decorators/log.js +56 -0
  185. package/disposable/async-disposer.d.ts +4 -4
  186. package/disposable/async-disposer.js +105 -93
  187. package/disposable/disposable.js +33 -7
  188. package/disposable/index.js +20 -3
  189. package/disposable/using.js +37 -15
  190. package/distributed-loop/controller.js +16 -1
  191. package/distributed-loop/distributed-loop.d.ts +3 -3
  192. package/distributed-loop/distributed-loop.js +105 -78
  193. package/distributed-loop/index.js +20 -3
  194. package/distributed-loop/provider.js +48 -20
  195. package/enumerable/async-enumerable.js +261 -238
  196. package/enumerable/enumerable-methods.js +16 -1
  197. package/enumerable/enumerable.js +200 -177
  198. package/enumerable/index.js +19 -2
  199. package/environment.js +57 -25
  200. package/error/api.error.js +33 -10
  201. package/error/assertion.error.js +29 -6
  202. package/error/bad-request.error.js +29 -6
  203. package/error/custom.error.js +47 -25
  204. package/error/details.error.js +31 -8
  205. package/error/forbidden.error.js +29 -6
  206. package/error/index.js +33 -16
  207. package/error/invalid-token.error.js +29 -6
  208. package/error/max-bytes-exceeded.error.js +32 -9
  209. package/error/method-not-allowed.error.js +29 -6
  210. package/error/multi.error.js +31 -8
  211. package/error/not-found.error.js +29 -6
  212. package/error/not-implemented.error.js +29 -6
  213. package/error/not-supported.error.js +34 -11
  214. package/error/timeout.error.js +29 -6
  215. package/error/unauthorized.error.js +29 -6
  216. package/error/unsupported-media-type.error.js +29 -6
  217. package/examples/api/authentication.js +49 -42
  218. package/examples/api/basic-overview.js +85 -81
  219. package/examples/api/custom-authentication.js +69 -61
  220. package/examples/api/streaming.js +95 -90
  221. package/examples/browser/basic.js +21 -20
  222. package/examples/http/client.js +16 -13
  223. package/examples/mail/basic.js +42 -36
  224. package/examples/mail/templates/hello-name.js +33 -10
  225. package/examples/pdf/basic.js +49 -44
  226. package/examples/pdf/templates/hello-name.js +58 -35
  227. package/examples/reflection/basic.js +84 -52
  228. package/examples/template/basic.js +33 -30
  229. package/examples/template/templates/hello-jsx.js +32 -8
  230. package/examples/template/templates/hello-name.js +41 -18
  231. package/function/index.d.ts +1 -0
  232. package/function/index.js +18 -0
  233. package/function/log.d.ts +6 -0
  234. package/function/log.js +37 -0
  235. package/global-this.js +36 -17
  236. package/http/client/adapters/undici-http-client.adapter.js +111 -90
  237. package/http/client/http-client-options.d.ts +0 -5
  238. package/http/client/http-client-options.js +33 -14
  239. package/http/client/http-client-request.js +171 -149
  240. package/http/client/http-client-response.js +56 -33
  241. package/http/client/http-client.adapter.js +24 -1
  242. package/http/client/http-client.d.ts +5 -8
  243. package/http/client/http-client.js +325 -301
  244. package/http/client/index.js +23 -6
  245. package/http/client/middleware.d.ts +6 -0
  246. package/http/client/middleware.js +16 -0
  247. package/http/client/module.d.ts +6 -1
  248. package/http/client/module.js +42 -14
  249. package/http/client/tokens.d.ts +2 -0
  250. package/http/client/tokens.js +25 -0
  251. package/http/cookie-parser.js +42 -19
  252. package/http/http-body.js +75 -52
  253. package/http/http-form.js +37 -14
  254. package/http/http-headers.js +109 -86
  255. package/http/http-query.js +37 -14
  256. package/http/http-url-parameters.js +31 -8
  257. package/http/http-value-map.js +133 -110
  258. package/http/http.error.js +82 -60
  259. package/http/index.js +28 -11
  260. package/http/server/http-server-request.js +47 -24
  261. package/http/server/http-server-response.js +45 -22
  262. package/http/server/http-server.js +25 -2
  263. package/http/server/index.js +20 -3
  264. package/http/server/node/index.js +19 -2
  265. package/http/server/node/module.js +28 -8
  266. package/http/server/node/node-http-server.d.ts +1 -4
  267. package/http/server/node/node-http-server.js +230 -208
  268. package/http/types.js +47 -21
  269. package/http/utils.js +108 -92
  270. package/image-service/image-service.js +91 -59
  271. package/image-service/imgproxy/imgproxy-image-service.d.ts +6 -8
  272. package/image-service/imgproxy/imgproxy-image-service.js +125 -86
  273. package/image-service/imgproxy/index.js +18 -1
  274. package/image-service/index.js +18 -1
  275. package/import.js +25 -2
  276. package/index.js +18 -1
  277. package/injector/decorators.d.ts +81 -0
  278. package/injector/decorators.js +126 -0
  279. package/injector/index.d.ts +11 -0
  280. package/injector/index.js +28 -0
  281. package/injector/inject.d.ts +85 -0
  282. package/injector/inject.js +106 -0
  283. package/injector/injector.d.ts +91 -0
  284. package/injector/injector.js +497 -0
  285. package/injector/interfaces.d.ts +16 -0
  286. package/injector/interfaces.js +26 -0
  287. package/injector/provider.d.ts +49 -0
  288. package/injector/provider.js +64 -0
  289. package/injector/resolve-chain.d.ts +31 -0
  290. package/injector/resolve-chain.js +113 -0
  291. package/injector/resolve.error.d.ts +5 -0
  292. package/injector/resolve.error.js +36 -0
  293. package/injector/symbols.d.ts +2 -0
  294. package/injector/symbols.js +26 -0
  295. package/injector/token.d.ts +25 -0
  296. package/injector/token.js +41 -0
  297. package/injector/type-info.d.ts +20 -0
  298. package/injector/type-info.js +16 -0
  299. package/injector/types.d.ts +49 -0
  300. package/injector/types.js +16 -0
  301. package/interfaces.js +16 -1
  302. package/json-path/index.js +18 -1
  303. package/json-path/json-path.js +138 -138
  304. package/key-value-store/index.js +19 -2
  305. package/key-value-store/key-value-store.provider.js +24 -1
  306. package/key-value-store/key-value.store.d.ts +3 -3
  307. package/key-value-store/key-value.store.js +29 -6
  308. package/key-value-store/mongo/index.js +23 -6
  309. package/key-value-store/mongo/module.js +35 -17
  310. package/key-value-store/mongo/mongo-key-value-store.provider.js +48 -20
  311. package/key-value-store/mongo/mongo-key-value.model.js +16 -1
  312. package/key-value-store/mongo/mongo-key-value.repository.d.ts +3 -3
  313. package/key-value-store/mongo/mongo-key-value.repository.js +52 -22
  314. package/key-value-store/mongo/mongo-key-value.store.js +89 -59
  315. package/key-value-store/mongo/tokens.d.ts +1 -1
  316. package/key-value-store/mongo/tokens.js +25 -2
  317. package/lock/index.js +19 -2
  318. package/lock/lock.d.ts +3 -2
  319. package/lock/lock.js +29 -5
  320. package/lock/mongo/index.js +22 -5
  321. package/lock/mongo/lock.js +135 -111
  322. package/lock/mongo/model.js +16 -1
  323. package/lock/mongo/module.js +37 -18
  324. package/lock/mongo/mongo-lock-repository.d.ts +3 -3
  325. package/lock/mongo/mongo-lock-repository.js +85 -56
  326. package/lock/mongo/provider.js +68 -38
  327. package/lock/provider.d.ts +3 -2
  328. package/lock/provider.js +25 -1
  329. package/lock/web/index.js +20 -3
  330. package/lock/web/module.js +31 -11
  331. package/lock/web/web-lock.js +105 -80
  332. package/lock/web/web-lock.provider.js +57 -27
  333. package/logger/console/index.js +18 -1
  334. package/logger/console/logger.js +80 -53
  335. package/logger/index.js +19 -2
  336. package/logger/level.js +31 -8
  337. package/logger/logger.d.ts +3 -2
  338. package/logger/logger.js +61 -37
  339. package/logger/noop/index.js +18 -1
  340. package/logger/noop/logger.js +42 -20
  341. package/mail/clients/nodemailer.mail-client.js +91 -62
  342. package/mail/index.js +22 -5
  343. package/mail/mail-log.repository.js +25 -2
  344. package/mail/mail.client.d.ts +3 -2
  345. package/mail/mail.client.js +63 -34
  346. package/mail/mail.service.js +106 -73
  347. package/mail/models/index.js +23 -6
  348. package/mail/models/mail-address.model.js +16 -1
  349. package/mail/models/mail-content.model.js +16 -1
  350. package/mail/models/mail-data.model.js +16 -1
  351. package/mail/models/mail-log.model.js +16 -1
  352. package/mail/models/mail-send-result.model.js +16 -1
  353. package/mail/models/mail-template.model.js +28 -5
  354. package/mail/module.js +41 -21
  355. package/mail/repositories/mongo-mail-log.repository.d.ts +3 -3
  356. package/mail/repositories/mongo-mail-log.repository.js +56 -24
  357. package/mail/tokens.d.ts +1 -1
  358. package/mail/tokens.js +25 -2
  359. package/memory/finalization.js +60 -36
  360. package/memory/index.js +19 -2
  361. package/memory/observable-finalization-registry.js +32 -9
  362. package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js +53 -23
  363. package/message-bus/broadcast-channel/broadcast-channel-message-bus.d.ts +1 -1
  364. package/message-bus/broadcast-channel/broadcast-channel-message-bus.js +74 -46
  365. package/message-bus/broadcast-channel/index.js +20 -3
  366. package/message-bus/broadcast-channel/module.js +31 -11
  367. package/message-bus/index.js +20 -3
  368. package/message-bus/local/index.js +20 -3
  369. package/message-bus/local/local-message-bus-provider.js +65 -35
  370. package/message-bus/local/local-message-bus.d.ts +1 -1
  371. package/message-bus/local/local-message-bus.js +66 -38
  372. package/message-bus/local/module.js +31 -11
  373. package/message-bus/local/types.js +16 -1
  374. package/message-bus/message-bus-base.js +63 -41
  375. package/message-bus/message-bus-provider.js +24 -1
  376. package/message-bus/message-bus.d.ts +3 -3
  377. package/message-bus/message-bus.js +29 -5
  378. package/migration/index.d.ts +1 -1
  379. package/migration/index.js +20 -3
  380. package/migration/migration-state-repository.js +25 -2
  381. package/migration/migration-state.js +16 -1
  382. package/migration/migrator.js +108 -80
  383. package/migration/mongo/index.js +19 -2
  384. package/migration/mongo/migration-state-repository.d.ts +3 -3
  385. package/migration/mongo/migration-state-repository.js +53 -23
  386. package/migration/mongo/module.js +34 -15
  387. package/module/index.js +21 -4
  388. package/module/module-base.js +60 -37
  389. package/module/module-metric-reporter.js +77 -58
  390. package/module/module.js +34 -10
  391. package/module/modules/function.module.js +34 -11
  392. package/module/modules/index.js +19 -2
  393. package/module/modules/web-server.module.d.ts +5 -10
  394. package/module/modules/web-server.module.js +81 -67
  395. package/module/utils.js +43 -19
  396. package/notification/api.js +50 -21
  397. package/notification/models/index.js +19 -2
  398. package/notification/models/notification-channel-job.model.js +16 -1
  399. package/notification/models/notification.model.js +103 -74
  400. package/notification/module.js +28 -8
  401. package/notification/notification-channel.service.js +24 -1
  402. package/notification/notification.repository.js +24 -1
  403. package/notification/notification.service.js +58 -30
  404. package/object-storage/index.js +20 -3
  405. package/object-storage/object-storage-provider.d.ts +1 -1
  406. package/object-storage/object-storage-provider.js +24 -1
  407. package/object-storage/object-storage.d.ts +3 -3
  408. package/object-storage/object-storage.js +30 -6
  409. package/object-storage/object.js +30 -7
  410. package/object-storage/s3/index.js +20 -3
  411. package/object-storage/s3/s3.object-storage-provider.d.ts +1 -6
  412. package/object-storage/s3/s3.object-storage-provider.js +100 -83
  413. package/object-storage/s3/s3.object-storage.d.ts +2 -2
  414. package/object-storage/s3/s3.object-storage.js +160 -130
  415. package/object-storage/s3/s3.object.js +62 -39
  416. package/openid-connect/cached-oidc-configuration.service.js +65 -35
  417. package/openid-connect/index.d.ts +1 -1
  418. package/openid-connect/index.js +28 -11
  419. package/openid-connect/mongo-oidc-state.repository.d.ts +3 -3
  420. package/openid-connect/mongo-oidc-state.repository.js +65 -38
  421. package/openid-connect/oidc-configuration.service.js +66 -38
  422. package/openid-connect/oidc-state.model.js +16 -1
  423. package/openid-connect/oidc-state.repository.js +25 -2
  424. package/openid-connect/oidc.service-model.js +16 -1
  425. package/openid-connect/oidc.service.js +187 -157
  426. package/package.json +16 -16
  427. package/password/have-i-been-pwned.js +39 -21
  428. package/password/index.js +21 -4
  429. package/password/password-check-result.model.js +63 -34
  430. package/password/password-check.js +76 -46
  431. package/password/password-check.localization.js +111 -86
  432. package/pdf/index.js +18 -1
  433. package/pdf/pdf.service.d.ts +3 -3
  434. package/pdf/pdf.service.js +206 -171
  435. package/pool/index.js +18 -1
  436. package/pool/pool.js +133 -116
  437. package/process-shutdown.d.ts +2 -2
  438. package/process-shutdown.js +75 -54
  439. package/promise/cancelable-promise.js +41 -23
  440. package/promise/deferred-promise.js +92 -68
  441. package/promise/index.js +20 -3
  442. package/promise/lazy-promise.js +47 -24
  443. package/queue/enqueue-batch.js +41 -18
  444. package/queue/index.js +20 -3
  445. package/queue/mongo/index.js +21 -4
  446. package/queue/mongo/job.js +16 -1
  447. package/queue/mongo/mongo-job.repository.d.ts +3 -3
  448. package/queue/mongo/mongo-job.repository.js +70 -44
  449. package/queue/mongo/queue.js +265 -242
  450. package/queue/mongo/queue.provider.d.ts +3 -3
  451. package/queue/mongo/queue.provider.js +72 -44
  452. package/queue/provider.js +24 -1
  453. package/queue/queue.d.ts +3 -3
  454. package/queue/queue.js +41 -15
  455. package/random/index.js +19 -2
  456. package/random/number-generator/index.js +20 -3
  457. package/random/number-generator/mulberry32.js +51 -34
  458. package/random/number-generator/random-number-generator-function.js +24 -1
  459. package/random/number-generator/random-number-generator.js +31 -8
  460. package/random/number-generator/seeded-random-number-generator.js +28 -5
  461. package/random/number-generator/sfc32.js +64 -41
  462. package/random/number-generator/utils.js +25 -2
  463. package/random/series.js +43 -41
  464. package/reflection/decorator-data.js +80 -63
  465. package/reflection/decorators.js +69 -39
  466. package/reflection/index.js +22 -5
  467. package/reflection/reflection-data-map.js +55 -32
  468. package/reflection/registry.d.ts +0 -1
  469. package/reflection/registry.js +130 -111
  470. package/reflection/types.js +16 -1
  471. package/reflection/utils.js +124 -96
  472. package/require.js +26 -3
  473. package/rpc/endpoints/message-port.rpc-endpoint.js +48 -29
  474. package/rpc/index.js +21 -4
  475. package/rpc/model.js +30 -7
  476. package/rpc/rpc-endpoint.js +40 -17
  477. package/rpc/rpc-error.js +40 -17
  478. package/rpc/rpc.js +235 -223
  479. package/rxjs/cast.js +28 -4
  480. package/rxjs/index.d.ts +1 -0
  481. package/rxjs/index.js +30 -12
  482. package/rxjs/intersection-observer.js +48 -25
  483. package/rxjs/media-query.js +27 -8
  484. package/rxjs/mutation-observer.js +50 -28
  485. package/rxjs/noop.js +28 -4
  486. package/rxjs/performance-observer.js +60 -37
  487. package/rxjs/resize-observer.js +50 -28
  488. package/rxjs/retry-backoff.js +47 -23
  489. package/rxjs/slow-array.js +36 -22
  490. package/rxjs/start-with-provider.d.ts +2 -0
  491. package/rxjs/start-with-provider.js +29 -0
  492. package/rxjs/teardown.js +44 -21
  493. package/rxjs/timing.js +57 -26
  494. package/rxjs/touch.js +30 -11
  495. package/schema/array-constraints/index.js +19 -2
  496. package/schema/array-constraints/maximum-length.js +42 -19
  497. package/schema/array-constraints/minimum-length.js +42 -19
  498. package/schema/coercers/boolean.coercer.js +49 -25
  499. package/schema/coercers/date.coercer.js +38 -14
  500. package/schema/coercers/index.js +23 -6
  501. package/schema/coercers/number.coercer.js +36 -12
  502. package/schema/coercers/regexp.coercer.js +41 -18
  503. package/schema/coercers/string.coercer.js +36 -12
  504. package/schema/coercers/uint8-array.coercer.js +44 -20
  505. package/schema/constraints/enumeration.js +49 -27
  506. package/schema/constraints/generic.js +41 -21
  507. package/schema/constraints/index.js +29 -12
  508. package/schema/constraints/integer.js +44 -20
  509. package/schema/constraints/length.js +36 -14
  510. package/schema/constraints/literal.js +44 -22
  511. package/schema/constraints/maximum-date.js +46 -23
  512. package/schema/constraints/maximum-length.js +45 -22
  513. package/schema/constraints/maximum.js +44 -21
  514. package/schema/constraints/minimum-date.js +46 -23
  515. package/schema/constraints/minimum-length.js +45 -22
  516. package/schema/constraints/minimum.js +44 -21
  517. package/schema/constraints/pattern.js +46 -23
  518. package/schema/decorators/class.js +26 -4
  519. package/schema/decorators/coerce.js +26 -4
  520. package/schema/decorators/constraint.js +28 -6
  521. package/schema/decorators/index.js +23 -6
  522. package/schema/decorators/property.js +38 -16
  523. package/schema/decorators/types.js +16 -1
  524. package/schema/decorators/utils.js +73 -45
  525. package/schema/index.js +27 -10
  526. package/schema/schema.error.js +72 -59
  527. package/schema/schema.js +274 -256
  528. package/schema/schemas/any.js +30 -7
  529. package/schema/schemas/array.js +44 -21
  530. package/schema/schemas/assign.js +46 -23
  531. package/schema/schemas/boolean.js +30 -7
  532. package/schema/schemas/constraint.js +29 -6
  533. package/schema/schemas/date.js +43 -20
  534. package/schema/schemas/defaulted.js +31 -8
  535. package/schema/schemas/enumeration.js +38 -15
  536. package/schema/schemas/index.js +43 -26
  537. package/schema/schemas/instance.js +26 -4
  538. package/schema/schemas/literal.js +38 -15
  539. package/schema/schemas/nullable.js +30 -7
  540. package/schema/schemas/number.js +48 -25
  541. package/schema/schemas/object.js +34 -10
  542. package/schema/schemas/omit.js +37 -14
  543. package/schema/schemas/one-or-many.js +35 -13
  544. package/schema/schemas/optional.js +30 -6
  545. package/schema/schemas/partial.js +39 -16
  546. package/schema/schemas/pick.js +37 -14
  547. package/schema/schemas/readable-stream.js +30 -7
  548. package/schema/schemas/record.js +31 -9
  549. package/schema/schemas/regexp.js +30 -7
  550. package/schema/schemas/string.js +59 -36
  551. package/schema/schemas/transform.js +29 -6
  552. package/schema/schemas/uint8-array.js +50 -27
  553. package/schema/schemas/union.js +34 -11
  554. package/schema/schemas/unknown.js +30 -7
  555. package/schema/transformers/generic.js +39 -16
  556. package/schema/transformers/index.js +21 -4
  557. package/schema/transformers/lowercase.js +33 -10
  558. package/schema/transformers/trim.js +33 -10
  559. package/schema/transformers/uppercase.js +33 -10
  560. package/schema/types/index.js +22 -5
  561. package/schema/types/schema-array-constraint.js +24 -1
  562. package/schema/types/schema-value-coercer.js +24 -1
  563. package/schema/types/schema-value-constraint.js +24 -1
  564. package/schema/types/schema-value-transformer.js +24 -1
  565. package/schema/types/types.js +191 -161
  566. package/schema/utils/index.js +19 -2
  567. package/schema/utils/schema.js +142 -120
  568. package/schema/utils/value-type.js +74 -51
  569. package/search-index/elastic/config.d.ts +3 -3
  570. package/search-index/elastic/config.js +50 -19
  571. package/search-index/elastic/index.js +23 -6
  572. package/search-index/elastic/keyword-rewriter.js +40 -17
  573. package/search-index/elastic/model/elastic-query.js +16 -1
  574. package/search-index/elastic/model/index-mapping.js +26 -4
  575. package/search-index/elastic/model/index.js +20 -3
  576. package/search-index/elastic/model/sort.js +16 -1
  577. package/search-index/elastic/module.d.ts +1 -3
  578. package/search-index/elastic/module.js +69 -40
  579. package/search-index/elastic/query-builder/boolean-query-builder.js +69 -46
  580. package/search-index/elastic/query-builder/index.js +18 -1
  581. package/search-index/elastic/query-converter.js +192 -174
  582. package/search-index/elastic/search-index.d.ts +2 -2
  583. package/search-index/elastic/search-index.js +153 -132
  584. package/search-index/elastic/sort-converter.js +34 -12
  585. package/search-index/elastic/types.js +16 -1
  586. package/search-index/error.js +35 -12
  587. package/search-index/index.js +20 -3
  588. package/search-index/memory/index.js +18 -1
  589. package/search-index/memory/memory-search-index.js +152 -130
  590. package/search-index/search-index.js +53 -30
  591. package/search-index/search-result.js +16 -1
  592. package/serializer/handlers/binary.js +47 -19
  593. package/serializer/handlers/date.js +28 -4
  594. package/serializer/handlers/error.js +31 -7
  595. package/serializer/handlers/index.js +24 -7
  596. package/serializer/handlers/map.js +40 -16
  597. package/serializer/handlers/regex.js +31 -7
  598. package/serializer/handlers/register.js +59 -36
  599. package/serializer/handlers/set.js +37 -13
  600. package/serializer/index.js +30 -3
  601. package/serializer/serializable.js +68 -43
  602. package/serializer/serializer.js +264 -244
  603. package/serializer/types.js +34 -6
  604. package/signals/api.d.ts +1 -1
  605. package/signals/api.js +48 -17
  606. package/signals/computed-with-dependencies.js +31 -8
  607. package/signals/effect-with-dependencies.js +31 -8
  608. package/signals/implementation/api.js +33 -33
  609. package/signals/implementation/computed.js +104 -125
  610. package/signals/implementation/configure.js +41 -18
  611. package/signals/implementation/effect.js +66 -48
  612. package/signals/implementation/errors.js +29 -5
  613. package/signals/implementation/graph.js +136 -164
  614. package/signals/implementation/index.js +27 -10
  615. package/signals/implementation/signal.js +101 -91
  616. package/signals/implementation/to-observable.js +38 -21
  617. package/signals/implementation/to-signal.js +60 -44
  618. package/signals/implementation/untracked.js +31 -15
  619. package/signals/implementation/watch.js +73 -58
  620. package/signals/index.d.ts +2 -0
  621. package/signals/index.js +26 -7
  622. package/signals/lazylize.d.ts +2 -0
  623. package/signals/lazylize.js +28 -0
  624. package/signals/pipe.d.ts +1 -1
  625. package/signals/pipe.js +33 -7
  626. package/signals/switch-map.js +27 -4
  627. package/signals/to-signal-2.d.ts +14 -0
  628. package/signals/to-signal-2.js +67 -0
  629. package/signals/types.js +16 -1
  630. package/signals/untracked-operator.js +33 -11
  631. package/sse/index.js +19 -2
  632. package/sse/model.js +16 -1
  633. package/sse/server-sent-events-source.js +76 -54
  634. package/sse/server-sent-events.js +72 -48
  635. package/supports.js +32 -5
  636. package/templates/index.js +26 -9
  637. package/templates/module.d.ts +2 -2
  638. package/templates/module.js +47 -40
  639. package/templates/providers/file.template-provider.d.ts +3 -3
  640. package/templates/providers/file.template-provider.js +82 -39
  641. package/templates/providers/memory.template-provider.js +55 -27
  642. package/templates/renderers/handlebars.template-renderer.js +122 -84
  643. package/templates/renderers/jsx.template-renderer.js +56 -28
  644. package/templates/renderers/mjml.template-renderer.js +82 -42
  645. package/templates/renderers/string.template-renderer.js +52 -24
  646. package/templates/resolvers/file.template-resolver.d.ts +3 -3
  647. package/templates/resolvers/file.template-resolver.js +90 -45
  648. package/templates/resolvers/jsx.template-resolver.js +59 -29
  649. package/templates/resolvers/string.template-resolver.js +59 -29
  650. package/templates/template-renderer.provider.js +66 -36
  651. package/templates/template-resolver.provider.js +66 -36
  652. package/templates/template.model.js +69 -39
  653. package/templates/template.provider.js +24 -1
  654. package/templates/template.renderer.js +34 -11
  655. package/templates/template.resolver.js +24 -1
  656. package/templates/template.service.js +82 -49
  657. package/templates/tokens.d.ts +2 -2
  658. package/templates/tokens.js +27 -3
  659. package/templates/types/jsx.intrinsic-elements.js +16 -1
  660. package/text/dynamic-text.model.js +69 -41
  661. package/text/index.js +20 -3
  662. package/text/localizable-text.model.js +16 -1
  663. package/text/localization.service.js +229 -196
  664. package/theme/adapters/css-adapter.js +46 -23
  665. package/theme/adapters/tailwind-adapter.js +52 -29
  666. package/theme/index.js +18 -1
  667. package/theme/theme-service.d.ts +1 -1
  668. package/theme/theme-service.js +147 -107
  669. package/threading/index.js +19 -2
  670. package/threading/thread-pool.js +70 -48
  671. package/threading/thread-worker.js +26 -3
  672. package/tokens.d.ts +1 -1
  673. package/tokens.js +25 -2
  674. package/types/geo-json.js +16 -1
  675. package/types.js +16 -2
  676. package/utils/alphabet.js +35 -12
  677. package/utils/any-iterable-iterator.js +27 -4
  678. package/utils/array/array-backtracker.js +65 -42
  679. package/utils/array/array.js +79 -76
  680. package/utils/array/index.js +19 -2
  681. package/utils/async-iterable-helpers/all.js +46 -25
  682. package/utils/async-iterable-helpers/any.js +46 -25
  683. package/utils/async-iterable-helpers/assert.js +43 -22
  684. package/utils/async-iterable-helpers/batch.js +46 -26
  685. package/utils/async-iterable-helpers/buffer.js +64 -47
  686. package/utils/async-iterable-helpers/concat.js +27 -5
  687. package/utils/async-iterable-helpers/default-if-empty.js +32 -9
  688. package/utils/async-iterable-helpers/deferred.js +26 -3
  689. package/utils/async-iterable-helpers/difference.js +48 -24
  690. package/utils/async-iterable-helpers/distinct.js +44 -23
  691. package/utils/async-iterable-helpers/drain.js +26 -4
  692. package/utils/async-iterable-helpers/filter.js +44 -23
  693. package/utils/async-iterable-helpers/first-or-default.js +30 -8
  694. package/utils/async-iterable-helpers/first.js +30 -8
  695. package/utils/async-iterable-helpers/for-each.js +38 -18
  696. package/utils/async-iterable-helpers/group-single.js +26 -3
  697. package/utils/async-iterable-helpers/group-to-map.js +41 -20
  698. package/utils/async-iterable-helpers/group-to-single-map.js +44 -23
  699. package/utils/async-iterable-helpers/group.js +26 -3
  700. package/utils/async-iterable-helpers/includes.js +28 -7
  701. package/utils/async-iterable-helpers/index.js +65 -48
  702. package/utils/async-iterable-helpers/interrupt.js +43 -19
  703. package/utils/async-iterable-helpers/is-async-iterable.js +29 -5
  704. package/utils/async-iterable-helpers/last-or-default.js +36 -13
  705. package/utils/async-iterable-helpers/last.js +36 -13
  706. package/utils/async-iterable-helpers/map-many.js +40 -19
  707. package/utils/async-iterable-helpers/map.js +40 -19
  708. package/utils/async-iterable-helpers/materialize.js +42 -21
  709. package/utils/async-iterable-helpers/metadata.js +58 -38
  710. package/utils/async-iterable-helpers/multiplex.js +44 -23
  711. package/utils/async-iterable-helpers/observable-iterable.js +53 -31
  712. package/utils/async-iterable-helpers/pairwise.js +44 -26
  713. package/utils/async-iterable-helpers/parallel/feed.js +45 -24
  714. package/utils/async-iterable-helpers/parallel/filter.js +31 -8
  715. package/utils/async-iterable-helpers/parallel/for-each.js +44 -21
  716. package/utils/async-iterable-helpers/parallel/group.js +32 -9
  717. package/utils/async-iterable-helpers/parallel/index.js +24 -7
  718. package/utils/async-iterable-helpers/parallel/map.js +29 -6
  719. package/utils/async-iterable-helpers/parallel/tap.js +29 -6
  720. package/utils/async-iterable-helpers/parallel/types.js +16 -1
  721. package/utils/async-iterable-helpers/reduce.js +46 -31
  722. package/utils/async-iterable-helpers/retry.js +58 -43
  723. package/utils/async-iterable-helpers/single-or-default.js +40 -17
  724. package/utils/async-iterable-helpers/single.js +42 -19
  725. package/utils/async-iterable-helpers/skip.js +26 -3
  726. package/utils/async-iterable-helpers/sort.js +29 -6
  727. package/utils/async-iterable-helpers/take-until.js +49 -32
  728. package/utils/async-iterable-helpers/take-while.js +46 -29
  729. package/utils/async-iterable-helpers/take.js +33 -10
  730. package/utils/async-iterable-helpers/tap.js +40 -19
  731. package/utils/async-iterable-helpers/throttle.js +30 -9
  732. package/utils/async-iterable-helpers/to-array.js +33 -10
  733. package/utils/async-iterable-helpers/to-async-iterable-iterator.js +59 -40
  734. package/utils/async-iterable-helpers/to-async-iterator.js +54 -32
  735. package/utils/async-iterable-helpers/to-set.js +33 -10
  736. package/utils/async-iterable-helpers/to-sync-iterable.js +27 -6
  737. package/utils/async-iterable-helpers/types.js +16 -1
  738. package/utils/async-iterable-helpers/while.js +46 -25
  739. package/utils/async-iterator-iterable-iterator.js +62 -41
  740. package/utils/backoff.js +109 -109
  741. package/utils/base64.js +140 -153
  742. package/utils/benchmark.js +107 -114
  743. package/utils/binary-search.js +87 -70
  744. package/utils/binary.js +61 -50
  745. package/utils/cancellation-token.js +140 -120
  746. package/utils/clone.js +64 -43
  747. package/utils/comparison.js +98 -76
  748. package/utils/compression.js +118 -107
  749. package/utils/config-parser.js +48 -21
  750. package/utils/crc32.js +42 -20
  751. package/utils/cryptography.js +121 -163
  752. package/utils/date-time.js +138 -102
  753. package/utils/encoding.js +60 -62
  754. package/utils/enum.js +53 -27
  755. package/utils/equals.js +119 -103
  756. package/utils/event-loop.js +39 -19
  757. package/utils/factory-map.js +75 -53
  758. package/utils/feedable-async-iterable.js +70 -47
  759. package/utils/file-reader.js +41 -15
  760. package/utils/format-error.js +57 -36
  761. package/utils/format.js +53 -32
  762. package/utils/function/index.js +19 -2
  763. package/utils/function/memoize.js +53 -38
  764. package/utils/function/throttle.js +48 -26
  765. package/utils/helpers.js +102 -93
  766. package/utils/image.js +88 -62
  767. package/utils/index.js +65 -48
  768. package/utils/iterable-helpers/all.js +31 -8
  769. package/utils/iterable-helpers/any.js +31 -8
  770. package/utils/iterable-helpers/assert.js +30 -7
  771. package/utils/iterable-helpers/batch.js +34 -11
  772. package/utils/iterable-helpers/concat.js +27 -4
  773. package/utils/iterable-helpers/default-if-empty.js +32 -9
  774. package/utils/iterable-helpers/deferred.js +25 -2
  775. package/utils/iterable-helpers/difference.js +45 -21
  776. package/utils/iterable-helpers/distinct.js +32 -9
  777. package/utils/iterable-helpers/drain.js +26 -4
  778. package/utils/iterable-helpers/filter.js +30 -7
  779. package/utils/iterable-helpers/first-or-default.js +30 -8
  780. package/utils/iterable-helpers/first.js +30 -8
  781. package/utils/iterable-helpers/for-each.js +28 -5
  782. package/utils/iterable-helpers/group-single.js +26 -3
  783. package/utils/iterable-helpers/group-to-map.js +32 -9
  784. package/utils/iterable-helpers/group-to-single-map.js +33 -10
  785. package/utils/iterable-helpers/group.js +26 -3
  786. package/utils/iterable-helpers/includes.js +26 -3
  787. package/utils/iterable-helpers/index.js +56 -39
  788. package/utils/iterable-helpers/is-iterable.js +29 -5
  789. package/utils/iterable-helpers/last-or-default.js +36 -13
  790. package/utils/iterable-helpers/last.js +36 -13
  791. package/utils/iterable-helpers/map-many.js +29 -6
  792. package/utils/iterable-helpers/map.js +29 -6
  793. package/utils/iterable-helpers/materialize.js +25 -2
  794. package/utils/iterable-helpers/metadata.js +38 -16
  795. package/utils/iterable-helpers/pairwise.js +33 -11
  796. package/utils/iterable-helpers/range.js +27 -4
  797. package/utils/iterable-helpers/reduce.js +33 -11
  798. package/utils/iterable-helpers/single-or-default.js +37 -14
  799. package/utils/iterable-helpers/single.js +40 -17
  800. package/utils/iterable-helpers/skip.js +29 -6
  801. package/utils/iterable-helpers/sort.js +27 -4
  802. package/utils/iterable-helpers/take-until.js +31 -8
  803. package/utils/iterable-helpers/take-while.js +33 -10
  804. package/utils/iterable-helpers/take.js +33 -10
  805. package/utils/iterable-helpers/tap.js +29 -6
  806. package/utils/iterable-helpers/types.js +16 -1
  807. package/utils/iterable-helpers/while.js +31 -8
  808. package/utils/jwt.js +100 -77
  809. package/utils/map.js +62 -35
  810. package/utils/math.js +64 -102
  811. package/utils/merge.js +45 -26
  812. package/utils/middleware.js +60 -36
  813. package/utils/moving-metric.js +188 -155
  814. package/utils/noop.js +27 -4
  815. package/utils/object/decycle.js +78 -57
  816. package/utils/object/dereference.js +44 -46
  817. package/utils/object/forward-ref.js +73 -57
  818. package/utils/object/index.js +24 -7
  819. package/utils/object/lazy-property.js +96 -81
  820. package/utils/object/merge.js +70 -48
  821. package/utils/object/object.js +136 -106
  822. package/utils/object/property-name.js +72 -69
  823. package/utils/ordered-feedable-async-iterable.js +65 -42
  824. package/utils/patch-worker.js +90 -69
  825. package/utils/patterns.js +29 -7
  826. package/utils/periodic-reporter.js +82 -60
  827. package/utils/periodic-sampler.js +91 -67
  828. package/utils/provider-function-iterable.js +48 -26
  829. package/utils/proxy.js +42 -17
  830. package/utils/random.js +50 -40
  831. package/utils/reflection.js +41 -13
  832. package/utils/repl.js +33 -14
  833. package/utils/set.js +62 -36
  834. package/utils/singleton.js +41 -18
  835. package/utils/sort.js +77 -53
  836. package/utils/stream/finalize-stream.js +62 -43
  837. package/utils/stream/index.js +23 -6
  838. package/utils/stream/readable-stream-adapter.js +57 -35
  839. package/utils/stream/readable-stream-from-promise.js +28 -7
  840. package/utils/stream/size-limited-stream.js +35 -12
  841. package/utils/stream/stream-helper-types.js +16 -1
  842. package/utils/stream/stream-reader.js +52 -30
  843. package/utils/string/hypenate.js +25 -2
  844. package/utils/string/index.js +20 -3
  845. package/utils/string/title-case.js +26 -6
  846. package/utils/string/trim.js +32 -9
  847. package/utils/throw.js +30 -7
  848. package/utils/timer.js +91 -70
  849. package/utils/timing.js +80 -52
  850. package/utils/type-guards.js +1076 -253
  851. package/utils/type-of.js +43 -25
  852. package/utils/units.js +124 -53
  853. package/utils/url-builder.js +68 -47
  854. package/utils/value-or-provider.js +29 -6
  855. package/utils/z-base32.js +63 -42
  856. package/web-types.js +16 -1
  857. package/container/container.js +0 -428
  858. package/container/provider.js +0 -29
  859. package/container/resolve-chain.js +0 -80
  860. package/container/resolve.error.js +0 -11
  861. package/container/type-info.js +0 -1
  862. package/container/types.js +0 -1
  863. package/container/utils.js +0 -20
  864. package/data-structures/set.js +0 -56
  865. /package/{container → _container}/container.d.ts +0 -0
  866. /package/{container → _container}/provider.d.ts +0 -0
  867. /package/{container → _container}/resolve-chain.d.ts +0 -0
  868. /package/{container → _container}/resolve.error.d.ts +0 -0
  869. /package/{container → _container}/type-info.d.ts +0 -0
  870. /package/{container → _container}/types.d.ts +0 -0
  871. /package/{container → _container}/utils.d.ts +0 -0
package/utils/clone.js CHANGED
@@ -1,44 +1,65 @@
1
- import { supportsStructuredClone } from '../supports.js';
2
- import { objectEntries } from './object/object.js';
3
- import { assertObject, isArray, isArrayBuffer, isDataView, isDate, isMap, isPrimitive, isRegExp, isSet, isTypedArray } from './type-guards.js';
4
- export function clone(object, deep) {
5
- if (supportsStructuredClone && deep) {
6
- return structuredClone(object);
7
- }
8
- if (isPrimitive(object)) {
9
- return object;
10
- }
11
- if (isDate(object)) {
12
- return new Date(object);
13
- }
14
- if (isRegExp(object)) {
15
- return new RegExp(object.source, object.flags);
16
- }
17
- if (isSet(object)) {
18
- return new Set(object);
19
- }
20
- if (isMap(object)) {
21
- return new Map(object);
22
- }
23
- if (isArrayBuffer(object)) {
24
- return object.slice(0);
25
- }
26
- if (isTypedArray(object)) {
27
- return object.slice();
28
- }
29
- if (isDataView(object)) {
30
- const clonedBuffer = object.buffer.slice(0);
31
- return new DataView(clonedBuffer, object.byteOffset, object.byteLength);
32
- }
33
- if (isArray(object)) {
34
- return deep
35
- ? object.map((value) => clone(value, true))
36
- : [...object];
37
- }
38
- assertObject(object);
39
- if (!deep) {
40
- return { ...object };
41
- }
42
- const entries = objectEntries(object).map(([key, value]) => [key, clone(value, true)]);
43
- return Object.fromEntries(entries);
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var clone_exports = {};
20
+ __export(clone_exports, {
21
+ clone: () => clone
22
+ });
23
+ module.exports = __toCommonJS(clone_exports);
24
+ var import_supports = require("../supports.js");
25
+ var import_object = require("./object/object.js");
26
+ var import_type_guards = require("./type-guards.js");
27
+ function clone(object, deep) {
28
+ if (import_supports.supportsStructuredClone && deep) {
29
+ return structuredClone(object);
30
+ }
31
+ if ((0, import_type_guards.isPrimitive)(object)) {
32
+ return object;
33
+ }
34
+ if ((0, import_type_guards.isDate)(object)) {
35
+ return new Date(object);
36
+ }
37
+ if ((0, import_type_guards.isRegExp)(object)) {
38
+ return new RegExp(object.source, object.flags);
39
+ }
40
+ if ((0, import_type_guards.isSet)(object)) {
41
+ return new Set(object);
42
+ }
43
+ if ((0, import_type_guards.isMap)(object)) {
44
+ return new Map(object);
45
+ }
46
+ if ((0, import_type_guards.isArrayBuffer)(object)) {
47
+ return object.slice(0);
48
+ }
49
+ if ((0, import_type_guards.isTypedArray)(object)) {
50
+ return object.slice();
51
+ }
52
+ if ((0, import_type_guards.isDataView)(object)) {
53
+ const clonedBuffer = object.buffer.slice(0);
54
+ return new DataView(clonedBuffer, object.byteOffset, object.byteLength);
55
+ }
56
+ if ((0, import_type_guards.isArray)(object)) {
57
+ return deep ? object.map((value) => clone(value, true)) : [...object];
58
+ }
59
+ (0, import_type_guards.assertObject)(object);
60
+ if (!deep) {
61
+ return { ...object };
62
+ }
63
+ const entries = (0, import_object.objectEntries)(object).map(([key, value]) => [key, clone(value, true)]);
64
+ return Object.fromEntries(entries);
44
65
  }
@@ -1,83 +1,105 @@
1
- export function compareByValueSelection(...selectors) {
2
- return (a, b) => {
3
- for (const selector of selectors) {
4
- const selectedA = selector(a);
5
- const selectedB = selector(b);
6
- const comparison = compareByValue(selectedA, selectedB);
7
- if (comparison != 0) {
8
- return comparison;
9
- }
10
- }
11
- return 0;
12
- };
13
- }
14
- export function compareByValueSelectionDescending(...selectors) {
15
- return (a, b) => {
16
- for (const selector of selectors) {
17
- const selectedA = selector(a);
18
- const selectedB = selector(b);
19
- const comparison = compareByValueDescending(selectedA, selectedB);
20
- if (comparison != 0) {
21
- return comparison;
22
- }
23
- }
24
- return 0;
25
- };
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var comparison_exports = {};
20
+ __export(comparison_exports, {
21
+ compareByValue: () => compareByValue,
22
+ compareByValueDescending: () => compareByValueDescending,
23
+ compareByValueSelection: () => compareByValueSelection,
24
+ compareByValueSelectionDescending: () => compareByValueSelectionDescending,
25
+ compareByValueSelectionOrdered: () => compareByValueSelectionOrdered,
26
+ compareByValueSelectionToOrder: () => compareByValueSelectionToOrder,
27
+ compareByValueToOrder: () => compareByValueToOrder
28
+ });
29
+ module.exports = __toCommonJS(comparison_exports);
30
+ function compareByValueSelection(...selectors) {
31
+ return (a, b) => {
32
+ for (const selector of selectors) {
33
+ const selectedA = selector(a);
34
+ const selectedB = selector(b);
35
+ const comparison = compareByValue(selectedA, selectedB);
36
+ if (comparison != 0) {
37
+ return comparison;
38
+ }
39
+ }
40
+ return 0;
41
+ };
26
42
  }
27
- export function compareByValueSelectionOrdered(...selectors) {
28
- return (a, b) => {
29
- for (const [selector, order] of selectors) {
30
- const selectedA = selector(a);
31
- const selectedB = selector(b);
32
- const comparison = (order == 1)
33
- ? compareByValue(selectedA, selectedB)
34
- : compareByValueDescending(selectedA, selectedB);
35
- if (comparison != 0) {
36
- return comparison;
37
- }
38
- }
39
- return 0;
40
- };
43
+ function compareByValueSelectionDescending(...selectors) {
44
+ return (a, b) => {
45
+ for (const selector of selectors) {
46
+ const selectedA = selector(a);
47
+ const selectedB = selector(b);
48
+ const comparison = compareByValueDescending(selectedA, selectedB);
49
+ if (comparison != 0) {
50
+ return comparison;
51
+ }
52
+ }
53
+ return 0;
54
+ };
41
55
  }
42
- export function compareByValueToOrder(order) {
43
- return compareByValueSelectionToOrder(order, (item) => item);
56
+ function compareByValueSelectionOrdered(...selectors) {
57
+ return (a, b) => {
58
+ for (const [selector, order] of selectors) {
59
+ const selectedA = selector(a);
60
+ const selectedB = selector(b);
61
+ const comparison = order == 1 ? compareByValue(selectedA, selectedB) : compareByValueDescending(selectedA, selectedB);
62
+ if (comparison != 0) {
63
+ return comparison;
64
+ }
65
+ }
66
+ return 0;
67
+ };
44
68
  }
45
- export function compareByValueSelectionToOrder(order, selector) {
46
- const indexMapEntries = order.map((orderItem, index) => [orderItem, index]);
47
- const indexMap = new Map(indexMapEntries);
48
- // eslint-disable-next-line @typescript-eslint/no-shadow
49
- return function compareByValueSelectionToOrder(a, b) {
50
- const selectedA = selector(a);
51
- const selectedB = selector(b);
52
- const indexA = indexMap.get(selectedA);
53
- const indexB = indexMap.get(selectedB);
54
- if (indexA == undefined || indexB == undefined) {
55
- throw new Error('value not defined in order');
56
- }
57
- return compareByValue(indexA, indexB);
58
- };
69
+ function compareByValueToOrder(order) {
70
+ return compareByValueSelectionToOrder(order, (item) => item);
59
71
  }
60
- export function compareByValue(a, b) {
61
- if (a === b) {
62
- return 0;
63
- }
64
- else if (a > b) {
65
- return 1;
72
+ function compareByValueSelectionToOrder(order, selector) {
73
+ const indexMapEntries = order.map((orderItem, index) => [orderItem, index]);
74
+ const indexMap = new Map(indexMapEntries);
75
+ return function compareByValueSelectionToOrder2(a, b) {
76
+ const selectedA = selector(a);
77
+ const selectedB = selector(b);
78
+ const indexA = indexMap.get(selectedA);
79
+ const indexB = indexMap.get(selectedB);
80
+ if (indexA == void 0 || indexB == void 0) {
81
+ throw new Error("value not defined in order");
66
82
  }
67
- else if (b > a) {
68
- return -1;
69
- }
70
- throw new Error('objects not comparable');
83
+ return compareByValue(indexA, indexB);
84
+ };
71
85
  }
72
- export function compareByValueDescending(a, b) {
73
- if (a === b) {
74
- return 0;
75
- }
76
- else if (a > b) {
77
- return -1;
78
- }
79
- else if (b > a) {
80
- return 1;
81
- }
82
- throw new Error('objects not comparable');
86
+ function compareByValue(a, b) {
87
+ if (a === b) {
88
+ return 0;
89
+ } else if (a > b) {
90
+ return 1;
91
+ } else if (b > a) {
92
+ return -1;
93
+ }
94
+ throw new Error("objects not comparable");
95
+ }
96
+ function compareByValueDescending(a, b) {
97
+ if (a === b) {
98
+ return 0;
99
+ } else if (a > b) {
100
+ return -1;
101
+ } else if (b > a) {
102
+ return 1;
103
+ }
104
+ throw new Error("objects not comparable");
83
105
  }
@@ -1,118 +1,129 @@
1
- import { NotSupportedError } from '../error/not-supported.error.js';
2
- import { dynamicImport } from '../import.js';
3
- import { supportsReadableStream } from '../supports.js';
4
- import { isAsyncIterable } from './async-iterable-helpers/is-async-iterable.js';
5
- import { encodeBase64, encodeBase64Url } from './base64.js';
6
- import { decodeText, encodeHex, encodeUtf8 } from './encoding.js';
7
- import { getReadableStreamFromIterable } from './stream/readable-stream-adapter.js';
8
- import { isFunction } from './type-guards.js';
9
- import { zBase32Encode } from './z-base32.js';
10
- export function compressString(input, algorithm, options) {
11
- const inputBuffer = encodeUtf8(input);
12
- return compress(inputBuffer, algorithm, options);
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var compression_exports = {};
20
+ __export(compression_exports, {
21
+ compress: () => compress,
22
+ compressString: () => compressString,
23
+ decompress: () => decompress,
24
+ decompressStream: () => decompressStream,
25
+ decompressString: () => decompressString
26
+ });
27
+ module.exports = __toCommonJS(compression_exports);
28
+ var import_not_supported_error = require("../error/not-supported.error.js");
29
+ var import_import = require("../import.js");
30
+ var import_supports = require("../supports.js");
31
+ var import_is_async_iterable = require("./async-iterable-helpers/is-async-iterable.js");
32
+ var import_base64 = require("./base64.js");
33
+ var import_encoding = require("./encoding.js");
34
+ var import_readable_stream_adapter = require("./stream/readable-stream-adapter.js");
35
+ var import_type_guards = require("./type-guards.js");
36
+ var import_z_base32 = require("./z-base32.js");
37
+ function compressString(input, algorithm, options) {
38
+ const inputBuffer = (0, import_encoding.encodeUtf8)(input);
39
+ return compress(inputBuffer, algorithm, options);
13
40
  }
14
- export function compress(buffer, algorithm, options) {
15
- const compressedBuffer = _compress(buffer, algorithm, options);
16
- return {
17
- toBuffer: async () => compressedBuffer,
18
- toHex: async () => encodeHex(await compressedBuffer),
19
- toBase64: async () => encodeBase64(await compressedBuffer),
20
- toBase64Url: async () => encodeBase64Url(await compressedBuffer),
21
- toZBase32: async () => zBase32Encode(await compressedBuffer)
22
- };
41
+ function compress(buffer, algorithm, options) {
42
+ const compressedBuffer = _compress(buffer, algorithm, options);
43
+ return {
44
+ toBuffer: async () => compressedBuffer,
45
+ toHex: async () => (0, import_encoding.encodeHex)(await compressedBuffer),
46
+ toBase64: async () => (0, import_base64.encodeBase64)(await compressedBuffer),
47
+ toBase64Url: async () => (0, import_base64.encodeBase64Url)(await compressedBuffer),
48
+ toZBase32: async () => (0, import_z_base32.zBase32Encode)(await compressedBuffer)
49
+ };
23
50
  }
24
51
  async function _compress(buffer, algorithm, options) {
25
- const zlib = await dynamicImport('zlib');
26
- return new Promise((resolve, reject) => {
27
- const compressor = algorithm == 'gzip' ? zlib.gzip
28
- : algorithm == 'brotli' ? zlib.brotliDecompress
29
- : algorithm == 'deflate' ? zlib.deflate
30
- : algorithm == 'deflate-raw' ? zlib.deflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
31
- : undefined;
32
- if (compressor == undefined) {
33
- throw new Error(`unsupported algorithm ${algorithm}`);
34
- }
35
- const callback = (error, result) => {
36
- if (error != undefined) {
37
- reject(error);
38
- }
39
- else {
40
- resolve(result);
41
- }
42
- };
43
- if (options == undefined) {
44
- compressor(buffer, callback);
45
- }
46
- else {
47
- compressor(buffer, options, callback);
48
- }
49
- });
52
+ const zlib = await (0, import_import.dynamicImport)("zlib");
53
+ return new Promise((resolve, reject) => {
54
+ const compressor = algorithm == "gzip" ? zlib.gzip : algorithm == "brotli" ? zlib.brotliDecompress : algorithm == "deflate" ? zlib.deflate : algorithm == "deflate-raw" ? zlib.deflateRaw : void 0;
55
+ if (compressor == void 0) {
56
+ throw new Error(`unsupported algorithm ${algorithm}`);
57
+ }
58
+ const callback = (error, result) => {
59
+ if (error != void 0) {
60
+ reject(error);
61
+ } else {
62
+ resolve(result);
63
+ }
64
+ };
65
+ if (options == void 0) {
66
+ compressor(buffer, callback);
67
+ } else {
68
+ compressor(buffer, options, callback);
69
+ }
70
+ });
50
71
  }
51
- export function decompressString(input, encoding, algorithm, options) {
52
- const inputBuffer = Buffer.from(input, encoding);
53
- return decompress(inputBuffer, algorithm, options);
72
+ function decompressString(input, encoding, algorithm, options) {
73
+ const inputBuffer = Buffer.from(input, encoding);
74
+ return decompress(inputBuffer, algorithm, options);
54
75
  }
55
- export function decompress(buffer, algorithm, options) {
56
- const decompressedBuffer = _decompress(buffer, algorithm, options);
57
- return {
58
- toBuffer: async () => decompressedBuffer,
59
- toHex: async () => encodeHex(await decompressedBuffer),
60
- toBase64: async () => encodeBase64(await decompressedBuffer),
61
- toBase64Url: async () => encodeBase64Url(await decompressedBuffer),
62
- toZBase32: async () => zBase32Encode(await decompressedBuffer),
63
- toUtf8: async () => decodeText(await decompressedBuffer)
64
- };
76
+ function decompress(buffer, algorithm, options) {
77
+ const decompressedBuffer = _decompress(buffer, algorithm, options);
78
+ return {
79
+ toBuffer: async () => decompressedBuffer,
80
+ toHex: async () => (0, import_encoding.encodeHex)(await decompressedBuffer),
81
+ toBase64: async () => (0, import_base64.encodeBase64)(await decompressedBuffer),
82
+ toBase64Url: async () => (0, import_base64.encodeBase64Url)(await decompressedBuffer),
83
+ toZBase32: async () => (0, import_z_base32.zBase32Encode)(await decompressedBuffer),
84
+ toUtf8: async () => (0, import_encoding.decodeText)(await decompressedBuffer)
85
+ };
65
86
  }
66
- export function decompressStream(stream, algorithm, options) {
67
- const decompressedStream = _decompressStream(stream, algorithm, options);
68
- return getReadableStreamFromIterable(decompressedStream);
87
+ function decompressStream(stream, algorithm, options) {
88
+ const decompressedStream = _decompressStream(stream, algorithm, options);
89
+ return (0, import_readable_stream_adapter.getReadableStreamFromIterable)(decompressedStream);
69
90
  }
70
91
  async function _decompress(buffer, algorithm, options) {
71
- const zlib = await dynamicImport('zlib');
72
- return new Promise((resolve, reject) => {
73
- const decompressor = algorithm == 'gzip' ? zlib.gunzip
74
- : algorithm == 'brotli' ? zlib.brotliDecompress
75
- : algorithm == 'deflate' ? zlib.inflate
76
- : algorithm == 'deflate-raw' ? zlib.inflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
77
- : undefined;
78
- if (decompressor == undefined) {
79
- throw new Error(`unsupported algorithm ${algorithm}`);
80
- }
81
- const callback = (error, result) => {
82
- if (error != undefined) {
83
- reject(error);
84
- }
85
- else {
86
- resolve(result);
87
- }
88
- };
89
- if (options == undefined) {
90
- decompressor(buffer, callback);
91
- }
92
- else {
93
- decompressor(buffer, options, callback);
94
- }
95
- });
96
- }
97
- async function* _decompressStream(stream, algorithm, options) {
98
- const zlib = await dynamicImport('zlib');
99
- const nodeStream = await dynamicImport('stream');
100
- const decompressor = algorithm == 'gzip' ? zlib.createGunzip(options)
101
- : algorithm == 'brotli' ? zlib.createBrotliDecompress(options)
102
- : algorithm == 'deflate' ? zlib.createInflate(options)
103
- : algorithm == 'deflate-raw' ? zlib.createInflateRaw(options) // eslint-disable-line @typescript-eslint/no-unnecessary-condition
104
- : undefined;
105
- if (decompressor == undefined) {
106
- throw new Error(`unsupported algorithm ${algorithm}`);
107
- }
108
- if (stream instanceof nodeStream.Stream) {
109
- yield* stream.pipe(decompressor);
110
- }
111
- if (isAsyncIterable(stream)) {
112
- yield* nodeStream.Readable.from(stream).pipe(decompressor);
92
+ const zlib = await (0, import_import.dynamicImport)("zlib");
93
+ return new Promise((resolve, reject) => {
94
+ const decompressor = algorithm == "gzip" ? zlib.gunzip : algorithm == "brotli" ? zlib.brotliDecompress : algorithm == "deflate" ? zlib.inflate : algorithm == "deflate-raw" ? zlib.inflateRaw : void 0;
95
+ if (decompressor == void 0) {
96
+ throw new Error(`unsupported algorithm ${algorithm}`);
113
97
  }
114
- if (supportsReadableStream && (stream instanceof ReadableStream)) {
115
- yield* nodeStream.Readable.fromWeb(stream).pipe(decompressor);
98
+ const callback = (error, result) => {
99
+ if (error != void 0) {
100
+ reject(error);
101
+ } else {
102
+ resolve(result);
103
+ }
104
+ };
105
+ if (options == void 0) {
106
+ decompressor(buffer, callback);
107
+ } else {
108
+ decompressor(buffer, options, callback);
116
109
  }
117
- throw new NotSupportedError(`Stream type (${stream?.constructor.name ?? (isFunction(stream) ? stream.name : 'unknown type')}) not supported.`);
110
+ });
111
+ }
112
+ async function* _decompressStream(stream, algorithm, options) {
113
+ const zlib = await (0, import_import.dynamicImport)("zlib");
114
+ const nodeStream = await (0, import_import.dynamicImport)("stream");
115
+ const decompressor = algorithm == "gzip" ? zlib.createGunzip(options) : algorithm == "brotli" ? zlib.createBrotliDecompress(options) : algorithm == "deflate" ? zlib.createInflate(options) : algorithm == "deflate-raw" ? zlib.createInflateRaw(options) : void 0;
116
+ if (decompressor == void 0) {
117
+ throw new Error(`unsupported algorithm ${algorithm}`);
118
+ }
119
+ if (stream instanceof nodeStream.Stream) {
120
+ yield* stream.pipe(decompressor);
121
+ }
122
+ if ((0, import_is_async_iterable.isAsyncIterable)(stream)) {
123
+ yield* nodeStream.Readable.from(stream).pipe(decompressor);
124
+ }
125
+ if (import_supports.supportsReadableStream && stream instanceof ReadableStream) {
126
+ yield* nodeStream.Readable.fromWeb(stream).pipe(decompressor);
127
+ }
128
+ throw new import_not_supported_error.NotSupportedError(`Stream type (${stream?.constructor.name ?? ((0, import_type_guards.isFunction)(stream) ? stream.name : "unknown type")}) not supported.`);
118
129
  }
@@ -1,26 +1,53 @@
1
- import { isUndefined } from './type-guards.js';
2
- export const configValidators = {
3
- integer: /^-?\d+$/u,
4
- positiveInteger: /^[1-9]\d*$/u,
5
- boolean: /true|false|yes|no|0|1/ui
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
6
9
  };
7
- export function boolean(variable, defaultValue) {
8
- return string(variable, defaultValue, configValidators.boolean, (value) => ['true', 'yes', '1'].includes(value.toLowerCase()));
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var config_parser_exports = {};
20
+ __export(config_parser_exports, {
21
+ boolean: () => boolean,
22
+ configValidators: () => configValidators,
23
+ integer: () => integer,
24
+ positiveInteger: () => positiveInteger,
25
+ string: () => string
26
+ });
27
+ module.exports = __toCommonJS(config_parser_exports);
28
+ var import_type_guards = require("./type-guards.js");
29
+ const configValidators = {
30
+ integer: /^-?\d+$/u,
31
+ positiveInteger: /^[1-9]\d*$/u,
32
+ boolean: /true|false|yes|no|0|1/ui
33
+ };
34
+ function boolean(variable, defaultValue) {
35
+ return string(variable, defaultValue, configValidators.boolean, (value) => ["true", "yes", "1"].includes(value.toLowerCase()));
9
36
  }
10
- export function integer(variable, defaultValue) {
11
- return string(variable, defaultValue, configValidators.integer, (value) => parseInt(value, 10));
37
+ function integer(variable, defaultValue) {
38
+ return string(variable, defaultValue, configValidators.integer, (value) => parseInt(value, 10));
12
39
  }
13
- export function positiveInteger(variable, defaultValue) {
14
- return string(variable, defaultValue, configValidators.positiveInteger, (value) => parseInt(value, 10));
40
+ function positiveInteger(variable, defaultValue) {
41
+ return string(variable, defaultValue, configValidators.positiveInteger, (value) => parseInt(value, 10));
15
42
  }
16
- export function string(variable, defaultValue, validator, transformer = (value) => value) {
17
- const environmentValue = process.env[variable];
18
- if (isUndefined(environmentValue)) {
19
- return defaultValue;
20
- }
21
- const valid = isUndefined(validator) ? true : validator.test(environmentValue);
22
- if (!valid) {
23
- throw new Error(`invalid value for ${variable}`);
24
- }
25
- return transformer(environmentValue);
43
+ function string(variable, defaultValue, validator, transformer = (value) => value) {
44
+ const environmentValue = process.env[variable];
45
+ if ((0, import_type_guards.isUndefined)(environmentValue)) {
46
+ return defaultValue;
47
+ }
48
+ const valid = (0, import_type_guards.isUndefined)(validator) ? true : validator.test(environmentValue);
49
+ if (!valid) {
50
+ throw new Error(`invalid value for ${variable}`);
51
+ }
52
+ return transformer(environmentValue);
26
53
  }