@tstdl/base 0.78.0-beta8 → 0.78.0-beta80

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 (610) 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.d.ts +3 -1
  7. package/api/server/api-controller.js +7 -2
  8. package/api/server/api-controller.js.map +1 -1
  9. package/api/server/gateway.d.ts +15 -3
  10. package/api/server/gateway.js +53 -37
  11. package/api/server/gateway.js.map +1 -1
  12. package/api/server/middlewares/allowed-methods.middleware.js +1 -1
  13. package/api/server/middlewares/allowed-methods.middleware.js.map +1 -1
  14. package/api/server/middlewares/cors.middleware.d.ts +6 -4
  15. package/api/server/middlewares/cors.middleware.js +30 -30
  16. package/api/server/middlewares/cors.middleware.js.map +1 -1
  17. package/api/types.d.ts +36 -14
  18. package/api/types.js +1 -2
  19. package/api/types.js.map +1 -1
  20. package/api/utils.d.ts +9 -0
  21. package/api/utils.js +15 -0
  22. package/api/utils.js.map +1 -0
  23. package/application/application.d.ts +15 -2
  24. package/application/application.js +89 -42
  25. package/application/application.js.map +1 -1
  26. package/collections/awaitable/awaitable-list.js +10 -11
  27. package/collections/awaitable/awaitable-list.js.map +1 -1
  28. package/collections/observable/observable-array.js +1 -1
  29. package/collections/observable/observable-array.js.map +1 -1
  30. package/collections/observable/observable-collection-base.js +12 -14
  31. package/collections/observable/observable-collection-base.js.map +1 -1
  32. package/collections/observable/observable-list-base.js +6 -8
  33. package/collections/observable/observable-list-base.js.map +1 -1
  34. package/collections/observable/observable-sorted-array-list.js +3 -3
  35. package/collections/observable/observable-sorted-array-list.js.map +1 -1
  36. package/collections/sorted-array-list.js +3 -3
  37. package/collections/sorted-array-list.js.map +1 -1
  38. package/collections/sorted-map.js +1 -1
  39. package/collections/sorted-map.js.map +1 -1
  40. package/container/container.js +19 -21
  41. package/container/container.js.map +1 -1
  42. package/container/decorators.d.ts +1 -1
  43. package/container/decorators.js.map +1 -1
  44. package/container/resolve-chain.d.ts +2 -1
  45. package/container/resolve-chain.js +6 -2
  46. package/container/resolve-chain.js.map +1 -1
  47. package/core.js +2 -2
  48. package/core.js.map +1 -1
  49. package/css/theme/theme.service.js.map +1 -1
  50. package/data-structures/circular-buffer.js +5 -6
  51. package/data-structures/circular-buffer.js.map +1 -1
  52. package/data-structures/collection.js +4 -5
  53. package/data-structures/collection.js.map +1 -1
  54. package/data-structures/index-out-of-bounds.error.d.ts +1 -1
  55. package/data-structures/index-out-of-bounds.error.js +2 -2
  56. package/data-structures/index-out-of-bounds.error.js.map +1 -1
  57. package/data-structures/iterable-weak-map.js +1 -1
  58. package/data-structures/iterable-weak-map.js.map +1 -1
  59. package/data-structures/linked-list.js.map +1 -1
  60. package/data-structures/sorted-array-list.js +2 -2
  61. package/data-structures/sorted-array-list.js.map +1 -1
  62. package/database/mongo/classes.js.map +1 -1
  63. package/database/mongo/mongo-base.repository.js +3 -3
  64. package/database/mongo/mongo-base.repository.js.map +1 -1
  65. package/database/mongo/mongo-entity-repository.js +2 -2
  66. package/database/mongo/mongo-entity-repository.js.map +1 -1
  67. package/distributed-loop/distributed-loop.js.map +1 -1
  68. package/distributed-loop/provider.js.map +1 -1
  69. package/environment.d.ts +10 -0
  70. package/environment.js +26 -0
  71. package/environment.js.map +1 -0
  72. package/error/custom.error.d.ts +7 -3
  73. package/error/custom.error.js +17 -8
  74. package/error/custom.error.js.map +1 -1
  75. package/error/index.d.ts +1 -0
  76. package/error/index.js +1 -0
  77. package/error/index.js.map +1 -1
  78. package/error/max-bytes-exceeded.error.d.ts +1 -0
  79. package/error/max-bytes-exceeded.error.js +3 -0
  80. package/error/max-bytes-exceeded.error.js.map +1 -1
  81. package/error/not-implemented.error.js +1 -1
  82. package/error/not-implemented.error.js.map +1 -1
  83. package/error/not-supported.error.d.ts +7 -0
  84. package/error/not-supported.error.js +17 -0
  85. package/error/not-supported.error.js.map +1 -0
  86. package/error/unsupported-media-type.error.js +1 -1
  87. package/error/unsupported-media-type.error.js.map +1 -1
  88. package/examples/api/basic-overview.js +17 -25
  89. package/examples/api/basic-overview.js.map +1 -1
  90. package/examples/api/streaming.d.ts +1 -0
  91. package/examples/api/streaming.js +79 -0
  92. package/examples/api/streaming.js.map +1 -0
  93. package/examples/mail/basic.js +12 -7
  94. package/examples/mail/basic.js.map +1 -1
  95. package/examples/mail/templates/hello-name.d.ts +2 -0
  96. package/examples/mail/templates/hello-name.js +11 -0
  97. package/examples/mail/templates/hello-name.js.map +1 -0
  98. package/examples/pdf/basic.js +9 -6
  99. package/examples/pdf/basic.js.map +1 -1
  100. package/examples/pdf/templates/hello-name.d.ts +1 -4
  101. package/examples/pdf/templates/hello-name.js +30 -4
  102. package/examples/pdf/templates/hello-name.js.map +1 -1
  103. package/examples/reflection/basic.js +1 -1
  104. package/examples/reflection/basic.js.map +1 -1
  105. package/examples/template/basic.d.ts +1 -0
  106. package/examples/template/basic.js +25 -0
  107. package/examples/template/basic.js.map +1 -0
  108. package/examples/template/templates/hello-name.d.ts +2 -0
  109. package/examples/template/templates/hello-name.js +23 -0
  110. package/examples/template/templates/hello-name.js.map +1 -0
  111. package/http/client/adapters/undici-http-client.adapter.d.ts +1 -2
  112. package/http/client/adapters/undici-http-client.adapter.js +10 -12
  113. package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
  114. package/http/client/http-client-request.d.ts +24 -14
  115. package/http/client/http-client-request.js +4 -2
  116. package/http/client/http-client-request.js.map +1 -1
  117. package/http/client/http-client-response.d.ts +10 -12
  118. package/http/client/http-client-response.js +5 -1
  119. package/http/client/http-client-response.js.map +1 -1
  120. package/http/client/http-client.adapter.d.ts +1 -2
  121. package/http/client/http-client.adapter.js.map +1 -1
  122. package/http/client/http-client.d.ts +30 -31
  123. package/http/client/http-client.js +107 -74
  124. package/http/client/http-client.js.map +1 -1
  125. package/http/http-body.d.ts +19 -0
  126. package/http/http-body.js +52 -0
  127. package/http/http-body.js.map +1 -0
  128. package/http/http-headers.d.ts +3 -0
  129. package/http/http-headers.js +6 -0
  130. package/http/http-headers.js.map +1 -1
  131. package/http/http-value-map.js +2 -2
  132. package/http/http-value-map.js.map +1 -1
  133. package/http/http.error.d.ts +5 -2
  134. package/http/http.error.js +27 -5
  135. package/http/http.error.js.map +1 -1
  136. package/http/index.d.ts +2 -0
  137. package/http/index.js +2 -0
  138. package/http/index.js.map +1 -1
  139. package/http/server/http-server-request.d.ts +5 -10
  140. package/http/server/http-server-request.js +3 -30
  141. package/http/server/http-server-request.js.map +1 -1
  142. package/http/server/http-server-response.d.ts +4 -4
  143. package/http/server/node/node-http-server.js +6 -5
  144. package/http/server/node/node-http-server.js.map +1 -1
  145. package/http/types.d.ts +1 -11
  146. package/http/types.js +1 -2
  147. package/http/types.js.map +1 -1
  148. package/http/utils.d.ts +15 -0
  149. package/http/utils.js +113 -0
  150. package/http/utils.js.map +1 -0
  151. package/image-service/image-service.js.map +1 -1
  152. package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
  153. package/json-path/json-path.d.ts +8 -5
  154. package/json-path/json-path.js +15 -1
  155. package/json-path/json-path.js.map +1 -1
  156. package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
  157. package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
  158. package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
  159. package/lock/mongo/lock.js.map +1 -1
  160. package/lock/mongo/mongo-lock-repository.js.map +1 -1
  161. package/lock/mongo/provider.js.map +1 -1
  162. package/logger/console/logger.js +1 -1
  163. package/logger/console/logger.js.map +1 -1
  164. package/logger/logger.d.ts +2 -2
  165. package/mail/clients/nodemailer.mail-client.js.map +1 -1
  166. package/mail/index.d.ts +0 -3
  167. package/mail/index.js +0 -3
  168. package/mail/index.js.map +1 -1
  169. package/mail/mail.service.d.ts +3 -5
  170. package/mail/mail.service.js +8 -14
  171. package/mail/mail.service.js.map +1 -1
  172. package/mail/models/mail-template.model.d.ts +11 -10
  173. package/mail/models/mail-template.model.js +7 -0
  174. package/mail/models/mail-template.model.js.map +1 -1
  175. package/mail/module.d.ts +1 -5
  176. package/mail/module.js +2 -11
  177. package/mail/module.js.map +1 -1
  178. package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
  179. package/mail/tokens.d.ts +0 -3
  180. package/mail/tokens.js +1 -2
  181. package/mail/tokens.js.map +1 -1
  182. package/message-bus/local/local-message-bus-provider.js.map +1 -1
  183. package/message-bus/local/local-message-bus.js.map +1 -1
  184. package/message-bus/message-bus-base.js +1 -2
  185. package/message-bus/message-bus-base.js.map +1 -1
  186. package/migration/migrator.js.map +1 -1
  187. package/migration/mongo/migration-state-repository.js.map +1 -1
  188. package/module/modules/web-server.module.js.map +1 -1
  189. package/notification/api.d.ts +20 -0
  190. package/notification/api.js +35 -0
  191. package/notification/api.js.map +1 -0
  192. package/notification/model.d.ts +18 -0
  193. package/notification/model.js +36 -0
  194. package/notification/model.js.map +1 -0
  195. package/notification/module.d.ts +9 -0
  196. package/notification/module.js +15 -0
  197. package/notification/module.js.map +1 -0
  198. package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
  199. package/object-storage/s3/s3.object-storage.js.map +1 -1
  200. package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
  201. package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
  202. package/openid-connect/oidc-configuration.service.d.ts +2 -1
  203. package/openid-connect/oidc-configuration.service.js +5 -3
  204. package/openid-connect/oidc-configuration.service.js.map +1 -1
  205. package/openid-connect/oidc.service-model.d.ts +11 -3
  206. package/openid-connect/oidc.service.d.ts +6 -3
  207. package/openid-connect/oidc.service.js +72 -25
  208. package/openid-connect/oidc.service.js.map +1 -1
  209. package/package.json +13 -12
  210. package/pdf/pdf.service.d.ts +92 -12
  211. package/pdf/pdf.service.js +234 -34
  212. package/pdf/pdf.service.js.map +1 -1
  213. package/pool/pool.d.ts +23 -4
  214. package/pool/pool.js +76 -40
  215. package/pool/pool.js.map +1 -1
  216. package/promise/deferred-promise.d.ts +2 -15
  217. package/promise/deferred-promise.js +5 -10
  218. package/promise/deferred-promise.js.map +1 -1
  219. package/promise/index.d.ts +1 -0
  220. package/promise/index.js +1 -0
  221. package/promise/index.js.map +1 -1
  222. package/promise/lazy-promise.d.ts +11 -0
  223. package/promise/lazy-promise.js +31 -0
  224. package/promise/lazy-promise.js.map +1 -0
  225. package/queue/mongo/mongo-job.repository.js +1 -1
  226. package/queue/mongo/mongo-job.repository.js.map +1 -1
  227. package/queue/mongo/queue.js.map +1 -1
  228. package/queue/mongo/queue.provider.js.map +1 -1
  229. package/reflection/decorator-data.js +1 -1
  230. package/reflection/decorator-data.js.map +1 -1
  231. package/reflection/decorators.d.ts +2 -2
  232. package/reflection/decorators.js +7 -7
  233. package/reflection/decorators.js.map +1 -1
  234. package/reflection/registry.d.ts +8 -8
  235. package/reflection/registry.js +1 -1
  236. package/reflection/registry.js.map +1 -1
  237. package/reflection/types.d.ts +3 -2
  238. package/reflection/utils.d.ts +7 -2
  239. package/reflection/utils.js +38 -12
  240. package/reflection/utils.js.map +1 -1
  241. package/require.d.ts +1 -0
  242. package/require.js +9 -0
  243. package/require.js.map +1 -0
  244. package/rpc/endpoints/message-port.rpc-endpoint.d.ts +19 -0
  245. package/rpc/endpoints/message-port.rpc-endpoint.js +34 -0
  246. package/rpc/endpoints/message-port.rpc-endpoint.js.map +1 -0
  247. package/rpc/index.d.ts +4 -0
  248. package/rpc/index.js +21 -0
  249. package/rpc/index.js.map +1 -0
  250. package/rpc/model.d.ts +72 -0
  251. package/rpc/model.js +13 -0
  252. package/rpc/model.js.map +1 -0
  253. package/rpc/rpc-endpoint.d.ts +11 -0
  254. package/rpc/rpc-endpoint.js +23 -0
  255. package/rpc/rpc-endpoint.js.map +1 -0
  256. package/rpc/rpc-error.d.ts +8 -0
  257. package/rpc/rpc-error.js +26 -0
  258. package/rpc/rpc-error.js.map +1 -0
  259. package/rpc/rpc.d.ts +19 -0
  260. package/rpc/rpc.js +263 -0
  261. package/rpc/rpc.js.map +1 -0
  262. package/rxjs/retry-backoff.js +4 -5
  263. package/rxjs/retry-backoff.js.map +1 -1
  264. package/schema/array-constraints/maximum-length.d.ts +2 -2
  265. package/schema/array-constraints/maximum-length.js +2 -2
  266. package/schema/array-constraints/maximum-length.js.map +1 -1
  267. package/schema/array-constraints/minimum-length.d.ts +2 -2
  268. package/schema/array-constraints/minimum-length.js +2 -2
  269. package/schema/array-constraints/minimum-length.js.map +1 -1
  270. package/schema/coercers/boolean.coercer.d.ts +2 -2
  271. package/schema/coercers/boolean.coercer.js +2 -2
  272. package/schema/coercers/boolean.coercer.js.map +1 -1
  273. package/schema/coercers/date.coercer.d.ts +2 -2
  274. package/schema/coercers/date.coercer.js +2 -2
  275. package/schema/coercers/date.coercer.js.map +1 -1
  276. package/schema/coercers/number.coercer.d.ts +3 -3
  277. package/schema/coercers/number.coercer.js +2 -2
  278. package/schema/coercers/number.coercer.js.map +1 -1
  279. package/schema/coercers/regexp.coercer.d.ts +2 -2
  280. package/schema/coercers/regexp.coercer.js +2 -2
  281. package/schema/coercers/regexp.coercer.js.map +1 -1
  282. package/schema/coercers/string.coercer.d.ts +3 -3
  283. package/schema/coercers/string.coercer.js +2 -2
  284. package/schema/coercers/string.coercer.js.map +1 -1
  285. package/schema/coercers/uint8-array.coercer.js +2 -2
  286. package/schema/coercers/uint8-array.coercer.js.map +1 -1
  287. package/schema/constraints/enumeration.d.ts +5 -5
  288. package/schema/constraints/enumeration.js +6 -6
  289. package/schema/constraints/enumeration.js.map +1 -1
  290. package/schema/constraints/generic.d.ts +2 -2
  291. package/schema/constraints/generic.js +2 -2
  292. package/schema/constraints/generic.js.map +1 -1
  293. package/schema/constraints/integer.d.ts +2 -2
  294. package/schema/constraints/integer.js +2 -2
  295. package/schema/constraints/integer.js.map +1 -1
  296. package/schema/constraints/literal.d.ts +2 -2
  297. package/schema/constraints/literal.js +2 -2
  298. package/schema/constraints/literal.js.map +1 -1
  299. package/schema/constraints/maximum-date.d.ts +2 -2
  300. package/schema/constraints/maximum-date.js +2 -2
  301. package/schema/constraints/maximum-date.js.map +1 -1
  302. package/schema/constraints/maximum-length.d.ts +3 -3
  303. package/schema/constraints/maximum-length.js +2 -2
  304. package/schema/constraints/maximum-length.js.map +1 -1
  305. package/schema/constraints/maximum.d.ts +2 -2
  306. package/schema/constraints/maximum.js +2 -2
  307. package/schema/constraints/maximum.js.map +1 -1
  308. package/schema/constraints/minimum-date.d.ts +2 -2
  309. package/schema/constraints/minimum-date.js +2 -2
  310. package/schema/constraints/minimum-date.js.map +1 -1
  311. package/schema/constraints/minimum-length.d.ts +3 -3
  312. package/schema/constraints/minimum-length.js +2 -2
  313. package/schema/constraints/minimum-length.js.map +1 -1
  314. package/schema/constraints/minimum.d.ts +2 -2
  315. package/schema/constraints/minimum.js +2 -2
  316. package/schema/constraints/minimum.js.map +1 -1
  317. package/schema/constraints/pattern.d.ts +2 -2
  318. package/schema/constraints/pattern.js +2 -2
  319. package/schema/constraints/pattern.js.map +1 -1
  320. package/schema/decorators/array.d.ts +2 -2
  321. package/schema/decorators/array.js.map +1 -1
  322. package/schema/decorators/defaulted.d.ts +2 -2
  323. package/schema/decorators/defaulted.js.map +1 -1
  324. package/schema/decorators/index.d.ts +1 -0
  325. package/schema/decorators/index.js +1 -0
  326. package/schema/decorators/index.js.map +1 -1
  327. package/schema/decorators/one-or-many.d.ts +6 -0
  328. package/schema/decorators/one-or-many.js +12 -0
  329. package/schema/decorators/one-or-many.js.map +1 -0
  330. package/schema/decorators/optional.d.ts +3 -1
  331. package/schema/decorators/optional.js +2 -2
  332. package/schema/decorators/optional.js.map +1 -1
  333. package/schema/decorators/types.d.ts +3 -3
  334. package/schema/decorators/utils.d.ts +3 -2
  335. package/schema/decorators/utils.js +8 -4
  336. package/schema/decorators/utils.js.map +1 -1
  337. package/schema/schema.d.ts +4 -10
  338. package/schema/schema.error.d.ts +6 -5
  339. package/schema/schema.error.js +13 -10
  340. package/schema/schema.error.js.map +1 -1
  341. package/schema/schema.js +113 -104
  342. package/schema/schema.js.map +1 -1
  343. package/schema/schemas/array.d.ts +3 -3
  344. package/schema/schemas/array.js +1 -1
  345. package/schema/schemas/array.js.map +1 -1
  346. package/schema/schemas/assign.d.ts +6 -6
  347. package/schema/schemas/assign.js +3 -1
  348. package/schema/schemas/assign.js.map +1 -1
  349. package/schema/schemas/constraint.d.ts +3 -2
  350. package/schema/schemas/constraint.js.map +1 -1
  351. package/schema/schemas/defaulted.d.ts +2 -2
  352. package/schema/schemas/defaulted.js.map +1 -1
  353. package/schema/schemas/enumeration.js +1 -1
  354. package/schema/schemas/enumeration.js.map +1 -1
  355. package/schema/schemas/index.d.ts +3 -1
  356. package/schema/schemas/index.js +3 -1
  357. package/schema/schemas/index.js.map +1 -1
  358. package/schema/schemas/nullable.d.ts +2 -2
  359. package/schema/schemas/nullable.js.map +1 -1
  360. package/schema/schemas/number.d.ts +1 -1
  361. package/schema/schemas/number.js +0 -3
  362. package/schema/schemas/number.js.map +1 -1
  363. package/schema/schemas/omit.d.ts +4 -0
  364. package/schema/schemas/{exclude.js → omit.js} +8 -6
  365. package/schema/schemas/omit.js.map +1 -0
  366. package/schema/schemas/one-or-many.d.ts +10 -0
  367. package/schema/schemas/one-or-many.js +12 -0
  368. package/schema/schemas/one-or-many.js.map +1 -0
  369. package/schema/schemas/optional.d.ts +3 -2
  370. package/schema/schemas/optional.js.map +1 -1
  371. package/schema/schemas/partial.d.ts +4 -0
  372. package/schema/schemas/partial.js +22 -0
  373. package/schema/schemas/partial.js.map +1 -0
  374. package/schema/schemas/pick.d.ts +2 -2
  375. package/schema/schemas/pick.js +3 -1
  376. package/schema/schemas/pick.js.map +1 -1
  377. package/schema/schemas/record.d.ts +2 -2
  378. package/schema/schemas/record.js.map +1 -1
  379. package/schema/schemas/union.d.ts +4 -9
  380. package/schema/schemas/union.js.map +1 -1
  381. package/schema/types.d.ts +30 -20
  382. package/schema/types.js +22 -8
  383. package/schema/types.js.map +1 -1
  384. package/schema/utils/schema.d.ts +6 -1
  385. package/schema/utils/schema.js +60 -7
  386. package/schema/utils/schema.js.map +1 -1
  387. package/schema/utils/value-type.d.ts +5 -3
  388. package/schema/utils/value-type.js +22 -7
  389. package/schema/utils/value-type.js.map +1 -1
  390. package/search-index/elastic/config.js.map +1 -1
  391. package/search-index/elastic/model/index-mapping.d.ts +2 -1
  392. package/search-index/elastic/model/index-mapping.js.map +1 -1
  393. package/search-index/elastic/search-index.js +5 -4
  394. package/search-index/elastic/search-index.js.map +1 -1
  395. package/search-index/error.d.ts +1 -1
  396. package/search-index/error.js +2 -2
  397. package/search-index/error.js.map +1 -1
  398. package/serializer/handlers/register.d.ts +2 -2
  399. package/serializer/handlers/register.js +6 -2
  400. package/serializer/handlers/register.js.map +1 -1
  401. package/serializer/serializable.d.ts +11 -8
  402. package/serializer/serializable.js +13 -4
  403. package/serializer/serializable.js.map +1 -1
  404. package/serializer/serializer.js +21 -8
  405. package/serializer/serializer.js.map +1 -1
  406. package/serializer/types.d.ts +21 -6
  407. package/serializer/types.js +2 -1
  408. package/serializer/types.js.map +1 -1
  409. package/supports.d.ts +5 -0
  410. package/supports.js +9 -0
  411. package/supports.js.map +1 -0
  412. package/templates/index.d.ts +2 -0
  413. package/templates/index.js +2 -0
  414. package/templates/index.js.map +1 -1
  415. package/templates/module.d.ts +3 -1
  416. package/templates/module.js +31 -8
  417. package/templates/module.js.map +1 -1
  418. package/templates/providers/file.provider-template.d.ts +16 -0
  419. package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
  420. package/templates/providers/file.provider-template.js.map +1 -0
  421. package/templates/providers/memory.template-provider.d.ts +8 -0
  422. package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
  423. package/templates/providers/memory.template-provider.js.map +1 -0
  424. package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
  425. package/templates/renderers/handlebars.template-renderer.js +70 -3
  426. package/templates/renderers/handlebars.template-renderer.js.map +1 -1
  427. package/templates/renderers/mjml.template-renderer.d.ts +6 -6
  428. package/templates/renderers/mjml.template-renderer.js +8 -9
  429. package/templates/renderers/mjml.template-renderer.js.map +1 -1
  430. package/templates/renderers/string.template-renderer.d.ts +8 -0
  431. package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
  432. package/templates/renderers/string.template-renderer.js.map +1 -0
  433. package/templates/resolvers/file.template-resolver.d.ts +23 -0
  434. package/templates/resolvers/file.template-resolver.js +63 -0
  435. package/templates/resolvers/file.template-resolver.js.map +1 -0
  436. package/templates/resolvers/string.template-resolver.d.ts +13 -0
  437. package/templates/resolvers/string.template-resolver.js +44 -0
  438. package/templates/resolvers/string.template-resolver.js.map +1 -0
  439. package/templates/template-renderer.provider.js +7 -19
  440. package/templates/template-renderer.provider.js.map +1 -1
  441. package/templates/template-resolver.provider.d.ts +8 -0
  442. package/templates/template-resolver.provider.js +48 -0
  443. package/templates/template-resolver.provider.js.map +1 -0
  444. package/templates/template.model.d.ts +15 -4
  445. package/templates/template.model.js +50 -0
  446. package/templates/template.model.js.map +1 -1
  447. package/templates/template.renderer.d.ts +14 -3
  448. package/templates/template.renderer.js +3 -0
  449. package/templates/template.renderer.js.map +1 -1
  450. package/templates/template.resolver.d.ts +5 -0
  451. package/templates/template.resolver.js +7 -0
  452. package/templates/template.resolver.js.map +1 -0
  453. package/templates/template.service.d.ts +10 -4
  454. package/templates/template.service.js +19 -6
  455. package/templates/template.service.js.map +1 -1
  456. package/templates/tokens.d.ts +3 -2
  457. package/templates/tokens.js +2 -1
  458. package/templates/tokens.js.map +1 -1
  459. package/threading/index.d.ts +2 -0
  460. package/{rxjs/compat → threading}/index.js +2 -1
  461. package/threading/index.js.map +1 -0
  462. package/threading/thread-pool.d.ts +20 -0
  463. package/threading/thread-pool.js +50 -0
  464. package/threading/thread-pool.js.map +1 -0
  465. package/threading/thread-worker.d.ts +3 -0
  466. package/threading/thread-worker.js +9 -0
  467. package/threading/thread-worker.js.map +1 -0
  468. package/types.d.ts +27 -9
  469. package/utils/alphabet.d.ts +3 -1
  470. package/utils/alphabet.js +2 -0
  471. package/utils/alphabet.js.map +1 -1
  472. package/utils/array/array.d.ts +1 -2
  473. package/utils/array/array.js.map +1 -1
  474. package/utils/async-iterable-helpers/observable-iterable.js +1 -2
  475. package/utils/async-iterable-helpers/observable-iterable.js.map +1 -1
  476. package/utils/async-iterable-helpers/take-until.js +2 -3
  477. package/utils/async-iterable-helpers/take-until.js.map +1 -1
  478. package/utils/base64.js +3 -2
  479. package/utils/base64.js.map +1 -1
  480. package/utils/binary.js +3 -2
  481. package/utils/binary.js.map +1 -1
  482. package/utils/cancellation-token.d.ts +28 -28
  483. package/utils/cancellation-token.js +14 -14
  484. package/utils/cancellation-token.js.map +1 -1
  485. package/utils/clone.js +4 -0
  486. package/utils/clone.js.map +1 -1
  487. package/utils/compression.d.ts +19 -15
  488. package/utils/compression.js +43 -10
  489. package/utils/compression.js.map +1 -1
  490. package/utils/encoding.d.ts +10 -0
  491. package/utils/encoding.js +20 -4
  492. package/utils/encoding.js.map +1 -1
  493. package/utils/enum.d.ts +5 -8
  494. package/utils/enum.js +15 -13
  495. package/utils/enum.js.map +1 -1
  496. package/utils/feedable-async-iterable.js +1 -2
  497. package/utils/feedable-async-iterable.js.map +1 -1
  498. package/utils/function/memoize.js +4 -4
  499. package/utils/function/memoize.js.map +1 -1
  500. package/utils/helpers.d.ts +0 -2
  501. package/utils/helpers.js +3 -14
  502. package/utils/helpers.js.map +1 -1
  503. package/utils/image.js +7 -8
  504. package/utils/image.js.map +1 -1
  505. package/utils/index.d.ts +2 -0
  506. package/utils/index.js +2 -0
  507. package/utils/index.js.map +1 -1
  508. package/utils/math.d.ts +25 -10
  509. package/utils/math.js +32 -12
  510. package/utils/math.js.map +1 -1
  511. package/utils/object/decycle.js +10 -21
  512. package/utils/object/decycle.js.map +1 -1
  513. package/utils/object/dereference.d.ts +7 -5
  514. package/utils/object/dereference.js +4 -4
  515. package/utils/object/dereference.js.map +1 -1
  516. package/utils/object/forward-ref.js +3 -19
  517. package/utils/object/forward-ref.js.map +1 -1
  518. package/utils/object/merge.js +3 -3
  519. package/utils/object/merge.js.map +1 -1
  520. package/utils/object/object.js +3 -3
  521. package/utils/object/object.js.map +1 -1
  522. package/utils/object/property-name.d.ts +2 -2
  523. package/utils/patch-worker.js +1 -2
  524. package/utils/patch-worker.js.map +1 -1
  525. package/utils/periodic-sampler.js +2 -2
  526. package/utils/periodic-sampler.js.map +1 -1
  527. package/utils/proxy.d.ts +6 -0
  528. package/utils/proxy.js +21 -0
  529. package/utils/proxy.js.map +1 -0
  530. package/utils/stream/finalize-stream.d.ts +1 -0
  531. package/utils/stream/finalize-stream.js +38 -0
  532. package/utils/stream/finalize-stream.js.map +1 -0
  533. package/utils/stream/index.d.ts +4 -3
  534. package/utils/stream/index.js +4 -3
  535. package/utils/stream/index.js.map +1 -1
  536. package/utils/stream/readable-stream-adapter.d.ts +5 -0
  537. package/utils/stream/readable-stream-adapter.js +45 -0
  538. package/utils/stream/readable-stream-adapter.js.map +1 -0
  539. package/utils/stream/readable-stream-from-promise.d.ts +1 -0
  540. package/utils/stream/readable-stream-from-promise.js +12 -0
  541. package/utils/stream/readable-stream-from-promise.js.map +1 -0
  542. package/utils/stream/size-limited-stream.d.ts +2 -0
  543. package/utils/stream/size-limited-stream.js +18 -0
  544. package/utils/stream/size-limited-stream.js.map +1 -0
  545. package/utils/stream/stream-reader.d.ts +2 -1
  546. package/utils/stream/stream-reader.js +7 -10
  547. package/utils/stream/stream-reader.js.map +1 -1
  548. package/utils/throw.d.ts +2 -0
  549. package/utils/throw.js +15 -0
  550. package/utils/throw.js.map +1 -0
  551. package/utils/timing.js +2 -2
  552. package/utils/timing.js.map +1 -1
  553. package/utils/type-guards.d.ts +34 -16
  554. package/utils/type-guards.js +112 -75
  555. package/utils/type-guards.js.map +1 -1
  556. package/web-types.d.ts +28 -0
  557. package/web-types.js +3 -0
  558. package/web-types.js.map +1 -0
  559. package/http/client/adapters/got-http-client.adapter.d.ts +0 -10
  560. package/http/client/adapters/got-http-client.adapter.js +0 -141
  561. package/http/client/adapters/got-http-client.adapter.js.map +0 -1
  562. package/http/client/adapters/utils.d.ts +0 -11
  563. package/http/client/adapters/utils.js +0 -79
  564. package/http/client/adapters/utils.js.map +0 -1
  565. package/mail/mail-template-renderer.provider.d.ts +0 -8
  566. package/mail/mail-template-renderer.provider.js +0 -60
  567. package/mail/mail-template-renderer.provider.js.map +0 -1
  568. package/mail/mail-template.provider.d.ts +0 -4
  569. package/mail/mail-template.provider.js +0 -7
  570. package/mail/mail-template.provider.js.map +0 -1
  571. package/mail/mail-template.renderer.d.ts +0 -10
  572. package/mail/mail-template.renderer.js +0 -7
  573. package/mail/mail-template.renderer.js.map +0 -1
  574. package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
  575. package/mail/template-providers/file-mail-template.provider.js +0 -51
  576. package/mail/template-providers/file-mail-template.provider.js.map +0 -1
  577. package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
  578. package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
  579. package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
  580. package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
  581. package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
  582. package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
  583. package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
  584. package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
  585. package/rxjs/compat/first-value-from.d.ts +0 -2
  586. package/rxjs/compat/first-value-from.js +0 -9
  587. package/rxjs/compat/first-value-from.js.map +0 -1
  588. package/rxjs/compat/index.d.ts +0 -1
  589. package/rxjs/compat/index.js.map +0 -1
  590. package/schema/schemas/exclude.d.ts +0 -4
  591. package/schema/schemas/exclude.js.map +0 -1
  592. package/templates/providers/file-template.provider.base.d.ts +0 -12
  593. package/templates/providers/file-template.provider.base.js +0 -50
  594. package/templates/providers/file-template.provider.base.js.map +0 -1
  595. package/templates/providers/file-template.provider.d.ts +0 -22
  596. package/templates/providers/file-template.provider.js.map +0 -1
  597. package/templates/providers/memory-template.provider.base.d.ts +0 -9
  598. package/templates/providers/memory-template.provider.base.js.map +0 -1
  599. package/templates/providers/memory-template.provider.d.ts +0 -4
  600. package/templates/providers/memory-template.provider.js +0 -18
  601. package/templates/providers/memory-template.provider.js.map +0 -1
  602. package/utils/stream/async-iterable-readable.d.ts +0 -13
  603. package/utils/stream/async-iterable-readable.js +0 -40
  604. package/utils/stream/async-iterable-readable.js.map +0 -1
  605. package/utils/stream/async-writable-stream.d.ts +0 -16
  606. package/utils/stream/async-writable-stream.js +0 -41
  607. package/utils/stream/async-writable-stream.js.map +0 -1
  608. package/utils/stream/typed-readable.d.ts +0 -58
  609. package/utils/stream/typed-readable.js +0 -9
  610. package/utils/stream/typed-readable.js.map +0 -1
