@adviser/cement 0.5.12 → 0.5.14

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 (107) hide show
  1. package/cjs/base-basic-sys-abstraction.test.cjs +1 -2
  2. package/cjs/base-basic-sys-abstraction.test.cjs.map +1 -1
  3. package/cjs/base-service.cjs +67 -0
  4. package/cjs/base-service.cjs.map +1 -0
  5. package/cjs/base-service.d.ts +27 -0
  6. package/cjs/base-service.d.ts.map +1 -0
  7. package/cjs/base-sys-abstraction.cjs +6 -49
  8. package/cjs/base-sys-abstraction.cjs.map +1 -1
  9. package/cjs/base-sys-abstraction.d.ts +2 -14
  10. package/cjs/base-sys-abstraction.d.ts.map +1 -1
  11. package/cjs/evento.cjs +104 -20
  12. package/cjs/evento.cjs.map +1 -1
  13. package/cjs/evento.d.ts +51 -7
  14. package/cjs/evento.d.ts.map +1 -1
  15. package/cjs/evento.test.cjs +139 -24
  16. package/cjs/evento.test.cjs.map +1 -1
  17. package/cjs/index.cjs +1 -0
  18. package/cjs/index.cjs.map +1 -1
  19. package/cjs/index.d.ts +1 -0
  20. package/cjs/index.d.ts.map +1 -1
  21. package/cjs/sys-abstraction.cjs +1 -11
  22. package/cjs/sys-abstraction.cjs.map +1 -1
  23. package/cjs/sys-abstraction.d.ts +0 -12
  24. package/cjs/sys-abstraction.d.ts.map +1 -1
  25. package/cjs/version.cjs +1 -1
  26. package/deno.json +1 -1
  27. package/esm/base-basic-sys-abstraction.test.js +2 -3
  28. package/esm/base-basic-sys-abstraction.test.js.map +1 -1
  29. package/esm/base-service.d.ts +27 -0
  30. package/esm/base-service.d.ts.map +1 -0
  31. package/esm/base-service.js +62 -0
  32. package/esm/base-service.js.map +1 -0
  33. package/esm/base-sys-abstraction.d.ts +2 -14
  34. package/esm/base-sys-abstraction.d.ts.map +1 -1
  35. package/esm/base-sys-abstraction.js +6 -47
  36. package/esm/base-sys-abstraction.js.map +1 -1
  37. package/esm/evento.d.ts +51 -7
  38. package/esm/evento.d.ts.map +1 -1
  39. package/esm/evento.js +101 -19
  40. package/esm/evento.js.map +1 -1
  41. package/esm/evento.test.js +140 -25
  42. package/esm/evento.test.js.map +1 -1
  43. package/esm/index.d.ts +1 -0
  44. package/esm/index.d.ts.map +1 -1
  45. package/esm/index.js +1 -0
  46. package/esm/index.js.map +1 -1
  47. package/esm/sys-abstraction.d.ts +0 -12
  48. package/esm/sys-abstraction.d.ts.map +1 -1
  49. package/esm/sys-abstraction.js +0 -10
  50. package/esm/sys-abstraction.js.map +1 -1
  51. package/esm/version.js +1 -1
  52. package/package.json +1 -1
  53. package/src/base-service.ts +129 -0
  54. package/src/base-sys-abstraction.ts +6 -118
  55. package/src/evento.ts +159 -45
  56. package/src/index.ts +1 -0
  57. package/src/sys-abstraction.ts +0 -14
  58. package/ts/cjs/base-basic-sys-abstraction.test.js +1 -2
  59. package/ts/cjs/base-basic-sys-abstraction.test.js.map +1 -1
  60. package/ts/cjs/base-service.d.ts +27 -0
  61. package/ts/cjs/base-service.d.ts.map +1 -0
  62. package/ts/cjs/base-service.js +67 -0
  63. package/ts/cjs/base-service.js.map +1 -0
  64. package/ts/cjs/base-sys-abstraction.d.ts +2 -14
  65. package/ts/cjs/base-sys-abstraction.d.ts.map +1 -1
  66. package/ts/cjs/base-sys-abstraction.js +6 -49
  67. package/ts/cjs/base-sys-abstraction.js.map +1 -1
  68. package/ts/cjs/evento.d.ts +51 -7
  69. package/ts/cjs/evento.d.ts.map +1 -1
  70. package/ts/cjs/evento.js +104 -20
  71. package/ts/cjs/evento.js.map +1 -1
  72. package/ts/cjs/evento.test.js +139 -24
  73. package/ts/cjs/evento.test.js.map +1 -1
  74. package/ts/cjs/index.d.ts +1 -0
  75. package/ts/cjs/index.d.ts.map +1 -1
  76. package/ts/cjs/index.js +1 -0
  77. package/ts/cjs/index.js.map +1 -1
  78. package/ts/cjs/sys-abstraction.d.ts +0 -12
  79. package/ts/cjs/sys-abstraction.d.ts.map +1 -1
  80. package/ts/cjs/sys-abstraction.js +1 -11
  81. package/ts/cjs/sys-abstraction.js.map +1 -1
  82. package/ts/cjs/version.js +1 -1
  83. package/ts/esm/base-basic-sys-abstraction.test.js +2 -3
  84. package/ts/esm/base-basic-sys-abstraction.test.js.map +1 -1
  85. package/ts/esm/base-service.d.ts +27 -0
  86. package/ts/esm/base-service.d.ts.map +1 -0
  87. package/ts/esm/base-service.js +62 -0
  88. package/ts/esm/base-service.js.map +1 -0
  89. package/ts/esm/base-sys-abstraction.d.ts +2 -14
  90. package/ts/esm/base-sys-abstraction.d.ts.map +1 -1
  91. package/ts/esm/base-sys-abstraction.js +6 -47
  92. package/ts/esm/base-sys-abstraction.js.map +1 -1
  93. package/ts/esm/evento.d.ts +51 -7
  94. package/ts/esm/evento.d.ts.map +1 -1
  95. package/ts/esm/evento.js +101 -19
  96. package/ts/esm/evento.js.map +1 -1
  97. package/ts/esm/evento.test.js +140 -25
  98. package/ts/esm/evento.test.js.map +1 -1
  99. package/ts/esm/index.d.ts +1 -0
  100. package/ts/esm/index.d.ts.map +1 -1
  101. package/ts/esm/index.js +1 -0
  102. package/ts/esm/index.js.map +1 -1
  103. package/ts/esm/sys-abstraction.d.ts +0 -12
  104. package/ts/esm/sys-abstraction.d.ts.map +1 -1
  105. package/ts/esm/sys-abstraction.js +0 -10
  106. package/ts/esm/sys-abstraction.js.map +1 -1
  107. package/ts/esm/version.js +1 -1
