@c9up/ream 0.2.1 → 0.2.3

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 (163) hide show
  1. package/dist/Ignitor.d.ts.map +1 -1
  2. package/dist/Ignitor.js +15 -1
  3. package/dist/Ignitor.js.map +1 -1
  4. package/dist/container/Container.d.ts +18 -0
  5. package/dist/container/Container.d.ts.map +1 -1
  6. package/dist/container/Container.js +29 -0
  7. package/dist/container/Container.js.map +1 -1
  8. package/dist/env/Env.d.ts +11 -0
  9. package/dist/env/Env.d.ts.map +1 -1
  10. package/dist/env/Env.js +33 -17
  11. package/dist/env/Env.js.map +1 -1
  12. package/dist/env/Secret.d.ts +17 -0
  13. package/dist/env/Secret.d.ts.map +1 -1
  14. package/dist/env/Secret.js +23 -0
  15. package/dist/env/Secret.js.map +1 -1
  16. package/dist/errors/aggregate.d.ts +27 -0
  17. package/dist/errors/aggregate.d.ts.map +1 -0
  18. package/dist/errors/aggregate.js +27 -0
  19. package/dist/errors/aggregate.js.map +1 -0
  20. package/dist/events/Emitter.d.ts +18 -1
  21. package/dist/events/Emitter.d.ts.map +1 -1
  22. package/dist/events/Emitter.js +25 -6
  23. package/dist/events/Emitter.js.map +1 -1
  24. package/dist/events/services/main.d.ts.map +1 -1
  25. package/dist/events/services/main.js +3 -10
  26. package/dist/events/services/main.js.map +1 -1
  27. package/dist/helpers/MessageBuilder.d.ts +29 -0
  28. package/dist/helpers/MessageBuilder.d.ts.map +1 -0
  29. package/dist/helpers/MessageBuilder.js +63 -0
  30. package/dist/helpers/MessageBuilder.js.map +1 -0
  31. package/dist/helpers/VerificationToken.d.ts +56 -0
  32. package/dist/helpers/VerificationToken.d.ts.map +1 -0
  33. package/dist/helpers/VerificationToken.js +70 -0
  34. package/dist/helpers/VerificationToken.js.map +1 -0
  35. package/dist/helpers/defineStaticProperty.d.ts +15 -0
  36. package/dist/helpers/defineStaticProperty.d.ts.map +1 -0
  37. package/dist/helpers/defineStaticProperty.js +47 -0
  38. package/dist/helpers/defineStaticProperty.js.map +1 -0
  39. package/dist/helpers/duration.d.ts +20 -0
  40. package/dist/helpers/duration.d.ts.map +1 -1
  41. package/dist/helpers/duration.js +71 -0
  42. package/dist/helpers/duration.js.map +1 -1
  43. package/dist/helpers/fs.d.ts +39 -0
  44. package/dist/helpers/fs.d.ts.map +1 -0
  45. package/dist/helpers/fs.js +70 -0
  46. package/dist/helpers/fs.js.map +1 -0
  47. package/dist/helpers/index.d.ts +8 -0
  48. package/dist/helpers/index.d.ts.map +1 -1
  49. package/dist/helpers/index.js +7 -0
  50. package/dist/helpers/index.js.map +1 -1
  51. package/dist/helpers/safeTiming.d.ts +14 -0
  52. package/dist/helpers/safeTiming.d.ts.map +1 -0
  53. package/dist/helpers/safeTiming.js +42 -0
  54. package/dist/helpers/safeTiming.js.map +1 -0
  55. package/dist/helpers/string.d.ts +85 -0
  56. package/dist/helpers/string.d.ts.map +1 -1
  57. package/dist/helpers/string.js +127 -1
  58. package/dist/helpers/string.js.map +1 -1
  59. package/dist/http/Exception.d.ts +76 -6
  60. package/dist/http/Exception.d.ts.map +1 -1
  61. package/dist/http/Exception.js +178 -85
  62. package/dist/http/Exception.js.map +1 -1
  63. package/dist/http/HttpContext.d.ts +14 -1
  64. package/dist/http/HttpContext.d.ts.map +1 -1
  65. package/dist/http/HttpContext.js.map +1 -1
  66. package/dist/http/RedirectBuilder.d.ts +16 -0
  67. package/dist/http/RedirectBuilder.d.ts.map +1 -1
  68. package/dist/http/RedirectBuilder.js +34 -9
  69. package/dist/http/RedirectBuilder.js.map +1 -1
  70. package/dist/http/Request.d.ts.map +1 -1
  71. package/dist/http/Request.js +5 -17
  72. package/dist/http/Request.js.map +1 -1
  73. package/dist/index.d.ts +11 -4
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +9 -4
  76. package/dist/index.js.map +1 -1
  77. package/dist/router/Router.d.ts +54 -0
  78. package/dist/router/Router.d.ts.map +1 -1
  79. package/dist/router/Router.js +73 -4
  80. package/dist/router/Router.js.map +1 -1
  81. package/dist/services/app.d.ts.map +1 -1
  82. package/dist/services/app.js +3 -21
  83. package/dist/services/app.js.map +1 -1
  84. package/dist/services/console.d.ts.map +1 -1
  85. package/dist/services/console.js +3 -19
  86. package/dist/services/console.js.map +1 -1
  87. package/dist/services/createServiceProxy.d.ts +19 -0
  88. package/dist/services/createServiceProxy.d.ts.map +1 -0
  89. package/dist/services/createServiceProxy.js +44 -0
  90. package/dist/services/createServiceProxy.js.map +1 -0
  91. package/dist/services/router.d.ts.map +1 -1
  92. package/dist/services/router.js +3 -12
  93. package/dist/services/router.js.map +1 -1
  94. package/dist/services/server.d.ts.map +1 -1
  95. package/dist/services/server.js +3 -22
  96. package/dist/services/server.js.map +1 -1
  97. package/dist/session/ReadOnlyValuesStore.d.ts +11 -0
  98. package/dist/session/ReadOnlyValuesStore.d.ts.map +1 -1
  99. package/dist/session/ReadOnlyValuesStore.js +17 -0
  100. package/dist/session/ReadOnlyValuesStore.js.map +1 -1
  101. package/dist/session/Session.d.ts +11 -3
  102. package/dist/session/Session.d.ts.map +1 -1
  103. package/dist/session/Session.js +15 -6
  104. package/dist/session/Session.js.map +1 -1
  105. package/dist/session/SessionMiddleware.js +2 -1
  106. package/dist/session/SessionMiddleware.js.map +1 -1
  107. package/dist/session/errors.d.ts +25 -0
  108. package/dist/session/errors.d.ts.map +1 -0
  109. package/dist/session/errors.js +32 -0
  110. package/dist/session/errors.js.map +1 -0
  111. package/dist/types/authenticators.d.ts +24 -0
  112. package/dist/types/authenticators.d.ts.map +1 -0
  113. package/dist/types/authenticators.js +2 -0
  114. package/dist/types/authenticators.js.map +1 -0
  115. package/dist/types/container.d.ts +64 -0
  116. package/dist/types/container.d.ts.map +1 -0
  117. package/dist/types/container.js +23 -0
  118. package/dist/types/container.js.map +1 -0
  119. package/dist/types/index.d.ts +10 -0
  120. package/dist/types/index.d.ts.map +1 -0
  121. package/dist/types/index.js +9 -0
  122. package/dist/types/index.js.map +1 -0
  123. package/events.darwin-arm64.node +0 -0
  124. package/events.darwin-x64.node +0 -0
  125. package/events.linux-arm64-gnu.node +0 -0
  126. package/events.linux-x64-gnu.node +0 -0
  127. package/events.win32-x64-msvc.node +0 -0
  128. package/index.win32-x64-msvc.node +0 -0
  129. package/package.json +13 -1
  130. package/scheduler.win32-x64-msvc.node +0 -0
  131. package/src/Ignitor.ts +15 -1
  132. package/src/container/Container.ts +31 -0
  133. package/src/env/Env.ts +34 -15
  134. package/src/env/Secret.ts +26 -0
  135. package/src/errors/aggregate.ts +36 -0
  136. package/src/events/Emitter.ts +30 -5
  137. package/src/events/services/main.ts +6 -12
  138. package/src/helpers/MessageBuilder.ts +69 -0
  139. package/src/helpers/VerificationToken.ts +93 -0
  140. package/src/helpers/defineStaticProperty.ts +51 -0
  141. package/src/helpers/duration.ts +75 -0
  142. package/src/helpers/fs.ts +104 -0
  143. package/src/helpers/index.ts +8 -0
  144. package/src/helpers/safeTiming.ts +45 -0
  145. package/src/helpers/string.ts +145 -1
  146. package/src/http/Exception.ts +225 -99
  147. package/src/http/HttpContext.ts +14 -1
  148. package/src/http/RedirectBuilder.ts +38 -8
  149. package/src/http/Request.ts +5 -16
  150. package/src/index.ts +24 -2
  151. package/src/router/Router.ts +87 -4
  152. package/src/services/app.ts +6 -23
  153. package/src/services/console.ts +6 -21
  154. package/src/services/createServiceProxy.ts +47 -0
  155. package/src/services/router.ts +6 -14
  156. package/src/services/server.ts +6 -24
  157. package/src/session/ReadOnlyValuesStore.ts +20 -0
  158. package/src/session/Session.ts +16 -11
  159. package/src/session/SessionMiddleware.ts +2 -1
  160. package/src/session/errors.ts +39 -0
  161. package/src/types/authenticators.ts +24 -0
  162. package/src/types/container.ts +66 -0
  163. package/src/types/index.ts +10 -0
