@tstdl/base 0.78.0-beta7 → 0.78.0-beta70

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 (550) hide show
  1. package/api/client/client.d.ts +2 -1
  2. package/api/client/client.js +38 -16
  3. package/api/client/client.js.map +1 -1
  4. package/api/response.js +3 -2
  5. package/api/response.js.map +1 -1
  6. package/api/server/api-controller.js +1 -1
  7. package/api/server/api-controller.js.map +1 -1
  8. package/api/server/gateway.d.ts +15 -3
  9. package/api/server/gateway.js +53 -37
  10. package/api/server/gateway.js.map +1 -1
  11. package/api/server/middlewares/allowed-methods.middleware.js +1 -1
  12. package/api/server/middlewares/allowed-methods.middleware.js.map +1 -1
  13. package/api/server/middlewares/cors.middleware.d.ts +6 -4
  14. package/api/server/middlewares/cors.middleware.js +30 -30
  15. package/api/server/middlewares/cors.middleware.js.map +1 -1
  16. package/api/types.d.ts +36 -14
  17. package/api/types.js +1 -2
  18. package/api/types.js.map +1 -1
  19. package/api/utils.d.ts +9 -0
  20. package/api/utils.js +15 -0
  21. package/api/utils.js.map +1 -0
  22. package/application/application.d.ts +2 -0
  23. package/application/application.js +3 -0
  24. package/application/application.js.map +1 -1
  25. package/collections/awaitable/awaitable-list.js +7 -7
  26. package/collections/awaitable/awaitable-list.js.map +1 -1
  27. package/collections/observable/observable-array.js +1 -1
  28. package/collections/observable/observable-array.js.map +1 -1
  29. package/collections/observable/observable-list-base.js +2 -2
  30. package/collections/observable/observable-list-base.js.map +1 -1
  31. package/collections/observable/observable-sorted-array-list.js +3 -3
  32. package/collections/observable/observable-sorted-array-list.js.map +1 -1
  33. package/collections/sorted-array-list.js +3 -3
  34. package/collections/sorted-array-list.js.map +1 -1
  35. package/collections/sorted-map.js +1 -1
  36. package/collections/sorted-map.js.map +1 -1
  37. package/container/container.js +19 -21
  38. package/container/container.js.map +1 -1
  39. package/container/decorators.d.ts +1 -1
  40. package/container/decorators.js.map +1 -1
  41. package/container/resolve-chain.d.ts +2 -1
  42. package/container/resolve-chain.js +6 -2
  43. package/container/resolve-chain.js.map +1 -1
  44. package/core.js +1 -1
  45. package/core.js.map +1 -1
  46. package/css/theme/theme.service.js.map +1 -1
  47. package/data-structures/index-out-of-bounds.error.d.ts +1 -1
  48. package/data-structures/index-out-of-bounds.error.js +2 -2
  49. package/data-structures/index-out-of-bounds.error.js.map +1 -1
  50. package/data-structures/iterable-weak-map.js +1 -1
  51. package/data-structures/iterable-weak-map.js.map +1 -1
  52. package/data-structures/linked-list.js.map +1 -1
  53. package/data-structures/sorted-array-list.js +2 -2
  54. package/data-structures/sorted-array-list.js.map +1 -1
  55. package/database/mongo/classes.js.map +1 -1
  56. package/database/mongo/mongo-base.repository.js +3 -3
  57. package/database/mongo/mongo-base.repository.js.map +1 -1
  58. package/database/mongo/mongo-entity-repository.js +2 -2
  59. package/database/mongo/mongo-entity-repository.js.map +1 -1
  60. package/distributed-loop/distributed-loop.js.map +1 -1
  61. package/distributed-loop/provider.js.map +1 -1
  62. package/environment.d.ts +10 -0
  63. package/environment.js +26 -0
  64. package/environment.js.map +1 -0
  65. package/error/custom.error.d.ts +7 -3
  66. package/error/custom.error.js +17 -8
  67. package/error/custom.error.js.map +1 -1
  68. package/error/index.d.ts +1 -0
  69. package/error/index.js +1 -0
  70. package/error/index.js.map +1 -1
  71. package/error/max-bytes-exceeded.error.d.ts +1 -0
  72. package/error/max-bytes-exceeded.error.js +3 -0
  73. package/error/max-bytes-exceeded.error.js.map +1 -1
  74. package/error/not-implemented.error.js +1 -1
  75. package/error/not-implemented.error.js.map +1 -1
  76. package/error/not-supported.error.d.ts +7 -0
  77. package/error/not-supported.error.js +17 -0
  78. package/error/not-supported.error.js.map +1 -0
  79. package/error/unsupported-media-type.error.js +1 -1
  80. package/error/unsupported-media-type.error.js.map +1 -1
  81. package/examples/api/basic-overview.js +17 -25
  82. package/examples/api/basic-overview.js.map +1 -1
  83. package/examples/api/streaming.d.ts +1 -0
  84. package/examples/api/streaming.js +79 -0
  85. package/examples/api/streaming.js.map +1 -0
  86. package/examples/mail/basic.js +12 -7
  87. package/examples/mail/basic.js.map +1 -1
  88. package/examples/mail/templates/hello-name.d.ts +2 -0
  89. package/examples/mail/templates/hello-name.js +11 -0
  90. package/examples/mail/templates/hello-name.js.map +1 -0
  91. package/examples/pdf/basic.js +8 -5
  92. package/examples/pdf/basic.js.map +1 -1
  93. package/examples/pdf/templates/hello-name.d.ts +1 -4
  94. package/examples/pdf/templates/hello-name.js +30 -4
  95. package/examples/pdf/templates/hello-name.js.map +1 -1
  96. package/examples/reflection/basic.js +1 -1
  97. package/examples/reflection/basic.js.map +1 -1
  98. package/examples/template/basic.d.ts +1 -0
  99. package/examples/template/basic.js +25 -0
  100. package/examples/template/basic.js.map +1 -0
  101. package/examples/template/templates/hello-name.d.ts +2 -0
  102. package/examples/template/templates/hello-name.js +23 -0
  103. package/examples/template/templates/hello-name.js.map +1 -0
  104. package/http/client/adapters/undici-http-client.adapter.d.ts +1 -2
  105. package/http/client/adapters/undici-http-client.adapter.js +10 -12
  106. package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
  107. package/http/client/http-client-request.d.ts +24 -14
  108. package/http/client/http-client-request.js +4 -2
  109. package/http/client/http-client-request.js.map +1 -1
  110. package/http/client/http-client-response.d.ts +10 -12
  111. package/http/client/http-client-response.js +5 -1
  112. package/http/client/http-client-response.js.map +1 -1
  113. package/http/client/http-client.adapter.d.ts +1 -2
  114. package/http/client/http-client.adapter.js.map +1 -1
  115. package/http/client/http-client.d.ts +30 -31
  116. package/http/client/http-client.js +107 -74
  117. package/http/client/http-client.js.map +1 -1
  118. package/http/http-body.d.ts +19 -0
  119. package/http/http-body.js +52 -0
  120. package/http/http-body.js.map +1 -0
  121. package/http/http-headers.d.ts +3 -0
  122. package/http/http-headers.js +6 -0
  123. package/http/http-headers.js.map +1 -1
  124. package/http/http-value-map.js +2 -2
  125. package/http/http-value-map.js.map +1 -1
  126. package/http/http.error.d.ts +5 -2
  127. package/http/http.error.js +27 -5
  128. package/http/http.error.js.map +1 -1
  129. package/http/index.d.ts +2 -0
  130. package/http/index.js +2 -0
  131. package/http/index.js.map +1 -1
  132. package/http/server/http-server-request.d.ts +5 -10
  133. package/http/server/http-server-request.js +3 -30
  134. package/http/server/http-server-request.js.map +1 -1
  135. package/http/server/http-server-response.d.ts +4 -4
  136. package/http/server/node/node-http-server.js +2 -1
  137. package/http/server/node/node-http-server.js.map +1 -1
  138. package/http/types.d.ts +1 -11
  139. package/http/types.js +1 -2
  140. package/http/types.js.map +1 -1
  141. package/http/utils.d.ts +15 -0
  142. package/http/utils.js +113 -0
  143. package/http/utils.js.map +1 -0
  144. package/image-service/image-service.js.map +1 -1
  145. package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
  146. package/json-path/json-path.d.ts +8 -5
  147. package/json-path/json-path.js +15 -1
  148. package/json-path/json-path.js.map +1 -1
  149. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
  150. package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
  151. package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
  152. package/lock/mongo/lock.js.map +1 -1
  153. package/lock/mongo/mongo-lock-repository.js.map +1 -1
  154. package/lock/mongo/provider.js.map +1 -1
  155. package/logger/console/logger.js +1 -1
  156. package/logger/console/logger.js.map +1 -1
  157. package/logger/logger.d.ts +2 -2
  158. package/mail/clients/nodemailer.mail-client.js.map +1 -1
  159. package/mail/index.d.ts +0 -3
  160. package/mail/index.js +0 -3
  161. package/mail/index.js.map +1 -1
  162. package/mail/mail.service.d.ts +3 -5
  163. package/mail/mail.service.js +8 -14
  164. package/mail/mail.service.js.map +1 -1
  165. package/mail/models/mail-template.model.d.ts +11 -10
  166. package/mail/models/mail-template.model.js +7 -0
  167. package/mail/models/mail-template.model.js.map +1 -1
  168. package/mail/module.d.ts +1 -5
  169. package/mail/module.js +2 -11
  170. package/mail/module.js.map +1 -1
  171. package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
  172. package/mail/tokens.d.ts +0 -3
  173. package/mail/tokens.js +1 -2
  174. package/mail/tokens.js.map +1 -1
  175. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  176. package/message-bus/local/local-message-bus.js.map +1 -1
  177. package/migration/migrator.js.map +1 -1
  178. package/migration/mongo/migration-state-repository.js.map +1 -1
  179. package/module/modules/web-server.module.js.map +1 -1
  180. package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
  181. package/object-storage/s3/s3.object-storage.js.map +1 -1
  182. package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
  183. package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
  184. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  185. package/openid-connect/oidc-configuration.service.js +5 -3
  186. package/openid-connect/oidc-configuration.service.js.map +1 -1
  187. package/openid-connect/oidc.service-model.d.ts +11 -3
  188. package/openid-connect/oidc.service.d.ts +6 -3
  189. package/openid-connect/oidc.service.js +72 -25
  190. package/openid-connect/oidc.service.js.map +1 -1
  191. package/package.json +12 -11
  192. package/pdf/pdf.service.d.ts +91 -12
  193. package/pdf/pdf.service.js +209 -29
  194. package/pdf/pdf.service.js.map +1 -1
  195. package/pool/pool.d.ts +6 -1
  196. package/pool/pool.js +4 -1
  197. package/pool/pool.js.map +1 -1
  198. package/promise/deferred-promise.d.ts +2 -15
  199. package/promise/deferred-promise.js +5 -10
  200. package/promise/deferred-promise.js.map +1 -1
  201. package/promise/index.d.ts +1 -0
  202. package/promise/index.js +1 -0
  203. package/promise/index.js.map +1 -1
  204. package/promise/lazy-promise.d.ts +11 -0
  205. package/promise/lazy-promise.js +31 -0
  206. package/promise/lazy-promise.js.map +1 -0
  207. package/queue/mongo/mongo-job.repository.js +1 -1
  208. package/queue/mongo/mongo-job.repository.js.map +1 -1
  209. package/queue/mongo/queue.js.map +1 -1
  210. package/queue/mongo/queue.provider.js.map +1 -1
  211. package/reflection/decorator-data.js +1 -1
  212. package/reflection/decorator-data.js.map +1 -1
  213. package/reflection/decorators.d.ts +2 -2
  214. package/reflection/decorators.js +7 -7
  215. package/reflection/decorators.js.map +1 -1
  216. package/reflection/registry.d.ts +8 -8
  217. package/reflection/registry.js +1 -1
  218. package/reflection/registry.js.map +1 -1
  219. package/reflection/types.d.ts +3 -2
  220. package/reflection/utils.d.ts +7 -2
  221. package/reflection/utils.js +38 -12
  222. package/reflection/utils.js.map +1 -1
  223. package/require.d.ts +1 -0
  224. package/require.js +9 -0
  225. package/require.js.map +1 -0
  226. package/rpc/endpoints/message-port.rpc-endpoint.d.ts +19 -0
  227. package/rpc/endpoints/message-port.rpc-endpoint.js +34 -0
  228. package/rpc/endpoints/message-port.rpc-endpoint.js.map +1 -0
  229. package/rpc/index.d.ts +4 -0
  230. package/rpc/index.js +21 -0
  231. package/rpc/index.js.map +1 -0
  232. package/rpc/model.d.ts +72 -0
  233. package/rpc/model.js +13 -0
  234. package/rpc/model.js.map +1 -0
  235. package/rpc/rpc-endpoint.d.ts +11 -0
  236. package/rpc/rpc-endpoint.js +23 -0
  237. package/rpc/rpc-endpoint.js.map +1 -0
  238. package/rpc/rpc-error.d.ts +8 -0
  239. package/rpc/rpc-error.js +26 -0
  240. package/rpc/rpc-error.js.map +1 -0
  241. package/rpc/rpc.d.ts +19 -0
  242. package/rpc/rpc.js +263 -0
  243. package/rpc/rpc.js.map +1 -0
  244. package/schema/array-constraints/maximum-length.d.ts +2 -2
  245. package/schema/array-constraints/maximum-length.js +2 -2
  246. package/schema/array-constraints/maximum-length.js.map +1 -1
  247. package/schema/array-constraints/minimum-length.d.ts +2 -2
  248. package/schema/array-constraints/minimum-length.js +2 -2
  249. package/schema/array-constraints/minimum-length.js.map +1 -1
  250. package/schema/coercers/boolean.coercer.d.ts +2 -2
  251. package/schema/coercers/boolean.coercer.js +2 -2
  252. package/schema/coercers/boolean.coercer.js.map +1 -1
  253. package/schema/coercers/date.coercer.d.ts +2 -2
  254. package/schema/coercers/date.coercer.js +2 -2
  255. package/schema/coercers/date.coercer.js.map +1 -1
  256. package/schema/coercers/number.coercer.d.ts +3 -3
  257. package/schema/coercers/number.coercer.js +2 -2
  258. package/schema/coercers/number.coercer.js.map +1 -1
  259. package/schema/coercers/regexp.coercer.d.ts +2 -2
  260. package/schema/coercers/regexp.coercer.js +2 -2
  261. package/schema/coercers/regexp.coercer.js.map +1 -1
  262. package/schema/coercers/string.coercer.d.ts +3 -3
  263. package/schema/coercers/string.coercer.js +2 -2
  264. package/schema/coercers/string.coercer.js.map +1 -1
  265. package/schema/coercers/uint8-array.coercer.js +2 -2
  266. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  267. package/schema/constraints/enumeration.d.ts +5 -5
  268. package/schema/constraints/enumeration.js +6 -6
  269. package/schema/constraints/enumeration.js.map +1 -1
  270. package/schema/constraints/generic.d.ts +2 -2
  271. package/schema/constraints/generic.js +2 -2
  272. package/schema/constraints/generic.js.map +1 -1
  273. package/schema/constraints/integer.d.ts +2 -2
  274. package/schema/constraints/integer.js +2 -2
  275. package/schema/constraints/integer.js.map +1 -1
  276. package/schema/constraints/literal.d.ts +2 -2
  277. package/schema/constraints/literal.js +2 -2
  278. package/schema/constraints/literal.js.map +1 -1
  279. package/schema/constraints/maximum-date.d.ts +2 -2
  280. package/schema/constraints/maximum-date.js +2 -2
  281. package/schema/constraints/maximum-date.js.map +1 -1
  282. package/schema/constraints/maximum-length.d.ts +3 -3
  283. package/schema/constraints/maximum-length.js +2 -2
  284. package/schema/constraints/maximum-length.js.map +1 -1
  285. package/schema/constraints/maximum.d.ts +2 -2
  286. package/schema/constraints/maximum.js +2 -2
  287. package/schema/constraints/maximum.js.map +1 -1
  288. package/schema/constraints/minimum-date.d.ts +2 -2
  289. package/schema/constraints/minimum-date.js +2 -2
  290. package/schema/constraints/minimum-date.js.map +1 -1
  291. package/schema/constraints/minimum-length.d.ts +3 -3
  292. package/schema/constraints/minimum-length.js +2 -2
  293. package/schema/constraints/minimum-length.js.map +1 -1
  294. package/schema/constraints/minimum.d.ts +2 -2
  295. package/schema/constraints/minimum.js +2 -2
  296. package/schema/constraints/minimum.js.map +1 -1
  297. package/schema/constraints/pattern.d.ts +2 -2
  298. package/schema/constraints/pattern.js +2 -2
  299. package/schema/constraints/pattern.js.map +1 -1
  300. package/schema/decorators/optional.d.ts +3 -1
  301. package/schema/decorators/optional.js +2 -2
  302. package/schema/decorators/optional.js.map +1 -1
  303. package/schema/decorators/types.d.ts +3 -3
  304. package/schema/decorators/utils.d.ts +3 -2
  305. package/schema/decorators/utils.js +8 -4
  306. package/schema/decorators/utils.js.map +1 -1
  307. package/schema/schema.d.ts +4 -10
  308. package/schema/schema.error.d.ts +6 -5
  309. package/schema/schema.error.js +13 -10
  310. package/schema/schema.error.js.map +1 -1
  311. package/schema/schema.js +110 -104
  312. package/schema/schema.js.map +1 -1
  313. package/schema/schemas/array.d.ts +3 -3
  314. package/schema/schemas/array.js.map +1 -1
  315. package/schema/schemas/assign.d.ts +6 -6
  316. package/schema/schemas/assign.js +3 -1
  317. package/schema/schemas/assign.js.map +1 -1
  318. package/schema/schemas/constraint.d.ts +3 -2
  319. package/schema/schemas/constraint.js.map +1 -1
  320. package/schema/schemas/defaulted.d.ts +2 -2
  321. package/schema/schemas/defaulted.js.map +1 -1
  322. package/schema/schemas/index.d.ts +2 -1
  323. package/schema/schemas/index.js +2 -1
  324. package/schema/schemas/index.js.map +1 -1
  325. package/schema/schemas/nullable.d.ts +2 -2
  326. package/schema/schemas/nullable.js.map +1 -1
  327. package/schema/schemas/number.d.ts +1 -1
  328. package/schema/schemas/number.js.map +1 -1
  329. package/schema/schemas/omit.d.ts +4 -0
  330. package/schema/schemas/{exclude.js → omit.js} +8 -6
  331. package/schema/schemas/omit.js.map +1 -0
  332. package/schema/schemas/optional.d.ts +3 -2
  333. package/schema/schemas/optional.js.map +1 -1
  334. package/schema/schemas/partial.d.ts +4 -0
  335. package/schema/schemas/partial.js +22 -0
  336. package/schema/schemas/partial.js.map +1 -0
  337. package/schema/schemas/pick.d.ts +2 -2
  338. package/schema/schemas/pick.js +3 -1
  339. package/schema/schemas/pick.js.map +1 -1
  340. package/schema/schemas/record.d.ts +2 -2
  341. package/schema/schemas/record.js.map +1 -1
  342. package/schema/schemas/union.d.ts +4 -9
  343. package/schema/schemas/union.js.map +1 -1
  344. package/schema/types.d.ts +30 -20
  345. package/schema/types.js +21 -8
  346. package/schema/types.js.map +1 -1
  347. package/schema/utils/schema.d.ts +6 -1
  348. package/schema/utils/schema.js +60 -4
  349. package/schema/utils/schema.js.map +1 -1
  350. package/schema/utils/value-type.d.ts +5 -3
  351. package/schema/utils/value-type.js +23 -8
  352. package/schema/utils/value-type.js.map +1 -1
  353. package/search-index/elastic/config.js.map +1 -1
  354. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  355. package/search-index/elastic/model/index-mapping.js.map +1 -1
  356. package/search-index/elastic/search-index.js +5 -4
  357. package/search-index/elastic/search-index.js.map +1 -1
  358. package/search-index/error.d.ts +1 -1
  359. package/search-index/error.js +2 -2
  360. package/search-index/error.js.map +1 -1
  361. package/serializer/handlers/register.d.ts +2 -2
  362. package/serializer/handlers/register.js +6 -2
  363. package/serializer/handlers/register.js.map +1 -1
  364. package/serializer/serializable.d.ts +11 -8
  365. package/serializer/serializable.js +13 -4
  366. package/serializer/serializable.js.map +1 -1
  367. package/serializer/serializer.js +21 -8
  368. package/serializer/serializer.js.map +1 -1
  369. package/serializer/types.d.ts +21 -6
  370. package/serializer/types.js +2 -1
  371. package/serializer/types.js.map +1 -1
  372. package/supports.d.ts +5 -0
  373. package/supports.js +9 -0
  374. package/supports.js.map +1 -0
  375. package/templates/index.d.ts +2 -0
  376. package/templates/index.js +2 -0
  377. package/templates/index.js.map +1 -1
  378. package/templates/module.d.ts +3 -1
  379. package/templates/module.js +31 -8
  380. package/templates/module.js.map +1 -1
  381. package/templates/providers/file.provider-template.d.ts +16 -0
  382. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  383. package/templates/providers/file.provider-template.js.map +1 -0
  384. package/templates/providers/memory.template-provider.d.ts +8 -0
  385. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  386. package/templates/providers/memory.template-provider.js.map +1 -0
  387. package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
  388. package/templates/renderers/handlebars.template-renderer.js +70 -3
  389. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  390. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  391. package/templates/renderers/mjml.template-renderer.js +8 -9
  392. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  393. package/templates/renderers/string.template-renderer.d.ts +8 -0
  394. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  395. package/templates/renderers/string.template-renderer.js.map +1 -0
  396. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  397. package/templates/resolvers/file.template-resolver.js +63 -0
  398. package/templates/resolvers/file.template-resolver.js.map +1 -0
  399. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  400. package/templates/resolvers/string.template-resolver.js +44 -0
  401. package/templates/resolvers/string.template-resolver.js.map +1 -0
  402. package/templates/template-renderer.provider.js +7 -19
  403. package/templates/template-renderer.provider.js.map +1 -1
  404. package/templates/template-resolver.provider.d.ts +8 -0
  405. package/templates/template-resolver.provider.js +48 -0
  406. package/templates/template-resolver.provider.js.map +1 -0
  407. package/templates/template.model.d.ts +15 -4
  408. package/templates/template.model.js +50 -0
  409. package/templates/template.model.js.map +1 -1
  410. package/templates/template.renderer.d.ts +14 -3
  411. package/templates/template.renderer.js +3 -0
  412. package/templates/template.renderer.js.map +1 -1
  413. package/templates/template.resolver.d.ts +5 -0
  414. package/templates/template.resolver.js +7 -0
  415. package/templates/template.resolver.js.map +1 -0
  416. package/templates/template.service.d.ts +10 -4
  417. package/templates/template.service.js +19 -6
  418. package/templates/template.service.js.map +1 -1
  419. package/templates/tokens.d.ts +3 -2
  420. package/templates/tokens.js +2 -1
  421. package/templates/tokens.js.map +1 -1
  422. package/threading/index.d.ts +2 -0
  423. package/threading/index.js +19 -0
  424. package/threading/index.js.map +1 -0
  425. package/threading/thread-pool.d.ts +19 -0
  426. package/threading/thread-pool.js +50 -0
  427. package/threading/thread-pool.js.map +1 -0
  428. package/threading/thread-worker.d.ts +3 -0
  429. package/threading/thread-worker.js +9 -0
  430. package/threading/thread-worker.js.map +1 -0
  431. package/types.d.ts +27 -9
  432. package/utils/alphabet.d.ts +3 -1
  433. package/utils/alphabet.js +2 -0
  434. package/utils/alphabet.js.map +1 -1
  435. package/utils/array/array.d.ts +1 -2
  436. package/utils/array/array.js.map +1 -1
  437. package/utils/base64.js +3 -2
  438. package/utils/base64.js.map +1 -1
  439. package/utils/binary.js +3 -2
  440. package/utils/binary.js.map +1 -1
  441. package/utils/clone.js +4 -0
  442. package/utils/clone.js.map +1 -1
  443. package/utils/compression.d.ts +19 -15
  444. package/utils/compression.js +43 -10
  445. package/utils/compression.js.map +1 -1
  446. package/utils/encoding.d.ts +10 -0
  447. package/utils/encoding.js +20 -4
  448. package/utils/encoding.js.map +1 -1
  449. package/utils/enum.d.ts +5 -8
  450. package/utils/enum.js +15 -13
  451. package/utils/enum.js.map +1 -1
  452. package/utils/function/memoize.js +4 -4
  453. package/utils/function/memoize.js.map +1 -1
  454. package/utils/helpers.d.ts +0 -2
  455. package/utils/helpers.js +3 -14
  456. package/utils/helpers.js.map +1 -1
  457. package/utils/image.js +2 -2
  458. package/utils/image.js.map +1 -1
  459. package/utils/index.d.ts +2 -0
  460. package/utils/index.js +2 -0
  461. package/utils/index.js.map +1 -1
  462. package/utils/object/decycle.js +10 -21
  463. package/utils/object/decycle.js.map +1 -1
  464. package/utils/object/dereference.d.ts +7 -5
  465. package/utils/object/dereference.js +4 -4
  466. package/utils/object/dereference.js.map +1 -1
  467. package/utils/object/forward-ref.js +3 -19
  468. package/utils/object/forward-ref.js.map +1 -1
  469. package/utils/object/merge.js +3 -3
  470. package/utils/object/merge.js.map +1 -1
  471. package/utils/object/object.js +3 -3
  472. package/utils/object/object.js.map +1 -1
  473. package/utils/object/property-name.d.ts +2 -2
  474. package/utils/proxy.d.ts +6 -0
  475. package/utils/proxy.js +21 -0
  476. package/utils/proxy.js.map +1 -0
  477. package/utils/stream/finalize-stream.d.ts +1 -0
  478. package/utils/stream/finalize-stream.js +38 -0
  479. package/utils/stream/finalize-stream.js.map +1 -0
  480. package/utils/stream/index.d.ts +4 -3
  481. package/utils/stream/index.js +4 -3
  482. package/utils/stream/index.js.map +1 -1
  483. package/utils/stream/readable-stream-adapter.d.ts +5 -0
  484. package/utils/stream/readable-stream-adapter.js +45 -0
  485. package/utils/stream/readable-stream-adapter.js.map +1 -0
  486. package/utils/stream/readable-stream-from-promise.d.ts +1 -0
  487. package/utils/stream/readable-stream-from-promise.js +12 -0
  488. package/utils/stream/readable-stream-from-promise.js.map +1 -0
  489. package/utils/stream/size-limited-stream.d.ts +2 -0
  490. package/utils/stream/size-limited-stream.js +18 -0
  491. package/utils/stream/size-limited-stream.js.map +1 -0
  492. package/utils/stream/stream-reader.d.ts +2 -1
  493. package/utils/stream/stream-reader.js +7 -10
  494. package/utils/stream/stream-reader.js.map +1 -1
  495. package/utils/throw.d.ts +2 -0
  496. package/utils/throw.js +15 -0
  497. package/utils/throw.js.map +1 -0
  498. package/utils/type-guards.d.ts +34 -16
  499. package/utils/type-guards.js +112 -75
  500. package/utils/type-guards.js.map +1 -1
  501. package/web-types.d.ts +28 -0
  502. package/web-types.js +3 -0
  503. package/web-types.js.map +1 -0
  504. package/http/client/adapters/got-http-client.adapter.d.ts +0 -10
  505. package/http/client/adapters/got-http-client.adapter.js +0 -141
  506. package/http/client/adapters/got-http-client.adapter.js.map +0 -1
  507. package/http/client/adapters/utils.d.ts +0 -11
  508. package/http/client/adapters/utils.js +0 -79
  509. package/http/client/adapters/utils.js.map +0 -1
  510. package/mail/mail-template-renderer.provider.d.ts +0 -8
  511. package/mail/mail-template-renderer.provider.js +0 -60
  512. package/mail/mail-template-renderer.provider.js.map +0 -1
  513. package/mail/mail-template.provider.d.ts +0 -4
  514. package/mail/mail-template.provider.js +0 -7
  515. package/mail/mail-template.provider.js.map +0 -1
  516. package/mail/mail-template.renderer.d.ts +0 -10
  517. package/mail/mail-template.renderer.js +0 -7
  518. package/mail/mail-template.renderer.js.map +0 -1
  519. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  520. package/mail/template-providers/file-mail-template.provider.js +0 -51
  521. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  522. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  523. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  524. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  525. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  526. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  527. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  528. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  529. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  530. package/schema/schemas/exclude.d.ts +0 -4
  531. package/schema/schemas/exclude.js.map +0 -1
  532. package/templates/providers/file-template.provider.base.d.ts +0 -12
  533. package/templates/providers/file-template.provider.base.js +0 -50
  534. package/templates/providers/file-template.provider.base.js.map +0 -1
  535. package/templates/providers/file-template.provider.d.ts +0 -22
  536. package/templates/providers/file-template.provider.js.map +0 -1
  537. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  538. package/templates/providers/memory-template.provider.base.js.map +0 -1
  539. package/templates/providers/memory-template.provider.d.ts +0 -4
  540. package/templates/providers/memory-template.provider.js +0 -18
  541. package/templates/providers/memory-template.provider.js.map +0 -1
  542. package/utils/stream/async-iterable-readable.d.ts +0 -13
  543. package/utils/stream/async-iterable-readable.js +0 -40
  544. package/utils/stream/async-iterable-readable.js.map +0 -1
  545. package/utils/stream/async-writable-stream.d.ts +0 -16
  546. package/utils/stream/async-writable-stream.js +0 -41
  547. package/utils/stream/async-writable-stream.js.map +0 -1
  548. package/utils/stream/typed-readable.d.ts +0 -58
  549. package/utils/stream/typed-readable.js +0 -9
  550. package/utils/stream/typed-readable.js.map +0 -1
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.TemplateResolverProvider = void 0;
16
+ const container_1 = require("../container");
17
+ const tokens_1 = require("./tokens");
18
+ let TemplateResolverProvider = class TemplateResolverProvider {
19
+ constructor(resolvers) {
20
+ this.resolvers = new Set(resolvers);
21
+ }
22
+ register(renderer) {
23
+ this.resolvers.add(renderer);
24
+ }
25
+ has(type) {
26
+ for (const renderer of this.resolvers) {
27
+ if (renderer.canHandle(type)) {
28
+ return true;
29
+ }
30
+ }
31
+ return false;
32
+ }
33
+ get(type) {
34
+ for (const renderer of this.resolvers) {
35
+ if (renderer.canHandle(type)) {
36
+ return renderer;
37
+ }
38
+ }
39
+ throw new Error(`No resolver for ${type} registered.`);
40
+ }
41
+ };
42
+ TemplateResolverProvider = __decorate([
43
+ (0, container_1.singleton)(),
44
+ __param(0, (0, container_1.inject)(tokens_1.TEMPLATE_RESOLVERS)),
45
+ __metadata("design:paramtypes", [Array])
46
+ ], TemplateResolverProvider);
47
+ exports.TemplateResolverProvider = TemplateResolverProvider;
48
+ //# sourceMappingURL=template-resolver.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-resolver.provider.js","sourceRoot":"","sources":["../../source/templates/template-resolver.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAgD;AAEhD,qCAA8C;AAGvC,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAGnC,YAAwC,SAA6B;QACnE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,QAA0B;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,GAAG,CAAC,IAAY;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAC5B,OAAO,QAAQ,CAAC;aACjB;SACF;QAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,cAAc,CAAC,CAAC;IACzD,CAAC;CACF,CAAA;AA9BY,wBAAwB;IADpC,IAAA,qBAAS,GAAE;IAIG,WAAA,IAAA,kBAAM,EAAC,2BAAkB,CAAC,CAAA;;GAH5B,wBAAwB,CA8BpC;AA9BY,4DAAwB"}
@@ -1,5 +1,16 @@
1
- export declare type Template<Type extends string = string, Options = any> = {
2
- type: Type;
3
- template: string;
1
+ import type { PickBy, Record, SimplifyObject } from "../types";
2
+ export declare class TemplateField<Resolver extends string = string, Renderer extends string = string, Options = any> {
3
+ resolver: Resolver;
4
+ renderer: Renderer;
4
5
  options?: Options;
5
- };
6
+ }
7
+ export declare type TemplateFields<Fields extends Record<string, boolean>, Resolver extends string = string, Renderer extends string = string, Options = any> = SimplifyObject<{
8
+ [P in keyof PickBy<Fields, true>]: TemplateField<Resolver, Renderer, Options>;
9
+ } & {
10
+ [P in keyof PickBy<Fields, false>]?: TemplateField<Resolver, Renderer, Options>;
11
+ }>;
12
+ export declare abstract class Template<Fields extends Record<string, boolean> = Record<string, boolean>, TemplateOptions = any> {
13
+ fields: TemplateFields<Fields>;
14
+ options?: TemplateOptions;
15
+ }
16
+ export declare function simpleTemplate(template: TemplateField): Template;
@@ -1,3 +1,53 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.simpleTemplate = exports.Template = exports.TemplateField = void 0;
13
+ const schema_1 = require("../schema");
14
+ let TemplateField = class TemplateField {
15
+ };
16
+ __decorate([
17
+ (0, schema_1.Property)(),
18
+ __metadata("design:type", String)
19
+ ], TemplateField.prototype, "resolver", void 0);
20
+ __decorate([
21
+ (0, schema_1.Property)(),
22
+ __metadata("design:type", String)
23
+ ], TemplateField.prototype, "renderer", void 0);
24
+ __decorate([
25
+ (0, schema_1.Any)(),
26
+ (0, schema_1.Optional)(),
27
+ __metadata("design:type", Object)
28
+ ], TemplateField.prototype, "options", void 0);
29
+ TemplateField = __decorate([
30
+ (0, schema_1.Type)({ allowUnknownProperties: (0, schema_1.any)() })
31
+ ], TemplateField);
32
+ exports.TemplateField = TemplateField;
33
+ class Template {
34
+ }
35
+ __decorate([
36
+ (0, schema_1.Property)({ schema: (0, schema_1.object)({}, { allowUnknownProperties: TemplateField }) }),
37
+ __metadata("design:type", Object)
38
+ ], Template.prototype, "fields", void 0);
39
+ __decorate([
40
+ (0, schema_1.Any)(),
41
+ (0, schema_1.Optional)(),
42
+ __metadata("design:type", Object)
43
+ ], Template.prototype, "options", void 0);
44
+ exports.Template = Template;
45
+ function simpleTemplate(template) {
46
+ return {
47
+ fields: {
48
+ template
49
+ }
50
+ };
51
+ }
52
+ exports.simpleTemplate = simpleTemplate;
3
53
  //# sourceMappingURL=template.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.model.js","sourceRoot":"","sources":["../../source/templates/template.model.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"template.model.js","sourceRoot":"","sources":["../../source/templates/template.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAsE;AAI/D,IAAM,aAAa,GAAnB,MAAM,aAAa;CAUzB,CAAA;AATC;IAAC,IAAA,iBAAQ,GAAE;;+CACQ;AAEnB;IAAC,IAAA,iBAAQ,GAAE;;+CACQ;AAEnB;IAAC,IAAA,YAAG,GAAE;IACL,IAAA,iBAAQ,GAAE;;8CACO;AATP,aAAa;IADzB,IAAA,aAAI,EAAC,EAAE,sBAAsB,EAAE,IAAA,YAAG,GAAE,EAAE,CAAC;GAC3B,aAAa,CAUzB;AAVY,sCAAa;AAiB1B,MAAsB,QAAQ;CAO7B;AANC;IAAC,IAAA,iBAAQ,EAAC,EAAE,MAAM,EAAE,IAAA,eAAM,EAAC,EAAE,EAAE,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;;wCAC7C;AAE/B;IAAC,IAAA,YAAG,GAAE;IACL,IAAA,iBAAQ,GAAE;;yCACe;AAN5B,4BAOC;AAED,SAAgB,cAAc,CAAC,QAAuB;IACpD,OAAO;QACL,MAAM,EAAE;YACN,QAAQ;SACT;KACF,CAAC;AACJ,CAAC;AAND,wCAMC"}