package/src/evento.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { AppContext } from "./app-context.js";
2
+ import { IdService } from "./base-service.js";
2
3
  import { Option } from "./option.js";
3
4
  import { ResolveOnce } from "./resolve-once.js";
4
5
  import { exception2Result, Result } from "./result.js";
@@ -36,7 +37,7 @@ export interface EventoEnDecoder<REQ, RES> {
36
37
  * @typeParam REQ - The validated request type
37
38
  * @typeParam RES - The response type
38
39
  */
39
- export interface EventoSend<INREQ, REQ, RES> {
40
+ export interface EventoSendProvider<INREQ, REQ, RES> {
40
41
  /**
41
42
  * Optional hook called once before the first handler processes the event.
42
43
  *
@@ -65,14 +66,67 @@ export interface EventoSend<INREQ, REQ, RES> {
65
66
  done?(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<void>>;
66
67
  }
67
68
 
68
- // export interface ActiveTriggerCtx<INREQ, REQ, RES> {
69
- // request?: INREQ;
70
- // ctx: AppContext;
71
- // enRequest?: unknown;
72
- // validated?: REQ;
73
- // send: EventoSend<INREQ, REQ, RES>;
74
- // encoder: EventoEnDecoder<INREQ, RES>;
75
- // }
69
+ export interface ActionStat {
70
+ startTime: Date;
71
+ doneTime: Date;
72
+ }
73
+ export interface SendStatItem<T> extends ActionStat {
74
+ readonly item: Result<T>;
75
+ }
76
+ export interface SendStat extends ActionStat {
77
+ items: SendStatItem<unknown>[];
78
+ }
79
+
80
+ export type RequestStat = ActionStat;
81
+
82
+ export interface TriggerStats {
83
+ readonly request: RequestStat;
84
+ readonly encode: ActionStat;
85
+ readonly handlers: {
86
+ readonly handler: EventoHandler;
87
+ readonly total: ActionStat;
88
+ readonly validated: ActionStat;
89
+ readonly handled: ActionStat;
90
+ }[];
91
+ readonly send: SendStat;
92
+ }
93
+
94
+ export class EventoSend<INREQ, REQ, RES> {
95
+ readonly provider: EventoSendProvider<INREQ, REQ, RES>;
96
+
97
+ constructor(provider: EventoSendProvider<INREQ, REQ, RES>) {
98
+ this.provider = provider;
99
+ }
100
+
101
+ start(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<void>> {
102
+ trigger.stats.send.startTime = new Date();
103
+ if (this.provider.start) {
104
+ return this.provider.start(trigger);
105
+ }
106
+ return Promise.resolve(Result.Ok());
107
+ }
108
+
109
+ done(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<void>> {
110
+ trigger.stats.send.doneTime = new Date();
111
+ if (this.provider.done) {
112
+ return this.provider.done(trigger);
113
+ }
114
+ return Promise.resolve(Result.Ok());
115
+ }
116
+
117
+ async send<IS, OS>(trigger: HandleTriggerCtx<INREQ, REQ, RES>, data: IS): Promise<Result<SendStatItem<OS>>> {
118
+ const start = new Date();
119
+ const rSend = await this.provider.send<IS, OS>(trigger, data);
120
+ const done = new Date();
121
+ const item: SendStatItem<OS> = {
122
+ startTime: start,
123
+ doneTime: done,
124
+ item: rSend,
125
+ };
126
+ trigger.stats.send.items.push(item);
127
+ return Result.Ok(item);
128
+ }
129
+ }
76
130
 
77
131
  /**
78
132
  * Base interface for trigger context containing core dependencies.
@@ -81,8 +135,7 @@ export interface EventoSend<INREQ, REQ, RES> {
81
135
  * @typeParam REQ - The validated request type
82
136
  * @typeParam RES - The response type
83
137
  */
84
- export interface TriggerCtxBase<INREQ, REQ, RES> {
85
- send: EventoSend<INREQ, REQ, RES>;
138
+ export interface TriggerCtxBase<INREQ, RES> {
86
139
  ctx: AppContext;
87
140
  encoder: EventoEnDecoder<INREQ, RES>;
88
141
  }
@@ -90,14 +143,21 @@ export interface TriggerCtxBase<INREQ, REQ, RES> {
90
143
  /**
91
144
  * Readonly version of the base trigger context.
92
145
  */
93
- export type ReadonlyTriggerCtxBase<INREQ, REQ, RES> = Readonly<TriggerCtxBase<INREQ, REQ, RES>>;
146
+ export type ReadonlyTriggerCtxBase<INREQ, REQ, RES> = Readonly<TriggerCtxBase<INREQ, RES>> & {
147
+ readonly send: EventoSend<INREQ, REQ, RES>;
148
+ readonly stats: TriggerStats;
149
+ };
94
150
 
95
151
  /**
96
152
  * Parameters for creating a trigger context.
97
153
  * Requires send, but ctx and encoder are optional and will use defaults.
98
154
  */
99
- export type TriggerCtxBaseParams<INREQ, REQ, RES> = Pick<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "send"> &
100
- Partial<Pick<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "ctx" | "encoder">>;
155
+ export type TriggerCtxBaseParams<INREQ, REQ, RES> = Partial<Omit<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "send">> &
156
+ Partial<Pick<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "ctx" | "encoder">> & {
157
+ send: EventoSendProvider<INREQ, REQ, RES>;
158
+ stats?: TriggerStats;
159
+ idService?: IdService;
160
+ };
101
161
 
102
162
  /**
103
163
  * Complete parameters for triggering an event, including optional request data.
@@ -113,6 +173,20 @@ export type TriggerCtx<INREQ, REQ, RES> =
113
173
  | (ReadonlyTriggerCtxBase<INREQ, REQ, RES> & { enRequest: unknown })
114
174
  | (ReadonlyTriggerCtxBase<INREQ, REQ, RES> & { enRequest: unknown; request: INREQ });
115
175
 
176
+ export type TriggerResult<INREQ, REQ, RES> = Omit<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "send"> & {
177
+ readonly send: EventoSend<INREQ, REQ, RES>;
178
+ readonly stats: TriggerStats;
179
+ readonly id: string;
180
+ } & Partial<MutableHandleTriggerCtx<INREQ, REQ>>;
181
+
182
+ export class TriggerResultError<INREQ, REQ, RES> extends Error {
183
+ readonly ctx: TriggerResult<INREQ, REQ, RES>;
184
+ constructor(message: string, ctx: TriggerResult<INREQ, REQ, RES>) {
185
+ super(message);
186
+ this.ctx = ctx;
187
+ }
188
+ }
189
+
116
190
  /**
117
191
  * Context provided to validation handlers.
118
192
  * Contains the encoded request data for validation.
@@ -131,7 +205,6 @@ export interface MutableHandleTriggerCtx<INREQ, REQ> {
131
205
  enRequest: unknown;
132
206
  validated: REQ;
133
207
  error?: Error;
134
- triggerResult?: string[];
135
208
  }
136
209
 
137
210
  /**
@@ -458,25 +531,47 @@ export class Evento {
458
531
  * @param ictx - The trigger context parameters
459
532
  * @returns A Result containing an array of handler hashes that processed the event
460
533
  */
461
- async trigger<INREQ, REQ, RES>(ictx: TriggerCtxParams<INREQ, REQ, RES>): Promise<Result<string[]>> {
462
- let stepCtx:
463
- | HandleTriggerCtx<INREQ, REQ, RES>
464
- | ValidateTriggerCtx<INREQ, REQ, RES>
465
- | (ReadonlyTriggerCtxBase<INREQ, REQ, RES> & Partial<MutableHandleTriggerCtx<INREQ, REQ>>)
466
- | object = {};
534
+
535
+ async trigger<INREQ, REQ, RES>(ictx: TriggerCtxParams<INREQ, REQ, RES>): Promise<Result<TriggerResult<INREQ, REQ, RES>>> {
536
+ let stepCtx: TriggerResult<INREQ, REQ, RES> | null = null;
467
537
  const toPost: EventoHandler[] = [];
468
538
  const startOnce = new ResolveOnce<Result<HandleTriggerCtx<INREQ, REQ, RES>>>();
469
539
  const res = await exception2Result(async (): Promise<Result<string[]>> => {
470
- const ctx: ReadonlyTriggerCtxBase<INREQ, REQ, RES> & Partial<MutableHandleTriggerCtx<INREQ, REQ>> = {
540
+ const nullDate = new Date(0);
541
+ const ctx: Omit<ReadonlyTriggerCtxBase<INREQ, REQ, RES>, "send"> & {
542
+ readonly send: EventoSend<INREQ, REQ, RES>;
543
+ readonly stats: TriggerStats;
544
+ readonly id: string;
545
+ } & Partial<MutableHandleTriggerCtx<INREQ, REQ>> = {
471
546
  ...ictx,
472
547
  encoder: ictx.encoder ?? (this.encoder as EventoEnDecoder<INREQ, RES>),
548
+ stats: ictx.stats ?? {
549
+ request: {
550
+ startTime: new Date(),
551
+ doneTime: nullDate,
552
+ },
553
+ encode: {
554
+ startTime: nullDate,
555
+ doneTime: nullDate,
556
+ },
557
+ handlers: [],
558
+ send: {
559
+ startTime: nullDate,
560
+ doneTime: nullDate,
561
+ items: [],
562
+ },
563
+ },
564
+ send: new EventoSend(ictx.send),
473
565
  ctx: ictx.ctx ?? new AppContext(),
566
+ id: (ictx.idService ?? IdService.create()).NextId(),
474
567
  };
475
568
  stepCtx = ctx;
476
569
  const results: string[] = [];
477
570
  // this skips encoding if already encoded
478
571
  if (!ctx.enRequest) {
572
+ ctx.stats.encode.startTime = new Date();
479
573
  const rUnk = await this.encoder.encode(ctx.request as never);
574
+ ctx.stats.encode.doneTime = new Date();
480
575
  if (rUnk.isErr()) {
481
576
  return Result.Err(rUnk);
482
577
  }
@@ -499,8 +594,27 @@ export class Evento {
499
594
  if (hdl.post) {
500
595
  toPost.push(hdl);
501
596
  }
597
+ const stat = {
598
+ handler: hdl,
599
+ total: {
600
+ startTime: new Date(),
601
+ doneTime: nullDate,
602
+ },
603
+ validated: {
604
+ startTime: nullDate,
605
+ doneTime: nullDate,
606
+ },
607
+ handled: {
608
+ startTime: nullDate,
609
+ doneTime: nullDate,
610
+ },
611
+ };
612
+ ctx.stats.handlers.push(stat);
613
+ stat.validated.startTime = new Date();
502
614
  const rData = await Promise.resolve(hdl.validate ? hdl.validate(validateCtx) : Result.Ok(Option.Some(ctx.enRequest)));
615
+ stat.validated.doneTime = new Date();
503
616
  if (rData.isErr()) {
617
+ stat.total.doneTime = new Date();
504
618
  return Result.Err(rData);
505
619
  }
506
620
  const data = rData.Ok();
@@ -513,22 +627,24 @@ export class Evento {
513
627
  request: ctx.request as INREQ,
514
628
  enRequest: ctx.enRequest,
515
629
  }); // satisfies HandleTriggerCtx<INREQ, REQ, RES>;
516
- if (ctx.send.start) {
517
- const rStart = await startOnce.once(() =>
518
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
519
- ctx.send.start!(hdlCtx).then((rv): Result<HandleTriggerCtx<INREQ, REQ, RES>> => {
520
- if (rv.isErr()) {
521
- return Result.Err(rv);
522
- }
523
- return Result.Ok(hdlCtx);
524
- }),
525
- );
526
- if (rStart.isErr()) {
527
- return Result.Err(rStart);
528
- }
630
+ const rStart = await startOnce.once(() =>
631
+ ctx.send.start(hdlCtx).then((rv): Result<HandleTriggerCtx<INREQ, REQ, RES>> => {
632
+ if (rv.isErr()) {
633
+ return Result.Err(rv);
634
+ }
635
+ return Result.Ok(hdlCtx);
636
+ }),
637
+ );
638
+ if (rStart.isErr()) {
639
+ stat.total.doneTime = new Date();
640
+ return Result.Err(rStart);
529
641
  }
642
+ stat.handled.startTime = new Date();
530
643
  const rHandle = await hdl.handle(hdlCtx);
644
+ stat.handled.doneTime = new Date();
645
+ stat.total.doneTime = new Date();
531
646
  if (rHandle.isErr()) {
647
+ stat.total.doneTime = new Date();
532
648
  return Result.Err(rHandle);
533
649
  }
534
650
  results.push(hdl.hash);
@@ -536,13 +652,12 @@ export class Evento {
536
652
  break;
537
653
  }
538
654
  }
539
-
540
655
  return Result.Ok(results);
541
656
  });
657
+ if (!stepCtx) {
658
+ throw new Error("Internal error: stepCtx is null");
659
+ }
542
660
  for (const hdl of toPost) {
543
- if (res.isOk()) {
544
- (stepCtx as MutableHandleTriggerCtx<INREQ, REQ>).triggerResult = res.Ok();
545
- }
546
661
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
547
662
  await exception2Result(() => hdl.post!(stepCtx as HandleTriggerCtx<INREQ, REQ, RES>));
548
663
  }
@@ -552,12 +667,11 @@ export class Evento {
552
667
  await exception2Result(() => hdl.handle(stepCtx as HandleTriggerCtx<INREQ, REQ, RES>));
553
668
  }
554
669
  }
555
- const send = stepCtx && "send" in stepCtx ? (stepCtx.send as HandleTriggerCtx<INREQ, REQ, RES>["send"]) : undefined;
556
- if (send && send.done && startOnce.state === "processed" && startOnce.value) {
557
- if (startOnce.value.isOk()) {
558
- await send.done(startOnce.value.Ok());
559
- }
670
+ if (startOnce.value?.isOk()) {
671
+ const ctx = startOnce.value.Ok();
672
+ ctx.stats.request.doneTime = new Date();
673
+ await startOnce.value.Ok().send.done(ctx);
560
674
  }
561
- return res;
675
+ return Result.Ok(stepCtx);
562
676
  }
563
677
  }
package/src/index.ts CHANGED
@@ -34,6 +34,7 @@ export * from "./timeouted.js";
34
34
  export * from "./promise-sleep.js";
35
35
  export * from "./keyed-ng.js";
36
36
  export * from "./evento.js";
37
+ export * from "./base-service.js";
37
38
 
38
39
  // ugly not really esm but how could that work otherwise?
39
40
  // export * as utils from "@adviser/cement/utils"
@@ -9,20 +9,6 @@ export const TimeMode = {
9
9
  };
10
10
  export type TimeMode = (typeof TimeMode)[keyof typeof TimeMode];
11
11
 
12
- export const RandomMode = {
13
- CONST: "const",
14
- STEP: "step",
15
- RANDOM: "random",
16
- };
17
- export type RandomMode = (typeof RandomMode)[keyof typeof RandomMode];
18
-
19
- export const IDMode = {
20
- UUID: "uuid",
21
- CONST: "const",
22
- STEP: "step",
23
- };
24
- export type IDMode = (typeof IDMode)[keyof typeof IDMode];
25
-
26
12
  export function String2TimeMode(s?: string): TimeMode {
27
13
  switch (s?.toLowerCase()) {
28
14
  case "real":
@@ -57,8 +57,7 @@ for (const abstraction of abstractions) {
57
57
  const sys = abstraction.fn({ IdMode: cement_1.IDMode.STEP });
58
58
  const id1 = sys.NextId();
59
59
  const id2 = sys.NextId();
60
- (0, vitest_1.expect)(id1).toEqual("STEPId-0");
61
- (0, vitest_1.expect)(id2).toEqual("STEPId-1");
60
+ (0, vitest_1.assert)(id1 < id2, "Expected id1 < id2");
62
61
  }
63
62
  });
64
63
  (0, vitest_1.it)("time sleep", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"base-basic-sys-abstraction.test.js","sourceRoot":"","sources":["../../../src/base-basic-sys-abstraction.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-basic-sys-abstraction.test.js","sourceRoot":"","sources":["../../../src/base-basic-sys-abstraction.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export declare const RandomMode: {
2
+ CONST: string;
3
+ STEP: string;
4
+ RANDOM: string;
5
+ };
6
+ export type RandomMode = (typeof RandomMode)[keyof typeof RandomMode];
7
+ export declare const IDMode: {
8
+ UUID: string;
9
+ CONST: string;
10
+ STEP: string;
11
+ };
12
+ export type IDMode = (typeof IDMode)[keyof typeof IDMode];
13
+ export declare class IdService {
14
+ readonly _mode: IDMode;
15
+ _step: number;
16
+ static create(mode?: IDMode): IdService;
17
+ private constructor();
18
+ NextId(): string;
19
+ }
20
+ export declare class RandomService {
21
+ readonly _mode: RandomMode;
22
+ _step: number;
23
+ static create(mode: RandomMode): RandomService;
24
+ private constructor();
25
+ Random0ToValue(value: number): number;
26
+ }
27
+ //# sourceMappingURL=base-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-service.d.ts","sourceRoot":"","sources":["../../../src/base-service.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;CAItB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEtE,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AA4B1D,qBAAa,SAAS;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,KAAK,SAAK;IAEV,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAEtC;IAED,OAAO,eAKN;IAMD,MAAM,IAAI,MAAM,CAWf;CACF;AA2BD,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,KAAK,SAAK;IACV,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,CAE7C;IACD,OAAO,eAEN;IAOD,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYpC;CACF"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RandomService = exports.IdService = exports.IDMode = exports.RandomMode = void 0;
4
+ const resolve_once_js_1 = require("./resolve-once.js");
5
+ exports.RandomMode = {
6
+ CONST: "const",
7
+ STEP: "step",
8
+ RANDOM: "random",
9
+ };
10
+ exports.IDMode = {
11
+ UUID: "uuid",
12
+ CONST: "const",
13
+ STEP: "step",
14
+ };
15
+ const idServices = new resolve_once_js_1.KeyedResolvOnce();
16
+ class IdService {
17
+ _mode;
18
+ _step = 0;
19
+ static create(mode) {
20
+ return idServices.get(mode ?? exports.IDMode.UUID).once(() => new IdService(mode));
21
+ }
22
+ constructor(mode) {
23
+ if (!mode) {
24
+ mode = exports.IDMode.UUID;
25
+ }
26
+ this._mode = mode;
27
+ }
28
+ NextId() {
29
+ switch (this._mode) {
30
+ case exports.IDMode.UUID:
31
+ return crypto.randomUUID();
32
+ case exports.IDMode.CONST:
33
+ return "VeryUniqueID";
34
+ case exports.IDMode.STEP:
35
+ return `STEPId-${this._step++}`;
36
+ default:
37
+ throw new Error("Unknown IDMode");
38
+ }
39
+ }
40
+ }
41
+ exports.IdService = IdService;
42
+ const randomServices = new resolve_once_js_1.KeyedResolvOnce();
43
+ class RandomService {
44
+ _mode;
45
+ _step = 0;
46
+ static create(mode) {
47
+ return randomServices.get(mode).once(() => new RandomService(mode));
48
+ }
49
+ constructor(mode) {
50
+ this._mode = mode;
51
+ }
52
+ Random0ToValue(value) {
53
+ switch (this._mode) {
54
+ case exports.RandomMode.CONST:
55
+ return 0.5 * value;
56
+ case exports.RandomMode.STEP:
57
+ this._step += 0.0001;
58
+ return this._step * value;
59
+ case exports.RandomMode.RANDOM:
60
+ return Math.random() * value;
61
+ default:
62
+ throw new Error("Unknown RandomMode");
63
+ }
64
+ }
65
+ }
66
+ exports.RandomService = RandomService;
67
+ //# sourceMappingURL=base-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-service.js","sourceRoot":"","sources":["../../../src/base-service.ts"],"names":[],"mappings":";;;AAAA,uDAAoD;AAEvC,QAAA,UAAU,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC;AAGW,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACb,CAAC;AA4BF,MAAM,UAAU,GAAG,IAAI,iCAAe,EAAa,CAAC;AACpD;IACW,KAAK,CAAS;IACvB,KAAK,GAAG,CAAC,CAAC;IAEV,MAAM,CAAC,MAAM,CAAC,IAAa,EAAa;QACtC,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,QAAA,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAAA,CAC5E;IAED,YAAoB,IAAa,EAAE;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,QAAA,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAAA,CACnB;IAMD,MAAM,GAAW;QACf,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,QAAA,MAAM,CAAC,IAAI;gBACd,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;YAC7B,KAAK,QAAA,MAAM,CAAC,KAAK;gBACf,OAAO,cAAc,CAAC;YACxB,KAAK,QAAA,MAAM,CAAC,IAAI;gBACd,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAClC;gBACE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC;IAAA,CACF;CACF;;AA0BD,MAAM,cAAc,GAAG,IAAI,iCAAe,EAAiB,CAAC;AAC5D;IACW,KAAK,CAAa;IAC3B,KAAK,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,MAAM,CAAC,IAAgB,EAAiB;QAC7C,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAAA,CACrE;IACD,YAAoB,IAAgB,EAAE;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAAA,CACnB;IAOD,cAAc,CAAC,KAAa,EAAU;QACpC,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,QAAA,UAAU,CAAC,KAAK;gBACnB,OAAO,GAAG,GAAG,KAAK,CAAC;YACrB,KAAK,QAAA,UAAU,CAAC,IAAI;gBAClB,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;gBACrB,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAC5B,KAAK,QAAA,UAAU,CAAC,MAAM;gBACpB,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC;YAC/B;gBACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC1C,CAAC;IAAA,CACF;CACF"}
@@ -1,9 +1,9 @@
1
1
  import { FileService } from "./file-service.js";
2
- import { TimeMode, RandomMode, IDMode, SystemService, VoidFunc, BasicSysAbstraction, type BasicRuntimeService } from "./sys-abstraction.js";
2
+ import { TimeMode, SystemService, VoidFunc, BasicSysAbstraction, type BasicRuntimeService } from "./sys-abstraction.js";
3
3
  import { Time } from "./time.js";
4
4
  import { TxtEnDecoder } from "./txt-en-decoder.js";
5
5
  import { Env } from "./sys-env.js";
6
- import { WithCement } from "@adviser/cement";
6
+ import { IDMode, IdService, RandomMode, RandomService, WithCement } from "@adviser/cement";
7
7
  export declare class SysTime extends Time {
8
8
  Now(): Date;
9
9
  Sleep(duration: number): Promise<void>;
@@ -20,18 +20,6 @@ export declare class StepTime extends Time {
20
20
  Sleep(duration: number): Promise<void>;
21
21
  }
22
22
  export declare function TimeFactory(timeMode: TimeMode): Time;
23
- export declare class RandomService {
24
- readonly _mode: RandomMode;
25
- _step: number;
26
- constructor(mode: RandomMode);
27
- Random0ToValue(value: number): number;
28
- }
29
- export declare class IdService {
30
- readonly _mode: IDMode;
31
- _step: number;
32
- constructor(mode?: IDMode);
33
- NextId(): string;
34
- }
35
23
  export interface BaseBasicSysAbstractionParams {
36
24
  readonly TxtEnDecoder: TxtEnDecoder;
37
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-sys-abstraction.d.ts","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-sys-abstraction.d.ts","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WrapperRuntimeSysAbstraction = exports.WrapperBasicSysAbstraction = exports.BaseSysAbstraction = exports.BaseBasicSysAbstraction = exports.IdService = exports.RandomService = exports.StepTime = exports.ConstTime = exports.SysTime = void 0;
3
+ exports.WrapperRuntimeSysAbstraction = exports.WrapperBasicSysAbstraction = exports.BaseSysAbstraction = exports.BaseBasicSysAbstraction = exports.StepTime = exports.ConstTime = exports.SysTime = void 0;
4
4
  exports.TimeFactory = TimeFactory;
5
5
  exports.BasicSysAbstractionFactory = BasicSysAbstractionFactory;
6
6
  const runtime_js_1 = require("./runtime.js");
@@ -10,6 +10,7 @@ const index_js_1 = require("./web-env/index.js");
10
10
  const index_js_2 = require("./cf-env/index.js");
11
11
  const index_js_3 = require("./deno-env/index.js");
12
12
  const index_js_4 = require("./node-env/index.js");
13
+ const cement_1 = require("@adviser/cement");
13
14
  const add_cement_do_not_export_js_1 = require("./add-cement-do-not-export.js");
14
15
  class SysTime extends time_js_1.Time {
15
16
  Now() {
@@ -67,54 +68,10 @@ function TimeFactory(timeMode) {
67
68
  }
68
69
  return new SysTime();
69
70
  }
70
- class RandomService {
71
- _mode;
72
- _step = 0;
73
- constructor(mode) {
74
- this._mode = mode;
75
- }
76
- Random0ToValue(value) {
77
- switch (this._mode) {
78
- case sys_abstraction_js_1.RandomMode.CONST:
79
- return 0.5 * value;
80
- case sys_abstraction_js_1.RandomMode.STEP:
81
- this._step += 0.0001;
82
- return this._step * value;
83
- case sys_abstraction_js_1.RandomMode.RANDOM:
84
- return Math.random() * value;
85
- default:
86
- throw new Error("Unknown RandomMode");
87
- }
88
- }
89
- }
90
- exports.RandomService = RandomService;
91
- class IdService {
92
- _mode;
93
- _step = 0;
94
- constructor(mode) {
95
- if (!mode) {
96
- mode = sys_abstraction_js_1.IDMode.UUID;
97
- }
98
- this._mode = mode;
99
- }
100
- NextId() {
101
- switch (this._mode) {
102
- case sys_abstraction_js_1.IDMode.UUID:
103
- return crypto.randomUUID();
104
- case sys_abstraction_js_1.IDMode.CONST:
105
- return "VeryUniqueID";
106
- case sys_abstraction_js_1.IDMode.STEP:
107
- return `STEPId-${this._step++}`;
108
- default:
109
- throw new Error("Unknown IDMode");
110
- }
111
- }
112
- }
113
- exports.IdService = IdService;
114
71
  class BaseBasicSysAbstraction {
115
72
  _time = new SysTime();
116
- _idService = new IdService();
117
- _randomService = new RandomService(sys_abstraction_js_1.RandomMode.RANDOM);
73
+ _idService = cement_1.IdService.create();
74
+ _randomService = cement_1.RandomService.create(cement_1.RandomMode.RANDOM);
118
75
  _txtEnDe;
119
76
  constructor(params) {
120
77
  this._txtEnDe = params.TxtEnDecoder;
@@ -160,10 +117,10 @@ class WrapperBasicSysAbstraction {
160
117
  this._time = TimeFactory(params.TimeMode);
161
118
  }
162
119
  if (params.IdMode) {
163
- this._idService = new IdService(params.IdMode);
120
+ this._idService = cement_1.IdService.create(params.IdMode);
164
121
  }
165
122
  if (params.RandomMode) {
166
- this._randomService = new RandomService(params.RandomMode);
123
+ this._randomService = cement_1.RandomService.create(params.RandomMode);
167
124
  }
168
125
  }
169
126
  Time() {
@@ -1 +1 @@
1
- {"version":3,"file":"base-sys-abstraction.js","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-sys-abstraction.js","sourceRoot":"","sources":["../../../src/base-sys-abstraction.ts"],"names":[],"mappings":"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"}