@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
@@ -516,5 +516,377 @@ describe("Evento", () => {
516
516
  Result.Ok(EventoResult.Stop),
517
517
  ]);
518
518
  });
519
+ it("validate throw encode error trigger", async () => {
520
+ class ErrorEncoder {
521
+ encode(_args) {
522
+ throw new Error("test encode error");
523
+ }
524
+ decode(data) {
525
+ return Promise.resolve(Result.Ok(JSON.stringify(data)));
526
+ }
527
+ }
528
+ const evo = new Evento(new ErrorEncoder());
529
+ const send = new TestSend();
530
+ evo.push({
531
+ type: EventoType.Error,
532
+ hash: "error-handler-0",
533
+ handle: async (ctx) => {
534
+ send.fn("error-handler-0-handle", ctx);
535
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
536
+ },
537
+ });
538
+ evo.push({
539
+ type: EventoType.Error,
540
+ hash: "error-handler-1",
541
+ handle: async (ctx) => {
542
+ send.fn("error-handler-1-handle", ctx);
543
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
544
+ },
545
+ });
546
+ evo.push({
547
+ hash: "regular-handler-0",
548
+ handle: async (ctx) => {
549
+ send.fn("regular-handler-0-handle", ctx);
550
+ return Promise.reject(new Error("test error"));
551
+ },
552
+ });
553
+ const request = new Request("http://example.com", { method: "GET" });
554
+ await evo.trigger({
555
+ send,
556
+ request,
557
+ });
558
+ expect(send.fn.mock.calls.map((i) => i[0])).toEqual(["error-handler-0-handle", "error-handler-1-handle"]);
559
+ expect(send.fn.mock.calls[0][1].error.message).toContain("test encode error");
560
+ expect(send.fn.mock.calls[0]).toEqual([
561
+ "error-handler-0-handle",
562
+ expect.objectContaining({
563
+ ctx: expect.anything(),
564
+ encoder: reqRes,
565
+ request,
566
+ error: send.fn.mock.calls[0][1].error,
567
+ send,
568
+ }),
569
+ ]);
570
+ });
571
+ it("validate result encode error trigger", async () => {
572
+ class ErrorEncoder {
573
+ encode(_args) {
574
+ return Promise.resolve(Result.Err(new Error("test encode error")));
575
+ }
576
+ decode(data) {
577
+ return Promise.resolve(Result.Ok(JSON.stringify(data)));
578
+ }
579
+ }
580
+ const evo = new Evento(new ErrorEncoder());
581
+ const send = new TestSend();
582
+ evo.push({
583
+ type: EventoType.Error,
584
+ hash: "error-handler-0",
585
+ handle: async (ctx) => {
586
+ send.fn("error-handler-0-handle", ctx);
587
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
588
+ },
589
+ });
590
+ evo.push({
591
+ type: EventoType.Error,
592
+ hash: "error-handler-1",
593
+ handle: async (ctx) => {
594
+ send.fn("error-handler-1-handle", ctx);
595
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
596
+ },
597
+ });
598
+ evo.push({
599
+ hash: "regular-handler-0",
600
+ handle: async (ctx) => {
601
+ send.fn("regular-handler-0-handle", ctx);
602
+ return Promise.reject(new Error("test error"));
603
+ },
604
+ });
605
+ const request = new Request("http://example.com", { method: "GET" });
606
+ await evo.trigger({
607
+ send,
608
+ request,
609
+ });
610
+ expect(send.fn.mock.calls.map((i) => i[0])).toEqual(["error-handler-0-handle", "error-handler-1-handle"]);
611
+ expect(send.fn.mock.calls[0][1].error.message).toContain("test encode error");
612
+ expect(send.fn.mock.calls[0]).toEqual([
613
+ "error-handler-0-handle",
614
+ expect.objectContaining({
615
+ ctx: expect.anything(),
616
+ encoder: reqRes,
617
+ request,
618
+ error: send.fn.mock.calls[0][1].error,
619
+ send,
620
+ }),
621
+ ]);
622
+ });
623
+ it("validate throw error trigger", async () => {
624
+ const evo = new Evento(reqRes);
625
+ const send = new TestSend();
626
+ evo.push({
627
+ type: EventoType.Error,
628
+ hash: "error-handler-0",
629
+ handle: async (ctx) => {
630
+ send.fn("error-handler-0-handle", ctx);
631
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
632
+ },
633
+ });
634
+ evo.push({
635
+ type: EventoType.Error,
636
+ hash: "error-handler-1",
637
+ handle: async (ctx) => {
638
+ send.fn("error-handler-1-handle", ctx);
639
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
640
+ },
641
+ });
642
+ const error = new Error("test validate error");
643
+ evo.push({
644
+ hash: "regular-handler-0",
645
+ validate: async (ctx) => {
646
+ send.fn("regular-handler-0-validate", ctx);
647
+ return Promise.reject(error);
648
+ },
649
+ handle: async (ctx) => {
650
+ send.fn("regular-handler-0-handle", ctx);
651
+ return Promise.reject(new Error("test error"));
652
+ },
653
+ });
654
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
655
+ await evo.trigger({
656
+ send,
657
+ request,
658
+ });
659
+ expect(send.fn.mock.calls.map((i) => i[0])).toEqual([
660
+ "regular-handler-0-validate",
661
+ "error-handler-0-handle",
662
+ "error-handler-1-handle",
663
+ ]);
664
+ expect(send.fn.mock.calls[1]).toEqual([
665
+ "error-handler-0-handle",
666
+ expect.objectContaining({
667
+ ctx: expect.anything(),
668
+ encoder: reqRes,
669
+ enRequest: { x: 2, stop: true },
670
+ request,
671
+ error,
672
+ send,
673
+ }),
674
+ ]);
675
+ });
676
+ it("validate result error trigger", async () => {
677
+ const evo = new Evento(reqRes);
678
+ const send = new TestSend();
679
+ evo.push({
680
+ type: EventoType.Error,
681
+ hash: "error-handler-0",
682
+ handle: async (ctx) => {
683
+ send.fn("error-handler-0-handle", ctx);
684
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
685
+ },
686
+ });
687
+ evo.push({
688
+ type: EventoType.Error,
689
+ hash: "error-handler-1",
690
+ handle: async (ctx) => {
691
+ send.fn("error-handler-1-handle", ctx);
692
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
693
+ },
694
+ });
695
+ const error = new Error("test validate error");
696
+ evo.push({
697
+ hash: "regular-handler-0",
698
+ validate: async (ctx) => {
699
+ send.fn("regular-handler-0-validate", ctx);
700
+ return Promise.resolve(Result.Err(error));
701
+ },
702
+ handle: async (ctx) => {
703
+ send.fn("regular-handler-0-handle", ctx);
704
+ return Promise.reject(new Error("test error"));
705
+ },
706
+ });
707
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
708
+ await evo.trigger({
709
+ send,
710
+ request,
711
+ });
712
+ expect(send.fn.mock.calls.map((i) => i[0])).toEqual([
713
+ "regular-handler-0-validate",
714
+ "error-handler-0-handle",
715
+ "error-handler-1-handle",
716
+ ]);
717
+ expect(send.fn.mock.calls[1]).toEqual([
718
+ "error-handler-0-handle",
719
+ expect.objectContaining({
720
+ ctx: expect.anything(),
721
+ encoder: reqRes,
722
+ enRequest: { x: 2, stop: true },
723
+ request,
724
+ error,
725
+ send,
726
+ }),
727
+ ]);
728
+ });
729
+ it("handle throw error trigger", async () => {
730
+ const evo = new Evento(reqRes);
731
+ const send = new TestSend();
732
+ evo.push({
733
+ type: EventoType.Error,
734
+ hash: "error-handler-0",
735
+ handle: async (ctx) => {
736
+ send.fn("error-handler-0-handle", ctx);
737
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
738
+ },
739
+ });
740
+ evo.push({
741
+ type: EventoType.Error,
742
+ hash: "error-handler-1",
743
+ handle: async (ctx) => {
744
+ send.fn("error-handler-1-handle", ctx);
745
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
746
+ },
747
+ });
748
+ const error = new Error("test handle error");
749
+ evo.push({
750
+ hash: "regular-handler-0",
751
+ handle: async (ctx) => {
752
+ send.fn("regular-handler-0-handle", ctx);
753
+ return Promise.reject(error);
754
+ },
755
+ });
756
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
757
+ await evo.trigger({
758
+ send,
759
+ request,
760
+ });
761
+ expect(send.fn.mock.calls.map((i) => i[0])).toEqual([
762
+ "start",
763
+ "regular-handler-0-handle",
764
+ "error-handler-0-handle",
765
+ "error-handler-1-handle",
766
+ "done",
767
+ ]);
768
+ expect(send.fn.mock.calls[2]).toEqual([
769
+ "error-handler-0-handle",
770
+ expect.objectContaining({
771
+ ctx: expect.anything(),
772
+ encoder: reqRes,
773
+ enRequest: { x: 2, stop: true },
774
+ request,
775
+ error,
776
+ send,
777
+ validated: {
778
+ stop: true,
779
+ x: 2,
780
+ },
781
+ }),
782
+ ]);
783
+ });
784
+ it("handle result error trigger", async () => {
785
+ const evo = new Evento(reqRes);
786
+ const send = new TestSend();
787
+ evo.push({
788
+ type: EventoType.Error,
789
+ hash: "error-handler-0",
790
+ handle: async (ctx) => {
791
+ send.fn("error-handler-0-handle", ctx);
792
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
793
+ },
794
+ });
795
+ evo.push({
796
+ type: EventoType.Error,
797
+ hash: "error-handler-1",
798
+ handle: async (ctx) => {
799
+ send.fn("error-handler-1-handle", ctx);
800
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
801
+ },
802
+ });
803
+ const error = new Error("test handle error");
804
+ evo.push({
805
+ hash: "regular-handler-0",
806
+ handle: async (ctx) => {
807
+ send.fn("regular-handler-0-handle", ctx);
808
+ return Promise.resolve(Result.Err(error));
809
+ },
810
+ post: async (ctx) => {
811
+ send.fn("regular-handler-0-post", ctx);
812
+ return Promise.resolve();
813
+ },
814
+ });
815
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
816
+ await evo.trigger({
817
+ send,
818
+ request,
819
+ });
820
+ expect(send.fn.mock.calls.map((i) => i[0])).toEqual([
821
+ "start",
822
+ "regular-handler-0-handle",
823
+ "regular-handler-0-post",
824
+ "error-handler-0-handle",
825
+ "error-handler-1-handle",
826
+ "done",
827
+ ]);
828
+ expect(send.fn.mock.calls[3]).toEqual([
829
+ "error-handler-0-handle",
830
+ expect.objectContaining({
831
+ ctx: expect.anything(),
832
+ encoder: reqRes,
833
+ enRequest: { x: 2, stop: true },
834
+ request,
835
+ error,
836
+ send,
837
+ validated: {
838
+ stop: true,
839
+ x: 2,
840
+ },
841
+ }),
842
+ ]);
843
+ });
844
+ it("call post", async () => {
845
+ const evo = new Evento(reqRes);
846
+ const send = new TestSend();
847
+ evo.push({
848
+ hash: "regular-handler-0",
849
+ handle: async (ctx) => {
850
+ send.fn("regular-handler-0-handle", ctx);
851
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
852
+ },
853
+ post: async (ctx) => {
854
+ send.fn("regular-handler-0-post", ctx);
855
+ return Promise.reject(new Error("test post-0 error"));
856
+ },
857
+ });
858
+ evo.push({
859
+ hash: "regular-handler-1",
860
+ handle: async (ctx) => {
861
+ send.fn("regular-handler-1-handle", ctx);
862
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
863
+ },
864
+ });
865
+ evo.push({
866
+ hash: "regular-handler-2",
867
+ handle: async (ctx) => {
868
+ send.fn("regular-handler-2-handle", ctx);
869
+ return Promise.resolve(Result.Ok(EventoResult.Continue));
870
+ },
871
+ post: async (ctx) => {
872
+ send.fn("regular-handler-2-post", ctx);
873
+ return Promise.resolve();
874
+ },
875
+ });
876
+ const request = new Request("http://example.com", { method: "POST", body: JSON.stringify({ x: 2, stop: true }) });
877
+ await evo.trigger({
878
+ send,
879
+ request,
880
+ });
881
+ expect(send.fn.mock.calls.map((i) => i[0])).toEqual([
882
+ "start",
883
+ "regular-handler-0-handle",
884
+ "regular-handler-1-handle",
885
+ "regular-handler-2-handle",
886
+ "regular-handler-0-post",
887
+ "regular-handler-2-post",
888
+ "done",
889
+ ]);
890
+ });
519
891
  });
