@adviser/cement 0.5.10 → 0.5.12

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 (48) hide show
  1. package/cjs/app-context.cjs +14 -0
  2. package/cjs/app-context.cjs.map +1 -1
  3. package/cjs/app-context.d.ts +2 -0
  4. package/cjs/app-context.d.ts.map +1 -1
  5. package/cjs/evento.cjs +46 -12
  6. package/cjs/evento.cjs.map +1 -1
  7. package/cjs/evento.d.ts +6 -1
  8. package/cjs/evento.d.ts.map +1 -1
  9. package/cjs/evento.test.cjs +372 -0
  10. package/cjs/evento.test.cjs.map +1 -1
  11. package/cjs/version.cjs +1 -1
  12. package/deno.json +1 -1
  13. package/esm/app-context.d.ts +2 -0
  14. package/esm/app-context.d.ts.map +1 -1
  15. package/esm/app-context.js +14 -0
  16. package/esm/app-context.js.map +1 -1
  17. package/esm/evento.d.ts +6 -1
  18. package/esm/evento.d.ts.map +1 -1
  19. package/esm/evento.js +46 -12
  20. package/esm/evento.js.map +1 -1
  21. package/esm/evento.test.js +372 -0
  22. package/esm/evento.test.js.map +1 -1
  23. package/esm/version.js +1 -1
  24. package/package.json +1 -1
  25. package/src/app-context.ts +16 -0
  26. package/src/evento.ts +62 -12
  27. package/ts/cjs/app-context.d.ts +2 -0
  28. package/ts/cjs/app-context.d.ts.map +1 -1
  29. package/ts/cjs/app-context.js +14 -0
  30. package/ts/cjs/app-context.js.map +1 -1
  31. package/ts/cjs/evento.d.ts +6 -1
  32. package/ts/cjs/evento.d.ts.map +1 -1
  33. package/ts/cjs/evento.js +46 -12
  34. package/ts/cjs/evento.js.map +1 -1
  35. package/ts/cjs/evento.test.js +372 -0
  36. package/ts/cjs/evento.test.js.map +1 -1
  37. package/ts/cjs/version.js +1 -1
  38. package/ts/esm/app-context.d.ts +2 -0
  39. package/ts/esm/app-context.d.ts.map +1 -1
  40. package/ts/esm/app-context.js +14 -0
  41. package/ts/esm/app-context.js.map +1 -1
  42. package/ts/esm/evento.d.ts +6 -1
  43. package/ts/esm/evento.d.ts.map +1 -1
  44. package/ts/esm/evento.js +46 -12
  45. package/ts/esm/evento.js.map +1 -1
  46. package/ts/esm/evento.test.js +372 -0
  47. package/ts/esm/evento.test.js.map +1 -1
  48. package/ts/esm/version.js +1 -1
