@tstdl/base 0.78.0-beta4 → 0.78.0-beta42

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 (388) hide show
  1. package/api/client/client.d.ts +2 -1
  2. package/api/client/client.js +6 -13
  3. package/api/client/client.js.map +1 -1
  4. package/api/response.js.map +1 -1
  5. package/api/server/gateway.js +7 -5
  6. package/api/server/gateway.js.map +1 -1
  7. package/api/types.d.ts +22 -9
  8. package/api/types.js +1 -2
  9. package/api/types.js.map +1 -1
  10. package/api/utils.d.ts +9 -0
  11. package/api/utils.js +15 -0
  12. package/api/utils.js.map +1 -0
  13. package/application/application.js.map +1 -1
  14. package/container/container.js.map +1 -1
  15. package/container/decorators.d.ts +1 -1
  16. package/container/decorators.js.map +1 -1
  17. package/css/theme/theme.service.js.map +1 -1
  18. package/data-structures/iterable-weak-map.js +1 -1
  19. package/data-structures/iterable-weak-map.js.map +1 -1
  20. package/data-structures/linked-list.js.map +1 -1
  21. package/data-structures/sorted-array-list.js.map +1 -1
  22. package/database/mongo/classes.js.map +1 -1
  23. package/database/mongo/mongo-entity-repository.js +2 -2
  24. package/database/mongo/mongo-entity-repository.js.map +1 -1
  25. package/distributed-loop/distributed-loop.js.map +1 -1
  26. package/distributed-loop/provider.js.map +1 -1
  27. package/enumerable/async-enumerable.d.ts +2 -1
  28. package/enumerable/async-enumerable.js +3 -0
  29. package/enumerable/async-enumerable.js.map +1 -1
  30. package/enumerable/enumerable-methods.d.ts +1 -0
  31. package/enumerable/enumerable.d.ts +1 -0
  32. package/enumerable/enumerable.js +12 -18
  33. package/enumerable/enumerable.js.map +1 -1
  34. package/error/custom.error.d.ts +1 -1
  35. package/error/custom.error.js +8 -6
  36. package/error/custom.error.js.map +1 -1
  37. package/examples/api/basic-overview.js +0 -1
  38. package/examples/api/basic-overview.js.map +1 -1
  39. package/examples/mail/basic.js +12 -7
  40. package/examples/mail/basic.js.map +1 -1
  41. package/examples/mail/templates/hello-name.d.ts +2 -0
  42. package/examples/mail/templates/hello-name.js +11 -0
  43. package/examples/mail/templates/hello-name.js.map +1 -0
  44. package/examples/pdf/basic.js +6 -3
  45. package/examples/pdf/basic.js.map +1 -1
  46. package/examples/pdf/templates/hello-name.d.ts +1 -4
  47. package/examples/pdf/templates/hello-name.js +16 -4
  48. package/examples/pdf/templates/hello-name.js.map +1 -1
  49. package/examples/reflection/basic.js +1 -1
  50. package/examples/reflection/basic.js.map +1 -1
  51. package/http/client/adapters/got-http-client.adapter.js.map +1 -1
  52. package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
  53. package/http/client/adapters/utils.js +20 -8
  54. package/http/client/adapters/utils.js.map +1 -1
  55. package/http/client/http-client-request.d.ts +13 -3
  56. package/http/client/http-client-request.js +4 -0
  57. package/http/client/http-client-request.js.map +1 -1
  58. package/http/client/http-client.d.ts +0 -3
  59. package/http/client/http-client.js +31 -24
  60. package/http/client/http-client.js.map +1 -1
  61. package/http/http-headers.d.ts +2 -0
  62. package/http/http-headers.js +6 -0
  63. package/http/http-headers.js.map +1 -1
  64. package/http/server/node/node-http-server.js.map +1 -1
  65. package/image-service/image-service.js.map +1 -1
  66. package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
  67. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
  68. package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
  69. package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
  70. package/lock/mongo/lock.js.map +1 -1
  71. package/lock/mongo/mongo-lock-repository.js.map +1 -1
  72. package/lock/mongo/provider.js.map +1 -1
  73. package/logger/console/logger.js.map +1 -1
  74. package/mail/clients/nodemailer.mail-client.js.map +1 -1
  75. package/mail/index.d.ts +0 -3
  76. package/mail/index.js +0 -3
  77. package/mail/index.js.map +1 -1
  78. package/mail/mail.service.d.ts +3 -5
  79. package/mail/mail.service.js +8 -14
  80. package/mail/mail.service.js.map +1 -1
  81. package/mail/models/mail-template.model.d.ts +11 -10
  82. package/mail/models/mail-template.model.js +7 -0
  83. package/mail/models/mail-template.model.js.map +1 -1
  84. package/mail/module.d.ts +1 -5
  85. package/mail/module.js +2 -11
  86. package/mail/module.js.map +1 -1
  87. package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
  88. package/mail/tokens.d.ts +0 -3
  89. package/mail/tokens.js +1 -2
  90. package/mail/tokens.js.map +1 -1
  91. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  92. package/message-bus/local/local-message-bus.js.map +1 -1
  93. package/migration/migrator.js.map +1 -1
  94. package/migration/mongo/migration-state-repository.js.map +1 -1
  95. package/module/modules/web-server.module.js.map +1 -1
  96. package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
  97. package/object-storage/s3/s3.object-storage.js.map +1 -1
  98. package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
  99. package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
  100. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  101. package/openid-connect/oidc-configuration.service.js +5 -3
  102. package/openid-connect/oidc-configuration.service.js.map +1 -1
  103. package/openid-connect/oidc.service-model.d.ts +11 -3
  104. package/openid-connect/oidc.service.d.ts +6 -3
  105. package/openid-connect/oidc.service.js +69 -23
  106. package/openid-connect/oidc.service.js.map +1 -1
  107. package/package.json +7 -8
  108. package/pdf/pdf.service.d.ts +48 -10
  109. package/pdf/pdf.service.js +114 -4
  110. package/pdf/pdf.service.js.map +1 -1
  111. package/promise/deferred-promise.d.ts +2 -15
  112. package/promise/deferred-promise.js +5 -10
  113. package/promise/deferred-promise.js.map +1 -1
  114. package/promise/index.d.ts +1 -0
  115. package/promise/index.js +1 -0
  116. package/promise/index.js.map +1 -1
  117. package/promise/lazy-promise.d.ts +11 -0
  118. package/promise/lazy-promise.js +31 -0
  119. package/promise/lazy-promise.js.map +1 -0
  120. package/queue/mongo/mongo-job.repository.js +1 -1
  121. package/queue/mongo/mongo-job.repository.js.map +1 -1
  122. package/queue/mongo/queue.js.map +1 -1
  123. package/queue/mongo/queue.provider.js.map +1 -1
  124. package/reflection/decorator-data.js +1 -1
  125. package/reflection/decorator-data.js.map +1 -1
  126. package/reflection/decorators.d.ts +2 -2
  127. package/reflection/decorators.js +7 -7
  128. package/reflection/decorators.js.map +1 -1
  129. package/reflection/registry.d.ts +8 -8
  130. package/reflection/registry.js +1 -1
  131. package/reflection/registry.js.map +1 -1
  132. package/reflection/types.d.ts +3 -2
  133. package/reflection/utils.d.ts +7 -2
  134. package/reflection/utils.js +38 -12
  135. package/reflection/utils.js.map +1 -1
  136. package/schema/array-constraints/maximum-length.js +2 -2
  137. package/schema/array-constraints/maximum-length.js.map +1 -1
  138. package/schema/array-constraints/minimum-length.js +2 -2
  139. package/schema/array-constraints/minimum-length.js.map +1 -1
  140. package/schema/coercers/default-value.coercer.d.ts +1 -1
  141. package/schema/coercers/default-value.coercer.js +1 -1
  142. package/schema/coercers/default-value.coercer.js.map +1 -1
  143. package/schema/coercers/uint8-array.coercer.js +4 -3
  144. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  145. package/schema/constraints/enumeration.js +2 -2
  146. package/schema/constraints/enumeration.js.map +1 -1
  147. package/schema/constraints/generic.js +2 -2
  148. package/schema/constraints/generic.js.map +1 -1
  149. package/schema/constraints/integer.js +3 -3
  150. package/schema/constraints/integer.js.map +1 -1
  151. package/schema/constraints/literal.js +2 -2
  152. package/schema/constraints/literal.js.map +1 -1
  153. package/schema/constraints/maximum-date.js +3 -3
  154. package/schema/constraints/maximum-date.js.map +1 -1
  155. package/schema/constraints/maximum-length.js +2 -2
  156. package/schema/constraints/maximum-length.js.map +1 -1
  157. package/schema/constraints/maximum.js +3 -3
  158. package/schema/constraints/maximum.js.map +1 -1
  159. package/schema/constraints/minimum-date.js +3 -3
  160. package/schema/constraints/minimum-date.js.map +1 -1
  161. package/schema/constraints/minimum-length.js +2 -2
  162. package/schema/constraints/minimum-length.js.map +1 -1
  163. package/schema/constraints/minimum.js +3 -3
  164. package/schema/constraints/minimum.js.map +1 -1
  165. package/schema/constraints/pattern.js +3 -3
  166. package/schema/constraints/pattern.js.map +1 -1
  167. package/schema/decorators/array.d.ts +2 -2
  168. package/schema/decorators/array.js +1 -1
  169. package/schema/decorators/array.js.map +1 -1
  170. package/schema/decorators/defaulted.d.ts +2 -2
  171. package/schema/decorators/defaulted.js +1 -1
  172. package/schema/decorators/defaulted.js.map +1 -1
  173. package/schema/decorators/optional.d.ts +3 -1
  174. package/schema/decorators/optional.js +2 -2
  175. package/schema/decorators/optional.js.map +1 -1
  176. package/schema/decorators/property.d.ts +1 -1
  177. package/schema/decorators/property.js +3 -1
  178. package/schema/decorators/property.js.map +1 -1
  179. package/schema/decorators/types.d.ts +4 -4
  180. package/schema/decorators/utils.d.ts +3 -2
  181. package/schema/decorators/utils.js +4 -8
  182. package/schema/decorators/utils.js.map +1 -1
  183. package/schema/schema.d.ts +8 -10
  184. package/schema/schema.error.d.ts +1 -0
  185. package/schema/schema.error.js +1 -1
  186. package/schema/schema.error.js.map +1 -1
  187. package/schema/schema.js +131 -164
  188. package/schema/schema.js.map +1 -1
  189. package/schema/schemas/any.d.ts +2 -2
  190. package/schema/schemas/any.js +2 -2
  191. package/schema/schemas/any.js.map +1 -1
  192. package/schema/schemas/array.d.ts +2 -1
  193. package/schema/schemas/array.js +1 -1
  194. package/schema/schemas/array.js.map +1 -1
  195. package/schema/schemas/assign.d.ts +5 -5
  196. package/schema/schemas/boolean.js +2 -2
  197. package/schema/schemas/boolean.js.map +1 -1
  198. package/schema/schemas/date.js +2 -2
  199. package/schema/schemas/date.js.map +1 -1
  200. package/schema/schemas/defaulted.d.ts +3 -2
  201. package/schema/schemas/defaulted.js.map +1 -1
  202. package/schema/schemas/enumeration.js +2 -2
  203. package/schema/schemas/enumeration.js.map +1 -1
  204. package/schema/schemas/exclude.d.ts +4 -1
  205. package/schema/schemas/exclude.js +6 -11
  206. package/schema/schemas/exclude.js.map +1 -1
  207. package/schema/schemas/index.d.ts +2 -0
  208. package/schema/schemas/index.js +2 -0
  209. package/schema/schemas/index.js.map +1 -1
  210. package/schema/schemas/instance.d.ts +2 -2
  211. package/schema/schemas/instance.js +1 -1
  212. package/schema/schemas/instance.js.map +1 -1
  213. package/schema/schemas/literal.js +2 -2
  214. package/schema/schemas/literal.js.map +1 -1
  215. package/schema/schemas/nullable.d.ts +3 -2
  216. package/schema/schemas/nullable.js.map +1 -1
  217. package/schema/schemas/number.d.ts +1 -1
  218. package/schema/schemas/number.js +2 -2
  219. package/schema/schemas/number.js.map +1 -1
  220. package/schema/schemas/object.d.ts +2 -3
  221. package/schema/schemas/object.js.map +1 -1
  222. package/schema/schemas/omit.d.ts +4 -0
  223. package/schema/schemas/omit.js +17 -0
  224. package/schema/schemas/omit.js.map +1 -0
  225. package/schema/schemas/readable-stream.d.ts +2 -2
  226. package/schema/schemas/readable-stream.js +2 -2
  227. package/schema/schemas/readable-stream.js.map +1 -1
  228. package/schema/schemas/record.d.ts +3 -2
  229. package/schema/schemas/record.js.map +1 -1
  230. package/schema/schemas/regexp.js +2 -2
  231. package/schema/schemas/regexp.js.map +1 -1
  232. package/schema/schemas/string.js +2 -2
  233. package/schema/schemas/string.js.map +1 -1
  234. package/schema/schemas/transform.d.ts +3 -2
  235. package/schema/schemas/transform.js.map +1 -1
  236. package/schema/schemas/uint8-array.d.ts +2 -3
  237. package/schema/schemas/uint8-array.js +3 -3
  238. package/schema/schemas/uint8-array.js.map +1 -1
  239. package/schema/schemas/union.d.ts +9 -8
  240. package/schema/schemas/union.js +1 -1
  241. package/schema/schemas/union.js.map +1 -1
  242. package/schema/schemas/unknown.d.ts +2 -2
  243. package/schema/schemas/unknown.js +2 -2
  244. package/schema/schemas/unknown.js.map +1 -1
  245. package/schema/transformers/generic.d.ts +4 -4
  246. package/schema/transformers/generic.js.map +1 -1
  247. package/schema/transformers/lowercase.js +1 -1
  248. package/schema/transformers/lowercase.js.map +1 -1
  249. package/schema/transformers/trim.js +1 -1
  250. package/schema/transformers/trim.js.map +1 -1
  251. package/schema/transformers/uppercase.js +1 -1
  252. package/schema/transformers/uppercase.js.map +1 -1
  253. package/schema/types.d.ts +53 -39
  254. package/schema/types.js +49 -34
  255. package/schema/types.js.map +1 -1
  256. package/schema/utils/schema.d.ts +13 -5
  257. package/schema/utils/schema.js +86 -26
  258. package/schema/utils/schema.js.map +1 -1
  259. package/schema/utils/value-type.d.ts +3 -1
  260. package/schema/utils/value-type.js +32 -2
  261. package/schema/utils/value-type.js.map +1 -1
  262. package/search-index/elastic/config.js.map +1 -1
  263. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  264. package/search-index/elastic/model/index-mapping.js.map +1 -1
  265. package/search-index/elastic/search-index.js +1 -1
  266. package/search-index/elastic/search-index.js.map +1 -1
  267. package/serializer/serializable.d.ts +4 -4
  268. package/serializer/serializable.js.map +1 -1
  269. package/templates/index.d.ts +2 -0
  270. package/templates/index.js +2 -0
  271. package/templates/index.js.map +1 -1
  272. package/templates/module.d.ts +3 -1
  273. package/templates/module.js +31 -8
  274. package/templates/module.js.map +1 -1
  275. package/templates/providers/file.provider-template.d.ts +16 -0
  276. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  277. package/templates/providers/file.provider-template.js.map +1 -0
  278. package/templates/providers/memory.template-provider.d.ts +8 -0
  279. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  280. package/templates/providers/memory.template-provider.js.map +1 -0
  281. package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
  282. package/templates/renderers/handlebars.template-renderer.js +47 -3
  283. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  284. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  285. package/templates/renderers/mjml.template-renderer.js +8 -9
  286. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  287. package/templates/renderers/string.template-renderer.d.ts +8 -0
  288. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  289. package/templates/renderers/string.template-renderer.js.map +1 -0
  290. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  291. package/templates/resolvers/file.template-resolver.js +63 -0
  292. package/templates/resolvers/file.template-resolver.js.map +1 -0
  293. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  294. package/templates/resolvers/string.template-resolver.js +44 -0
  295. package/templates/resolvers/string.template-resolver.js.map +1 -0
  296. package/templates/template-renderer.provider.js +7 -19
  297. package/templates/template-renderer.provider.js.map +1 -1
  298. package/templates/template-resolver.provider.d.ts +8 -0
  299. package/templates/template-resolver.provider.js +48 -0
  300. package/templates/template-resolver.provider.js.map +1 -0
  301. package/templates/template.model.d.ts +14 -4
  302. package/templates/template.model.js +42 -0
  303. package/templates/template.model.js.map +1 -1
  304. package/templates/template.renderer.d.ts +14 -3
  305. package/templates/template.renderer.js +3 -0
  306. package/templates/template.renderer.js.map +1 -1
  307. package/templates/template.resolver.d.ts +5 -0
  308. package/templates/template.resolver.js +7 -0
  309. package/templates/template.resolver.js.map +1 -0
  310. package/templates/template.service.d.ts +10 -4
  311. package/templates/template.service.js +19 -6
  312. package/templates/template.service.js.map +1 -1
  313. package/templates/tokens.d.ts +3 -2
  314. package/templates/tokens.js +2 -1
  315. package/templates/tokens.js.map +1 -1
  316. package/types.d.ts +6 -4
  317. package/utils/array/array.d.ts +1 -2
  318. package/utils/array/array.js.map +1 -1
  319. package/utils/async-iterable-helpers/includes.d.ts +2 -0
  320. package/utils/async-iterable-helpers/includes.js +13 -0
  321. package/utils/async-iterable-helpers/includes.js.map +1 -0
  322. package/utils/async-iterable-helpers/index.d.ts +1 -0
  323. package/utils/async-iterable-helpers/index.js +1 -0
  324. package/utils/async-iterable-helpers/index.js.map +1 -1
  325. package/utils/clone.js +4 -0
  326. package/utils/clone.js.map +1 -1
  327. package/utils/compression.d.ts +13 -13
  328. package/utils/compression.js +10 -9
  329. package/utils/compression.js.map +1 -1
  330. package/utils/encoding.js +1 -1
  331. package/utils/encoding.js.map +1 -1
  332. package/utils/enum.js +3 -3
  333. package/utils/enum.js.map +1 -1
  334. package/utils/function/memoize.d.ts +1 -0
  335. package/utils/function/memoize.js +7 -4
  336. package/utils/function/memoize.js.map +1 -1
  337. package/utils/helpers.d.ts +0 -2
  338. package/utils/helpers.js +1 -12
  339. package/utils/helpers.js.map +1 -1
  340. package/utils/index.d.ts +1 -0
  341. package/utils/index.js +1 -0
  342. package/utils/index.js.map +1 -1
  343. package/utils/iterable-helpers/includes.d.ts +1 -0
  344. package/utils/iterable-helpers/includes.js +9 -0
  345. package/utils/iterable-helpers/includes.js.map +1 -0
  346. package/utils/iterable-helpers/index.d.ts +1 -0
  347. package/utils/iterable-helpers/index.js +1 -0
  348. package/utils/iterable-helpers/index.js.map +1 -1
  349. package/utils/object/property-name.d.ts +2 -2
  350. package/utils/throw.d.ts +2 -0
  351. package/utils/throw.js +15 -0
  352. package/utils/throw.js.map +1 -0
  353. package/utils/type-guards.d.ts +13 -1
  354. package/utils/type-guards.js +29 -5
  355. package/utils/type-guards.js.map +1 -1
  356. package/web-types.d.ts +28 -0
  357. package/web-types.js +3 -0
  358. package/web-types.js.map +1 -0
  359. package/mail/mail-template-renderer.provider.d.ts +0 -8
  360. package/mail/mail-template-renderer.provider.js +0 -60
  361. package/mail/mail-template-renderer.provider.js.map +0 -1
  362. package/mail/mail-template.provider.d.ts +0 -4
  363. package/mail/mail-template.provider.js +0 -7
  364. package/mail/mail-template.provider.js.map +0 -1
  365. package/mail/mail-template.renderer.d.ts +0 -10
  366. package/mail/mail-template.renderer.js +0 -7
  367. package/mail/mail-template.renderer.js.map +0 -1
  368. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  369. package/mail/template-providers/file-mail-template.provider.js +0 -51
  370. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  371. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  372. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  373. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  374. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  375. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  376. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  377. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  378. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  379. package/templates/providers/file-template.provider.base.d.ts +0 -12
  380. package/templates/providers/file-template.provider.base.js +0 -50
  381. package/templates/providers/file-template.provider.base.js.map +0 -1
  382. package/templates/providers/file-template.provider.d.ts +0 -22
  383. package/templates/providers/file-template.provider.js.map +0 -1
  384. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  385. package/templates/providers/memory-template.provider.base.js.map +0 -1
  386. package/templates/providers/memory-template.provider.d.ts +0 -4
  387. package/templates/providers/memory-template.provider.js +0 -18
  388. package/templates/providers/memory-template.provider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../../source/search-index/elastic/search-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-index.js","sourceRoot":"","sources":["../../../source/search-index/elastic/search-index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Constructor, Type } from "../types";