520
892
  //# sourceMappingURL=evento.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evento.test.js","sourceRoot":"","sources":["../../../src/evento.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evento.test.js","sourceRoot":"","sources":["../../../src/evento.test.ts"],"names":[],"mappings":"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"}
package/esm/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "0.5.10";
1
+ export const VERSION = "0.5.12";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adviser/cement",
3
- "version": "0.5.10",
3
+ "version": "0.5.12",
4
4
  "description": "better try/catch/finally handling",
5
5
  "main": "./cjs/index.js",
6
6
  "type": "module",
@@ -120,6 +120,22 @@ export class AppContext {
120
120
  return this.ctx.get(key) as T;
121
121
  }
122
122
 
123
+ getOrDefault<T>(key: string, defaultValue: T): T {
124
+ const value = this.ctx.get(key);
125
+ if (value === undefined) {
126
+ return defaultValue;
127
+ }
128
+ return value as T;
129
+ }
130
+
131
+ getOrThrow<T>(key: string): T {
132
+ const value = this.ctx.get(key);
133
+ if (value === undefined) {
134
+ throw new Error(`AppContext: Key '${key}' not found`);
135
+ }
136
+ return value as T;
137
+ }
138
+
123
139
  /**
124
140
  * Deletes a value from the context.
125
141
  *