@tstdl/base 0.78.0-beta6 → 0.78.0-beta61

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 (449) hide show
  1. package/api/client/client.d.ts +2 -1
  2. package/api/client/client.js +7 -14
  3. package/api/client/client.js.map +1 -1
  4. package/api/response.js +1 -0
  5. package/api/response.js.map +1 -1
  6. package/api/server/gateway.d.ts +10 -3
  7. package/api/server/gateway.js +16 -14
  8. package/api/server/gateway.js.map +1 -1
  9. package/api/server/middlewares/cors.middleware.d.ts +6 -4
  10. package/api/server/middlewares/cors.middleware.js +30 -30
  11. package/api/server/middlewares/cors.middleware.js.map +1 -1
  12. package/api/types.d.ts +13 -2
  13. package/api/types.js +1 -2
  14. package/api/types.js.map +1 -1
  15. package/api/utils.d.ts +9 -0
  16. package/api/utils.js +15 -0
  17. package/api/utils.js.map +1 -0
  18. package/application/application.js.map +1 -1
  19. package/container/container.js.map +1 -1
  20. package/container/decorators.d.ts +1 -1
  21. package/container/decorators.js.map +1 -1
  22. package/css/theme/theme.service.js.map +1 -1
  23. package/data-structures/index-out-of-bounds.error.d.ts +1 -1
  24. package/data-structures/index-out-of-bounds.error.js +2 -2
  25. package/data-structures/index-out-of-bounds.error.js.map +1 -1
  26. package/data-structures/iterable-weak-map.js +1 -1
  27. package/data-structures/iterable-weak-map.js.map +1 -1
  28. package/data-structures/linked-list.js.map +1 -1
  29. package/data-structures/sorted-array-list.js +2 -2
  30. package/data-structures/sorted-array-list.js.map +1 -1
  31. package/database/mongo/classes.js.map +1 -1
  32. package/database/mongo/mongo-base.repository.js +3 -3
  33. package/database/mongo/mongo-base.repository.js.map +1 -1
  34. package/database/mongo/mongo-entity-repository.js +2 -2
  35. package/database/mongo/mongo-entity-repository.js.map +1 -1
  36. package/distributed-loop/distributed-loop.js.map +1 -1
  37. package/distributed-loop/provider.js.map +1 -1
  38. package/environment.d.ts +10 -0
  39. package/environment.js +26 -0
  40. package/environment.js.map +1 -0
  41. package/error/custom.error.d.ts +7 -3
  42. package/error/custom.error.js +17 -8
  43. package/error/custom.error.js.map +1 -1
  44. package/error/index.d.ts +1 -0
  45. package/error/index.js +1 -0
  46. package/error/index.js.map +1 -1
  47. package/error/not-implemented.error.js +1 -1
  48. package/error/not-implemented.error.js.map +1 -1
  49. package/error/not-supported.error.d.ts +7 -0
  50. package/error/not-supported.error.js +17 -0
  51. package/error/not-supported.error.js.map +1 -0
  52. package/examples/api/basic-overview.js +0 -1
  53. package/examples/api/basic-overview.js.map +1 -1
  54. package/examples/mail/basic.js +12 -7
  55. package/examples/mail/basic.js.map +1 -1
  56. package/examples/mail/templates/hello-name.d.ts +2 -0
  57. package/examples/mail/templates/hello-name.js +11 -0
  58. package/examples/mail/templates/hello-name.js.map +1 -0
  59. package/examples/pdf/basic.js +8 -5
  60. package/examples/pdf/basic.js.map +1 -1
  61. package/examples/pdf/templates/hello-name.d.ts +1 -4
  62. package/examples/pdf/templates/hello-name.js +30 -4
  63. package/examples/pdf/templates/hello-name.js.map +1 -1
  64. package/examples/reflection/basic.js +1 -1
  65. package/examples/reflection/basic.js.map +1 -1
  66. package/examples/template/basic.d.ts +1 -0
  67. package/examples/template/basic.js +25 -0
  68. package/examples/template/basic.js.map +1 -0
  69. package/examples/template/templates/hello-name.d.ts +2 -0
  70. package/examples/template/templates/hello-name.js +23 -0
  71. package/examples/template/templates/hello-name.js.map +1 -0
  72. package/http/client/adapters/got-http-client.adapter.js.map +1 -1
  73. package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
  74. package/http/client/adapters/utils.d.ts +2 -0
  75. package/http/client/adapters/utils.js +27 -11
  76. package/http/client/adapters/utils.js.map +1 -1
  77. package/http/client/http-client-request.d.ts +13 -3
  78. package/http/client/http-client-request.js +4 -0
  79. package/http/client/http-client-request.js.map +1 -1
  80. package/http/client/http-client-response.d.ts +0 -1
  81. package/http/client/http-client-response.js.map +1 -1
  82. package/http/client/http-client.d.ts +0 -3
  83. package/http/client/http-client.js +31 -24
  84. package/http/client/http-client.js.map +1 -1
  85. package/http/http-headers.d.ts +2 -0
  86. package/http/http-headers.js +6 -0
  87. package/http/http-headers.js.map +1 -1
  88. package/http/http-value-map.js +2 -2
  89. package/http/http-value-map.js.map +1 -1
  90. package/http/http.error.d.ts +1 -1
  91. package/http/http.error.js +23 -4
  92. package/http/http.error.js.map +1 -1
  93. package/http/server/node/node-http-server.js.map +1 -1
  94. package/image-service/image-service.js.map +1 -1
  95. package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
  96. package/json-path/json-path.d.ts +6 -5
  97. package/json-path/json-path.js +7 -0
  98. package/json-path/json-path.js.map +1 -1
  99. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
  100. package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
  101. package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
  102. package/lock/mongo/lock.js.map +1 -1
  103. package/lock/mongo/mongo-lock-repository.js.map +1 -1
  104. package/lock/mongo/provider.js.map +1 -1
  105. package/logger/console/logger.js.map +1 -1
  106. package/mail/clients/nodemailer.mail-client.js.map +1 -1
  107. package/mail/index.d.ts +0 -3
  108. package/mail/index.js +0 -3
  109. package/mail/index.js.map +1 -1
  110. package/mail/mail.service.d.ts +3 -5
  111. package/mail/mail.service.js +8 -14
  112. package/mail/mail.service.js.map +1 -1
  113. package/mail/models/mail-template.model.d.ts +11 -10
  114. package/mail/models/mail-template.model.js +7 -0
  115. package/mail/models/mail-template.model.js.map +1 -1
  116. package/mail/module.d.ts +1 -5
  117. package/mail/module.js +2 -11
  118. package/mail/module.js.map +1 -1
  119. package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
  120. package/mail/tokens.d.ts +0 -3
  121. package/mail/tokens.js +1 -2
  122. package/mail/tokens.js.map +1 -1
  123. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  124. package/message-bus/local/local-message-bus.js.map +1 -1
  125. package/migration/migrator.js.map +1 -1
  126. package/migration/mongo/migration-state-repository.js.map +1 -1
  127. package/module/modules/web-server.module.js.map +1 -1
  128. package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
  129. package/object-storage/s3/s3.object-storage.js.map +1 -1
  130. package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
  131. package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
  132. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  133. package/openid-connect/oidc-configuration.service.js +5 -3
  134. package/openid-connect/oidc-configuration.service.js.map +1 -1
  135. package/openid-connect/oidc.service-model.d.ts +11 -3
  136. package/openid-connect/oidc.service.d.ts +6 -3
  137. package/openid-connect/oidc.service.js +72 -25
  138. package/openid-connect/oidc.service.js.map +1 -1
  139. package/orm/decorators.d.ts +0 -0
  140. package/orm/decorators.js +2 -0
  141. package/orm/decorators.js.map +1 -0
  142. package/orm/mongo/mongo-repository.d.ts +2 -0
  143. package/orm/mongo/mongo-repository.js +7 -0
  144. package/orm/mongo/mongo-repository.js.map +1 -0
  145. package/orm/sql/sql-repository.d.ts +6 -0
  146. package/orm/sql/sql-repository.js +14 -0
  147. package/orm/sql/sql-repository.js.map +1 -0
  148. package/orm/test.d.ts +1 -0
  149. package/{templates/providers/memory-template.provider.js → orm/test.js} +13 -9
  150. package/orm/test.js.map +1 -0
  151. package/orm/types.d.ts +20 -0
  152. package/orm/types.js +55 -0
  153. package/orm/types.js.map +1 -0
  154. package/package.json +11 -10
  155. package/pdf/pdf.service.d.ts +48 -10
  156. package/pdf/pdf.service.js +123 -13
  157. package/pdf/pdf.service.js.map +1 -1
  158. package/pool/pool.d.ts +6 -1
  159. package/pool/pool.js +4 -1
  160. package/pool/pool.js.map +1 -1
  161. package/promise/deferred-promise.d.ts +2 -15
  162. package/promise/deferred-promise.js +5 -10
  163. package/promise/deferred-promise.js.map +1 -1
  164. package/promise/index.d.ts +1 -0
  165. package/promise/index.js +1 -0
  166. package/promise/index.js.map +1 -1
  167. package/promise/lazy-promise.d.ts +11 -0
  168. package/promise/lazy-promise.js +31 -0
  169. package/promise/lazy-promise.js.map +1 -0
  170. package/queue/mongo/mongo-job.repository.js +1 -1
  171. package/queue/mongo/mongo-job.repository.js.map +1 -1
  172. package/queue/mongo/queue.js.map +1 -1
  173. package/queue/mongo/queue.provider.js.map +1 -1
  174. package/reflection/decorator-data.js +1 -1
  175. package/reflection/decorator-data.js.map +1 -1
  176. package/reflection/decorators.d.ts +2 -2
  177. package/reflection/decorators.js +7 -7
  178. package/reflection/decorators.js.map +1 -1
  179. package/reflection/registry.d.ts +8 -8
  180. package/reflection/registry.js +1 -1
  181. package/reflection/registry.js.map +1 -1
  182. package/reflection/types.d.ts +3 -2
  183. package/reflection/utils.d.ts +7 -2
  184. package/reflection/utils.js +38 -12
  185. package/reflection/utils.js.map +1 -1
  186. package/require.d.ts +1 -0
  187. package/require.js +9 -0
  188. package/require.js.map +1 -0
  189. package/rpc/endpoints/message-port.rpc-endpoint.d.ts +19 -0
  190. package/rpc/endpoints/message-port.rpc-endpoint.js +34 -0
  191. package/rpc/endpoints/message-port.rpc-endpoint.js.map +1 -0
  192. package/rpc/index.d.ts +4 -0
  193. package/rpc/index.js +21 -0
  194. package/rpc/index.js.map +1 -0
  195. package/rpc/model.d.ts +72 -0
  196. package/rpc/model.js +13 -0
  197. package/rpc/model.js.map +1 -0
  198. package/rpc/rpc-endpoint.d.ts +11 -0
  199. package/rpc/rpc-endpoint.js +23 -0
  200. package/rpc/rpc-endpoint.js.map +1 -0
  201. package/rpc/rpc-error.d.ts +8 -0
  202. package/rpc/rpc-error.js +26 -0
  203. package/rpc/rpc-error.js.map +1 -0
  204. package/rpc/rpc.d.ts +19 -0
  205. package/rpc/rpc.js +263 -0
  206. package/rpc/rpc.js.map +1 -0
  207. package/schema/array-constraints/maximum-length.d.ts +2 -2
  208. package/schema/array-constraints/maximum-length.js +3 -3
  209. package/schema/array-constraints/maximum-length.js.map +1 -1
  210. package/schema/array-constraints/minimum-length.d.ts +2 -2
  211. package/schema/array-constraints/minimum-length.js +3 -3
  212. package/schema/array-constraints/minimum-length.js.map +1 -1
  213. package/schema/coercers/boolean.coercer.d.ts +2 -2
  214. package/schema/coercers/boolean.coercer.js +2 -2
  215. package/schema/coercers/boolean.coercer.js.map +1 -1
  216. package/schema/coercers/date.coercer.d.ts +2 -2
  217. package/schema/coercers/date.coercer.js +2 -2
  218. package/schema/coercers/date.coercer.js.map +1 -1
  219. package/schema/coercers/number.coercer.d.ts +2 -2
  220. package/schema/coercers/number.coercer.js +2 -2
  221. package/schema/coercers/number.coercer.js.map +1 -1
  222. package/schema/coercers/regexp.coercer.d.ts +2 -2
  223. package/schema/coercers/regexp.coercer.js +2 -2
  224. package/schema/coercers/regexp.coercer.js.map +1 -1
  225. package/schema/coercers/string.coercer.d.ts +3 -3
  226. package/schema/coercers/string.coercer.js +2 -2
  227. package/schema/coercers/string.coercer.js.map +1 -1
  228. package/schema/coercers/uint8-array.coercer.js +3 -3
  229. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  230. package/schema/constraints/enumeration.d.ts +5 -5
  231. package/schema/constraints/enumeration.js +3 -3
  232. package/schema/constraints/enumeration.js.map +1 -1
  233. package/schema/constraints/generic.d.ts +2 -2
  234. package/schema/constraints/generic.js +3 -3
  235. package/schema/constraints/generic.js.map +1 -1
  236. package/schema/constraints/integer.d.ts +2 -2
  237. package/schema/constraints/integer.js +3 -3
  238. package/schema/constraints/integer.js.map +1 -1
  239. package/schema/constraints/literal.d.ts +2 -2
  240. package/schema/constraints/literal.js +3 -3
  241. package/schema/constraints/literal.js.map +1 -1
  242. package/schema/constraints/maximum-date.d.ts +2 -2
  243. package/schema/constraints/maximum-date.js +3 -3
  244. package/schema/constraints/maximum-date.js.map +1 -1
  245. package/schema/constraints/maximum-length.d.ts +2 -2
  246. package/schema/constraints/maximum-length.js +3 -3
  247. package/schema/constraints/maximum-length.js.map +1 -1
  248. package/schema/constraints/maximum.d.ts +2 -2
  249. package/schema/constraints/maximum.js +3 -3
  250. package/schema/constraints/maximum.js.map +1 -1
  251. package/schema/constraints/minimum-date.d.ts +2 -2
  252. package/schema/constraints/minimum-date.js +3 -3
  253. package/schema/constraints/minimum-date.js.map +1 -1
  254. package/schema/constraints/minimum-length.d.ts +2 -2
  255. package/schema/constraints/minimum-length.js +3 -3
  256. package/schema/constraints/minimum-length.js.map +1 -1
  257. package/schema/constraints/minimum.d.ts +2 -2
  258. package/schema/constraints/minimum.js +3 -3
  259. package/schema/constraints/minimum.js.map +1 -1
  260. package/schema/constraints/pattern.d.ts +2 -2
  261. package/schema/constraints/pattern.js +3 -3
  262. package/schema/constraints/pattern.js.map +1 -1
  263. package/schema/decorators/optional.d.ts +3 -1
  264. package/schema/decorators/optional.js +2 -2
  265. package/schema/decorators/optional.js.map +1 -1
  266. package/schema/decorators/types.d.ts +3 -3
  267. package/schema/decorators/utils.d.ts +3 -2
  268. package/schema/decorators/utils.js +8 -4
  269. package/schema/decorators/utils.js.map +1 -1
  270. package/schema/schema.d.ts +4 -10
  271. package/schema/schema.error.d.ts +5 -4
  272. package/schema/schema.error.js +3 -3
  273. package/schema/schema.error.js.map +1 -1
  274. package/schema/schema.js +129 -123
  275. package/schema/schema.js.map +1 -1
  276. package/schema/schemas/assign.d.ts +5 -5
  277. package/schema/schemas/assign.js.map +1 -1
  278. package/schema/schemas/exclude.d.ts +4 -1
  279. package/schema/schemas/exclude.js +6 -11
  280. package/schema/schemas/exclude.js.map +1 -1
  281. package/schema/schemas/index.d.ts +1 -0
  282. package/schema/schemas/index.js +1 -0
  283. package/schema/schemas/index.js.map +1 -1
  284. package/schema/schemas/number.d.ts +1 -1
  285. package/schema/schemas/number.js.map +1 -1
  286. package/schema/schemas/omit.d.ts +4 -0
  287. package/schema/schemas/omit.js +17 -0
  288. package/schema/schemas/omit.js.map +1 -0
  289. package/schema/schemas/union.d.ts +2 -7
  290. package/schema/schemas/union.js.map +1 -1
  291. package/schema/types.d.ts +33 -23
  292. package/schema/types.js +21 -8
  293. package/schema/types.js.map +1 -1
  294. package/schema/utils/schema.d.ts +3 -0
  295. package/schema/utils/schema.js +46 -4
  296. package/schema/utils/schema.js.map +1 -1
  297. package/schema/utils/value-type.d.ts +4 -2
  298. package/schema/utils/value-type.js +23 -8
  299. package/schema/utils/value-type.js.map +1 -1
  300. package/search-index/elastic/config.js.map +1 -1
  301. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  302. package/search-index/elastic/model/index-mapping.js.map +1 -1
  303. package/search-index/elastic/search-index.js +5 -4
  304. package/search-index/elastic/search-index.js.map +1 -1
  305. package/search-index/error.d.ts +1 -1
  306. package/search-index/error.js +2 -2
  307. package/search-index/error.js.map +1 -1
  308. package/serializer/handlers/register.d.ts +2 -2
  309. package/serializer/handlers/register.js +4 -1
  310. package/serializer/handlers/register.js.map +1 -1
  311. package/serializer/serializable.d.ts +11 -8
  312. package/serializer/serializable.js +13 -4
  313. package/serializer/serializable.js.map +1 -1
  314. package/serializer/serializer.js +18 -5
  315. package/serializer/serializer.js.map +1 -1
  316. package/serializer/types.d.ts +21 -6
  317. package/serializer/types.js +2 -1
  318. package/serializer/types.js.map +1 -1
  319. package/templates/index.d.ts +2 -0
  320. package/templates/index.js +2 -0
  321. package/templates/index.js.map +1 -1
  322. package/templates/module.d.ts +3 -1
  323. package/templates/module.js +31 -8
  324. package/templates/module.js.map +1 -1
  325. package/templates/providers/file.provider-template.d.ts +16 -0
  326. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  327. package/templates/providers/file.provider-template.js.map +1 -0
  328. package/templates/providers/memory.template-provider.d.ts +8 -0
  329. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  330. package/templates/providers/memory.template-provider.js.map +1 -0
  331. package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
  332. package/templates/renderers/handlebars.template-renderer.js +70 -3
  333. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  334. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  335. package/templates/renderers/mjml.template-renderer.js +8 -9
  336. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  337. package/templates/renderers/string.template-renderer.d.ts +8 -0
  338. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  339. package/templates/renderers/string.template-renderer.js.map +1 -0
  340. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  341. package/templates/resolvers/file.template-resolver.js +63 -0
  342. package/templates/resolvers/file.template-resolver.js.map +1 -0
  343. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  344. package/templates/resolvers/string.template-resolver.js +44 -0
  345. package/templates/resolvers/string.template-resolver.js.map +1 -0
  346. package/templates/template-renderer.provider.js +7 -19
  347. package/templates/template-renderer.provider.js.map +1 -1
  348. package/templates/template-resolver.provider.d.ts +8 -0
  349. package/templates/template-resolver.provider.js +48 -0
  350. package/templates/template-resolver.provider.js.map +1 -0
  351. package/templates/template.model.d.ts +15 -4
  352. package/templates/template.model.js +50 -0
  353. package/templates/template.model.js.map +1 -1
  354. package/templates/template.renderer.d.ts +14 -3
  355. package/templates/template.renderer.js +3 -0
  356. package/templates/template.renderer.js.map +1 -1
  357. package/templates/template.resolver.d.ts +5 -0
  358. package/templates/template.resolver.js +7 -0
  359. package/templates/template.resolver.js.map +1 -0
  360. package/templates/template.service.d.ts +10 -4
  361. package/templates/template.service.js +19 -6
  362. package/templates/template.service.js.map +1 -1
  363. package/templates/tokens.d.ts +3 -2
  364. package/templates/tokens.js +2 -1
  365. package/templates/tokens.js.map +1 -1
  366. package/threading/index.d.ts +2 -0
  367. package/threading/index.js +19 -0
  368. package/threading/index.js.map +1 -0
  369. package/threading/thread-pool.d.ts +19 -0
  370. package/threading/thread-pool.js +50 -0
  371. package/threading/thread-pool.js.map +1 -0
  372. package/threading/thread-worker.d.ts +3 -0
  373. package/threading/thread-worker.js +9 -0
  374. package/threading/thread-worker.js.map +1 -0
  375. package/types.d.ts +27 -9
  376. package/utils/alphabet.d.ts +3 -1
  377. package/utils/alphabet.js +2 -0
  378. package/utils/alphabet.js.map +1 -1
  379. package/utils/array/array.d.ts +1 -2
  380. package/utils/array/array.js.map +1 -1
  381. package/utils/clone.js +4 -0
  382. package/utils/clone.js.map +1 -1
  383. package/utils/compression.d.ts +13 -13
  384. package/utils/compression.js +10 -9
  385. package/utils/compression.js.map +1 -1
  386. package/utils/encoding.js +3 -3
  387. package/utils/encoding.js.map +1 -1
  388. package/utils/enum.d.ts +5 -8
  389. package/utils/enum.js +15 -13
  390. package/utils/enum.js.map +1 -1
  391. package/utils/function/memoize.js +4 -4
  392. package/utils/function/memoize.js.map +1 -1
  393. package/utils/helpers.d.ts +0 -2
  394. package/utils/helpers.js +1 -12
  395. package/utils/helpers.js.map +1 -1
  396. package/utils/image.js +2 -2
  397. package/utils/image.js.map +1 -1
  398. package/utils/index.d.ts +2 -0
  399. package/utils/index.js +2 -0
  400. package/utils/index.js.map +1 -1
  401. package/utils/object/dereference.d.ts +7 -5
  402. package/utils/object/dereference.js +4 -4
  403. package/utils/object/dereference.js.map +1 -1
  404. package/utils/object/forward-ref.js +3 -19
  405. package/utils/object/forward-ref.js.map +1 -1
  406. package/utils/object/property-name.d.ts +2 -2
  407. package/utils/proxy.d.ts +6 -0
  408. package/utils/proxy.js +21 -0
  409. package/utils/proxy.js.map +1 -0
  410. package/utils/stream/stream-reader.js +6 -5
  411. package/utils/stream/stream-reader.js.map +1 -1
  412. package/utils/throw.d.ts +2 -0
  413. package/utils/throw.js +15 -0
  414. package/utils/throw.js.map +1 -0
  415. package/utils/type-guards.d.ts +15 -3
  416. package/utils/type-guards.js +29 -5
  417. package/utils/type-guards.js.map +1 -1
  418. package/web-types.d.ts +28 -0
  419. package/web-types.js +3 -0
  420. package/web-types.js.map +1 -0
  421. package/mail/mail-template-renderer.provider.d.ts +0 -8
  422. package/mail/mail-template-renderer.provider.js +0 -60
  423. package/mail/mail-template-renderer.provider.js.map +0 -1
  424. package/mail/mail-template.provider.d.ts +0 -4
  425. package/mail/mail-template.provider.js +0 -7
  426. package/mail/mail-template.provider.js.map +0 -1
  427. package/mail/mail-template.renderer.d.ts +0 -10
  428. package/mail/mail-template.renderer.js +0 -7
  429. package/mail/mail-template.renderer.js.map +0 -1
  430. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  431. package/mail/template-providers/file-mail-template.provider.js +0 -51
  432. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  433. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  434. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  435. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  436. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  437. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  438. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  439. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  440. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  441. package/templates/providers/file-template.provider.base.d.ts +0 -12
  442. package/templates/providers/file-template.provider.base.js +0 -50
  443. package/templates/providers/file-template.provider.base.js.map +0 -1
  444. package/templates/providers/file-template.provider.d.ts +0 -22
  445. package/templates/providers/file-template.provider.js.map +0 -1
  446. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  447. package/templates/providers/memory-template.provider.base.js.map +0 -1
  448. package/templates/providers/memory-template.provider.d.ts +0 -4
  449. package/templates/providers/memory-template.provider.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.resolver.js","sourceRoot":"","sources":["../../source/templates/template.resolver.ts"],"names":[],"mappings":";;;AAEA,MAAsB,gBAAgB;CAGrC;AAHD,4CAGC"}