@@ -8,19 +8,126 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  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
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.PdfService = void 0;
15
+ exports.pdfTemplate = exports.PdfService = exports.PdfTemplate = exports.PdfRenderOptions = exports.PdfMarginObject = exports.PdfFormat = void 0;
13
16
  const container_1 = require("../container");
14
17
  const core_1 = require("../core");
15
18
  const disposable_1 = require("../disposable/disposable");
19
+ const logger_1 = require("../logger");
16
20
  const pool_1 = require("../pool");
21
+ const schema_1 = require("../schema");
17
22
  const templates_1 = require("../templates");
23
+ const finalize_stream_1 = require("../utils/stream/finalize-stream");
24
+ const readable_stream_adapter_1 = require("../utils/stream/readable-stream-adapter");
25
+ const readable_stream_from_promise_1 = require("../utils/stream/readable-stream-from-promise");
26
+ const stream_reader_1 = require("../utils/stream/stream-reader");
18
27
  const type_guards_1 = require("../utils/type-guards");
28
+ const units_1 = require("../utils/units");
19
29
  const puppeteer = require("puppeteer");
30
+ var PdfFormat;
31
+ (function (PdfFormat) {
32
+ PdfFormat["Letter"] = "letter";
33
+ PdfFormat["Legal"] = "legal";
34
+ PdfFormat["Tabloid"] = "tabloid";
35
+ PdfFormat["Ledger"] = "ledger";
36
+ PdfFormat["A0"] = "a0";
37
+ PdfFormat["A1"] = "a1";
38
+ PdfFormat["A2"] = "a2";
39
+ PdfFormat["A3"] = "a3";
40
+ PdfFormat["A4"] = "a4";
41
+ PdfFormat["A5"] = "a5";
42
+ PdfFormat["A6"] = "a6";
43
+ })(PdfFormat = exports.PdfFormat || (exports.PdfFormat = {}));
44
+ class PdfMarginObject {
45
+ }
46
+ __decorate([
47
+ (0, schema_1.Optional)([Number, String]),
48
+ __metadata("design:type", Object)
49
+ ], PdfMarginObject.prototype, "top", void 0);
50
+ __decorate([
51
+ (0, schema_1.Optional)([Number, String]),
52
+ __metadata("design:type", Object)
53
+ ], PdfMarginObject.prototype, "bottom", void 0);
54
+ __decorate([
55
+ (0, schema_1.Optional)([Number, String]),
56
+ __metadata("design:type", Object)
57
+ ], PdfMarginObject.prototype, "right", void 0);
58
+ __decorate([
59
+ (0, schema_1.Optional)([Number, String]),
60
+ __metadata("design:type", Object)
61
+ ], PdfMarginObject.prototype, "left", void 0);
62
+ exports.PdfMarginObject = PdfMarginObject;
63
+ class PdfRenderOptions {
64
+ }
65
+ __decorate([
66
+ (0, schema_1.Optional)(),
67
+ __metadata("design:type", Boolean)
68
+ ], PdfRenderOptions.prototype, "omitDefaultBackground", void 0);
69
+ __decorate([
70
+ (0, schema_1.Optional)(),
71
+ __metadata("design:type", Boolean)
72
+ ], PdfRenderOptions.prototype, "renderBackground", void 0);
73
+ __decorate([
74
+ (0, schema_1.Optional)(),
75
+ __metadata("design:type", Boolean)
76
+ ], PdfRenderOptions.prototype, "landscape", void 0);
77
+ __decorate([
78
+ (0, schema_1.Optional)(),
79
+ (0, schema_1.Enumeration)(PdfFormat),
80
+ __metadata("design:type", String)
81
+ ], PdfRenderOptions.prototype, "format", void 0);
82
+ __decorate([
83
+ (0, schema_1.Optional)([String, Number]),
84
+ __metadata("design:type", Object)
85
+ ], PdfRenderOptions.prototype, "width", void 0);
86
+ __decorate([
87
+ (0, schema_1.Optional)([String, Number]),
88
+ __metadata("design:type", Object)
89
+ ], PdfRenderOptions.prototype, "height", void 0);
90
+ __decorate([
91
+ (0, schema_1.Optional)(),
92
+ __metadata("design:type", Number)
93
+ ], PdfRenderOptions.prototype, "scale", void 0);
94
+ __decorate([
95
+ (0, schema_1.Optional)([String, Number, PdfMarginObject]),
96
+ __metadata("design:type", Object)
97
+ ], PdfRenderOptions.prototype, "margin", void 0);
98
+ __decorate([
99
+ (0, schema_1.Optional)(),
100
+ __metadata("design:type", Boolean)
101
+ ], PdfRenderOptions.prototype, "displayHeaderFooter", void 0);
102
+ __decorate([
103
+ (0, schema_1.Optional)(),
104
+ __metadata("design:type", Boolean)
105
+ ], PdfRenderOptions.prototype, "waitForNetworkIdle", void 0);
106
+ __decorate([
107
+ (0, schema_1.Optional)(),
108
+ __metadata("design:type", String)
109
+ ], PdfRenderOptions.prototype, "headerTemplate", void 0);
110
+ __decorate([
111
+ (0, schema_1.Optional)(),
112
+ __metadata("design:type", String)
113
+ ], PdfRenderOptions.prototype, "footerTemplate", void 0);
114
+ __decorate([
115
+ (0, schema_1.Optional)(),
116
+ __metadata("design:type", Number)
117
+ ], PdfRenderOptions.prototype, "timeout", void 0);
118
+ exports.PdfRenderOptions = PdfRenderOptions;
119
+ class PdfTemplate extends templates_1.Template {
120
+ }
121
+ __decorate([
122
+ (0, schema_1.Optional)(),
123
+ __metadata("design:type", Object)
124
+ ], PdfTemplate.prototype, "options", void 0);
125
+ exports.PdfTemplate = PdfTemplate;
20
126
  let PdfService = class PdfService {
21
- constructor(templateService) {
127
+ constructor(templateService, logger) {
22
128
  this.templateService = templateService;
23
- this.pool = new pool_1.Pool(async () => puppeteer.launch(), async (browser) => browser.close());
129
+ this.logger = logger;
130
+ this.pool = new pool_1.Pool(async () => puppeteer.launch(), async (browser) => browser.close(), logger);
24
131
  }
25
132
  [container_1.afterResolve]() {
26
133
  core_1.disposer.add(this);
@@ -31,52 +138,145 @@ let PdfService = class PdfService {
31
138
  async dispose() {
32
139
  return this.pool.dispose();
33
140
  }
141
+ /**
142
+ * Renders HTML to pdf stream
143
+ * @param html html to render
144
+ * @param options render options
145
+ * @returns pdf stream
146
+ */
147
+ renderHtmlStream(html, options) {
148
+ return this.renderStream(async (page) => page.setContent(html, { waitUntil: (options?.waitForNetworkIdle == true) ? 'networkidle2' : 'load' }), options);
149
+ }
150
+ /**
151
+ * Renders HTML to pdf
152
+ * @param html html to render
153
+ * @param options render options
154
+ * @returns pdf bytes
155
+ */
34
156
  async renderHtml(html, options) {
35
- return this.render(async (page) => page.setContent(html, { waitUntil: (options?.waitForNetworkIdle == true) ? 'networkidle2' : 'load' }), options);
157
+ const stream = this.renderHtmlStream(html, options);
158
+ return (0, stream_reader_1.readBinaryStream)(stream);
159
+ }
160
+ /**
161
+ * Renders an url to pdf stream
162
+ * @param url url to load and render
163
+ * @param options render options
164
+ * @returns pdf stream
165
+ */
166
+ renderUrlStream(url, options) {
167
+ return this.renderStream(async (page) => {
168
+ await page.goto(url, { waitUntil: (options?.waitForNetworkIdle == true) ? 'networkidle2' : 'load' });
169
+ }, options);
36
170
  }
171
+ /**
172
+ * Renders an url to pdf
173
+ * @param url url to load and render
174
+ * @param options render options
175
+ * @returns pdf bytes
176
+ */
37
177
  async renderUrl(url, options) {
38
- return this.render(async (page) => page.goto(url, { waitUntil: (options?.waitForNetworkIdle == true) ? 'networkidle2' : 'load' }), options);
178
+ const stream = this.renderUrlStream(url, options);
179
+ return (0, stream_reader_1.readBinaryStream)(stream);
39
180
  }
181
+ /**
182
+ * Renders a template to pdf
183
+ * @param key template key
184
+ * @param templateContext context for template rendering
185
+ * @param options additional options, overwrites options specified in template
186
+ * @returns pdf bytes
187
+ */
188
+ renderTemplateStream(key, templateContext, options) {
189
+ return this.renderStream(async (page) => {
190
+ const { fields: { header, body, footer }, options: optionsFromTemplate } = await this.templateService.render(key, templateContext);
191
+ await page.setContent(body, { ...optionsFromTemplate, headerTemplate: header, footerTemplate: footer, waitUntil: (options?.waitForNetworkIdle == true) ? 'networkidle2' : 'load', ...options });
192
+ return { ...optionsFromTemplate, headerTemplate: header, footerTemplate: footer, ...options };
193
+ }, options);
194
+ }
195
+ /**
196
+ * Renders a template to pdf
197
+ * @param key template key
198
+ * @param templateContext context for template rendering
199
+ * @param options additional options, overwrites options specified in template
200
+ * @returns pdf bytes
201
+ */
40
202
  async renderTemplate(key, templateContext, options) {
41
- const html = await this.templateService.render(key, templateContext);
42
- return this.renderHtml(html, options);
203
+ const stream = this.renderTemplateStream(key, templateContext, options);
204
+ return (0, stream_reader_1.readBinaryStream)(stream);
43
205
  }
44
- async render(handler, options) {
45
- return this.pool.use(async (browser) => {
46
- const page = await browser.newPage();
206
+ renderStream(handler, options = {}) {
207
+ return (0, readable_stream_from_promise_1.readableStreamFromPromise)(async () => {
208
+ const browser = await this.pool.get();
47
209
  try {
48
- await handler(page);
49
- const margin = (0, type_guards_1.isUndefined)(options?.margin)
50
- ? undefined
51
- : (0, type_guards_1.isObject)(options.margin)
52
- ? options.margin
53
- : {
54
- top: options.margin,
55
- bottom: options.margin,
56
- right: options.margin,
57
- left: options.margin
58
- };
59
- const result = await page.pdf({
60
- format: options?.format ?? 'a4',
61
- scale: options?.scale,
62
- landscape: options?.landscape,
63
- width: options?.width,
64
- height: options?.height,
65
- omitBackground: options?.omitDefaultBackground,
66
- printBackground: options?.renderBackground,
67
- margin
210
+ let page;
211
+ try {
212
+ page = await browser.newPage();
213
+ }
214
+ catch (error) {
215
+ await this.pool.disposeInstance(browser);
216
+ throw error;
217
+ }
218
+ const timeoutRef = setTimeout(() => void page.close().catch((error) => this.logger.error(error)), (options.timeout ?? units_1.millisecondsPerMinute));
219
+ const optionsFromHandler = await handler(page) ?? {};
220
+ const mergedOptions = { ...optionsFromHandler, ...options };
221
+ const createPdfOptions = this.convertOptions(mergedOptions);
222
+ const pdfStream = await page.createPDFStream(createPdfOptions);
223
+ return (0, finalize_stream_1.finalizeStream)((0, readable_stream_adapter_1.getReadableStreamFromIterable)(pdfStream), async () => {
224
+ clearTimeout(timeoutRef);
225
+ try {
226
+ await page.close();
227
+ }
228
+ catch (error) {
229
+ this.logger.error(error);
230
+ throw error;
231
+ }
232
+ finally {
233
+ await this.pool.release(browser);
234
+ }
68
235
  });
69
- return result;
70
236
  }
71
- finally {
72
- await page.close();
237
+ catch (error) {
238
+ await this.pool.release(browser);
239
+ throw error;
73
240
  }
74
241
  });
75
242
  }
243
+ convertOptions(options) {
244
+ const margin = (0, type_guards_1.isUndefined)(options.margin)
245
+ ? undefined
246
+ : (0, type_guards_1.isObject)(options.margin)
247
+ ? options.margin
248
+ : {
249
+ top: options.margin,
250
+ bottom: options.margin,
251
+ right: options.margin,
252
+ left: options.margin
253
+ };
254
+ return {
255
+ format: options.format ?? 'a4',
256
+ scale: options.scale,
257
+ landscape: options.landscape,
258
+ width: options.width,
259
+ height: options.height,
260
+ omitBackground: options.omitDefaultBackground,
261
+ printBackground: options.renderBackground,
262
+ margin,
263
+ displayHeaderFooter: options.displayHeaderFooter ?? ((0, type_guards_1.isDefined)(options.headerTemplate) || (0, type_guards_1.isDefined)(options.footerTemplate)),
264
+ headerTemplate: options.headerTemplate,
265
+ footerTemplate: options.footerTemplate
266
+ };
267
+ }
76
268
  };
77
269
  PdfService = __decorate([
78
270
  (0, container_1.singleton)(),
79
- __metadata("design:paramtypes", [templates_1.TemplateService])
271
+ __param(1, (0, container_1.resolveArg)('PdfService')),
272
+ __metadata("design:paramtypes", [templates_1.TemplateService, logger_1.Logger])
80
273
  ], PdfService);
81
274
  exports.PdfService = PdfService;
275
+ function pdfTemplate(fields, options) {
276
+ return {
277
+ fields,
278
+ options
279
+ };
280
+ }
281
+ exports.pdfTemplate = pdfTemplate;
82
282
  //# sourceMappingURL=pdf.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.service.js","sourceRoot":"","sources":["../../source/pdf/pdf.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf.service.js","sourceRoot":"","sources":["../../source/pdf/pdf.service.ts"],"names":[],"mappings":"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"}
package/pool/pool.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { AsyncDisposable } from "../disposable/disposable";
2
2
  import { disposeAsync } from "../disposable/disposable";
3
+ import type { Logger } from "../logger";
3
4
  export declare type PoolOptions = {
4
5
  /**
5
6
  * maximum number of instances
@@ -7,18 +8,36 @@ export declare type PoolOptions = {
7
8
  */
8
9
  size?: number;
9
10
  };
11
+ export declare type PoolUseOptions = {
12
+ /**
13
+ * Dipose used instance on error instead of reusing it.
14
+ * @default false
15
+ */
16
+ disposeOnError?: boolean;
17
+ };
10
18
  export declare type PoolInstanceFactory<T> = () => T | Promise<T>;
11
- export declare type PoolInstanceDisposer<T> = (instance: T) => void | Promise<void>;
12
- export declare class Pool<T> implements AsyncDisposable {
19
+ export declare type PoolInstanceDisposer<T> = (instance: T) => any | Promise<any>;
20
+ export declare class Pool<T extends object> implements AsyncDisposable {
13
21
  private readonly size;
22
+ private readonly disposeOnError;
14
23
  private readonly freeInstances;
15
24
  private readonly usedInstances;
16
25
  private readonly factory;
17
26
  private readonly disposer;
27
+ private readonly logger;
28
+ private placeholderInstances;
18
29
  private disposed;
19
30
  get length(): number;
20
- constructor(factory: PoolInstanceFactory<T>, disposer: PoolInstanceDisposer<T>, options?: PoolOptions);
31
+ constructor(factory: PoolInstanceFactory<T>, disposer: PoolInstanceDisposer<T>, logger: Logger, options?: PoolOptions);
32
+ get(): Promise<T>;
33
+ release(instance: T): Promise<void>;
34
+ /**
35
+ * Get an instance from the pool and use it
36
+ * @param handler consumer of instance
37
+ * @returns instance
38
+ */
39
+ use<R>(handler: (instance: T) => R | Promise<R>, options?: PoolUseOptions): Promise<R>;
40
+ disposeInstance(instance: T): Promise<void>;
21
41
  dispose(): Promise<void>;
22
42
  [disposeAsync](): Promise<void>;
23
- use<R>(handler: (instance: T) => R | Promise<R>): Promise<R>;
24
43
  }
package/pool/pool.js CHANGED
@@ -4,79 +4,115 @@ exports.Pool = void 0;
4
4
  const data_structures_1 = require("../data-structures");
5
5
  const set_1 = require("../data-structures/set");
6
6
  const disposable_1 = require("../disposable/disposable");
7
+ const type_guards_1 = require("../utils/type-guards");
7
8
  const os_1 = require("os");
8
- const rxjs_1 = require("rxjs");
9
- const placeholder = Symbol('pool placeholder');
10
9
  class Pool {
11
- constructor(factory, disposer, options) {
10
+ constructor(factory, disposer, logger, options) {
12
11
  this.size = options?.size ?? (0, os_1.cpus)().length;
13
12
  this.factory = factory;
14
13
  this.disposer = disposer;
14
+ this.logger = logger;
15
15
  this.freeInstances = new data_structures_1.ArrayList();
16
16
  this.usedInstances = new set_1.Set();
17
+ this.placeholderInstances = 0;
17
18
  this.disposed = false;
18
19
  }
19
20
  get length() {
20
- return this.freeInstances.size + this.usedInstances.size;
21
+ return this.freeInstances.size + this.usedInstances.size + this.placeholderInstances;
21
22
  }
22
- async dispose() {
23
- return this[disposable_1.disposeAsync]();
24
- }
25
- async [disposable_1.disposeAsync]() {
26
- this.disposed = true;
27
- while (this.freeInstances.size > 0) {
28
- const instance = this.freeInstances.removeFirst();
29
- await this.disposer(instance);
30
- }
31
- for (const instance of this.usedInstances) {
32
- if (instance[placeholder] != true) {
33
- await this.disposer(instance);
34
- }
35
- this.usedInstances.delete(instance);
23
+ async get() {
24
+ if (this.disposed) {
25
+ throw new Error('Pool was disposed.');
36
26
  }
37
- }
38
- // eslint-disable-next-line max-lines-per-function, max-statements
39
- async use(handler) {
40
- let instance;
41
27
  if (this.freeInstances.hasItems) {
42
- instance = this.freeInstances.removeFirst();
28
+ const instance = this.freeInstances.removeFirst();
29
+ this.usedInstances.add(instance);
30
+ return instance;
43
31
  }
44
- else {
45
- if (this.length >= this.size) {
46
- await (0, rxjs_1.firstValueFrom)((0, rxjs_1.race)(this.freeInstances.change$, this.usedInstances.change$));
47
- return this.use(handler);
48
- }
49
- const tempInstance = { [placeholder]: true };
50
- this.usedInstances.add(tempInstance);
32
+ if (this.length < this.size) {
33
+ this.placeholderInstances++;
51
34
  try {
52
- instance = await this.factory();
35
+ const newInstance = await this.factory();
53
36
  if (this.disposed) {
54
- await this.disposer(instance);
37
+ await this.disposer(newInstance);
55
38
  throw new Error('Pool was disposed.');
56
39
  }
40
+ this.usedInstances.add(newInstance);
41
+ return newInstance;
57
42
  }
58
43
  finally {
59
- this.usedInstances.delete(tempInstance);
44
+ this.placeholderInstances--;
60
45
  }
61
46
  }
62
- this.usedInstances.add(instance);
47
+ while (!this.freeInstances.hasItems) {
48
+ await this.freeInstances.$onItems;
49
+ }
50
+ return this.get();
51
+ }
52
+ async release(instance) {
53
+ if (!this.usedInstances.has(instance)) {
54
+ throw new Error('Instance is not from this pool.');
55
+ }
56
+ this.usedInstances.delete(instance);
57
+ this.freeInstances.add(instance);
58
+ }
59
+ /**
60
+ * Get an instance from the pool and use it
61
+ * @param handler consumer of instance
62
+ * @returns instance
63
+ */
64
+ async use(handler, options = {}) {
65
+ const instance = await this.get();
63
66
  try {
64
67
  const result = await handler(instance);
68
+ await this.release(instance);
65
69
  return result;
66
70
  }
67
71
  catch (error) {
68
- try {
69
- await this.disposer(instance);
72
+ if (options.disposeOnError == true) {
73
+ try {
74
+ await this.disposeInstance(instance);
75
+ }
76
+ catch (disposeError) {
77
+ this.logger.error(disposeError);
78
+ }
70
79
  }
71
- finally {
72
- this.usedInstances.delete(instance);
80
+ else {
81
+ await this.release(instance);
73
82
  }
74
83
  throw error;
75
84
  }
76
- finally {
85
+ }
86
+ async disposeInstance(instance) {
87
+ let index;
88
+ if (this.usedInstances.has(instance)) {
89
+ this.usedInstances.delete(instance);
90
+ }
91
+ else if ((0, type_guards_1.isDefined)(index = this.freeInstances.indexOf(instance))) {
92
+ this.freeInstances.removeAt(index);
93
+ }
94
+ else {
95
+ throw new Error('Instance is not from this pool.');
96
+ }
97
+ await this.disposer(instance);
98
+ }
99
+ async dispose() {
100
+ return this[disposable_1.disposeAsync]();
101
+ }
102
+ async [disposable_1.disposeAsync]() {
103
+ this.disposed = true;
104
+ if (this.length == 0) {
105
+ return;
106
+ }
107
+ while (this.freeInstances.size > 0) {
108
+ const instance = this.freeInstances.removeFirst();
109
+ await this.disposer(instance);
110
+ }
111
+ for (const instance of this.usedInstances) {
112
+ await this.disposer(instance);
77
113
  this.usedInstances.delete(instance);
78
- this.freeInstances.add(instance);
79
114
  }
115
+ await this[disposable_1.disposeAsync]();
80
116
  }
81
117
  }
82
118
  exports.Pool = Pool;
package/pool/pool.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../source/pool/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../source/pool/pool.ts"],"names":[],"mappings":";;;AAAA,wDAA8C;AAC9C,gDAA4C;AAE5C,yDAAuD;AAEvD,sDAAgD;AAChD,2BAA0B;AAqB1B,MAAa,IAAI;IAgBf,YAAY,OAA+B,EAAE,QAAiC,EAAE,MAAc,EAAE,OAAqB;QACnH,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,IAAA,SAAI,GAAE,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,aAAa,GAAG,IAAI,2BAAS,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,SAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAdD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACvF,CAAC;IAcD,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAClD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEjC,OAAO,QAAQ,CAAC;SACjB;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE;YAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAEzC,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;oBACjC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;iBACvC;gBAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACpC,OAAO,WAAW,CAAC;aACpB;oBACO;gBACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;SACF;QAED,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YACnC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;SACnC;QAED,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAW;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAGD;;;;OAIG;IACH,KAAK,CAAC,GAAG,CAAI,OAAwC,EAAE,UAA0B,EAAE;QACjF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;QAElC,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE7B,OAAO,MAAM,CAAC;SACf;QACD,OAAO,KAAK,EAAE;YACZ,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,EAAE;gBAClC,IAAI;oBACF,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;iBACtC;gBACD,OAAO,YAAY,EAAE;oBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAqB,CAAC,CAAC;iBAC1C;aACF;iBACI;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC9B;YAED,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAW;QAC/B,IAAI,KAAyB,CAAC;QAE9B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACpC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACrC;aACI,IAAI,IAAA,uBAAS,EAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE;YAChE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACpC;aACI;YACH,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,yBAAY,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,CAAC,yBAAY,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YACpB,OAAO;SACR;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;YACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACrC;QAED,MAAM,IAAI,CAAC,yBAAY,CAAC,EAAE,CAAC;IAC7B,CAAC;CACF;AAlJD,oBAkJC"}
@@ -4,25 +4,12 @@ export declare const enum PromiseState {
4
4
  Rejected = 2
5
5
  }
6
6
  export declare class DeferredPromise<T = void> implements Promise<T> {
7
- static all: {
8
- <T_1>(values: Iterable<T_1 | PromiseLike<T_1>>): Promise<Awaited<T_1>[]>;
9
- <T_2 extends readonly unknown[] | []>(values: T_2): Promise<{ -readonly [P in keyof T_2]: Awaited<T_2[P]>; }>;
10
- };
11
- static race: {
12
- <T_1>(values: Iterable<T_1 | PromiseLike<T_1>>): Promise<Awaited<T_1>>;
13
- <T_2 extends readonly unknown[] | []>(values: T_2): Promise<Awaited<T_2[number]>>;
14
- };
15
- static resolve: {
16
- (): Promise<void>;
17
- <T_1>(value: T_1 | PromiseLike<T_1>): Promise<T_1>;
18
- };
19
- static reject: <T_1 = never>(reason?: any) => Promise<T_1>;
20
- static [Symbol.species]: PromiseConstructor;
7
+ static readonly [Symbol.species]: PromiseConstructor;
21
8
  private backingPromise;
22
9
  private resolvePromise;
23
10
  private rejectPromise;
24
11
  private state;
25
- readonly [Symbol.toStringTag]: 'DeferredPromise';
12
+ readonly [Symbol.toStringTag] = "DeferredPromise";
26
13
  get resolved(): boolean;
27
14
  get rejected(): boolean;
28
15
  get pending(): boolean;
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
- var _a;
2
+ var _a, _b;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.DeferredPromise = void 0;
5
- const promiseConstructor = Promise;
6
5
  class DeferredPromise {
7
6
  constructor(executor) {
8
- this[Symbol.toStringTag] = 'DeferredPromise';
7
+ this[_b] = 'DeferredPromise';
9
8
  this.reset();
10
9
  if (executor != undefined) {
11
10
  executor((value) => this.resolve(value), (reason) => this.reject(reason));
@@ -50,7 +49,7 @@ class DeferredPromise {
50
49
  this.state = 2 /* PromiseState.Rejected */;
51
50
  }
52
51
  reset() {
53
- this.backingPromise = new promiseConstructor((resolve, reject) => {
52
+ this.backingPromise = new Promise((resolve, reject) => {
54
53
  this.resolvePromise = resolve;
55
54
  this.rejectPromise = reject;
56
55
  });
@@ -66,10 +65,6 @@ class DeferredPromise {
66
65
  }
67
66
  }
68
67
  exports.DeferredPromise = DeferredPromise;
69
- _a = Symbol.species, Symbol.toStringTag;
70
- DeferredPromise.all = promiseConstructor.all.bind(promiseConstructor);
71
- DeferredPromise.race = promiseConstructor.race.bind(promiseConstructor);
72
- DeferredPromise.resolve = promiseConstructor.resolve.bind(promiseConstructor);
73
- DeferredPromise.reject = promiseConstructor.reject.bind(promiseConstructor);
74
- DeferredPromise[_a] = promiseConstructor;
68
+ _a = Symbol.species, _b = Symbol.toStringTag;
69
+ DeferredPromise[_a] = Promise;
75
70
  //# sourceMappingURL=deferred-promise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-promise.js","sourceRoot":"","sources":["../../source/promise/deferred-promise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deferred-promise.js","sourceRoot":"","sources":["../../source/promise/deferred-promise.ts"],"names":[],"mappings":";;;;AAMA,MAAa,eAAe;IA2B1B,YAAY,QAAiG;QAlBpG,QAAoB,GAAG,iBAAiB,CAAC;QAmBhD,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3E;IACH,CAAC;IAtBD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,iCAAyB,CAAC;IAC7C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,iCAAyB,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,gCAAwB,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,gCAAwB,CAAC;IAC5C,CAAC;IAUD,qEAAqE;IACrE,IAAI,CAAiC,WAAiF,EAAE,UAAmF;QACzM,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAkB,UAAiF;QACtG,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,qEAAqE;IACrE,OAAO,CAAC,SAA2C;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,CAAC,KAAyB;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,gCAAwB,CAAC;IACrC,CAAC;IAED,eAAe,CAAC,KAAyB;QACvC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,MAAM,CAAC,MAAgB;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,gCAAwB,CAAC;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,+BAAuB,CAAC;IACpC,CAAC;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;IACH,CAAC;;AAtFH,0CAuFC;KAtFkB,MAAM,CAAC,OAAO,OAQrB,MAAM,CAAC,WAAW;AARZ,mBAAgB,GAAG,OAAO,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './cancelable-promise';
2
2
  export * from './deferred-promise';
3
+ export * from './lazy-promise';
package/promise/index.js CHANGED
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./cancelable-promise"), exports);
18
18
  __exportStar(require("./deferred-promise"), exports);
19
+ __exportStar(require("./lazy-promise"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/promise/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/promise/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,qDAAmC;AACnC,iDAA+B"}