@@ -35,6 +35,20 @@ class AppContext {
35
35
  get(key) {
36
36
  return this.ctx.get(key);
37
37
  }
38
+ getOrDefault(key, defaultValue) {
39
+ const value = this.ctx.get(key);
40
+ if (value === undefined) {
41
+ return defaultValue;
42
+ }
43
+ return value;
44
+ }
45
+ getOrThrow(key) {
46
+ const value = this.ctx.get(key);
47
+ if (value === undefined) {
48
+ throw new Error(`AppContext: Key '${key}' not found`);
49
+ }
50
+ return value;
51
+ }
38
52
  delete(key) {
39
53
  this.ctx.delete(key);
40
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-context.js","sourceRoot":"","sources":["../../../src/app-context.ts"],"names":[],"mappings":";;;;AAcA,sBAA6B,GAAY,EAAqB;IAC5D,OAAO,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAAA,CAC3B;AAmBD;IACmB,GAAG,GAAyB,IAAI,GAAG,EAAmB,CAAC;IAQxE,MAAM,CAAC,EAAE,CAAC,GAAY,EAAqB;QACzC,OAAO,GAAG,YAAY,UAAU,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;IAAA,CAC5E;IAsBD,MAAM,CAAC,KAAK,CAAC,GAAG,IAA0D,EAAc;QACtF,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,OAAO,GAAwB,EAAE,CAAC;YACtC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACnD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAAA,CACf;IAiBD,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAc;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAAA,CACb;IAeD,GAAG,CAAI,GAAW,EAAiB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;IAAA,CAC/B;IAYD,MAAM,CAAC,GAAW,EAAQ;QACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAAA,CACtB;IAiBD,KAAK,GAA4B;QAC/B,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAAA,CAC/C;CACF"}
1
+ {"version":3,"file":"app-context.js","sourceRoot":"","sources":["../../../src/app-context.ts"],"names":[],"mappings":";;;;AAcA,sBAA6B,GAAY,EAAqB;IAC5D,OAAO,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAAA,CAC3B;AAmBD;IACmB,GAAG,GAAyB,IAAI,GAAG,EAAmB,CAAC;IAQxE,MAAM,CAAC,EAAE,CAAC,GAAY,EAAqB;QACzC,OAAO,GAAG,YAAY,UAAU,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC;IAAA,CAC5E;IAsBD,MAAM,CAAC,KAAK,CAAC,GAAG,IAA0D,EAAc;QACtF,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,IAAI,OAAO,GAAwB,EAAE,CAAC;YACtC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACnD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAAA,CACf;IAiBD,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAc;QACxC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAAA,CACb;IAeD,GAAG,CAAI,GAAW,EAAiB;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;IAAA,CAC/B;IAED,YAAY,CAAI,GAAW,EAAE,YAAe,EAAK;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,KAAU,CAAC;IAAA,CACnB;IAED,UAAU,CAAI,GAAW,EAAK;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,GAAG,aAAa,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAU,CAAC;IAAA,CACnB;IAYD,MAAM,CAAC,GAAW,EAAQ;QACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAAA,CACtB;IAiBD,KAAK,GAA4B;QAC/B,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAAA,CAC/C;CACF"}
@@ -5,6 +5,8 @@ export declare class AppContext {
5
5
  static merge(...ctxs: (AppContext | undefined | Record<string, unknown>)[]): AppContext;
6
6
  set<T>(key: string, value: T): AppContext;
7
7
  get<T>(key: string): T | undefined;
8
+ getOrDefault<T>(key: string, defaultValue: T): T;
9
+ getOrThrow<T>(key: string): T;
8
10
  delete(key: string): void;
9
11
  asObj(): Record<string, unknown>;
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-context.d.ts","sourceRoot":"","sources":["../../../src/app-context.ts"],"names":[],"mappings":"AAcA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAE5D;AAmBD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoD;IAQxE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAEzC;IAsBD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,UAAU,CAetF;IAiBD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAGxC;IAeD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAEjC;IAYD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExB;IAiBD,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE/B;CACF"}
1
+ {"version":3,"file":"app-context.d.ts","sourceRoot":"","sources":["../../../src/app-context.ts"],"names":[],"mappings":"AAcA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAE5D;AAmBD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoD;IAQxE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAEzC;IAsBD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,UAAU,CAetF;IAiBD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,UAAU,CAGxC;IAeD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAEjC;IAED,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAM/C;IAED,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAM5B;IAYD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExB;IAiBD,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE/B;CACF"}
package/cjs/evento.cjs CHANGED
@@ -19,6 +19,7 @@ var EventoType;
19
19
  (function (EventoType) {
20
20
  EventoType["WildCard"] = "wildcard";
21
21
  EventoType["Regular"] = "regular";
22
+ EventoType["Error"] = "error";
22
23
  })(EventoType || (exports.EventoType = EventoType = {}));
23
24
  function unregFunc(item, actions) {
24
25
  return () => {
@@ -31,6 +32,7 @@ function unregFunc(item, actions) {
31
32
  class Evento {
32
33
  actions = [];
33
34
  wildcards = [];
35
+ errors = [];
34
36
  encoder;
35
37
  constructor(encoder) {
36
38
  this.encoder = encoder;
@@ -61,7 +63,19 @@ class Evento {
61
63
  }
62
64
  register(...hdls) {
63
65
  return hdls.map((item) => {
64
- const handlers = item.type === EventoType.WildCard ? this.wildcards : this.actions;
66
+ let handlers;
67
+ switch (item.type) {
68
+ case EventoType.WildCard:
69
+ handlers = this.wildcards;
70
+ break;
71
+ case EventoType.Error:
72
+ handlers = this.errors;
73
+ break;
74
+ case EventoType.Regular:
75
+ default:
76
+ handlers = this.actions;
77
+ break;
78
+ }
65
79
  const hasHandler = handlers.find((h) => h.hash === item.handler.hash);
66
80
  if (hasHandler) {
67
81
  return unregFunc(hasHandler, handlers);
@@ -82,12 +96,16 @@ class Evento {
82
96
  });
83
97
  }
84
98
  async trigger(ictx) {
85
- return (0, result_js_1.exception2Result)(async () => {
99
+ let stepCtx = {};
100
+ const toPost = [];
101
+ const startOnce = new resolve_once_js_1.ResolveOnce();
102
+ const res = await (0, result_js_1.exception2Result)(async () => {
86
103
  const ctx = {
87
104
  ...ictx,
88
105
  encoder: ictx.encoder ?? this.encoder,
89
106
  ctx: ictx.ctx ?? new app_context_js_1.AppContext(),
90
107
  };
108
+ stepCtx = ctx;
91
109
  const results = [];
92
110
  if (!ctx.enRequest) {
93
111
  const rUnk = await this.encoder.encode(ctx.request);
@@ -97,12 +115,11 @@ class Evento {
97
115
  const unk = rUnk.unwrap();
98
116
  ctx.enRequest = unk;
99
117
  }
100
- const validateCtx = {
118
+ const validateCtx = (stepCtx = {
101
119
  ...ctx,
102
120
  enRequest: ctx.enRequest,
103
121
  request: ctx.request,
104
- };
105
- const startOnce = new resolve_once_js_1.ResolveOnce();
122
+ });
106
123
  for (const hdl of [...this.actions, "breakpoint", ...this.wildcards]) {
107
124
  if (typeof hdl === "string") {
108
125
  if (results.length > 0) {
@@ -110,6 +127,9 @@ class Evento {
110
127
  }
111
128
  continue;
112
129
  }
130
+ if (hdl.post) {
131
+ toPost.push(hdl);
132
+ }
113
133
  const rData = await Promise.resolve(hdl.validate ? hdl.validate(validateCtx) : result_js_1.Result.Ok(option_js_1.Option.Some(ctx.enRequest)));
114
134
  if (rData.isErr()) {
115
135
  return result_js_1.Result.Err(rData);
@@ -118,12 +138,12 @@ class Evento {
118
138
  if (data.IsNone()) {
119
139
  continue;
120
140
  }
121
- const hdlCtx = {
141
+ const hdlCtx = (stepCtx = {
122
142
  ...ctx,
123
143
  validated: data.Unwrap(),
124
144
  request: ctx.request,
125
145
  enRequest: ctx.enRequest,
126
- };
146
+ });
127
147
  if (ctx.send.start) {
128
148
  const rStart = await startOnce.once(() => ctx.send.start(hdlCtx).then((rv) => {
129
149
  if (rv.isErr()) {
@@ -144,13 +164,27 @@ class Evento {
144
164
  break;
145
165
  }
146
166
  }
147
- if (ctx.send.done && startOnce.state === "processed" && startOnce.value) {
148
- if (startOnce.value.isOk()) {
149
- await ctx.send.done(startOnce.value.Ok());
150
- }
151
- }
152
167
  return result_js_1.Result.Ok(results);
153
168
  });
169
+ for (const hdl of toPost) {
170
+ if (res.isOk()) {
171
+ stepCtx.triggerResult = res.Ok();
172
+ }
173
+ await (0, result_js_1.exception2Result)(() => hdl.post(stepCtx));
174
+ }
175
+ if (res.isErr()) {
176
+ stepCtx.error = res.Err();
177
+ for (const hdl of this.errors) {
178
+ await (0, result_js_1.exception2Result)(() => hdl.handle(stepCtx));
179
+ }
180
+ }
181
+ const send = stepCtx && "send" in stepCtx ? stepCtx.send : undefined;
182
+ if (send && send.done && startOnce.state === "processed" && startOnce.value) {
183
+ if (startOnce.value.isOk()) {
184
+ await send.done(startOnce.value.Ok());
185
+ }
186
+ }
187
+ return res;
154
188
  }
155
189
  }
156
190
  exports.Evento = Evento;
@@ -1 +1 @@
1
- {"version":3,"file":"evento.js","sourceRoot":"","sources":["../../../src/evento.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evento.js","sourceRoot":"","sources":["../../../src/evento.ts"],"names":[],"mappings":"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"}
package/cjs/evento.d.ts CHANGED
@@ -37,6 +37,8 @@ export interface MutableHandleTriggerCtx<INREQ, REQ> {
37
37
  request: INREQ;
38
38
  enRequest: unknown;
39
39
  validated: REQ;
40
+ error?: Error;
41
+ triggerResult?: string[];
40
42
  }
41
43
  export type HandleTriggerCtx<INREQ, REQ, RES> = Readonly<MutableHandleTriggerCtx<INREQ, REQ>> & ReadonlyTriggerCtxBase<INREQ, REQ, RES>;
42
44
  export declare const EventoResult: {
@@ -51,13 +53,15 @@ export declare enum EventoOp {
51
53
  }
52
54
  export declare enum EventoType {
53
55
  WildCard = "wildcard",
54
- Regular = "regular"
56
+ Regular = "regular",
57
+ Error = "error"
55
58
  }
56
59
  export interface EventoHandler<INREQ = unknown, REQ = unknown, RES = unknown> {
57
60
  readonly type?: EventoType;
58
61
  readonly hash: string;
59
62
  handle(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<Result<EventoResultType>>;
60
63
  validate?(trigger: ValidateTriggerCtx<INREQ, REQ, RES>): Promise<Result<Option<REQ>>>;
64
+ post?(trigger: HandleTriggerCtx<INREQ, REQ, RES>): Promise<void>;
61
65
  }
62
66
  export interface EventoHandlerOpSimple {
63
67
  readonly type: EventoType;
@@ -74,6 +78,7 @@ export type EventoHandlerOp = EventoHandlerOpSimple | EventoHandlerOpPosition;
74
78
  export declare class Evento {
75
79
  private actions;
76
80
  private wildcards;
81
+ private errors;
77
82
  private encoder;
78
83
  constructor(encoder: EventoEnDecoder<unknown, unknown>);
79
84
  handlers(): {
@@ -1 +1 @@
1
- {"version":3,"file":"evento.d.ts","sourceRoot":"","sources":["../../../src/evento.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evento.d.ts","sourceRoot":"","sources":["../../../src/evento.ts"],"names":[],"mappings":"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"}
@@ -518,5 +518,377 @@ class TestSend {
518
518
  result_js_1.Result.Ok(evento_js_1.EventoResult.Stop),
519
519
  ]);
520
520
  });
521
+ (0, vitest_1.it)("validate throw encode error trigger", async () => {
522
+ class ErrorEncoder {
523
+ encode(_args) {
524
+ throw new Error("test encode error");
525
+ }
526
+ decode(data) {
527
+ return Promise.resolve(result_js_1.Result.Ok(JSON.stringify(data)));
528
+ }
529
+ }
530
+ const evo = new evento_js_1.Evento(new ErrorEncoder());
531
+ const send = new TestSend();
532
+ evo.push({
533
+ type: evento_js_1.EventoType.Error,
534
+ hash: "error-handler-0",
535
+ handle: async (ctx) => {
536
+ send.fn("error-handler-0-handle", ctx);
537
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
538
+ },
539
+ });
540
+ evo.push({
541
+ type: evento_js_1.EventoType.Error,
542
+ hash: "error-handler-1",
543
+ handle: async (ctx) => {
544
+ send.fn("error-handler-1-handle", ctx);
545
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
546
+ },
547
+ });
548
+ evo.push({
549
+ hash: "regular-handler-0",
550
+ handle: async (ctx) => {
551
+ send.fn("regular-handler-0-handle", ctx);
552
+ return Promise.reject(new Error("test error"));
553
+ },
554
+ });
555
+ const request = new Request("http://example.com", { method: "GET" });
556
+ await evo.trigger({
557
+ send,
558
+ request,
559
+ });
560
+ (0, vitest_1.expect)(send.fn.mock.calls.map((i) => i[0])).toEqual(["error-handler-0-handle", "error-handler-1-handle"]);
561
+ (0, vitest_1.expect)(send.fn.mock.calls[0][1].error.message).toContain("test encode error");
562
+ (0, vitest_1.expect)(send.fn.mock.calls[0]).toEqual([
563
+ "error-handler-0-handle",
564
+ vitest_1.expect.objectContaining({
565
+ ctx: vitest_1.expect.anything(),
566
+ encoder: reqRes,
567
+ request,
568
+ error: send.fn.mock.calls[0][1].error,
569
+ send,
570
+ }),
571
+ ]);
572
+ });
573
+ (0, vitest_1.it)("validate result encode error trigger", async () => {
574
+ class ErrorEncoder {
575
+ encode(_args) {
576
+ return Promise.resolve(result_js_1.Result.Err(new Error("test encode error")));
577
+ }
578
+ decode(data) {
579
+ return Promise.resolve(result_js_1.Result.Ok(JSON.stringify(data)));
580
+ }
581
+ }
582
+ const evo = new evento_js_1.Evento(new ErrorEncoder());
583
+ const send = new TestSend();
584
+ evo.push({
585
+ type: evento_js_1.EventoType.Error,
586
+ hash: "error-handler-0",
587
+ handle: async (ctx) => {
588
+ send.fn("error-handler-0-handle", ctx);
589
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
590
+ },
591
+ });
592
+ evo.push({
593
+ type: evento_js_1.EventoType.Error,
594
+ hash: "error-handler-1",
595
+ handle: async (ctx) => {
596
+ send.fn("error-handler-1-handle", ctx);
597
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
598
+ },
599
+ });
600
+ evo.push({
601
+ hash: "regular-handler-0",
602
+ handle: async (ctx) => {
603
+ send.fn("regular-handler-0-handle", ctx);
604
+ return Promise.reject(new Error("test error"));
605
+ },
606
+ });
607
+ const request = new Request("http://example.com", { method: "GET" });
608
+ await evo.trigger({
609
+ send,
610
+ request,
611
+ });
612
+ (0, vitest_1.expect)(send.fn.mock.calls.map((i) => i[0])).toEqual(["error-handler-0-handle", "error-handler-1-handle"]);
613
+ (0, vitest_1.expect)(send.fn.mock.calls[0][1].error.message).toContain("test encode error");
614
+ (0, vitest_1.expect)(send.fn.mock.calls[0]).toEqual([
615
+ "error-handler-0-handle",
616
+ vitest_1.expect.objectContaining({
617
+ ctx: vitest_1.expect.anything(),
618
+ encoder: reqRes,
619
+ request,
620
+ error: send.fn.mock.calls[0][1].error,
621
+ send,
622
+ }),
623
+ ]);
624
+ });
625
+ (0, vitest_1.it)("validate throw error trigger", async () => {
626
+ const evo = new evento_js_1.Evento(reqRes);
627
+ const send = new TestSend();
628
+ evo.push({
629
+ type: evento_js_1.EventoType.Error,
630
+ hash: "error-handler-0",
631
+ handle: async (ctx) => {
632
+ send.fn("error-handler-0-handle", ctx);
633
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
634
+ },
635
+ });
636
+ evo.push({
637
+ type: evento_js_1.EventoType.Error,
638
+ hash: "error-handler-1",
639
+ handle: async (ctx) => {
640
+ send.fn("error-handler-1-handle", ctx);
641
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
642
+ },
643
+ });
644
+ const error = new Error("test validate error");
645
+ evo.push({
646
+ hash: "regular-handler-0",
647
+ validate: async (ctx) => {
648
+ send.fn("regular-handler-0-validate", ctx);
649
+ return Promise.reject(error);
650
+ },
651
+ handle: async (ctx) => {
652
+ send.fn("regular-handler-0-handle", ctx);
653
+ return Promise.reject(new Error("test error"));
654
+ },
655
+ });
656
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
657
+ await evo.trigger({
658
+ send,
659
+ request,
660
+ });
661
+ (0, vitest_1.expect)(send.fn.mock.calls.map((i) => i[0])).toEqual([
662
+ "regular-handler-0-validate",
663
+ "error-handler-0-handle",
664
+ "error-handler-1-handle",
665
+ ]);
666
+ (0, vitest_1.expect)(send.fn.mock.calls[1]).toEqual([
667
+ "error-handler-0-handle",
668
+ vitest_1.expect.objectContaining({
669
+ ctx: vitest_1.expect.anything(),
670
+ encoder: reqRes,
671
+ enRequest: { x: 2, stop: true },
672
+ request,
673
+ error,
674
+ send,
675
+ }),
676
+ ]);
677
+ });
678
+ (0, vitest_1.it)("validate result error trigger", async () => {
679
+ const evo = new evento_js_1.Evento(reqRes);
680
+ const send = new TestSend();
681
+ evo.push({
682
+ type: evento_js_1.EventoType.Error,
683
+ hash: "error-handler-0",
684
+ handle: async (ctx) => {
685
+ send.fn("error-handler-0-handle", ctx);
686
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
687
+ },
688
+ });
689
+ evo.push({
690
+ type: evento_js_1.EventoType.Error,
691
+ hash: "error-handler-1",
692
+ handle: async (ctx) => {
693
+ send.fn("error-handler-1-handle", ctx);
694
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
695
+ },
696
+ });
697
+ const error = new Error("test validate error");
698
+ evo.push({
699
+ hash: "regular-handler-0",
700
+ validate: async (ctx) => {
701
+ send.fn("regular-handler-0-validate", ctx);
702
+ return Promise.resolve(result_js_1.Result.Err(error));
703
+ },
704
+ handle: async (ctx) => {
705
+ send.fn("regular-handler-0-handle", ctx);
706
+ return Promise.reject(new Error("test error"));
707
+ },
708
+ });
709
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
710
+ await evo.trigger({
711
+ send,
712
+ request,
713
+ });
714
+ (0, vitest_1.expect)(send.fn.mock.calls.map((i) => i[0])).toEqual([
715
+ "regular-handler-0-validate",
716
+ "error-handler-0-handle",
717
+ "error-handler-1-handle",
718
+ ]);
719
+ (0, vitest_1.expect)(send.fn.mock.calls[1]).toEqual([
720
+ "error-handler-0-handle",
721
+ vitest_1.expect.objectContaining({
722
+ ctx: vitest_1.expect.anything(),
723
+ encoder: reqRes,
724
+ enRequest: { x: 2, stop: true },
725
+ request,
726
+ error,
727
+ send,
728
+ }),
729
+ ]);
730
+ });
731
+ (0, vitest_1.it)("handle throw error trigger", async () => {
732
+ const evo = new evento_js_1.Evento(reqRes);
733
+ const send = new TestSend();
734
+ evo.push({
735
+ type: evento_js_1.EventoType.Error,
736
+ hash: "error-handler-0",
737
+ handle: async (ctx) => {
738
+ send.fn("error-handler-0-handle", ctx);
739
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
740
+ },
741
+ });
742
+ evo.push({
743
+ type: evento_js_1.EventoType.Error,
744
+ hash: "error-handler-1",
745
+ handle: async (ctx) => {
746
+ send.fn("error-handler-1-handle", ctx);
747
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
748
+ },
749
+ });
750
+ const error = new Error("test handle error");
751
+ evo.push({
752
+ hash: "regular-handler-0",
753
+ handle: async (ctx) => {
754
+ send.fn("regular-handler-0-handle", ctx);
755
+ return Promise.reject(error);
756
+ },
757
+ });
758
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
759
+ await evo.trigger({
760
+ send,
761
+ request,
762
+ });
763
+ (0, vitest_1.expect)(send.fn.mock.calls.map((i) => i[0])).toEqual([
764
+ "start",
765
+ "regular-handler-0-handle",
766
+ "error-handler-0-handle",
767
+ "error-handler-1-handle",
768
+ "done",
769
+ ]);
770
+ (0, vitest_1.expect)(send.fn.mock.calls[2]).toEqual([
771
+ "error-handler-0-handle",
772
+ vitest_1.expect.objectContaining({
773
+ ctx: vitest_1.expect.anything(),
774
+ encoder: reqRes,
775
+ enRequest: { x: 2, stop: true },
776
+ request,
777
+ error,
778
+ send,
779
+ validated: {
780
+ stop: true,
781
+ x: 2,
782
+ },
783
+ }),
784
+ ]);
785
+ });
786
+ (0, vitest_1.it)("handle result error trigger", async () => {
787
+ const evo = new evento_js_1.Evento(reqRes);
788
+ const send = new TestSend();
789
+ evo.push({
790
+ type: evento_js_1.EventoType.Error,
791
+ hash: "error-handler-0",
792
+ handle: async (ctx) => {
793
+ send.fn("error-handler-0-handle", ctx);
794
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
795
+ },
796
+ });
797
+ evo.push({
798
+ type: evento_js_1.EventoType.Error,
799
+ hash: "error-handler-1",
800
+ handle: async (ctx) => {
801
+ send.fn("error-handler-1-handle", ctx);
802
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
803
+ },
804
+ });
805
+ const error = new Error("test handle error");
806
+ evo.push({
807
+ hash: "regular-handler-0",
808
+ handle: async (ctx) => {
809
+ send.fn("regular-handler-0-handle", ctx);
810
+ return Promise.resolve(result_js_1.Result.Err(error));
811
+ },
812
+ post: async (ctx) => {
813
+ send.fn("regular-handler-0-post", ctx);
814
+ return Promise.resolve();
815
+ },
816
+ });
817
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
818
+ await evo.trigger({
819
+ send,
820
+ request,
821
+ });
822
+ (0, vitest_1.expect)(send.fn.mock.calls.map((i) => i[0])).toEqual([
823
+ "start",
824
+ "regular-handler-0-handle",
825
+ "regular-handler-0-post",
826
+ "error-handler-0-handle",
827
+ "error-handler-1-handle",
828
+ "done",
829
+ ]);
830
+ (0, vitest_1.expect)(send.fn.mock.calls[3]).toEqual([
831
+ "error-handler-0-handle",
832
+ vitest_1.expect.objectContaining({
833
+ ctx: vitest_1.expect.anything(),
834
+ encoder: reqRes,
835
+ enRequest: { x: 2, stop: true },
836
+ request,
837
+ error,
838
+ send,
839
+ validated: {
840
+ stop: true,
841
+ x: 2,
842
+ },
843
+ }),
844
+ ]);
845
+ });
846
+ (0, vitest_1.it)("call post", async () => {
847
+ const evo = new evento_js_1.Evento(reqRes);
848
+ const send = new TestSend();
849
+ evo.push({
850
+ hash: "regular-handler-0",
851
+ handle: async (ctx) => {
852
+ send.fn("regular-handler-0-handle", ctx);
853
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
854
+ },
855
+ post: async (ctx) => {
856
+ send.fn("regular-handler-0-post", ctx);
857
+ return Promise.reject(new Error("test post-0 error"));
858
+ },
859
+ });
860
+ evo.push({
861
+ hash: "regular-handler-1",
862
+ handle: async (ctx) => {
863
+ send.fn("regular-handler-1-handle", ctx);
864
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
865
+ },
866
+ });
867
+ evo.push({
868
+ hash: "regular-handler-2",
869
+ handle: async (ctx) => {
870
+ send.fn("regular-handler-2-handle", ctx);
871
+ return Promise.resolve(result_js_1.Result.Ok(evento_js_1.EventoResult.Continue));
872
+ },
873
+ post: async (ctx) => {
874
+ send.fn("regular-handler-2-post", ctx);
875
+ return Promise.resolve();
876
+ },
877
+ });
878
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
879
+ await evo.trigger({
880
+ send,
881
+ request,
882
+ });
883
+ (0, vitest_1.expect)(send.fn.mock.calls.map((i) => i[0])).toEqual([
884
+ "start",
885
+ "regular-handler-0-handle",
886
+ "regular-handler-1-handle",
887
+ "regular-handler-2-handle",
888
+ "regular-handler-0-post",
889
+ "regular-handler-2-post",
890
+ "done",
891
+ ]);
892
+ });
521
893
  });
522
894
  //# sourceMappingURL=evento.test.js.map