@@ -1,11 +1,17 @@
1
+ import type { Record } from "../types";
1
2
  import { TemplateRendererProvider } from './template-renderer.provider';
3
+ import { TemplateResolverProvider } from './template-resolver.provider';
2
4
  import type { Template } from './template.model';
3
5
  import { TemplateProvider } from './template.provider';
4
- import type { TemplateRenderResult } from './template.renderer';
6
+ export declare type TemplateServiceRenderResult<T extends Template = Template> = {
7
+ fields: Record<keyof T['fields'], string>;
8
+ options: T['options'];
9
+ };
5
10
  export declare class TemplateService {
6
11
  private readonly templateProvider;
7
12
  private readonly templateRendererProvider;
8
- constructor(templateProvider: TemplateProvider | undefined, templateRendererProvider: TemplateRendererProvider);
9
- render(key: string, templateContext?: object): Promise<TemplateRenderResult>;
10
- render<T extends Template = Template>(template: T, templateContext?: object): Promise<TemplateRenderResult>;
13
+ private readonly templateResolverProvider;
14
+ constructor(templateProvider: TemplateProvider | undefined, templateRendererProvider: TemplateRendererProvider, templateResolverProvider: TemplateResolverProvider);
15
+ render<T extends Template = Template>(key: string, templateContext?: object): Promise<TemplateServiceRenderResult<T>>;
16
+ render<T extends Template = Template>(template: T, templateContext?: object): Promise<TemplateServiceRenderResult<T>>;
11
17
  }