@@ -1,6 +1,17 @@
1
- import type { Template } from './template.model';
2
1
  export declare type TemplateRenderResult = string;
3
- export declare abstract class TemplateRenderer<T extends Template = Template> {
2
+ export declare type TemplateRenderObject<Renderer extends string = string, Options = any> = {
3
+ renderer: Renderer;
4
+ template: string;
5
+ options?: Options;
6
+ };
7
+ export declare type TemplateRendererString = typeof templateRendererString;
8
+ export declare type TemplateRendererOptions = typeof templateRendererOptions;
9
+ export declare const templateRendererString: unique symbol;
10
+ export declare const templateRendererOptions: unique symbol;
11
+ export declare abstract class TemplateRenderer<Renderer extends string = string, Options = any> {
12
+ readonly [templateRendererString]: Renderer;
13
+ readonly [templateRendererOptions]: Options;
14
+ render(template: TemplateRenderObject<Renderer, Options>, context?: object): Promise<TemplateRenderResult>;
4
15
  abstract canHandleType(type: string): boolean;
5
- abstract render(template: T, context?: object): Promise<TemplateRenderResult>;
16
+ protected abstract _render(renderObject: TemplateRenderObject<Renderer, Options>, context?: object): TemplateRenderResult | Promise<TemplateRenderResult>;
6
17
  }
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TemplateRenderer = void 0;
4
4
  class TemplateRenderer {
5
+ async render(template, context) {
6
+ return this._render(template, context);
7
+ }
5
8
  }
6
9
  exports.TemplateRenderer = TemplateRenderer;
7
10
  //# sourceMappingURL=template.renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.renderer.js","sourceRoot":"","sources":["../../source/templates/template.renderer.ts"],"names":[],"mappings":";;;AAIA,MAAsB,gBAAgB;CAIrC;AAJD,4CAIC"}
1
+ {"version":3,"file":"template.renderer.js","sourceRoot":"","sources":["../../source/templates/template.renderer.ts"],"names":[],"mappings":";;;AAcA,MAAsB,gBAAgB;IAIpC,KAAK,CAAC,MAAM,CAAC,QAAiD,EAAE,OAAgB;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CAKF;AAXD,4CAWC"}
@@ -0,0 +1,5 @@
1
+ import type { TemplateField } from './template.model';
2
+ export declare abstract class TemplateResolver<T extends TemplateField = TemplateField> {
3
+ abstract canHandle(resolver: string): boolean;
4
+ abstract resolve(field: T): Promise<string>;
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TemplateResolver = void 0;
4
+ class TemplateResolver {
5
+ }
6
+ exports.TemplateResolver = TemplateResolver;
7
+ //# sourceMappingURL=template.resolver.js.map
@@ -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/base64.js CHANGED
@@ -2,6 +2,7 @@
2
2
  /* eslint-disable no-bitwise */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.stringToUtf8Array = exports.utf8ArrayToString = exports.base64UrlToBase64 = exports.base64ToBase64Url = exports.decodeBase64Url = exports.encodeBase64Url = exports.decodeBase64 = exports.encodeBase64 = void 0;
5
+ const supports_1 = require("../supports");
5
6
  const binary_1 = require("./binary");
6
7
  const type_guards_1 = require("./type-guards");
7
8
  function encodeBase64(array, bytesOffset, bytesLength) {
@@ -16,7 +17,7 @@ function encodeBase64(array, bytesOffset, bytesLength) {
16
17
  offset = bytesOffset ?? array.byteOffset;
17
18
  length = bytesLength ?? array.byteLength;
18
19
  }
19
- if (typeof Buffer != 'undefined') {
20
+ if (supports_1.supportsBuffer) {
20
21
  const buffer = Buffer.from(arrayBuffer, offset, length);
21
22
  const base64 = buffer.toString('base64');
22
23
  return base64;
@@ -25,7 +26,7 @@ function encodeBase64(array, bytesOffset, bytesLength) {
25
26
  }
26
27
  exports.encodeBase64 = encodeBase64;
27
28
  function decodeBase64(base64) {
28
- if (typeof Buffer != 'undefined') {
29
+ if (supports_1.supportsBuffer) {
29
30
  const buffer = Buffer.from(base64, 'base64');
30
31
  return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
31
32
  }