@@ -221,12 +221,29 @@ export declare class Emitter {
221
221
  * emitter.on(TaskDeclared, LogTaskEvent)
222
222
  */
223
223
  export declare class BaseEvent {
224
+ /**
225
+ * Subclasses declare their own payload parameters; this signature only has
226
+ * to be wide enough for `dispatch` to forward them (AdonisJS does the same).
227
+ */
228
+ constructor(..._args: unknown[]);
224
229
  static eventName?: string;
225
- private static _emitter;
230
+ /**
231
+ * The emitter events dispatch through. Public, as in AdonisJS: a test swaps
232
+ * it to capture dispatches without booting a provider.
233
+ */
234
+ static emitter: Emitter | undefined;
226
235
  /** @internal Wire the emitter (called by EventsProvider). */
227
236
  static useEmitter(emitter: Emitter): void;
228
237
  /** @internal Ownership-guarded reset — only clears if `emitter` is still the active one. */
229
238
  static resetEmitter(emitter: Emitter): void;
239
+ /**
240
+ * Construct and dispatch in one call — `OrderShipped.dispatch(order)`.
241
+ *
242
+ * The AdonisJS idiom, and the reason `emit()` alone is not enough: an event
243
+ * is almost always built only to be emitted, and naming the class twice to
244
+ * do it is what the static removes.
245
+ */
246
+ static dispatch<T extends typeof BaseEvent>(this: T, ...args: ConstructorParameters<T>): Promise<void>;
230
247
  /**
231
248
  * Dispatch this event instance via the wired emitter.
232
249
  * No-op if no emitter is wired (test/standalone mode).
@@ -1 +1 @@
1
- {"version":3,"file":"Emitter.d.ts","sourceRoot":"","sources":["../../src/events/Emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Emitter.d.ts","sourceRoot":"","sources":["../../src/events/Emitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,KAAK,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAK3C;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACvC;AAED,KAAK,gBAAgB,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAEhE,KAAK,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAEjE,KAAK,mBAAmB,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;AAElF,KAAK,QAAQ,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAA;AAEnE;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACzD;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,eAAe,CAAA;AAE/C;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1D,qBAAa,OAAO;;IAClB,OAAO,CAAC,GAAG,CAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,eAAe,CAAuC;gBAQlD,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,eAAe;IAOrD;;;;OAIG;IACH,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,mBAAmB;IAC7E;;;;;;;;OAQG;IACH,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,mBAAmB;IAqBlE;;;;;OAKG;IACH,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;IAQrD;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;IAM/F,wDAAwD;IACxD,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvD,qDAAqD;IACrD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAOhE,0DAA0D;IAC1D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI;IAQ9C,uDAAuD;IACvD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI;IAIxD,oEAAoE;IACpE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAInC,yEAAyE;IACzE,iBAAiB,IAAI,IAAI;IAKzB;;;;;;OAMG;IACH,IAAI,eAAe,IAAI,GAAG,CAAC,gBAAgB,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,CAKhE;IAED,kFAAkF;IAClF,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IA0CrC;;;;OAIG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D;;;;;;;;;;OAUG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvD,iDAAiD;IACjD,OAAO,CAAC,SAAS;IAgBjB;;OAEG;IACG,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9D;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,GAAG,YAAY;IAShD,qDAAqD;IACrD,OAAO,IAAI,IAAI;IAqBf;;;;;;OAMG;IACG,KAAK,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACzF,KAAK,CACT,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAyD/B;;;;;;;;;OASG;IACG,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAchG,6EAA6E;IAC7E,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAM3D;;;;OAIG;IACG,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAYrF;;;;;;;OAOG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KAAK,IAAI,GACtE,IAAI;IAMP;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIlC;;;;OAIG;IACH,kBAAkB,IAAI,IAAI;IAI1B,4DAA4D;IAC5D,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAetC;;OAEG;IACH,YAAY,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,MAAM,GAAG,OAAO;IAQxD,iDAAiD;IAC3C,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG3C;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,SAAS;IACpB;;;OAGG;gBACS,GAAG,KAAK,EAAE,OAAO,EAAE;IAE/B,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAEnC,6DAA6D;IAC7D,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,4FAA4F;IAC5F,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI3C;;;;;;OAMG;WACU,QAAQ,CAAC,CAAC,SAAS,OAAO,SAAS,EAC9C,IAAI,EAAE,CAAC,EACP,GAAG,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAChC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ5B"}
@@ -485,26 +485,45 @@ export class Emitter {
485
485
  * emitter.on(TaskDeclared, LogTaskEvent)
486
486
  */
487
487
  export class BaseEvent {
488
+ /**
489
+ * Subclasses declare their own payload parameters; this signature only has
490
+ * to be wide enough for `dispatch` to forward them (AdonisJS does the same).
491
+ */
492
+ constructor(..._args) { }
488
493
  static eventName;
489
- static _emitter;
494
+ /**
495
+ * The emitter events dispatch through. Public, as in AdonisJS: a test swaps
496
+ * it to capture dispatches without booting a provider.
497
+ */
498
+ static emitter;
490
499
  /** @internal Wire the emitter (called by EventsProvider). */
491
500
  static useEmitter(emitter) {
492
- BaseEvent._emitter = emitter;
501
+ BaseEvent.emitter = emitter;
493
502
  }
494
503
  /** @internal Ownership-guarded reset — only clears if `emitter` is still the active one. */
495
504
  static resetEmitter(emitter) {
496
- if (BaseEvent._emitter === emitter)
497
- BaseEvent._emitter = undefined;
505
+ if (BaseEvent.emitter === emitter)
506
+ BaseEvent.emitter = undefined;
507
+ }
508
+ /**
509
+ * Construct and dispatch in one call — `OrderShipped.dispatch(order)`.
510
+ *
511
+ * The AdonisJS idiom, and the reason `emit()` alone is not enough: an event
512
+ * is almost always built only to be emitted, and naming the class twice to
513
+ * do it is what the static removes.
514
+ */
515
+ static async dispatch(...args) {
516
+ await new this(...args).emit();
498
517
  }
499
518
  /**
500
519
  * Dispatch this event instance via the wired emitter.
501
520
  * No-op if no emitter is wired (test/standalone mode).
502
521
  */
503
522
  async emit() {
504
- if (!BaseEvent._emitter)
523
+ if (!BaseEvent.emitter)
505
524
  return;
506
525
  try {
507
- await BaseEvent._emitter.dispatchEvent(this);
526
+ await BaseEvent.emitter.dispatchEvent(this);
508
527
  }
509
528
  catch (err) {
510
529
  process.stderr.write(`[events] dispatch error for ${this.constructor.name}: ${err}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../src/events/Emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Emitter.js","sourceRoot":"","sources":["../../src/events/Emitter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/events/services/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAI5C,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE9C;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,IAAI,OAAO,GAAG,SAAS,CAEhD;AAED,QAAA,MAAM,OAAO,EAAE,OAWb,CAAA;AAEF,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/events/services/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAI5C,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAE9C;AAED,8DAA8D;AAC9D,wBAAgB,UAAU,IAAI,OAAO,GAAG,SAAS,CAEhD;AAED,QAAA,MAAM,OAAO,EAAE,OAId,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -8,6 +8,7 @@
8
8
  *
9
9
  * Populated by `EventsProvider.boot()`.
10
10
  */
11
+ import { createServiceProxy } from '../../services/createServiceProxy.js';
11
12
  let instance;
12
13
  /** @internal Bind the singleton (called by EventsProvider). */
13
14
  export function setEmitter(next) {
@@ -17,15 +18,7 @@ export function setEmitter(next) {
17
18
  export function getEmitter() {
18
19
  return instance;
19
20
  }
20
- const emitter = new Proxy({}, {
21
- get(_target, prop) {
22
- if (!instance) {
23
- throw new Error('[ream:events] Emitter singleton accessed before EventsProvider.boot() ran. ' +
24
- 'Check that `@c9up/ream/events/provider` is listed in your reamrc.ts providers.');
25
- }
26
- const value = Reflect.get(instance, prop, instance);
27
- return typeof value === 'function' ? value.bind(instance) : value;
28
- },
29
- });
21
+ const emitter = createServiceProxy(() => instance, '[ream:events] Emitter singleton accessed before EventsProvider.boot() ran. ' +
22
+ 'Check that `@c9up/ream/events/provider` is listed in your reamrc.ts providers.');
30
23
  export default emitter;
31
24
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/events/services/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,IAAI,QAA6B,CAAA;AAEjC,+DAA+D;AAC/D,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,QAAQ,GAAG,IAAI,CAAA;AACjB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,OAAO,GAAY,IAAI,KAAK,CAAC,EAAa,EAAE;IAChD,GAAG,CAAC,OAAO,EAAE,IAAI;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,6EAA6E;gBAC3E,gFAAgF,CACnF,CAAA;QACH,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QACnD,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACnE,CAAC;CACF,CAAC,CAAA;AAEF,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/events/services/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAGzE,IAAI,QAA6B,CAAA;AAEjC,+DAA+D;AAC/D,MAAM,UAAU,UAAU,CAAC,IAAa;IACtC,QAAQ,GAAG,IAAI,CAAA;AACjB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,UAAU;IACxB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,OAAO,GAAY,kBAAkB,CACzC,GAAG,EAAE,CAAC,QAAQ,EACd,6EAA6E;IAC3E,gFAAgF,CACnF,CAAA;AAED,eAAe,OAAO,CAAA"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Wrap a value with an expiry and a purpose before it is signed or encrypted.
3
+ *
4
+ * The signature on a token proves it was issued by this application. It does
5
+ * NOT prove the token is still valid, nor that it was issued for the job it is
6
+ * being presented for — a signed password-reset token would otherwise pass as a
7
+ * signed email-verification token. Those two claims travel inside the payload,
8
+ * which is why they are added before signing rather than checked after.
9
+ *
10
+ * Ported from `@poppinss/utils`; `CookieSigner` and `SignedUrl` sign what this
11
+ * produces.
12
+ */
13
+ export declare class MessageBuilder {
14
+ /**
15
+ * Serialise `message`, optionally stamped with an expiry and a purpose.
16
+ *
17
+ * @param expiresIn - a duration (`'2 hours'`) or a number of milliseconds.
18
+ */
19
+ build(message: unknown, expiresIn?: string | number, purpose?: string): string;
20
+ /**
21
+ * Read an envelope back, or `null` when it is malformed, expired, or was
22
+ * issued for a different purpose.
23
+ *
24
+ * Never throws: every failure is the same `null`, so a caller cannot
25
+ * accidentally tell "tampered" from "expired" and leak which it was.
26
+ */
27
+ verify<T = unknown>(payload: string, purpose?: string): T | null;
28
+ }
29
+ //# sourceMappingURL=MessageBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBuilder.d.ts","sourceRoot":"","sources":["../../src/helpers/MessageBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,qBAAa,cAAc;IACzB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;IAS9E;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;CAwBjE"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Wrap a value with an expiry and a purpose before it is signed or encrypted.
3
+ *
4
+ * The signature on a token proves it was issued by this application. It does
5
+ * NOT prove the token is still valid, nor that it was issued for the job it is
6
+ * being presented for — a signed password-reset token would otherwise pass as a
7
+ * signed email-verification token. Those two claims travel inside the payload,
8
+ * which is why they are added before signing rather than checked after.
9
+ *
10
+ * Ported from `@poppinss/utils`; `CookieSigner` and `SignedUrl` sign what this
11
+ * produces.
12
+ */
13
+ import { milliseconds } from './duration.js';
14
+ export class MessageBuilder {
15
+ /**
16
+ * Serialise `message`, optionally stamped with an expiry and a purpose.
17
+ *
18
+ * @param expiresIn - a duration (`'2 hours'`) or a number of milliseconds.
19
+ */
20
+ build(message, expiresIn, purpose) {
21
+ const envelope = { message };
22
+ if (purpose !== undefined)
23
+ envelope.purpose = purpose;
24
+ if (expiresIn !== undefined) {
25
+ envelope.expiryDate = new Date(Date.now() + milliseconds.parse(expiresIn)).toISOString();
26
+ }
27
+ return JSON.stringify(envelope);
28
+ }
29
+ /**
30
+ * Read an envelope back, or `null` when it is malformed, expired, or was
31
+ * issued for a different purpose.
32
+ *
33
+ * Never throws: every failure is the same `null`, so a caller cannot
34
+ * accidentally tell "tampered" from "expired" and leak which it was.
35
+ */
36
+ verify(payload, purpose) {
37
+ let parsed;
38
+ try {
39
+ parsed = JSON.parse(payload);
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ if (parsed === null || typeof parsed !== 'object')
45
+ return null;
46
+ if (!('message' in parsed) || parsed.message === undefined)
47
+ return null;
48
+ const envelopePurpose = 'purpose' in parsed ? parsed.purpose : undefined;
49
+ if (envelopePurpose !== purpose)
50
+ return null;
51
+ if ('expiryDate' in parsed && typeof parsed.expiryDate === 'string') {
52
+ const expiresAt = new Date(parsed.expiryDate);
53
+ // An unparseable date counts as expired: a token whose expiry cannot be
54
+ // read is a token whose expiry cannot be enforced.
55
+ if (Number.isNaN(expiresAt.getTime()) || expiresAt <= new Date())
56
+ return null;
57
+ }
58
+ // The caller declares the shape it put in — the same contract as
59
+ // `session.get<T>()`, over a payload that is untyped by nature.
60
+ return parsed.message;
61
+ }
62
+ }
63
+ //# sourceMappingURL=MessageBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageBuilder.js","sourceRoot":"","sources":["../../src/helpers/MessageBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAS5C,MAAM,OAAO,cAAc;IACzB;;;;OAIG;IACH,KAAK,CAAC,OAAgB,EAAE,SAA2B,EAAE,OAAgB;QACnE,MAAM,QAAQ,GAAa,EAAE,OAAO,EAAE,CAAA;QACtC,IAAI,OAAO,KAAK,SAAS;YAAE,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAA;QACrD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,QAAQ,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAc,OAAe,EAAE,OAAgB;QACnD,IAAI,MAAe,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC9D,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAEvE,MAAM,eAAe,GAAG,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;QACxE,IAAI,eAAe,KAAK,OAAO;YAAE,OAAO,IAAI,CAAA;QAE5C,IAAI,YAAY,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC7C,wEAAwE;YACxE,mDAAmD;YACnD,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,SAAS,IAAI,IAAI,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAA;QAC/E,CAAC;QAED,iEAAiE;QACjE,gEAAgE;QAChE,OAAO,MAAM,CAAC,OAAY,CAAA;IAC5B,CAAC;CACF"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * The base class for opaque, single-use tokens — password resets, email
3
+ * verification, magic links.
4
+ *
5
+ * The shape it enforces is the point. The token handed to the user is
6
+ * `<identifier>.<secret>`, and only the SHA-256 of the secret is stored. A
7
+ * database leak therefore yields hashes, not usable tokens, and the identifier
8
+ * travels alongside so verification is one indexed lookup rather than a scan.
9
+ *
10
+ * Comparison goes through a constant-time equality: comparing hashes with `===`
11
+ * leaks their common prefix through timing, which is enough to forge one.
12
+ *
13
+ * Ported from `@adonisjs/core/helpers` — subclass it and add the persistence.
14
+ */
15
+ import { Secret } from '../env/Secret.js';
16
+ export declare abstract class VerificationToken {
17
+ /** Row identifier, as stored. */
18
+ identifier: string | number | bigint;
19
+ /** Who the token belongs to. */
20
+ tokenableId: string | number | bigint;
21
+ /** SHA-256 of the secret — the only half that is persisted. */
22
+ hash: string;
23
+ /** When the token stops being accepted. */
24
+ expiresAt: Date;
25
+ /** The full token, present only on the instance that just created it. */
26
+ value?: Secret<string>;
27
+ /**
28
+ * Split a presented token back into its identifier and secret.
29
+ *
30
+ * Returns `null` for anything malformed rather than throwing: the input is
31
+ * attacker-controlled, and every rejection should look the same.
32
+ */
33
+ static decode(value: string): {
34
+ identifier: string;
35
+ secret: Secret<string>;
36
+ } | null;
37
+ /** A fresh secret and its hash. */
38
+ static seed(size: number): {
39
+ secret: Secret<string>;
40
+ hash: string;
41
+ };
42
+ /** A seed plus the owner and an expiry, ready to be persisted. */
43
+ static createTransientToken(userId: string | number | bigint, size: number, expiresIn: string | number): {
44
+ userId: string | number | bigint;
45
+ expiresAt: Date;
46
+ secret: Secret<string>;
47
+ hash: string;
48
+ };
49
+ /** Build the public `<identifier>.<secret>` value, after the row has an id. */
50
+ protected computeValue(secret: Secret<string>): void;
51
+ /** Whether the expiry has passed. */
52
+ isExpired(): boolean;
53
+ /** Whether `secret` hashes to the stored hash, compared in constant time. */
54
+ verify(secret: Secret<string>): boolean;
55
+ }
56
+ //# sourceMappingURL=VerificationToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationToken.d.ts","sourceRoot":"","sources":["../../src/helpers/VerificationToken.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAMzC,8BAAsB,iBAAiB;IACrC,iCAAiC;IACzB,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAC5C,gCAAgC;IACxB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAC7C,+DAA+D;IACvD,IAAI,EAAE,MAAM,CAAA;IACpB,2CAA2C;IACnC,SAAS,EAAE,IAAI,CAAA;IACvB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAEtB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI;IAUnF,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAQnE,kEAAkE;IAClE,MAAM,CAAC,oBAAoB,CACzB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAAG,MAAM,GACzB;QACD,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;QAChC,SAAS,EAAE,IAAI,CAAA;QACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QACtB,IAAI,EAAE,MAAM,CAAA;KACb;IAMD,+EAA+E;IAC/E,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI;IAMpD,qCAAqC;IACrC,SAAS,IAAI,OAAO;IAIpB,6EAA6E;IAC7E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO;CAIxC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * The base class for opaque, single-use tokens — password resets, email
3
+ * verification, magic links.
4
+ *
5
+ * The shape it enforces is the point. The token handed to the user is
6
+ * `<identifier>.<secret>`, and only the SHA-256 of the secret is stored. A
7
+ * database leak therefore yields hashes, not usable tokens, and the identifier
8
+ * travels alongside so verification is one indexed lookup rather than a scan.
9
+ *
10
+ * Comparison goes through a constant-time equality: comparing hashes with `===`
11
+ * leaks their common prefix through timing, which is enough to forge one.
12
+ *
13
+ * Ported from `@adonisjs/core/helpers` — subclass it and add the persistence.
14
+ */
15
+ import { createHash } from 'node:crypto';
16
+ import { Secret } from '../env/Secret.js';
17
+ import { base64 } from './base64.js';
18
+ import { seconds } from './duration.js';
19
+ import { safeEqual } from './safeEqual.js';
20
+ import { random } from './string.js';
21
+ export class VerificationToken {
22
+ /** The full token, present only on the instance that just created it. */
23
+ value;
24
+ /**
25
+ * Split a presented token back into its identifier and secret.
26
+ *
27
+ * Returns `null` for anything malformed rather than throwing: the input is
28
+ * attacker-controlled, and every rejection should look the same.
29
+ */
30
+ static decode(value) {
31
+ if (typeof value !== 'string' || value.length === 0)
32
+ return null;
33
+ const [identifier, ...rest] = value.split('.');
34
+ if (!identifier || rest.length === 0)
35
+ return null;
36
+ const decodedIdentifier = base64.urlDecode(identifier);
37
+ const decodedSecret = base64.urlDecode(rest.join('.'));
38
+ if (!decodedIdentifier || !decodedSecret)
39
+ return null;
40
+ return { identifier: decodedIdentifier, secret: new Secret(decodedSecret) };
41
+ }
42
+ /** A fresh secret and its hash. */
43
+ static seed(size) {
44
+ const secret = new Secret(random(size));
45
+ return {
46
+ secret,
47
+ hash: createHash('sha256').update(secret.release()).digest('hex'),
48
+ };
49
+ }
50
+ /** A seed plus the owner and an expiry, ready to be persisted. */
51
+ static createTransientToken(userId, size, expiresIn) {
52
+ const expiresAt = new Date();
53
+ expiresAt.setSeconds(expiresAt.getSeconds() + seconds.parse(expiresIn));
54
+ return { userId, expiresAt, ...VerificationToken.seed(size) };
55
+ }
56
+ /** Build the public `<identifier>.<secret>` value, after the row has an id. */
57
+ computeValue(secret) {
58
+ this.value = new Secret(`${base64.urlEncode(String(this.identifier))}.${base64.urlEncode(secret.release())}`);
59
+ }
60
+ /** Whether the expiry has passed. */
61
+ isExpired() {
62
+ return this.expiresAt < new Date();
63
+ }
64
+ /** Whether `secret` hashes to the stored hash, compared in constant time. */
65
+ verify(secret) {
66
+ const candidate = createHash('sha256').update(secret.release()).digest('hex');
67
+ return safeEqual(this.hash, candidate);
68
+ }
69
+ }
70
+ //# sourceMappingURL=VerificationToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationToken.js","sourceRoot":"","sources":["../../src/helpers/VerificationToken.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,OAAgB,iBAAiB;IASrC,yEAAyE;IACzE,KAAK,CAAiB;IAEtB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAChE,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC9C,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACjD,MAAM,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACtD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC,iBAAiB,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAA;QACrD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,CAAA;IAC7E,CAAC;IAED,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,IAAY;QACtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACvC,OAAO;YACL,MAAM;YACN,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAClE,CAAA;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,CAAC,oBAAoB,CACzB,MAAgC,EAChC,IAAY,EACZ,SAA0B;QAO1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;QAC5B,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAA;QACvE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;IAC/D,CAAC;IAED,+EAA+E;IACrE,YAAY,CAAC,MAAsB;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CACrB,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CACrF,CAAA;IACH,CAAC;IAED,qCAAqC;IACrC,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IACpC,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,MAAsB;QAC3B,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7E,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Give a subclass its own copy of an inherited static property.
3
+ *
4
+ * A static declared on a base class is SHARED: every subclass mutating
5
+ * `Model.booted` or `Model.$columns` writes into the same object. This walks
6
+ * that back by defining an own property on the subclass, seeded either from a
7
+ * fresh value or from a copy of what it inherited.
8
+ *
9
+ * Ported from `@poppinss/utils` — the mechanism ORM-style base classes rely on.
10
+ */
11
+ export declare function defineStaticProperty<T>(target: object, propertyName: string, options: {
12
+ initialValue: T;
13
+ strategy: 'inherit' | 'define' | ((value: T) => T);
14
+ }): void;
15
+ //# sourceMappingURL=defineStaticProperty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineStaticProperty.d.ts","sourceRoot":"","sources":["../../src/helpers/defineStaticProperty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IAAE,YAAY,EAAE,CAAC,CAAC;IAAC,QAAQ,EAAE,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;CAAE,GAC/E,IAAI,CAmBN"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Give a subclass its own copy of an inherited static property.
3
+ *
4
+ * A static declared on a base class is SHARED: every subclass mutating
5
+ * `Model.booted` or `Model.$columns` writes into the same object. This walks
6
+ * that back by defining an own property on the subclass, seeded either from a
7
+ * fresh value or from a copy of what it inherited.
8
+ *
9
+ * Ported from `@poppinss/utils` — the mechanism ORM-style base classes rely on.
10
+ */
11
+ export function defineStaticProperty(target, propertyName, options) {
12
+ if (Object.hasOwn(target, propertyName))
13
+ return;
14
+ const inherited = Reflect.get(target, propertyName);
15
+ const { strategy, initialValue } = options;
16
+ const value = strategy === 'define' || inherited === undefined
17
+ ? initialValue
18
+ : typeof strategy === 'function'
19
+ ? strategy(inherited)
20
+ : structuredCloneOrCopy(inherited);
21
+ Object.defineProperty(target, propertyName, {
22
+ value,
23
+ configurable: true,
24
+ enumerable: true,
25
+ writable: true,
26
+ });
27
+ }
28
+ /**
29
+ * A deep copy where one is possible, a shallow one otherwise.
30
+ *
31
+ * `structuredClone` throws on functions and class instances, which a static
32
+ * bag can legitimately hold — falling back keeps the inherit strategy usable
33
+ * instead of failing at class-definition time.
34
+ */
35
+ function structuredCloneOrCopy(value) {
36
+ try {
37
+ return structuredClone(value);
38
+ }
39
+ catch {
40
+ if (Array.isArray(value))
41
+ return [...value];
42
+ if (value !== null && typeof value === 'object')
43
+ return { ...value };
44
+ return value;
45
+ }
46
+ }
47
+ //# sourceMappingURL=defineStaticProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defineStaticProperty.js","sourceRoot":"","sources":["../../src/helpers/defineStaticProperty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,YAAoB,EACpB,OAAgF;IAEhF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;QAAE,OAAM;IAE/C,MAAM,SAAS,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAC5D,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAA;IAE1C,MAAM,KAAK,GACT,QAAQ,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS;QAC9C,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,OAAO,QAAQ,KAAK,UAAU;YAC9B,CAAC,CAAC,QAAQ,CAAC,SAAc,CAAC;YAC1B,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAExC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE;QAC1C,KAAK;QACL,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;QAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;QACpE,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
@@ -29,4 +29,24 @@ export declare function parseDurationMs(value: string): number | undefined;
29
29
  * @param label - what is being parsed, for the error message.
30
30
  */
31
31
  export declare function durationToSeconds(value: number | string, label: string): number;
32
+ /**
33
+ * `string.milliseconds` — parse and format durations in milliseconds.
34
+ *
35
+ * A number passes through untouched, matching `@poppinss/string`.
36
+ */
37
+ export declare const milliseconds: {
38
+ parse(duration: string | number): number;
39
+ format(value: number, long?: boolean): string;
40
+ };
41
+ /**
42
+ * `string.seconds` — the same, in seconds.
43
+ *
44
+ * `parse` keeps the AdonisJS quirk its own `durationToSeconds` documents: a
45
+ * NUMBER is already seconds and passes through, while a unit-less STRING is
46
+ * milliseconds and gets scaled down.
47
+ */
48
+ export declare const seconds: {
49
+ parse(duration: string | number): number;
50
+ format(value: number, long?: boolean): string;
51
+ };
32
52
  //# sourceMappingURL=duration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../src/helpers/duration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAgBH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAejE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAS/E"}
1
+ {"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../../src/helpers/duration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAgBH;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAejE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAS/E;AA8CD;;;;GAIG;AACH,eAAO,MAAM,YAAY;oBACP,MAAM,GAAG,MAAM,GAAG,MAAM;kBAG1B,MAAM,mBAAiB,MAAM;CAG5C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;oBACF,MAAM,GAAG,MAAM,GAAG,MAAM;kBAI1B,MAAM,mBAAiB,MAAM;CAG5C,CAAA"}
@@ -71,4 +71,75 @@ export function durationToSeconds(value, label) {
71
71
  }
72
72
  return Math.floor(milliseconds / SECOND);
73
73
  }
74
+ /**
75
+ * Format a millisecond duration the way `@poppinss/string` does.
76
+ *
77
+ * Short form by default (`'2h'`), long form on request (`'2 hours'`).
78
+ */
79
+ function formatMs(value, long) {
80
+ const table = long
81
+ ? [
82
+ [YEAR, 'year'],
83
+ [DAY, 'day'],
84
+ [HOUR, 'hour'],
85
+ [MINUTE, 'minute'],
86
+ [SECOND, 'second'],
87
+ [1, 'millisecond'],
88
+ ]
89
+ : [
90
+ [DAY, 'd'],
91
+ [HOUR, 'h'],
92
+ [MINUTE, 'm'],
93
+ [SECOND, 's'],
94
+ [1, 'ms'],
95
+ ];
96
+ const magnitude = Math.abs(value);
97
+ for (const [scale, label] of table) {
98
+ if (magnitude >= scale) {
99
+ const count = Math.round(value / scale);
100
+ return long ? `${count} ${label}${Math.abs(count) === 1 ? '' : 's'}` : `${count}${label}`;
101
+ }
102
+ }
103
+ return long ? `${value} milliseconds` : `${value}ms`;
104
+ }
105
+ /** The duration that could not be read, as one message shape for both objects. */
106
+ function parseOrThrow(duration, unitLabel) {
107
+ if (typeof duration === 'number')
108
+ return duration;
109
+ const parsed = parseDurationMs(duration);
110
+ if (parsed === undefined) {
111
+ throw new Error(`Cannot read "${duration}" as ${unitLabel}. Use a number, or a duration such as '30m', '2 hours' or '7 days'.`);
112
+ }
113
+ return parsed;
114
+ }
115
+ /**
116
+ * `string.milliseconds` — parse and format durations in milliseconds.
117
+ *
118
+ * A number passes through untouched, matching `@poppinss/string`.
119
+ */
120
+ export const milliseconds = {
121
+ parse(duration) {
122
+ return parseOrThrow(duration, 'milliseconds');
123
+ },
124
+ format(value, long = false) {
125
+ return formatMs(value, long);
126
+ },
127
+ };
128
+ /**
129
+ * `string.seconds` — the same, in seconds.
130
+ *
131
+ * `parse` keeps the AdonisJS quirk its own `durationToSeconds` documents: a
132
+ * NUMBER is already seconds and passes through, while a unit-less STRING is
133
+ * milliseconds and gets scaled down.
134
+ */
135
+ export const seconds = {
136
+ parse(duration) {
137
+ if (typeof duration === 'number')
138
+ return duration;
139
+ return parseOrThrow(duration, 'seconds') / SECOND;
140
+ },
141
+ format(value, long = false) {
142
+ return formatMs(value * SECOND, long);
143
+ },
144
+ };
74
145
  //# sourceMappingURL=duration.js.map