@@ -14,26 +14,39 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.TemplateService = void 0;
16
16
  const container_1 = require("../container");
17
- const helpers_1 = require("../utils/helpers");
17
+ const throw_1 = require("../utils/throw");
18
18
  const type_guards_1 = require("../utils/type-guards");
19
19
  const template_renderer_provider_1 = require("./template-renderer.provider");
20
+ const template_resolver_provider_1 = require("./template-resolver.provider");
20
21
  const template_provider_1 = require("./template.provider");
21
22
  let TemplateService = class TemplateService {
22
- constructor(templateProvider, templateRendererProvider) {
23
- this.templateProvider = templateProvider ?? { get: () => (0, helpers_1._throw)(new Error('No template provider provided. Cannot render template-keys.')) };
23
+ constructor(templateProvider, templateRendererProvider, templateResolverProvider) {
24
+ this.templateProvider = templateProvider ?? { get: () => (0, throw_1._throw)(new Error('No template provider provided. Cannot render template-keys.')) };
24
25
  this.templateRendererProvider = templateRendererProvider;
26
+ this.templateResolverProvider = templateResolverProvider;
25
27
  }
26
28
  async render(keyOrTemplate, templateContext) {
27
29
  const template = (0, type_guards_1.isString)(keyOrTemplate) ? await this.templateProvider.get(keyOrTemplate) : keyOrTemplate;
28
- const renderer = this.templateRendererProvider.get(template.type);
29
- return renderer.render(template, templateContext);
30
+ const result = {
31
+ fields: {},
32
+ options: template.options
33
+ };
34
+ for (const [key, field] of Object.entries(template.fields)) {
35
+ const resolver = this.templateResolverProvider.get(field.resolver);
36
+ const renderer = this.templateRendererProvider.get(field.renderer);
37
+ const templateString = await resolver.resolve(field);
38
+ const resultString = await renderer.render({ renderer: field.renderer, template: templateString, options: field.options }, templateContext);
39
+ result.fields[key] = resultString;
40
+ }
41
+ return result;
30
42
  }
31
43
  };
32
44
  TemplateService = __decorate([
33
45
  (0, container_1.singleton)(),
34
46
  __param(0, (0, container_1.optional)()),
35
47
  __param(0, (0, container_1.inject)(template_provider_1.TemplateProvider)),
36
- __metadata("design:paramtypes", [Object, template_renderer_provider_1.TemplateRendererProvider])
48
+ __metadata("design:paramtypes", [Object, template_renderer_provider_1.TemplateRendererProvider,
49
+ template_resolver_provider_1.TemplateResolverProvider])
37
50
  ], TemplateService);
38
51
  exports.TemplateService = TemplateService;
39
52
  //# sourceMappingURL=template.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../source/templates/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA0D;AAC1D,8CAAyC;AACzC,sDAA+C;AAC/C,6EAAwE;AAExE,2DAAuD;AAIvD,IAAa,eAAe,GAA5B,MAAa,eAAe;IAI1B,YAAkD,gBAA8C,EAAE,wBAAkD;QAClJ,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,gBAAM,EAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,EAAE,CAAC;QAC5I,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAID,KAAK,CAAC,MAAM,CAAgC,aAAyB,EAAE,eAAwB;QAC7F,MAAM,QAAQ,GAAG,IAAA,sBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1G,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;CACF,CAAA;AAhBY,eAAe;IAD3B,IAAA,qBAAS,GAAE;IAKG,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,kBAAM,EAAC,oCAAgB,CAAC,CAAA;6CAA2E,qDAAwB;GAJzI,eAAe,CAgB3B;AAhBY,0CAAe"}
1
+ {"version":3,"file":"template.service.js","sourceRoot":"","sources":["../../source/templates/template.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAA0D;AAE1D,0CAAuC;AACvC,sDAA+C;AAC/C,6EAAwE;AACxE,6EAAwE;AAExE,2DAAuD;AAQhD,IAAM,eAAe,GAArB,MAAM,eAAe;IAK1B,YACwC,gBAA8C,EACpF,wBAAkD,EAClD,wBAAkD;QAElD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAA,cAAM,EAAC,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC,EAAE,CAAC;QAC5I,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;IAC3D,CAAC;IAID,KAAK,CAAC,MAAM,CAAgC,aAAyB,EAAE,eAAwB;QAC7F,MAAM,QAAQ,GAAG,IAAA,sBAAQ,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAE1G,MAAM,MAAM,GAAmC;YAC7C,MAAM,EAAE,EAAS;YACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEnE,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;YAE5I,MAAM,CAAC,MAAM,CAAC,GAAwB,CAAC,GAAG,YAAY,CAAC;SACxD;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AArCY,eAAe;IAD3B,IAAA,qBAAS,GAAE;IAOP,WAAA,IAAA,oBAAQ,GAAE,CAAA;IAAE,WAAA,IAAA,kBAAM,EAAC,oCAAgB,CAAC,CAAA;6CACX,qDAAwB;QACxB,qDAAwB;GARzC,eAAe,CAqC3B;AArCY,0CAAe"}
@@ -1,3 +1,4 @@
1
- import type { Type } from "../types";
2
1
  import type { TemplateRenderer } from './template.renderer';
3
- export declare const TEMPLATE_RENDERERS: import("../container").InjectionToken<Type<TemplateRenderer<import("./template.model").Template<string, any>>, any>[], any>;
2
+ import type { TemplateResolver } from './template.resolver';
3
+ export declare const TEMPLATE_RENDERERS: import("../container").InjectionToken<TemplateRenderer<string, any>[], any>;
4
+ export declare const TEMPLATE_RESOLVERS: import("../container").InjectionToken<TemplateResolver<import("./template.model").TemplateField<string, string, any>>[], any>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEMPLATE_RENDERERS = void 0;
3
+ exports.TEMPLATE_RESOLVERS = exports.TEMPLATE_RENDERERS = void 0;
4
4
  const container_1 = require("../container");
5
5
  exports.TEMPLATE_RENDERERS = (0, container_1.injectionToken)('TEMPLATE_RENDERERS');
6
+ exports.TEMPLATE_RESOLVERS = (0, container_1.injectionToken)('TEMPLATE_RESOLVERS');
6
7
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../source/templates/tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAIhC,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAA2B,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../source/templates/tokens.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAIhC,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAAqB,oBAAoB,CAAC,CAAC;AAC9E,QAAA,kBAAkB,GAAG,IAAA,0BAAc,EAAqB,oBAAoB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './thread-pool';
2
+ export * from './thread-worker';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./thread-pool"), exports);
18
+ __exportStar(require("./thread-worker"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/threading/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,kDAAgC"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="node" />
2
+ import type { AsyncDisposable } from "../disposable";
3
+ import { disposeAsync } from "../disposable";
4
+ import type * as NodeWorkerThreads from 'worker_threads';
5
+ import type { ThreadWorker } from './thread-worker';
6
+ export declare type ThreadOptions = (WorkerOptions | NodeWorkerThreads.WorkerOptions) & {
7
+ threadCount?: number;
8
+ };
9
+ export declare class ThreadPool implements AsyncDisposable {
10
+ private readonly pool;
11
+ readonly url: string | URL;
12
+ readonly options: ThreadOptions | undefined;
13
+ constructor(url: string | URL, options?: ThreadOptions);
14
+ dispose(): Promise<void>;
15
+ [disposeAsync](): Promise<void>;
16
+ getProcessor<T extends ThreadWorker>(name?: string): (...args: Parameters<T>) => Promise<ReturnType<T>>;
17
+ process<T extends ThreadWorker>(name: string, ...args: Parameters<T>): Promise<ReturnType<T>>;
18
+ private spawn;
19
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThreadPool = void 0;
4
+ const disposable_1 = require("../disposable");
5
+ const environment_1 = require("../environment");
6
+ const pool_1 = require("../pool");
7
+ const require_1 = require("../require");
8
+ const rpc_1 = require("../rpc");
9
+ let spawnWorker;
10
+ if (environment_1.isNode) {
11
+ const { Worker: NodeWorker } = (0, require_1.dynamicRequire)('worker_threads');
12
+ spawnWorker = (url, options) => new NodeWorker(url, options);
13
+ }
14
+ else {
15
+ spawnWorker = (url, options) => new Worker(url, options);
16
+ }
17
+ class ThreadPool {
18
+ constructor(url, options) {
19
+ this.url = url;
20
+ this.options = options;
21
+ this.pool = new pool_1.Pool(() => this.spawn(), ({ worker }) => worker.terminate(), { size: options?.threadCount, disposeOnError: false });
22
+ }
23
+ async dispose() {
24
+ return this[disposable_1.disposeAsync]();
25
+ }
26
+ async [disposable_1.disposeAsync]() {
27
+ await this.pool.dispose();
28
+ }
29
+ getProcessor(name = 'default') {
30
+ const processor = async (...args) => this.process(name, ...args);
31
+ return processor;
32
+ }
33
+ async process(name, ...args) {
34
+ return this.pool.use(async (entry) => {
35
+ const hasRemote = entry.remotes.has(name);
36
+ const remote = hasRemote ? entry.remotes.get(name) : await rpc_1.Rpc.connect(entry.worker, `thread-worker:${name}`);
37
+ if (!hasRemote) {
38
+ entry.remotes.set(name, remote);
39
+ }
40
+ return remote(...args);
41
+ });
42
+ }
43
+ spawn() {
44
+ const worker = spawnWorker(this.url, this.options);
45
+ const remotes = new Map();
46
+ return { worker, remotes };
47
+ }
48
+ }
49
+ exports.ThreadPool = ThreadPool;
50
+ //# sourceMappingURL=thread-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-pool.js","sourceRoot":"","sources":["../../source/threading/thread-pool.ts"],"names":[],"mappings":";;;AACA,8CAA4C;AAC5C,gDAAuC;AACvC,kCAA8B;AAC9B,wCAA2C;AAE3C,gCAA4B;AAe5B,IAAI,WAAkE,CAAC;AAEvE,IAAI,oBAAM,EAAE;IACV,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,wBAAc,EAA2B,gBAAgB,CAAC,CAAC;IAC1F,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,OAA0C,CAAC,CAAC;CACjG;KACI;IACH,WAAW,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,OAAwB,CAAC,CAAC;CAC3E;AAED,MAAa,UAAU;IAMrB,YAAY,GAAiB,EAAE,OAAuB;QACpD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IACtI,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,yBAAY,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,CAAC,yBAAY,CAAC;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAyB,OAAe,SAAS;QAC3D,MAAM,SAAS,GAAG,KAAK,EAAE,GAAG,IAAmB,EAA0B,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QACxG,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAyB,IAAY,EAAE,GAAG,IAAmB;QACxE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,MAAM,SAAG,CAAC,OAAO,CAAI,KAAK,CAAC,MAAM,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;YAElH,IAAI,CAAC,SAAS,EAAE;gBACd,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACjC;YAED,OAAO,MAAM,CAAC,GAAG,IAAI,CAA2B,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK;QACX,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAE1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF;AA9CD,gCA8CC"}
@@ -0,0 +1,3 @@
1
+ import type { RpcEndpointSource } from "../rpc";
2
+ export declare type ThreadWorker = (...args: any[]) => any | Promise<any>;
3
+ export declare function exposeThreadWorker<T extends ThreadWorker>(worker: T, endpointOrSource: RpcEndpointSource, name?: string): void;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exposeThreadWorker = void 0;
4
+ const rpc_1 = require("../rpc");
5
+ function exposeThreadWorker(worker, endpointOrSource, name = 'default') {
6
+ rpc_1.Rpc.expose(worker, endpointOrSource, `thread-worker:${name}`);
7
+ }
8
+ exports.exposeThreadWorker = exposeThreadWorker;
9
+ //# sourceMappingURL=thread-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-worker.js","sourceRoot":"","sources":["../../source/threading/thread-worker.ts"],"names":[],"mappings":";;;AACA,gCAA4B;AAI5B,SAAgB,kBAAkB,CAAyB,MAAS,EAAE,gBAAmC,EAAE,OAAe,SAAS;IACjI,SAAG,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC;AAFD,gDAEC"}
package/types.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { UnionToIntersection } from 'type-fest';
2
+ export declare type ObjectLiteral = {};
1
3
  export declare type PrimitiveTypeMap = {
2
4
  'string': string;
3
5
  'number': number;
@@ -35,10 +37,22 @@ export declare type UndefinableJsonObject = {
35
37
  [key: string]: UndefinableJsonInnerNode;
36
38
  };
37
39
  export declare type UndefinableJsonArray = UndefinableJsonInnerNode[];
40
+ export declare type ArrayItem<T extends readonly any[]> = T extends readonly (infer U)[] ? U : never;
38
41
  export declare type Enumeration = EnumerationArray | EnumerationObject;
39
42
  export declare type EnumerationArray = readonly [string | number, ...(string | number)[]];
40
43
  export declare type EnumerationObject = Record<string, string | number>;
41
- export declare type EnumerationValue<T extends Enumeration = Enumeration> = T extends EnumerationArray ? T[number] : T[Extract<keyof T, string>];
44
+ export declare type EnumerationKey<T extends EnumerationObject = EnumerationObject> = Extract<keyof T, string>;
45
+ export declare type EnumerationMap<T extends EnumerationObject = EnumerationObject> = SimplifyObject<{
46
+ [P in EnumerationKey<T>]: (T[P] extends number ? (`${T[P]}` extends `${infer U extends number}` ? U : never) : `${T[P]}`) | T[P];
47
+ }>;
48
+ export declare type EnumerationValue<T extends Enumeration = Enumeration> = T extends EnumerationObject ? Simplify<EnumerationMap<T>[keyof EnumerationMap<T>]> : T extends EnumerationArray ? T[number] : never;
49
+ export declare type EnumerationEntry<T extends EnumerationObject = EnumerationObject> = {
50
+ [P in EnumerationKey<T>]: [P, EnumerationMap<T>[P]];
51
+ }[EnumerationKey<T>];
52
+ declare type EnumerationEntriesHelper<T extends EnumerationObject = EnumerationObject, Tuple = UnionToTuple<EnumerationKey<T>>> = {
53
+ [P in keyof Tuple]: [Tuple[P], Tuple[P] extends EnumerationKey<T> ? EnumerationMap<T>[Tuple[P]] : never];
54
+ };
55
+ export declare type EnumerationEntries<T extends EnumerationObject = EnumerationObject> = EnumerationEntriesHelper<T> extends (infer U)[] ? U[] : never;
42
56
  export declare type Type<T = any, Arguments extends any[] = any> = Constructor<T, Arguments> & {
43
57
  prototype: T;
44
58
  };
@@ -73,6 +87,11 @@ export declare type OptionalKeys<T> = {
73
87
  }[keyof T];
74
88
  export declare type TypedOmit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
75
89
  export declare type TypedExtract<T, U extends T> = T extends U ? T : never;
90
+ export declare type ReplaceIfUnknown<T, U> = IfUnknown<T, U, T>;
91
+ export declare type OmitNever<T extends Record> = {
92
+ [K in keyof T as T[K] extends never ? never : K]: T[K];
93
+ };
94
+ export declare type SharedProperties<A, B, C = unknown, D = unknown, E = unknown, F = unknown, G = unknown, H = unknown, I = unknown, J = unknown> = OmitNever<Pick<A & B & C & D & E & F & G & H & I & J, keyof A & keyof B & keyof ReplaceIfUnknown<C, never> & keyof ReplaceIfUnknown<D, never> & keyof ReplaceIfUnknown<E, never> & keyof ReplaceIfUnknown<F, never> & keyof ReplaceIfUnknown<G, never> & keyof ReplaceIfUnknown<H, never> & keyof ReplaceIfUnknown<I, never> & keyof ReplaceIfUnknown<J, never>>>;
76
95
  /**
77
96
  * omit properties from a type that extend from a specific type.
78
97
  */
@@ -87,15 +106,14 @@ export declare type SimplifiedOptionalize<T extends object> = Simplify<Optionali
87
106
  /**
88
107
  * remove nested type information
89
108
  */
90
- export declare type Simplify<T> = T extends (Primitive | Function | Date | RegExp) ? T : T extends (infer AT)[] ? Simplify<AT>[] : T extends readonly (infer AT)[] ? readonly Simplify<AT>[] : {
91
- [K in keyof T]: T[K];
92
- } & {};
109
+ export declare type Simplify<T> = T extends (Primitive | Function | Date | RegExp) ? T : T extends (infer AT)[] ? Simplify<AT>[] : T extends readonly (infer AT)[] ? readonly Simplify<AT>[] : T extends Record ? SimplifyObject<T> : T;
93
110
  /**
94
111
  * remove type information on object
95
112
  */
96
113
  export declare type SimplifyObject<T extends Record> = {
97
114
  [K in keyof T]: T[K];
98
115
  } & {};
116
+ export declare type UnionToTuple<T, Tuple extends any[] = []> = UnionToIntersection<T extends any ? () => T : never> extends () => infer R ? UnionToTuple<Exclude<T, R>, [R, ...Tuple]> : Tuple;
99
117
  export declare type UndefinableObject<T extends Record> = {
100
118
  [K in keyof T]: T[K] | undefined;
101
119
  };
@@ -111,9 +129,9 @@ export declare type NonNullOrUndefinable<T> = T extends null | undefined ? never
111
129
  /**
112
130
  * makes optional properties required and removes null and undefined
113
131
  */
114
- export declare type DeepNonNullable<T extends Record> = {
115
- [P in keyof T]-?: T extends Record ? DeepNonNullable<NonNullable<T[P]>> : NonNullable<T[P]>;
116
- };
132
+ export declare type DeepNonNullable<T> = T extends Record ? {
133
+ [P in keyof T]-?: DeepNonNullable<T[P]>;
134
+ } : NonNullable<T>;
117
135
  export declare type IfAny<T, Then, Else = never> = true extends (false & T) ? Then : Else;
118
136
  export declare type IfUnknown<T, Then, Else = never> = unknown extends T ? Then : Else;
119
137
  export declare type IsAny<T> = IfAny<T, true, false>;
@@ -121,8 +139,8 @@ export declare type IsUnknown<T> = IfUnknown<T, true, false>;
121
139
  export declare type If<B extends Boolean, Then, Else> = B extends true ? Then : Else;
122
140
  export declare type PartialProperty<T, P extends keyof T> = Omit<T, P> & Partial<Pick<T, P>>;
123
141
  export declare type TypeOf<T extends object, P extends keyof T> = T[P];
124
- export declare type PropertyOf<T extends object, P extends keyof T> = Property<P, Of<T>>;
125
- export declare type Property<P extends keyof T, T extends object> = {
142
+ export declare type PropertyOf<T extends object, P extends keyof T> = Property<Of<T>, P>;
143
+ export declare type Property<T extends object, P extends keyof T> = {
126
144
  [P2 in keyof T[P]]: T[P][P2];
127
145
  };
128
146
  export declare type Of<T> = T;
@@ -6,5 +6,7 @@ export declare enum Alphabet {
6
6
  LowerCaseNumbers = "abcdefghijklmnopqrstuvwxyz0123456789",
7
7
  UpperCaseNumbers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
8
8
  LowerUpperCaseNumbers = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",
9
- ZBase32 = "ybndrfg8ejkmcpqxot1uwisza345h769"
9
+ ZBase32 = "ybndrfg8ejkmcpqxot1uwisza345h769",
10
+ LowerCaseHex = "0123456789abcdef",
11
+ UpperCaseHex = "0123456789ABCDEF"
10
12
  }
package/utils/alphabet.js CHANGED
@@ -11,5 +11,7 @@ var Alphabet;
11
11
  Alphabet["UpperCaseNumbers"] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
12
12
  Alphabet["LowerUpperCaseNumbers"] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
13
13
  Alphabet["ZBase32"] = "ybndrfg8ejkmcpqxot1uwisza345h769";
14
+ Alphabet["LowerCaseHex"] = "0123456789abcdef";
15
+ Alphabet["UpperCaseHex"] = "0123456789ABCDEF";
14
16
  })(Alphabet = exports.Alphabet || (exports.Alphabet = {}));
15
17
  //# sourceMappingURL=alphabet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alphabet.js","sourceRoot":"","sources":["../../source/utils/alphabet.ts"],"names":[],"mappings":";;;AAAA,IAAY,QASX;AATD,WAAY,QAAQ;IAClB,oDAAwC,CAAA;IACxC,oDAAwC,CAAA;IACxC,kCAAsB,CAAA;IACtB,mFAAuE,CAAA;IACvE,qEAAyD,CAAA;IACzD,qEAAyD,CAAA;IACzD,oGAAwF,CAAA;IACxF,wDAA4C,CAAA;AAC9C,CAAC,EATW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QASnB"}
1
+ {"version":3,"file":"alphabet.js","sourceRoot":"","sources":["../../source/utils/alphabet.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAWX;AAXD,WAAY,QAAQ;IAClB,oDAAwC,CAAA;IACxC,oDAAwC,CAAA;IACxC,kCAAsB,CAAA;IACtB,mFAAuE,CAAA;IACvE,qEAAyD,CAAA;IACzD,qEAAyD,CAAA;IACzD,oGAAwF,CAAA;IACxF,wDAA4C,CAAA;IAC5C,6CAAiC,CAAA;IACjC,6CAAiC,CAAA;AACnC,CAAC,EAXW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAWnB"}
@@ -1,5 +1,4 @@
1
- export declare function toArray<T>(value: T | T[]): T[];
2
- export declare function toArray<T>(value: T | readonly T[]): readonly T[];
1
+ export declare function toArray<T>(value: T | T[] | readonly T[]): T[];
3
2
  /**
4
3
  * creates a new array of specified length and fills it with values from the specified value provider function
5
4
  * @param length length of the new array
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../source/utils/array/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../source/utils/array/array.ts"],"names":[],"mappings":"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"}
package/utils/clone.js CHANGED
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.clone = void 0;
4
4
  const object_1 = require("./object/object");
5
5
  const type_guards_1 = require("./type-guards");
6
+ const supportsStructuredClone = (typeof structuredClone == 'function');
6
7
  function clone(object, deep) {
8
+ if (supportsStructuredClone && deep) {
9
+ return structuredClone(object);
10
+ }
7
11
  if ((0, type_guards_1.isPrimitive)(object)) {
8
12
  return object;
9
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../source/utils/clone.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAChD,+CAA4I;AAE5I,SAAgB,KAAK,CAAI,MAAS,EAAE,IAAa;IAC/C,IAAI,IAAA,yBAAW,EAAC,MAAM,CAAC,EAAE;QACvB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,IAAA,oBAAM,EAAC,MAAM,CAAC,EAAE;QAClB,OAAO,IAAI,IAAI,CAAC,MAAM,CAAiB,CAAC;KACzC;IAED,IAAI,IAAA,sBAAQ,EAAC,MAAM,CAAC,EAAE;QACpB,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAiB,CAAC;KAChE;IAED,IAAI,IAAA,mBAAK,EAAC,MAAM,CAAC,EAAE;QACjB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAiB,CAAC;KACxC;IAED,IAAI,IAAA,mBAAK,EAAC,MAAM,CAAC,EAAE;QACjB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAiB,CAAC;KACxC;IAED,IAAI,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE;QACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAiB,CAAC;KACxC;IAED,IAAI,IAAA,0BAAY,EAAC,MAAM,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,KAAK,EAAkB,CAAC;KACvC;IAED,IAAI,IAAA,wBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAiB,CAAC;KACzF;IAED,IAAI,IAAA,qBAAO,EAAC,MAAM,CAAC,EAAE;QACnB,OAAO,IAAI;YACT,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAO,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAa;YAC5D,CAAC,CAAC,CAAC,GAAG,MAAM,CAAiB,CAAC;KACjC;IAED,IAAA,0BAAY,EAAC,MAAM,CAAC,CAAC;IAErB,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,GAAG,MAAM,EAAO,CAAC;KAC3B;IAED,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAU,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAiB,CAAC;AACrD,CAAC;AAhDD,sBAgDC"}
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../source/utils/clone.ts"],"names":[],"mappings":";;;AAAA,4CAAgD;AAChD,+CAA4I;AAE5I,MAAM,uBAAuB,GAAG,CAAC,OAAO,eAAe,IAAI,UAAU,CAAC,CAAC;AAEvE,SAAgB,KAAK,CAAI,MAAS,EAAE,IAAa;IAC/C,IAAI,uBAAuB,IAAI,IAAI,EAAE;QACnC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;KAChC;IAED,IAAI,IAAA,yBAAW,EAAC,MAAM,CAAC,EAAE;QACvB,OAAO,MAAM,CAAC;KACf;IAED,IAAI,IAAA,oBAAM,EAAC,MAAM,CAAC,EAAE;QAClB,OAAO,IAAI,IAAI,CAAC,MAAM,CAAiB,CAAC;KACzC;IAED,IAAI,IAAA,sBAAQ,EAAC,MAAM,CAAC,EAAE;QACpB,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAiB,CAAC;KAChE;IAED,IAAI,IAAA,mBAAK,EAAC,MAAM,CAAC,EAAE;QACjB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAiB,CAAC;KACxC;IAED,IAAI,IAAA,mBAAK,EAAC,MAAM,CAAC,EAAE;QACjB,OAAO,IAAI,GAAG,CAAC,MAAM,CAAiB,CAAC;KACxC;IAED,IAAI,IAAA,2BAAa,EAAC,MAAM,CAAC,EAAE;QACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAiB,CAAC;KACxC;IAED,IAAI,IAAA,0BAAY,EAAC,MAAM,CAAC,EAAE;QACxB,OAAO,MAAM,CAAC,KAAK,EAAkB,CAAC;KACvC;IAED,IAAI,IAAA,wBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAiB,CAAC;KACzF;IAED,IAAI,IAAA,qBAAO,EAAC,MAAM,CAAC,EAAE;QACnB,OAAO,IAAI;YACT,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAO,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAa;YAC5D,CAAC,CAAC,CAAC,GAAG,MAAM,CAAiB,CAAC;KACjC;IAED,IAAA,0BAAY,EAAC,MAAM,CAAC,CAAC;IAErB,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,GAAG,MAAM,EAAO,CAAC;KAC3B;IAED,MAAM,OAAO,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAU,CAAC,CAAC;IAChG,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAiB,CAAC;AACrD,CAAC;AApDD,sBAoDC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import * as Zlib from 'zlib';
3
+ import type * as ZlibType from 'zlib';
4
4
  export interface CompressionResult {
5
5
  toBuffer(): Promise<Uint8Array>;
6
6
  toHex(): Promise<string>;
@@ -12,16 +12,16 @@ export interface DecompressionResult extends CompressionResult {
12
12
  toUtf8(): Promise<string>;
13
13
  }
14
14
  declare type Algorithms = 'gzip' | 'brotli' | 'deflate' | 'deflate-raw';
15
- export declare function compressString(input: string, algorithm: 'gzip' | 'deflate' | 'deflate-raw', options?: Zlib.ZlibOptions): CompressionResult;
16
- export declare function compressString(input: string, algorithm: 'brotli', options?: Zlib.BrotliOptions): CompressionResult;
17
- export declare function compressString(input: string, algorithm: Algorithms, options?: Zlib.ZlibOptions | Zlib.BrotliOptions): CompressionResult;
18
- export declare function compress(buffer: Zlib.InputType, algorithm: 'gzip' | 'deflate' | 'deflate-raw', options?: Zlib.ZlibOptions): CompressionResult;
19
- export declare function compress(buffer: Zlib.InputType, algorithm: 'brotli', options?: Zlib.BrotliOptions): CompressionResult;
20
- export declare function compress(buffer: Zlib.InputType, algorithm: Algorithms, options?: Zlib.ZlibOptions | Zlib.BrotliOptions): CompressionResult;
21
- export declare function decompressString(input: string, encoding: BufferEncoding, algorithm: 'gzip' | 'deflate' | 'deflate-raw', options?: Zlib.ZlibOptions): DecompressionResult;
22
- export declare function decompressString(input: string, encoding: BufferEncoding, algorithm: 'brotli', options?: Zlib.BrotliOptions): DecompressionResult;
23
- export declare function decompressString(input: string, encoding: BufferEncoding, algorithm: Algorithms, options?: Zlib.ZlibOptions | Zlib.BrotliOptions): DecompressionResult;
24
- export declare function decompress(buffer: Zlib.InputType, algorithm: 'gzip' | 'deflate' | 'deflate-raw', options?: Zlib.ZlibOptions): DecompressionResult;
25
- export declare function decompress(buffer: Zlib.InputType, algorithm: 'brotli', options?: Zlib.BrotliOptions): DecompressionResult;
26
- export declare function decompress(buffer: Zlib.InputType, algorithm: Algorithms, options?: Zlib.ZlibOptions | Zlib.BrotliOptions): DecompressionResult;
15
+ export declare function compressString(input: string, algorithm: 'gzip' | 'deflate' | 'deflate-raw', options?: ZlibType.ZlibOptions): CompressionResult;
16
+ export declare function compressString(input: string, algorithm: 'brotli', options?: ZlibType.BrotliOptions): CompressionResult;
17
+ export declare function compressString(input: string, algorithm: Algorithms, options?: ZlibType.ZlibOptions | ZlibType.BrotliOptions): CompressionResult;
18
+ export declare function compress(buffer: ZlibType.InputType, algorithm: 'gzip' | 'deflate' | 'deflate-raw', options?: ZlibType.ZlibOptions): CompressionResult;
19
+ export declare function compress(buffer: ZlibType.InputType, algorithm: 'brotli', options?: ZlibType.BrotliOptions): CompressionResult;
20
+ export declare function compress(buffer: ZlibType.InputType, algorithm: Algorithms, options?: ZlibType.ZlibOptions | ZlibType.BrotliOptions): CompressionResult;
21
+ export declare function decompressString(input: string, encoding: BufferEncoding, algorithm: 'gzip' | 'deflate' | 'deflate-raw', options?: ZlibType.ZlibOptions): DecompressionResult;
22
+ export declare function decompressString(input: string, encoding: BufferEncoding, algorithm: 'brotli', options?: ZlibType.BrotliOptions): DecompressionResult;
23
+ export declare function decompressString(input: string, encoding: BufferEncoding, algorithm: Algorithms, options?: ZlibType.ZlibOptions | ZlibType.BrotliOptions): DecompressionResult;
24
+ export declare function decompress(buffer: ZlibType.InputType, algorithm: 'gzip' | 'deflate' | 'deflate-raw', options?: ZlibType.ZlibOptions): DecompressionResult;
25
+ export declare function decompress(buffer: ZlibType.InputType, algorithm: 'brotli', options?: ZlibType.BrotliOptions): DecompressionResult;
26
+ export declare function decompress(buffer: ZlibType.InputType, algorithm: Algorithms, options?: ZlibType.ZlibOptions | ZlibType.BrotliOptions): DecompressionResult;
27
27
  export {};
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decompress = exports.decompressString = exports.compress = exports.compressString = void 0;
4
- const Zlib = require("zlib");
5
4
  const base64_1 = require("./base64");
6
5
  const encoding_1 = require("./encoding");
6
+ const object_1 = require("./object");
7
7
  const z_base32_1 = require("./z-base32");
8
+ const zlib = object_1.ForwardRef.create({ initializer: () => eval('require(\'zlib\')') });
8
9
  function compressString(input, algorithm, options) {
9
10
  const inputBuffer = (0, encoding_1.encodeUtf8)(input);
10
11
  return compress(inputBuffer, algorithm, options);
@@ -23,10 +24,10 @@ function compress(buffer, algorithm, options) {
23
24
  exports.compress = compress;
24
25
  async function _compress(buffer, algorithm, options) {
25
26
  return new Promise((resolve, reject) => {
26
- const compressor = algorithm == 'gzip' ? Zlib.gzip
27
- : algorithm == 'brotli' ? Zlib.brotliDecompress
28
- : algorithm == 'deflate' ? Zlib.deflate
29
- : algorithm == 'deflate-raw' ? Zlib.deflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
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
30
31
  : undefined;
31
32
  if (compressor == undefined) {
32
33
  throw new Error(`unsupported algorithm ${algorithm}`);
@@ -66,10 +67,10 @@ function decompress(buffer, algorithm, options) {
66
67
  exports.decompress = decompress;
67
68
  async function _decompress(buffer, algorithm, options) {
68
69
  return new Promise((resolve, reject) => {
69
- const decompressor = algorithm == 'gzip' ? Zlib.gunzip
70
- : algorithm == 'brotli' ? Zlib.brotliDecompress
71
- : algorithm == 'deflate' ? Zlib.inflate
72
- : algorithm == 'deflate-raw' ? Zlib.inflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
70
+ const decompressor = algorithm == 'gzip' ? zlib.gunzip
71
+ : algorithm == 'brotli' ? zlib.brotliDecompress
72
+ : algorithm == 'deflate' ? zlib.inflate
73
+ : algorithm == 'deflate-raw' ? zlib.inflateRaw // eslint-disable-line @typescript-eslint/no-unnecessary-condition
73
74
  : undefined;
74
75
  if (decompressor == undefined) {
75
76
  throw new Error(`unsupported algorithm ${algorithm}`);
@@ -1 +1 @@
1
- {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../source/utils/compression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../source/utils/compression.ts"],"names":[],"mappings":"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"}
package/utils/encoding.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decodeHex = exports.encodeHex = exports.decodeText = exports.encodeUtf8 = void 0;
4
- const error_1 = require("../error");
5
- const array_1 = require("./array");
4
+ const assertion_error_1 = require("../error/assertion.error");
5
+ const array_1 = require("./array/array");
6
6
  const binary_1 = require("./binary");
7
7
  const type_guards_1 = require("./type-guards");
8
8
  const byteToHex = (0, array_1.createArray)(2 ** 8, (i) => i).map((value) => value.toString(16).padStart(2, '0'));
@@ -54,7 +54,7 @@ function decodeHex(hex) {
54
54
  const hexPart = hex.substring(i, i + 2);
55
55
  const byte = hexToByte.get(hexPart);
56
56
  if ((0, type_guards_1.isUndefined)(byte)) {
57
- throw new error_1.AssertionError(`invalid hex string at position ${i}`);
57
+ throw new assertion_error_1.AssertionError(`invalid hex string at position ${i}`);
58
58
  }
59
59
  bytes[i / 2] = byte;
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../source/utils/encoding.ts"],"names":[],"mappings":";;;AAAA,oCAAyC;AAEzC,mCAAsC;AACtC,qCAAwC;AACxC,+CAA4C;AAE5C,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACpG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAHD,gCAGC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,MAAmB,EAAE,QAAiB;IAC/D,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAHD,gCAGC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,MAAkB;IAC1C,MAAM,KAAK,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;KAChC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,8BAUC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACtC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,sBAAc,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;SACjE;QAED,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KACrB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,8BAeC"}
1
+ {"version":3,"file":"encoding.js","sourceRoot":"","sources":["../../source/utils/encoding.ts"],"names":[],"mappings":";;;AAAA,8DAAyD;AAEzD,yCAA4C;AAC5C,qCAAwC;AACxC,+CAA4C;AAE5C,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACpG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAHD,gCAGC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,MAAmB,EAAE,QAAiB;IAC/D,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAHD,gCAGC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,MAAkB;IAC1C,MAAM,KAAK,GAAG,IAAA,qBAAY,EAAC,MAAM,CAAC,CAAC;IACnC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,4DAA4D;IAC5D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;KAChC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,8BAUC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACtC,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEpC,IAAI,IAAA,yBAAW,EAAC,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,gCAAc,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;SACjE;QAED,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KACrB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAfD,8BAeC"}
package/utils/enum.d.ts CHANGED
@@ -1,8 +1,5 @@
1
- import type { EnumerationObject, Simplify } from "../types";
2
- export declare type EnumEntry<T> = [EnumKey<T>, EnumValue<T>];
3
- export declare type EnumKey<T> = Extract<keyof T, string>;
4
- export declare type EnumValue<T> = Simplify<T[EnumKey<T>]>;
5
- export declare function enumEntries<T extends EnumerationObject>(enumeration: T): EnumEntry<T>[];
6
- export declare function enumKeys<T extends EnumerationObject>(enumeration: T): EnumKey<T>[];
7
- export declare function enumValues<T extends EnumerationObject>(enumeration: T): EnumValue<T>[];
8
- export declare function randomEnumValue<T extends EnumerationObject>(enumeration: T): EnumValue<T>;
1
+ import type { EnumerationEntries, EnumerationKey, EnumerationObject, EnumerationValue } from "../types";
2
+ export declare function enumEntries<T extends EnumerationObject>(enumeration: T): EnumerationEntries<T>;
3
+ export declare function enumKeys<T extends EnumerationObject>(enumeration: T): EnumerationKey<T>[];
4
+ export declare function enumValues<T extends EnumerationObject>(enumeration: T): EnumerationValue<T>[];
5
+ export declare function randomEnumValue<T extends EnumerationObject>(enumeration: T): EnumerationValue<T>;
package/utils/enum.js CHANGED
@@ -3,19 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.randomEnumValue = exports.enumValues = exports.enumKeys = exports.enumEntries = void 0;
4
4
  const array_1 = require("./array/array");
5
5
  const function_1 = require("./function");
6
- function _enumEntries(enumeration) {
7
- return Object.entries(enumeration)
8
- .filter((entry) => Number.isNaN(Number(entry[0])));
9
- }
10
- function _enumKeys(enumeration) {
11
- return _enumEntries(enumeration).map((entry) => entry[0]);
12
- }
13
- function _enumValues(enumeration) {
14
- return _enumEntries(enumeration).map((entry) => entry[1]);
15
- }
16
- const memoizedEnumEntries = (0, function_1.memoizeSingle)(_enumEntries);
17
- const memoizedEnumKeys = (0, function_1.memoizeSingle)(_enumKeys);
18
- const memoizedEnumValues = (0, function_1.memoizeSingle)(_enumValues);
6
+ const memoizedEnumEntries = (0, function_1.memoizeSingle)(_enumEntries, { weak: true });
7
+ const memoizedEnumKeys = (0, function_1.memoizeSingle)(_enumKeys, { weak: true });
8
+ const memoizedEnumValues = (0, function_1.memoizeSingle)(_enumValues, { weak: true });
19
9
  function enumEntries(enumeration) {
20
10
  return memoizedEnumEntries(enumeration);
21
11
  }
@@ -32,4 +22,16 @@ function randomEnumValue(enumeration) {
32
22
  return (0, array_1.randomItem)(enumValues(enumeration));
33
23
  }
34
24
  exports.randomEnumValue = randomEnumValue;
25
+ function _enumEntries(enumeration) {
26
+ return Object.entries(enumeration)
27
+ .filter((entry) => Number.isNaN(Number(entry[0])));
28
+ }
29
+ function _enumKeys(enumeration) {
30
+ const entries = enumEntries(enumeration);
31
+ return entries.map((entry) => entry[0]);
32
+ }
33
+ function _enumValues(enumeration) {
34
+ const entries = enumEntries(enumeration);
35
+ return entries.map((entry) => entry[1]);
36
+ }
35
37
  //# sourceMappingURL=enum.js.map
package/utils/enum.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../source/utils/enum.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,yCAA2C;AAM3C,SAAS,YAAY,CAAI,WAAc;IACrC,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAyB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAI,WAAc;IAClC,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,WAAW,CAAI,WAAc;IACpC,OAAO,YAAY,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,mBAAmB,GAAG,IAAA,wBAAa,EAAC,YAAY,CAAC,CAAC;AACxD,MAAM,gBAAgB,GAAG,IAAA,wBAAa,EAAC,SAAS,CAAC,CAAC;AAClD,MAAM,kBAAkB,GAAG,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;AAEtD,SAAgB,WAAW,CAA8B,WAAc;IACrE,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAFD,kCAEC;AAED,SAAgB,QAAQ,CAA8B,WAAc;IAClE,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAA8B,WAAc;IACpE,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe,CAA8B,WAAc;IACzE,OAAO,IAAA,kBAAU,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,CAAC;AAFD,0CAEC"}
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../source/utils/enum.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAC3C,yCAA2C;AAE3C,MAAM,mBAAmB,GAAG,IAAA,wBAAa,EAAC,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACxE,MAAM,gBAAgB,GAAG,IAAA,wBAAa,EAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClE,MAAM,kBAAkB,GAAG,IAAA,wBAAa,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAEtE,SAAgB,WAAW,CAA8B,WAAc;IACrE,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAC1C,CAAC;AAFD,kCAEC;AAED,SAAgB,QAAQ,CAA8B,WAAc;IAClE,OAAO,gBAAgB,CAAC,WAAW,CAAC,CAAC;AACvC,CAAC;AAFD,4BAEC;AAED,SAAgB,UAAU,CAA8B,WAAc;IACpE,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe,CAA8B,WAAc;IACzE,OAAO,IAAA,kBAAU,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AAC7C,CAAC;AAFD,0CAEC;AAED,SAAS,YAAY,CAA8B,WAAc;IAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/B,MAAM,CAAC,CAAC,KAAK,EAAgC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAA0B,CAAC;AAC9G,CAAC;AAED,SAAS,SAAS,CAA8B,WAAc;IAC5D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAA0B,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,WAAW,CAA8B,WAAc;IAC9D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAA0B,CAAC;IAClE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAwB,CAAC,CAAC;AACjE,CAAC"}