1
+ import type { AbstractConstructor, Type } from "../types";
2
2
  export declare const Serializable: {
3
3
  readonly serialize: unique symbol;
4
4
  readonly deserialize: unique symbol;
@@ -14,11 +14,11 @@ export declare type SerializeFunction<T, Data> = Serializable<T, Data>[typeof Se
14
14
  export declare type DeserializeFunction<T, Data> = Serializable<T, Data>[typeof Serializable.deserialize];
15
15
  declare type SerializableRegistration<T, Data> = {
16
16
  type: string;
17
- constructor: Constructor<T>;
17
+ constructor: AbstractConstructor<T>;
18
18
  serializer: SerializeFunction<T, Data>;
19
19
  deserializer: DeserializeFunction<T, Data>;
20
20
  };
21
- export declare function getTypeNameByConstructor(constructor: Constructor): string | undefined;
21
+ export declare function getTypeNameByConstructor(constructor: AbstractConstructor): string | undefined;
22
22
  export declare function getSerializerByTypeName(typeName: string): SerializableRegistration<any, any> | undefined;
23
23
  export declare function serializable<T extends Serializable<any, Data>, Data>(typeName?: string): (target: SerializableType<T, Data>) => void;
24
24
  /**
@@ -26,5 +26,5 @@ export declare function serializable<T extends Serializable<any, Data>, Data>(ty
26
26
  * @param type class implementing {@link Serializable}
27
27
  */
28
28
  export declare function registerSerializable<T extends Serializable<any, Data>, Data>(type: SerializableType<T, Data>, typeName?: string): void;
29
- export declare function registerSerializer<T, Data>(constructor: Constructor<T>, typeName: string, serializer: SerializeFunction<T, Data>, deserializer: DeserializeFunction<T, Data>): void;
29
+ export declare function registerSerializer<T, Data>(constructor: AbstractConstructor<T>, typeName: string, serializer: SerializeFunction<T, Data>, deserializer: DeserializeFunction<T, Data>): void;
30
30
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"serializable.js","sourceRoot":"","sources":["../../source/serializer/serializable.ts"],"names":[],"mappings":";;;AACA,sDAA4D;AAC5D,yCAAwD;AAExD,gEAAgE;AACnD,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;CAInC,CAAC;AAwBF,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAuB,CAAC;AAC9D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA8C,CAAC;AAEpF,SAAgB,wBAAwB,CAAC,WAAwB;IAC/D,OAAO,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjD,CAAC;AAFD,4DAEC;AAED,SAAgB,uBAAuB,CAAC,QAAgB;IACtD,OAAO,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAFD,0DAEC;AAED,SAAgB,YAAY,CAA0C,QAAiB;IACrF,SAAS,qBAAqB,CAAC,IAA+B;QAC5D,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAND,oCAMC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAA0C,IAA+B,EAAE,QAAiB;IAC9H,MAAM,EAAE,CAAC,oBAAY,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,oBAAY,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,GAAI,IAAI,CAAC,SAAe,CAAC;IAEjH,IAAI,CAAC,IAAA,wBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,wBAAU,EAAC,YAAY,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;KACzH;IAED,kBAAkB,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC;AARD,oDAQC;AAED,SAAgB,kBAAkB,CAAU,WAA2B,EAAE,QAAgB,EAAE,UAAsC,EAAE,YAA0C;IAC3K,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAErE,IAAI,IAAA,uBAAS,EAAC,kBAAkB,CAAC,IAAI,IAAA,uBAAS,EAAC,wBAAwB,CAAC,EAAE;QACxE,MAAM,IAAI,GAAG,wBAAwB,EAAE,WAAW,IAAI,WAAW,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,6BAA6B,kBAAkB,IAAI,QAAQ,EAAE,CAAC,CAAC;KACvH;IAED,MAAM,YAAY,GAAsC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IAElH,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAbD,gDAaC;AAED,IAAA,qCAA0B,EAAC,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"serializable.js","sourceRoot":"","sources":["../../source/serializer/serializable.ts"],"names":[],"mappings":";;;AACA,sDAA4D;AAC5D,yCAAwD;AAExD,gEAAgE;AACnD,QAAA,YAAY,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC;CAInC,CAAC;AAwBF,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAA+B,CAAC;AACtE,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAA8C,CAAC;AAEpF,SAAgB,wBAAwB,CAAC,WAAgC;IACvE,OAAO,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjD,CAAC;AAFD,4DAEC;AAED,SAAgB,uBAAuB,CAAC,QAAgB;IACtD,OAAO,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAFD,0DAEC;AAED,SAAgB,YAAY,CAA0C,QAAiB;IACrF,SAAS,qBAAqB,CAAC,IAA+B;QAC5D,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAND,oCAMC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAA0C,IAA+B,EAAE,QAAiB;IAC9H,MAAM,EAAE,CAAC,oBAAY,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,oBAAY,CAAC,WAAW,CAAC,EAAE,YAAY,EAAE,GAAI,IAAI,CAAC,SAAe,CAAC;IAEjH,IAAI,CAAC,IAAA,wBAAU,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,wBAAU,EAAC,YAAY,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,sGAAsG,CAAC,CAAC;KACzH;IAED,kBAAkB,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;AAC5E,CAAC;AARD,oDAQC;AAED,SAAgB,kBAAkB,CAAU,WAAmC,EAAE,QAAgB,EAAE,UAAsC,EAAE,YAA0C;IACnL,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAErE,IAAI,IAAA,uBAAS,EAAC,kBAAkB,CAAC,IAAI,IAAA,uBAAS,EAAC,wBAAwB,CAAC,EAAE;QACxE,MAAM,IAAI,GAAG,wBAAwB,EAAE,WAAW,IAAI,WAAW,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,CAAC,IAAI,6BAA6B,kBAAkB,IAAI,QAAQ,EAAE,CAAC,CAAC;KACvH;IAED,MAAM,YAAY,GAAsC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IAElH,sBAAsB,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACpD,CAAC;AAbD,gDAaC;AAED,IAAA,qCAA0B,EAAC,kBAAkB,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  export * from './module';
2
2
  export * from './template-renderer.provider';
3
+ export * from './template-resolver.provider';
3
4
  export * from './template.model';
4
5
  export * from './template.provider';
5
6
  export * from './template.renderer';
7
+ export * from './template.resolver';
6
8
  export * from './template.service';
7
9
  export * from './tokens';
@@ -16,9 +16,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./module"), exports);
18
18
  __exportStar(require("./template-renderer.provider"), exports);
19
+ __exportStar(require("./template-resolver.provider"), exports);
19
20
  __exportStar(require("./template.model"), exports);
20
21
  __exportStar(require("./template.provider"), exports);
21
22
  __exportStar(require("./template.renderer"), exports);
23
+ __exportStar(require("./template.resolver"), exports);
22
24
  __exportStar(require("./template.service"), exports);
23
25
  __exportStar(require("./tokens"), exports);
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/templates/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+DAA6C;AAC7C,mDAAiC;AACjC,sDAAoC;AACpC,sDAAoC;AACpC,qDAAmC;AACnC,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/templates/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,+DAA6C;AAC7C,+DAA6C;AAC7C,mDAAiC;AACjC,sDAAoC;AACpC,sDAAoC;AACpC,sDAAoC;AACpC,qDAAmC;AACnC,2CAAyB"}
@@ -1,12 +1,14 @@
1
1
  import type { Type } from "../types";
2
2
  import { TemplateProvider } from './template.provider';
3
3
  import type { TemplateRenderer } from './template.renderer';
4
+ import type { TemplateResolver } from './template.resolver';
4
5
  export declare type TemplateModuleConfig = {
5
6
  templateProvider: Type<TemplateProvider>;
7
+ templateResolvers: Type<TemplateResolver>[];
6
8
  templateRenderers: Type<TemplateRenderer>[];
7
9
  };
8
10
  export declare const templateModuleConfig: TemplateModuleConfig;
9
11
  /**
10
12
  * configure mail module
11
13
  */
12
- export declare function configureTemplates({ templateProvider, templateRenderers }?: Partial<TemplateModuleConfig>): void;
14
+ export declare function configureTemplates({ templateProvider, templateResolvers, templateRenderers }?: Partial<TemplateModuleConfig>): void;
@@ -2,24 +2,47 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.configureTemplates = exports.templateModuleConfig = void 0;
4
4
  const container_1 = require("../container");
5
- const type_guards_1 = require("../utils/type-guards");
5
+ const string_template_renderer_1 = require("./renderers/string.template-renderer");
6
+ const string_template_resolver_1 = require("./resolvers/string.template-resolver");
6
7
  const template_provider_1 = require("./template.provider");
7
8
  const tokens_1 = require("./tokens");
8
9
  exports.templateModuleConfig = {
9
10
  templateProvider: (0, container_1.stubClass)(template_provider_1.TemplateProvider),
10
- templateRenderers: []
11
+ templateResolvers: [string_template_resolver_1.StringTemplateResolver],
12
+ templateRenderers: [string_template_renderer_1.StringTemplateRenderer]
11
13
  };
12
- container_1.container.registerSingleton(template_provider_1.TemplateProvider, { useToken: exports.templateModuleConfig.templateProvider });
14
+ container_1.container.registerSingleton(template_provider_1.TemplateProvider, { useTokenProvider: () => exports.templateModuleConfig.templateProvider });
15
+ container_1.container.registerSingleton(tokens_1.TEMPLATE_RESOLVERS, {
16
+ useFactory: (_, context) => {
17
+ if (context.isAsync) {
18
+ return (async () => {
19
+ const resolves = exports.templateModuleConfig.templateResolvers.map(async (type) => context.resolveAsync(type));
20
+ return Promise.all(resolves);
21
+ })();
22
+ }
23
+ const resolves = exports.templateModuleConfig.templateResolvers.map((type) => context.resolve(type));
24
+ return resolves.map((type) => context.resolve(type));
25
+ }
26
+ });
27
+ container_1.container.registerSingleton(tokens_1.TEMPLATE_RENDERERS, {
28
+ useFactory: (_, context) => {
29
+ if (context.isAsync) {
30
+ return (async () => {
31
+ const resolves = exports.templateModuleConfig.templateRenderers.map(async (type) => context.resolveAsync(type));
32
+ return Promise.all(resolves);
33
+ })();
34
+ }
35
+ const resolves = exports.templateModuleConfig.templateRenderers.map((type) => context.resolve(type));
36
+ return resolves.map((type) => context.resolve(type));
37
+ }
38
+ });
13
39
  /**
14
40
  * configure mail module
15
41
  */
16
- function configureTemplates({ templateProvider, templateRenderers } = {}) {
42
+ function configureTemplates({ templateProvider, templateResolvers, templateRenderers } = {}) {
17
43
  exports.templateModuleConfig.templateProvider = templateProvider ?? exports.templateModuleConfig.templateProvider;
44
+ exports.templateModuleConfig.templateResolvers = [...new Set([...exports.templateModuleConfig.templateResolvers, ...(templateResolvers ?? [])])];
18
45
  exports.templateModuleConfig.templateRenderers = [...new Set([...exports.templateModuleConfig.templateRenderers, ...(templateRenderers ?? [])])];
19
- if ((0, type_guards_1.isDefined)(templateProvider)) {
20
- container_1.container.registerSingleton(template_provider_1.TemplateProvider, { useToken: templateProvider });
21
- }
22
- container_1.container.registerSingleton(tokens_1.TEMPLATE_RENDERERS, { useValue: exports.templateModuleConfig.templateRenderers });
23
46
  }
24
47
  exports.configureTemplates = configureTemplates;
25
48
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../source/templates/module.ts"],"names":[],"mappings":";;;AAAA,4CAAmD;AAEnD,sDAAgD;AAChD,2DAAuD;AAEvD,qCAA8C;AAOjC,QAAA,oBAAoB,GAAyB;IACxD,gBAAgB,EAAE,IAAA,qBAAS,EAAC,oCAAgB,CAAC;IAC7C,iBAAiB,EAAE,EAAE;CACtB,CAAC;AAEF,qBAAS,CAAC,iBAAiB,CAAC,oCAAgB,EAAE,EAAE,QAAQ,EAAE,4BAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEnG;;GAEG;AACH,SAAgB,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,KAAoC,EAAE;IAC5G,4BAAoB,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,4BAAoB,CAAC,gBAAgB,CAAC;IAClG,4BAAoB,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,4BAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjI,IAAI,IAAA,uBAAS,EAAC,gBAAgB,CAAC,EAAE;QAC/B,qBAAS,CAAC,iBAAiB,CAAC,oCAAgB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAC;KAC/E;IAED,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE,EAAE,QAAQ,EAAE,4BAAoB,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACxG,CAAC;AATD,gDASC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../source/templates/module.ts"],"names":[],"mappings":";;;AAAA,4CAAmD;AAEnD,mFAA8E;AAC9E,mFAA8E;AAC9E,2DAAuD;AAGvD,qCAAkE;AAQrD,QAAA,oBAAoB,GAAyB;IACxD,gBAAgB,EAAE,IAAA,qBAAS,EAAC,oCAAgB,CAAC;IAC7C,iBAAiB,EAAE,CAAC,iDAAsB,CAAC;IAC3C,iBAAiB,EAAE,CAAC,iDAAsB,CAAC;CAC5C,CAAC;AAEF,qBAAS,CAAC,iBAAiB,CAAC,oCAAgB,EAAE,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,4BAAoB,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEjH,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,KAAK,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC;AAEH,qBAAS,CAAC,iBAAiB,CAAC,2BAAkB,EAAE;IAC9C,UAAU,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE;QACzB,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,OAAO,CAAC,KAAK,IAAI,EAAE;gBACjB,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxG,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC,CAAC,EAAE,CAAC;SACN;QAED,MAAM,QAAQ,GAAG,4BAAoB,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,kBAAkB,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,KAAoC,EAAE;IAC/H,4BAAoB,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,4BAAoB,CAAC,gBAAgB,CAAC;IAClG,4BAAoB,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,4BAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjI,4BAAoB,CAAC,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,4BAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnI,CAAC;AAJD,gDAIC"}
@@ -0,0 +1,16 @@
1
+ import type { Injectable } from "../../container";
2
+ import { resolveArgumentType } from "../../container";
3
+ import { Template } from '../template.model';
4
+ import { TemplateProvider } from '../template.provider';
5
+ export declare type FileTemplateProviderConfig = {
6
+ basePath?: string;
7
+ };
8
+ export declare type FileTemplateProviderArgument = string;
9
+ export declare const fileTemplateProviderConfig: FileTemplateProviderConfig;
10
+ export declare class FileTemplateProvider extends TemplateProvider implements Injectable<FileTemplateProviderArgument> {
11
+ private readonly basePath;
12
+ readonly [resolveArgumentType]: FileTemplateProviderArgument;
13
+ constructor(basePath: string);
14
+ get(key: string): Promise<Template>;
15
+ }
16
+ export declare function configureFileTemplateProvider(config?: Partial<FileTemplateProviderConfig>): void;
@@ -12,20 +12,31 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.fileTemplate = exports.configureFileTemplateProvider = exports.FileTemplateProvider = exports.fileTemplateProviderConfig = void 0;
15
+ exports.configureFileTemplateProvider = exports.FileTemplateProvider = exports.fileTemplateProviderConfig = void 0;
16
16
  const container_1 = require("../../container");
17
+ const bad_request_error_1 = require("../../error/bad-request.error");
17
18
  const schema_1 = require("../../schema");
18
- const file_template_provider_base_1 = require("./file-template.provider.base");
19
+ const path = require("path");
20
+ const template_model_1 = require("../template.model");
21
+ const template_provider_1 = require("../template.provider");
19
22
  exports.fileTemplateProviderConfig = {};
20
- const fileTemplateSchema = (0, schema_1.object)({
21
- type: (0, schema_1.string)(),
22
- template: (0, schema_1.optional)((0, schema_1.string)()),
23
- templateFile: (0, schema_1.optional)((0, schema_1.string)()),
24
- options: (0, schema_1.optional)((0, schema_1.unknown)())
25
- });
26
- let FileTemplateProvider = class FileTemplateProvider extends file_template_provider_base_1.FileTemplateProviderBase {
23
+ const keyPattern = /^[\w\-/]+$/u;
24
+ let FileTemplateProvider = class FileTemplateProvider extends template_provider_1.TemplateProvider {
27
25
  constructor(basePath) {
28
- super(fileTemplateSchema, basePath, [['templateFile', 'template']]);
26
+ super();
27
+ this.basePath = path.resolve(basePath);
28
+ }
29
+ async get(key) {
30
+ if (!keyPattern.test(key)) {
31
+ throw new bad_request_error_1.BadRequestError('Illegal template key. Only a-z, A-Z, 0-9, _ and - are allowed.');
32
+ }
33
+ const filePath = path.resolve(this.basePath, `${key}.js`);
34
+ if (!filePath.startsWith(this.basePath)) {
35
+ throw new bad_request_error_1.BadRequestError(`Illegal file path. Must be inside "${this.basePath}".`);
36
+ }
37
+ const templateModule = await Promise.resolve().then(() => require(filePath));
38
+ const fileContent = templateModule.default;
39
+ return schema_1.Schema.parse(template_model_1.Template, fileContent);
29
40
  }
30
41
  };
31
42
  FileTemplateProvider = __decorate([
@@ -40,8 +51,4 @@ function configureFileTemplateProvider(config = {}) {
40
51
  exports.fileTemplateProviderConfig.basePath = config.basePath ?? exports.fileTemplateProviderConfig.basePath;
41
52
  }
42
53
  exports.configureFileTemplateProvider = configureFileTemplateProvider;
43
- function fileTemplate(template) {
44
- return template;
45
- }
46
- exports.fileTemplate = fileTemplate;
47
- //# sourceMappingURL=file-template.provider.js.map
54
+ //# sourceMappingURL=file.provider-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.provider-template.js","sourceRoot":"","sources":["../../../source/templates/providers/file.provider-template.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAwE;AACxE,qEAA4D;AAC5D,yCAAkC;AAClC,6BAA6B;AAC7B,sDAA6C;AAC7C,4DAAwD;AAQ3C,QAAA,0BAA0B,GAA+B,EAAE,CAAC;AAEzE,MAAM,UAAU,GAAG,aAAa,CAAC;AAK1B,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,oCAAgB;IAIxD,YAAyB,QAAgB;QACvC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACzB,MAAM,IAAI,mCAAe,CAAC,gEAAgE,CAAC,CAAC;SAC7F;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC;QAE1D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvC,MAAM,IAAI,mCAAe,CAAC,sCAAsC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;SACpF;QAED,MAAM,cAAc,GAAG,2CAAa,QAAQ,EAAyB,CAAC;QACtE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC;QAC3C,OAAO,eAAM,CAAC,KAAK,CAAC,yBAAQ,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AAzBY,oBAAoB;IAHhC,IAAA,qBAAS,EAAC;QACT,uBAAuB,EAAE,GAAG,EAAE,CAAC,kCAA0B,CAAC,QAAQ;KACnE,CAAC;IAKa,WAAA,IAAA,qBAAS,GAAE,CAAA;;GAJb,oBAAoB,CAyBhC;AAzBY,oDAAoB;AA2BjC,SAAgB,6BAA6B,CAAC,SAA8C,EAAE;IAC5F,kCAA0B,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,kCAA0B,CAAC,QAAQ,CAAC;AAC/F,CAAC;AAFD,sEAEC"}
@@ -0,0 +1,8 @@
1
+ import type { Template } from '../template.model';
2
+ import { TemplateProvider } from '../template.provider';
3
+ export declare class MemoryTemplateProvider extends TemplateProvider {
4
+ private readonly map;
5
+ constructor();
6
+ add(key: string, template: Template): void;
7
+ get(key: string): Promise<Template>;
8
+ }
@@ -9,11 +9,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MemoryTemplateProviderBase = void 0;
12
+ exports.MemoryTemplateProvider = void 0;
13
13
  const container_1 = require("../../container");
14
14
  const type_guards_1 = require("../../utils/type-guards");
15
- let MemoryTemplateProviderBase = class MemoryTemplateProviderBase {
15
+ const template_provider_1 = require("../template.provider");
16
+ let MemoryTemplateProvider = class MemoryTemplateProvider extends template_provider_1.TemplateProvider {
16
17
  constructor() {
18
+ super();
17
19
  this.map = new Map();
18
20
  }
19
21
  add(key, template) {
@@ -27,9 +29,9 @@ let MemoryTemplateProviderBase = class MemoryTemplateProviderBase {
27
29
  return template;
28
30
  }
29
31
  };
30
- MemoryTemplateProviderBase = __decorate([
32
+ MemoryTemplateProvider = __decorate([
31
33
  (0, container_1.singleton)(),
32
34
  __metadata("design:paramtypes", [])
33
- ], MemoryTemplateProviderBase);
34
- exports.MemoryTemplateProviderBase = MemoryTemplateProviderBase;
35
- //# sourceMappingURL=memory-template.provider.base.js.map
35
+ ], MemoryTemplateProvider);
36
+ exports.MemoryTemplateProvider = MemoryTemplateProvider;
37
+ //# sourceMappingURL=memory.template-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.template-provider.js","sourceRoot":"","sources":["../../../source/templates/providers/memory.template-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwC;AACxC,yDAAkD;AAElD,4DAAwD;AAGjD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,oCAAgB;IAG1D;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,QAAkB;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEnC,IAAI,IAAA,yBAAW,EAAC,QAAQ,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC;SACnD;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AAtBY,sBAAsB;IADlC,IAAA,qBAAS,GAAE;;GACC,sBAAsB,CAsBlC;AAtBY,wDAAsB"}
@@ -1,11 +1,43 @@
1
- import type { Template } from '../template.model';
2
- import type { TemplateRenderResult } from '../template.renderer';
1
+ import type { ObjectLiteral, Record } from "../../types";
2
+ import * as handlebars from 'handlebars';
3
+ import { TemplateResolverProvider } from '../template-resolver.provider';
4
+ import type { TemplateField } from '../template.model';
5
+ import type { TemplateRenderObject } from '../template.renderer';
3
6
  import { TemplateRenderer } from '../template.renderer';
4
- export declare type HandlebarsTemplateOptions = {
7
+ export declare type HandlebarsTemplateHelperOptionsLocationItem = {
8
+ line: number;
9
+ column: number;
10
+ };
11
+ export declare type HandlebarsTemplateHelperOptionsLocation = {
12
+ start: HandlebarsTemplateHelperOptionsLocationItem;
13
+ end: HandlebarsTemplateHelperOptionsLocationItem;
14
+ };
15
+ export declare type HandlebarsTemplateHelperOptions = {
16
+ name: string;
17
+ location?: HandlebarsTemplateHelperOptionsLocation;
18
+ data?: Record<string>;
19
+ hash: Record<string>;
20
+ lookupProperty: (object: ObjectLiteral, propertyName: string) => unknown;
21
+ fn?: handlebars.TemplateDelegate;
22
+ inverse?: handlebars.TemplateDelegate;
23
+ };
24
+ export declare type HandlebarsTemplateHelper = (context: unknown, args: unknown[], options: HandlebarsTemplateHelperOptions) => any;
25
+ export declare type HandlebarsTemplateHelpersObject = Record<string, HandlebarsTemplateHelper>;
26
+ export declare type HandlebarsTemplatePartial = string | TemplateField<string, 'handlebars', HandlebarsRendererOptions> | handlebars.TemplateDelegate;
27
+ export declare type HandlebarsTemplatePartialsObject = Record<string, HandlebarsTemplatePartial>;
28
+ export declare type HandlebarsRendererOptions = {
5
29
  strict?: boolean;
30
+ preventIndent?: boolean;
31
+ helpers?: HandlebarsTemplateHelpersObject;
32
+ partials?: HandlebarsTemplatePartialsObject;
6
33
  };
7
- export declare type HandlebarsTemplate = Template<'handlebars', HandlebarsTemplateOptions>;
8
- export declare class HandlebarsTemplateRenderer extends TemplateRenderer<HandlebarsTemplate> {
34
+ export declare type HandlebarsTemplateRenderObject = TemplateRenderObject<'handlebars', HandlebarsRendererOptions>;
35
+ export declare class HandlebarsTemplateRenderer extends TemplateRenderer<'handlebars', HandlebarsRendererOptions> {
36
+ private readonly templateResolverProvider;
37
+ private readonly compileHandlebarsTemplate;
38
+ constructor(templateResolverProvider: TemplateResolverProvider);
9
39
  canHandleType(type: string): boolean;
10
- render(template: HandlebarsTemplate, context?: object): Promise<TemplateRenderResult>;
40
+ _render(renderObject: HandlebarsTemplateRenderObject, context?: object): Promise<string>;
41
+ private _compileHandlebarsTemplate;
42
+ private normalizePartial;
11
43
  }
@@ -5,22 +5,66 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
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
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
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
+ };
8
11
  Object.defineProperty(exports, "__esModule", { value: true });
9
12
  exports.HandlebarsTemplateRenderer = void 0;
10
13
  const container_1 = require("../../container");
14
+ const memoize_1 = require("../../utils/function/memoize");
15
+ const object_1 = require("../../utils/object/object");
16
+ const type_guards_1 = require("../../utils/type-guards");
11
17
  const handlebars = require("handlebars");
18
+ const template_resolver_provider_1 = require("../template-resolver.provider");
12
19
  const template_renderer_1 = require("../template.renderer");
20
+ const wrapHandlebarsTemplateHelper = (0, memoize_1.memoizeSingle)(_wrapHandlebarsTemplateHelper, { weak: true });
13
21
  let HandlebarsTemplateRenderer = class HandlebarsTemplateRenderer extends template_renderer_1.TemplateRenderer {
22
+ constructor(templateResolverProvider) {
23
+ super();
24
+ this.templateResolverProvider = templateResolverProvider;
25
+ this.compileHandlebarsTemplate = (0, memoize_1.memoizeSingle)(this._compileHandlebarsTemplate, { weak: true }); // eslint-disable-line @typescript-eslint/unbound-method
26
+ }
14
27
  canHandleType(type) {
15
28
  return type == 'handlebars';
16
29
  }
17
- async render(template, context) {
18
- const renderer = handlebars.compile(template.template, { strict: template.options?.strict ?? true });
30
+ async _render(renderObject, context) {
31
+ const renderer = await this.compileHandlebarsTemplate(renderObject);
19
32
  return renderer(context);
20
33
  }
34
+ async _compileHandlebarsTemplate({ template, options = {} }) {
35
+ const renderer = handlebars.compile(template, {
36
+ strict: options.strict ?? true,
37
+ preventIndent: options.preventIndent,
38
+ knownHelpers: (0, type_guards_1.isDefined)(options.helpers) ? (0, object_1.mapObjectValues)(options.helpers, () => true) : undefined,
39
+ knownHelpersOnly: true
40
+ });
41
+ const wrappedHelpers = (0, type_guards_1.isDefined)(options.helpers) ? (0, object_1.mapObjectValues)(options.helpers, wrapHandlebarsTemplateHelper) : undefined;
42
+ const normalizedPartials = (0, type_guards_1.isDefined)(options.partials) ? await (0, object_1.mapObjectValuesAsync)(options.partials, async (partial) => this.normalizePartial(partial)) : undefined;
43
+ return (context, runtimeOptions) => renderer(context, { helpers: wrappedHelpers, partials: normalizedPartials, ...runtimeOptions });
44
+ }
45
+ async normalizePartial(partial) {
46
+ if ((0, type_guards_1.isString)(partial)) {
47
+ return this.compileHandlebarsTemplate({ renderer: 'handlebars', template: partial });
48
+ }
49
+ if ((0, type_guards_1.isFunction)(partial)) {
50
+ return partial;
51
+ }
52
+ const resolver = this.templateResolverProvider.get(partial.resolver);
53
+ const template = await resolver.resolve(partial);
54
+ return this.compileHandlebarsTemplate({ renderer: 'handlebars', template, options: partial.options });
55
+ }
21
56
  };
22
57
  HandlebarsTemplateRenderer = __decorate([
23
- (0, container_1.singleton)()
58
+ (0, container_1.singleton)(),
59
+ __metadata("design:paramtypes", [template_resolver_provider_1.TemplateResolverProvider])
24
60
  ], HandlebarsTemplateRenderer);
25
61
  exports.HandlebarsTemplateRenderer = HandlebarsTemplateRenderer;
62
+ function _wrapHandlebarsTemplateHelper(helper) {
63
+ function wrapper(context, ...argsAndOptions) {
64
+ const args = argsAndOptions.slice(0, -1);
65
+ const options = argsAndOptions[argsAndOptions.length - 1];
66
+ helper(context, args, options);
67
+ }
68
+ return wrapper;
69
+ }
26
70
  //# sourceMappingURL=handlebars.template-renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlebars.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/handlebars.template-renderer.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAAwC;AACxC,yCAAyC;AAGzC,4DAAwD;AAOxD,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,oCAAoC;IAClF,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,IAAI,YAAY,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAA4B,EAAE,OAAgB;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACrG,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;CACF,CAAA;AATY,0BAA0B;IADtC,IAAA,qBAAS,GAAE;GACC,0BAA0B,CAStC;AATY,gEAA0B"}
1
+ {"version":3,"file":"handlebars.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/handlebars.template-renderer.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  import type { MJMLParsingOptions } from 'mjml-core';
2
2
  import { TemplateRendererProvider } from '../template-renderer.provider';
3
- import type { Template } from '../template.model';
4
- import type { TemplateRenderResult } from '../template.renderer';
3
+ import type { TemplateRenderObject, TemplateRenderResult } from '../template.renderer';
5
4
  import { TemplateRenderer } from '../template.renderer';
6
- export declare type MjmlTemplateOptions = Pick<MJMLParsingOptions, 'fonts' | 'keepComments' | 'validationLevel'> & {
5
+ export declare type MjmlRendererOptions = Pick<MJMLParsingOptions, 'fonts' | 'keepComments' | 'validationLevel'> & {
7
6
  preprocessorOptions?: any;
8
7
  };
9
- export declare type MjmlTemplate = Template<'mjml' | `mjml-${string}`, MjmlTemplateOptions>;
10
- export declare class MjmlTemplateRenderer extends TemplateRenderer<MjmlTemplate> {
8
+ export declare type MjmlRendererString = 'mjml' | `mjml-${string}`;
9
+ export declare type MjmlTemplateRenderObject = TemplateRenderObject<MjmlRendererString, MjmlRendererOptions>;
10
+ export declare class MjmlTemplateRenderer extends TemplateRenderer<MjmlRendererString, MjmlRendererOptions> {
11
11
  private readonly rendererProvider;
12
12
  constructor(rendererProvider: TemplateRendererProvider);
13
13
  canHandleType(type: string): boolean;
14
- render(template: MjmlTemplate, context?: object): Promise<TemplateRenderResult>;
14
+ _render({ renderer, template, options }: MjmlTemplateRenderObject, context?: object): Promise<TemplateRenderResult>;
15
15
  }
@@ -33,19 +33,18 @@ let MjmlTemplateRenderer = class MjmlTemplateRenderer extends template_renderer_
33
33
  const parent = type.slice(5);
34
34
  return this.rendererProvider.has(parent);
35
35
  }
36
- async render(template, context) {
37
- if (template.type.length > 4) {
38
- const parent = template.type.slice(5);
39
- const renderer = this.rendererProvider.get(parent);
40
- const result = await renderer.render({ ...template, type: parent, options: template.options?.preprocessorOptions }, context);
36
+ async _render({ renderer, template, options }, context) {
37
+ if (renderer.length > 4) {
38
+ const parent = renderer.slice(5);
39
+ const parentRenderer = this.rendererProvider.get(parent);
40
+ const result = await parentRenderer.render({ template, renderer: parent, options: options?.preprocessorOptions }, context);
41
41
  const preprocessedTemplate = {
42
- ...template,
43
- type: 'mjml',
42
+ renderer: 'mjml',
44
43
  template: result
45
44
  };
46
- return this.render(preprocessedTemplate);
45
+ return this._render(preprocessedTemplate);
47
46
  }
48
- return mjml2html(template.template).html;
47
+ return mjml2html(template).html;
49
48
  }
50
49
  };
51
50
  MjmlTemplateRenderer = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"mjml.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/mjml.template-renderer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,8CAA8C;AAC9C,kCAAkC;AAElC,8EAAyE;AAGzE,4DAAwD;AASxD,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,oCAA8B;IAGtE,YAAwD,gBAA0C;QAChG,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAsB,EAAE,OAAgB;QACnD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAC;YAE7H,MAAM,oBAAoB,GAAiB;gBACzC,GAAG,QAAQ;gBACX,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,MAAM;aACjB,CAAC;YAEF,OAAO,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;SAC1C;QAED,OAAO,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;CACF,CAAA;AAxCY,oBAAoB;IADhC,IAAA,qBAAS,GAAE;IAIG,WAAA,IAAA,sBAAU,EAAC,GAAG,EAAE,CAAC,qDAAwB,CAAC,CAAA;qCAAmB,qDAAwB;GAHvF,oBAAoB,CAwChC;AAxCY,oDAAoB"}
1
+ {"version":3,"file":"mjml.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/mjml.template-renderer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,8CAA8C;AAC9C,kCAAkC;AAElC,8EAAyE;AAEzE,4DAAwD;AAWjD,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,oCAAyD;IAGjG,YAAwD,gBAA0C;QAChG,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAA4B,EAAE,OAAgB;QACvF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,OAAO,CAAC,CAAC;YAE3H,MAAM,oBAAoB,GAA6B;gBACrD,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,MAAM;aACjB,CAAC;YAEF,OAAO,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;SAC3C;QAED,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;IAClC,CAAC;CACF,CAAA;AAvCY,oBAAoB;IADhC,IAAA,qBAAS,GAAE;IAIG,WAAA,IAAA,sBAAU,EAAC,GAAG,EAAE,CAAC,qDAAwB,CAAC,CAAA;qCAAmB,qDAAwB;GAHvF,oBAAoB,CAuChC;AAvCY,oDAAoB"}
@@ -0,0 +1,8 @@
1
+ import type { TemplateRenderObject, TemplateRenderResult } from '../template.renderer';
2
+ import { TemplateRenderer } from '../template.renderer';
3
+ export declare type StringTemplateRenderObject = TemplateRenderObject<'string', undefined>;
4
+ export declare class StringTemplateRenderer extends TemplateRenderer<'string', undefined> {
5
+ constructor();
6
+ canHandleType(type: string): boolean;
7
+ _render({ template }: StringTemplateRenderObject, _context?: object): Promise<TemplateRenderResult>;
8
+ }
@@ -9,17 +9,23 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MemoryMailTemplateProvider = void 0;
12
+ exports.StringTemplateRenderer = void 0;
13
13
  const container_1 = require("../../container");
14
- const memory_template_provider_base_1 = require("../../templates/providers/memory-template.provider.base");
15
- let MemoryMailTemplateProvider = class MemoryMailTemplateProvider extends memory_template_provider_base_1.MemoryTemplateProviderBase {
14
+ const template_renderer_1 = require("../template.renderer");
15
+ let StringTemplateRenderer = class StringTemplateRenderer extends template_renderer_1.TemplateRenderer {
16
16
  constructor() {
17
17
  super();
18
18
  }
19
+ canHandleType(type) {
20
+ return (type == 'string');
21
+ }
22
+ async _render({ template }, _context) {
23
+ return template;
24
+ }
19
25
  };
20
- MemoryMailTemplateProvider = __decorate([
26
+ StringTemplateRenderer = __decorate([
21
27
  (0, container_1.singleton)(),
22
28
  __metadata("design:paramtypes", [])
23
- ], MemoryMailTemplateProvider);
24
- exports.MemoryMailTemplateProvider = MemoryMailTemplateProvider;
25
- //# sourceMappingURL=memory-mail-template.provider.js.map
29
+ ], StringTemplateRenderer);
30
+ exports.StringTemplateRenderer = StringTemplateRenderer;
31
+ //# sourceMappingURL=string.template-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.template-renderer.js","sourceRoot":"","sources":["../../../source/templates/renderers/string.template-renderer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAwC;AAExC,4DAAwD;AAKjD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,oCAAqC;IAC/E;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,aAAa,CAAC,IAAY;QACxB,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,EAA8B,EAAE,QAAiB;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AAZY,sBAAsB;IADlC,IAAA,qBAAS,GAAE;;GACC,sBAAsB,CAYlC;AAZY,wDAAsB"}
@@ -0,0 +1,23 @@
1
+ import type { Injectable } from "../../container";
2
+ import { resolveArgumentType } from "../../container";
3
+ import { TypedOmit } from "../../types";
4
+ import { TemplateField } from '../template.model';
5
+ import { TemplateRenderer, TemplateRendererOptions, TemplateRendererString } from '../template.renderer';
6
+ import { TemplateResolver } from '../template.resolver';
7
+ export declare type FileTemplateProviderConfig = {
8
+ basePath?: string;
9
+ };
10
+ export declare type FileTemplateProviderArgument = string;
11
+ export declare const fileTemplateProviderConfig: FileTemplateProviderConfig;
12
+ export declare class FileTemplateField<Renderer extends string = string, Options = any> extends TemplateField<'file', Renderer, Options> {
13
+ templateFile: string;
14
+ }
15
+ export declare class FileTemplateResolver extends TemplateResolver<FileTemplateField> implements Injectable<FileTemplateProviderArgument> {
16
+ private readonly basePath;
17
+ readonly [resolveArgumentType]: FileTemplateProviderArgument;
18
+ constructor(basePath: string);
19
+ canHandle(resolver: string): boolean;
20
+ resolve(field: FileTemplateField): Promise<string>;
21
+ }
22
+ export declare function fileTemplateField<Renderer extends TemplateRenderer>(field: TypedOmit<FileTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions]>, 'resolver'>): FileTemplateField<Renderer[TemplateRendererString], Renderer[TemplateRendererOptions]>;
23
+ export declare function configureFileTemplateResolver(config?: Partial<FileTemplateProviderConfig>): void;