@reventlessdev/reventless-core 3.0.0-alpha.179 → 3.0.0-alpha.181

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 (118) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/package.json +8 -8
  3. package/src/Message.res +2 -1
  4. package/src/Message.res.mjs +5 -1
  5. package/src/adapter/Monitoring/Monitoring.res +14 -2
  6. package/src/adapter/Monitoring/Monitoring.res.mjs +4 -2
  7. package/src/admin/Platform_Admin_Structure.res +2 -0
  8. package/src/admin/Platform_Admin_Structure.res.mjs +2 -0
  9. package/src/admin/Platform_ComponentDefinitionsApi.res +2 -1
  10. package/src/admin/Platform_ComponentDefinitionsApi.res.mjs +5 -1
  11. package/src/admin/UiFragmentRegistry/StateViewSlice/UiFragments_Projection.res +1 -1
  12. package/src/admin/UiFragmentRegistry/StateViewSlice/UiFragments_Projection.res.mjs +2 -1
  13. package/src/components/Api/ApiTargetStateHelpers.res +20 -0
  14. package/src/components/Api/ApiTargetStateHelpers.res.mjs +16 -0
  15. package/src/components/Api/GraphQL_FragmentGenerator.res +1 -0
  16. package/src/components/Api/GraphQL_FragmentGenerator.res.mjs +1 -0
  17. package/src/components/Api/SchemaType.res +3 -0
  18. package/src/components/Api/SchemaType.res.mjs +10 -2
  19. package/src/components/Api/SuryToJsonSchema.res +16 -0
  20. package/src/components/Api/SuryToJsonSchema.res.mjs +28 -0
  21. package/src/components/Dcb/Dcb_Builder.res +4 -5
  22. package/src/components/Dcb/Dcb_Builder.res.mjs +3 -5
  23. package/src/components/DcbEventLog/DcbEventLog_Operations.res +6 -1
  24. package/src/components/DcbEventLog/DcbEventLog_Operations.res.mjs +2 -1
  25. package/src/components/InboundTranslationSlice/InboundTranslationSlice.res +25 -0
  26. package/src/components/InboundTranslationSlice/InboundTranslationSlice.res.mjs +31 -0
  27. package/src/components/InboundTranslationSlice/InboundTranslationSlice_Callback.res +8 -8
  28. package/src/components/InboundTranslationSlice/InboundTranslationSlice_Callback.res.mjs +26 -6
  29. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice_Builder.res +44 -37
  30. package/src/components/OutboundTranslationSlice/OutboundTranslationSlice_Builder.res.mjs +17 -25
  31. package/src/components/StateChangeSlice/StateChangeSlice_Callback.res +27 -2
  32. package/src/components/StateChangeSlice/StateChangeSlice_Callback.res.mjs +4 -0
  33. package/src/components/StateViewSlice/StateViewSlice_Builder.res +20 -6
  34. package/src/components/StateViewSlice/StateViewSlice_Builder.res.mjs +23 -5
  35. package/src/components/StateViewSlice/StateViewSlice_Callback.res +1 -1
  36. package/src/components/StateViewSlice/StateViewSlice_Callback.res.mjs +5 -1
  37. package/src/plugin/component/Plugin_Helpers.res +4 -1
  38. package/src/plugin/component/Plugin_Structure.res +15 -1
  39. package/src/plugin/component/Plugin_Structure.res.mjs +4 -1
  40. package/src/plugin/lifecycle/PluginsReadModelSpec.res.mjs +2 -0
  41. package/tests/IdentityTest.res.mjs +174 -0
  42. package/tests/ResourceAttributionTest.res.mjs +75 -0
  43. package/tests/adapter/MonitoringTest.res +32 -2
  44. package/tests/adapter/MonitoringTest.res.mjs +116 -0
  45. package/tests/admin/Platform_ComponentDefinitionsApiTest.res +10 -0
  46. package/tests/admin/Platform_ComponentDefinitionsApiTest.res.mjs +365 -0
  47. package/tests/admin/Platform_UIFragmentsApiTest.res.mjs +101 -0
  48. package/tests/aggregate/AggregateCacheTest.res.mjs +433 -0
  49. package/tests/aggregate/AggregateCallbackTest.res.mjs +143 -0
  50. package/tests/aggregate/AggregateCausationTest.res.mjs +47 -0
  51. package/tests/aggregate/AggregateConflictTest.res.mjs +386 -0
  52. package/tests/aggregate/AggregateFixtures.res.mjs +308 -0
  53. package/tests/aggregate/AggregateRejectionTest.res.mjs +166 -0
  54. package/tests/aggregate/AggregateSnapshotTest.res.mjs +645 -0
  55. package/tests/api/ApiNoApiTest.res.mjs +90 -0
  56. package/tests/api/GraphQL_StitcherTest.res.mjs +112 -0
  57. package/tests/api/SimpleTest.res.mjs +10 -0
  58. package/tests/api/SuryToJsonSchemaTest.res +68 -0
  59. package/tests/api/SuryToJsonSchemaTest.res.mjs +843 -0
  60. package/tests/commandgenerator/CommandGeneratorCallbackTest.res.mjs +160 -0
  61. package/tests/commandgenerator/CommandGeneratorFixtures.res.mjs +197 -0
  62. package/tests/commandtopic/CommandTopicCallbackFixtures.res.mjs +152 -0
  63. package/tests/commandtopic/CommandTopicCallbackTest.res.mjs +106 -0
  64. package/tests/commandtopic/CommandTopicHelpersRejectionTest.res.mjs +109 -0
  65. package/tests/counter/CounterCallbackTest.res.mjs +140 -0
  66. package/tests/counter/CounterFixtures.res.mjs +67 -0
  67. package/tests/dcb/DcbDecodeTest.res.mjs +194 -0
  68. package/tests/dcb/DcbEventLogOperationsTest.res.mjs +268 -0
  69. package/tests/dcb/DcbFixtures.res.mjs +534 -0
  70. package/tests/dcb/DcbScopeInferenceTest.res.mjs +480 -0
  71. package/tests/dcb/DcbStateChangeSliceTest.res.mjs +540 -0
  72. package/tests/dcb/DcbTagTest.res.mjs +867 -0
  73. package/tests/dcb/DcbValidationTest.res.mjs +476 -0
  74. package/tests/eventlog/EventLogFixtures.res.mjs +196 -0
  75. package/tests/eventlog/EventLogOperationsTest.res.mjs +192 -0
  76. package/tests/eventlog/EventLogRetryTest.res.mjs +195 -0
  77. package/tests/eventmapper/EventMapperCallbackTest.res.mjs +141 -0
  78. package/tests/eventmapper/EventMapperFixtures.res.mjs +440 -0
  79. package/tests/eventmapper/EventMapperTest.res.mjs +83 -0
  80. package/tests/eventtopic/EventTopicFixtures.res.mjs +65 -0
  81. package/tests/eventtopic/EventTopicOperationsTest.res.mjs +71 -0
  82. package/tests/extensionpoint/ExtensionPointCallbackTest.res.mjs +94 -0
  83. package/tests/extensionpoint/ExtensionPointFixtures.res.mjs +205 -0
  84. package/tests/extensionpoint/ExtensionPointOperationsTest.res.mjs +304 -0
  85. package/tests/extensionpoint/PluginDisconnectScheduleTest.res.mjs +92 -0
  86. package/tests/ftp/FTPTest.res.mjs +88 -0
  87. package/tests/logger/LogFormatTest.res.mjs +329 -0
  88. package/tests/logger/LoggerLazyTest.res.mjs +40 -0
  89. package/tests/message/MessageTest.res.mjs +218 -0
  90. package/tests/message/MetaEnvelopeTest.res.mjs +188 -0
  91. package/tests/plugin/HeartbeatDisconnectGraceTest.res.mjs +91 -0
  92. package/tests/plugin/ManifestVisibilityTest.res.mjs +215 -0
  93. package/tests/plugin/PluginSpecExperiment.res.mjs +31 -0
  94. package/tests/plugin/PluginStructureTest.res +55 -0
  95. package/tests/plugin/PluginStructureTest.res.mjs +467 -0
  96. package/tests/plugin/PluginVersionTest.res.mjs +30 -0
  97. package/tests/plugin/SchemaWalkerTest.res.mjs +160 -0
  98. package/tests/plugin/StateChangeSlice/PsPlaceOrder.res.mjs +62 -0
  99. package/tests/plugin/StateChangeSlice/PsShipOrder.res +4 -1
  100. package/tests/plugin/StateChangeSlice/PsShipOrder.res.mjs +77 -0
  101. package/tests/plugin/StateViewSlice/PsAnnotatedView.res +5 -4
  102. package/tests/plugin/StateViewSlice/PsAnnotatedView.res.mjs +110 -0
  103. package/tests/plugin/StateViewSlice/PsAvailableProductsView.res +1 -1
  104. package/tests/plugin/StateViewSlice/PsAvailableProductsView.res.mjs +70 -0
  105. package/tests/plugin/StateViewSlice/PsCustomersView.res +1 -1
  106. package/tests/plugin/StateViewSlice/PsCustomersView.res.mjs +70 -0
  107. package/tests/plugin/StateViewSlice/PsOrdersView.res +1 -1
  108. package/tests/plugin/StateViewSlice/PsOrdersView.res.mjs +82 -0
  109. package/tests/poc/StructuralSubtypingPoc.res.mjs +61 -0
  110. package/tests/projection/ProjectionOptimizeTest.res.mjs +75 -0
  111. package/tests/querydb/QueryDbFixtures.res.mjs +135 -0
  112. package/tests/querydb/QueryDbOperationsTest.res.mjs +168 -0
  113. package/tests/sideeffecthandler/SideEffectHandlerCallbackTest.res.mjs +77 -0
  114. package/tests/sideeffecthandler/SideEffectHandlerFixtures.res.mjs +139 -0
  115. package/tests/util/CommandPublisherTest.res.mjs +78 -0
  116. package/tests/util/CsvStreamTest.res.mjs +51 -0
  117. package/tests/util/LruTest.res.mjs +105 -0
  118. package/tests/util/MetricsTest.res.mjs +53 -0
@@ -0,0 +1,105 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Stdlib_Array from "@rescript/runtime/lib/es6/Stdlib_Array.js";
4
+ import * as Lru$ReventlessCore from "../../src/util/Lru.res.mjs";
5
+
6
+ globalThis.describe("Lru:", () => {
7
+ globalThis.describe("get / put", () => {
8
+ globalThis.test("get on an empty cache misses", () => {
9
+ let cache = Lru$ReventlessCore.make(2);
10
+ globalThis.expect(Lru$ReventlessCore.get(cache, "a")).toEqual(undefined);
11
+ });
12
+ globalThis.test("put then get returns the stored value", () => {
13
+ let cache = Lru$ReventlessCore.make(2);
14
+ Lru$ReventlessCore.put(cache, "a", 1);
15
+ globalThis.expect(Lru$ReventlessCore.get(cache, "a")).toEqual(1);
16
+ });
17
+ globalThis.test("put on an existing key overwrites", () => {
18
+ let cache = Lru$ReventlessCore.make(2);
19
+ Lru$ReventlessCore.put(cache, "a", 1);
20
+ Lru$ReventlessCore.put(cache, "a", 2);
21
+ globalThis.expect([
22
+ Lru$ReventlessCore.get(cache, "a"),
23
+ Lru$ReventlessCore.size(cache)
24
+ ]).toEqual([
25
+ 2,
26
+ 1
27
+ ]);
28
+ });
29
+ globalThis.test("invalidate removes a key", () => {
30
+ let cache = Lru$ReventlessCore.make(2);
31
+ Lru$ReventlessCore.put(cache, "a", 1);
32
+ Lru$ReventlessCore.invalidate(cache, "a");
33
+ globalThis.expect([
34
+ Lru$ReventlessCore.get(cache, "a"),
35
+ Lru$ReventlessCore.size(cache)
36
+ ]).toEqual([
37
+ undefined,
38
+ 0
39
+ ]);
40
+ });
41
+ });
42
+ globalThis.describe("eviction", () => {
43
+ globalThis.test("evicts the least-recently-used entry past capacity", () => {
44
+ let cache = Lru$ReventlessCore.make(2);
45
+ Lru$ReventlessCore.put(cache, "a", 1);
46
+ Lru$ReventlessCore.put(cache, "b", 2);
47
+ Lru$ReventlessCore.put(cache, "c", 3);
48
+ globalThis.expect([
49
+ Lru$ReventlessCore.get(cache, "a"),
50
+ Lru$ReventlessCore.get(cache, "b"),
51
+ Lru$ReventlessCore.get(cache, "c"),
52
+ Lru$ReventlessCore.size(cache)
53
+ ]).toEqual([
54
+ undefined,
55
+ 2,
56
+ 3,
57
+ 2
58
+ ]);
59
+ });
60
+ globalThis.test("get refreshes recency so a touched key survives eviction", () => {
61
+ let cache = Lru$ReventlessCore.make(2);
62
+ Lru$ReventlessCore.put(cache, "a", 1);
63
+ Lru$ReventlessCore.put(cache, "b", 2);
64
+ Lru$ReventlessCore.get(cache, "a");
65
+ Lru$ReventlessCore.put(cache, "c", 3);
66
+ globalThis.expect([
67
+ Lru$ReventlessCore.get(cache, "a"),
68
+ Lru$ReventlessCore.get(cache, "b"),
69
+ Lru$ReventlessCore.get(cache, "c")
70
+ ]).toEqual([
71
+ 1,
72
+ undefined,
73
+ 3
74
+ ]);
75
+ });
76
+ globalThis.test("101 distinct keys against capacity 100 keeps exactly 100", () => {
77
+ let cache = Lru$ReventlessCore.make(100);
78
+ Stdlib_Array.fromInitializer(101, i => i).forEach(i => Lru$ReventlessCore.put(cache, i, i));
79
+ globalThis.expect([
80
+ Lru$ReventlessCore.size(cache),
81
+ Lru$ReventlessCore.get(cache, 0),
82
+ Lru$ReventlessCore.get(cache, 100)
83
+ ]).toEqual([
84
+ 100,
85
+ undefined,
86
+ 100
87
+ ]);
88
+ });
89
+ });
90
+ globalThis.describe("disabled cache (capacity <= 0)", () => {
91
+ globalThis.test("never stores", () => {
92
+ let cache = Lru$ReventlessCore.make(0);
93
+ Lru$ReventlessCore.put(cache, "a", 1);
94
+ globalThis.expect([
95
+ Lru$ReventlessCore.get(cache, "a"),
96
+ Lru$ReventlessCore.size(cache)
97
+ ]).toEqual([
98
+ undefined,
99
+ 0
100
+ ]);
101
+ });
102
+ });
103
+ });
104
+
105
+ /* Not a pure module */
@@ -0,0 +1,53 @@
1
+ // Generated by ReScript, PLEASE EDIT WITH CARE
2
+
3
+ import * as Stdlib_JSON from "@rescript/runtime/lib/es6/Stdlib_JSON.js";
4
+ import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js";
5
+ import * as Metrics$ReventlessCore from "../../src/util/Metrics.res.mjs";
6
+
7
+ function field(json, key) {
8
+ if (typeof json === "object" && json !== null && !Array.isArray(json)) {
9
+ return json[key];
10
+ }
11
+ }
12
+
13
+ function str(json) {
14
+ return Stdlib_Option.flatMap(json, Stdlib_JSON.Decode.string);
15
+ }
16
+
17
+ function num(json) {
18
+ return Stdlib_Option.flatMap(json, Stdlib_JSON.Decode.float);
19
+ }
20
+
21
+ globalThis.describe("Metrics.metricLine", () => {
22
+ let line = Metrics$ReventlessCore.metricLine("AppendConflict", "AddItem", undefined);
23
+ globalThis.test("is a provider-neutral line — no AWS/CloudWatch vocabulary", () => {
24
+ globalThis.expect(field(line, "_aws")).toEqual(undefined);
25
+ globalThis.expect(field(line, "CloudWatchMetrics")).toEqual(undefined);
26
+ });
27
+ globalThis.test("carries the metric discriminator and name", () => {
28
+ let json = field(line, Metrics$ReventlessCore.discriminator);
29
+ globalThis.expect(Stdlib_Option.flatMap(json, Stdlib_JSON.Decode.string)).toEqual("AppendConflict");
30
+ });
31
+ globalThis.test("carries the slice dimension and a default count of 1", () => {
32
+ let json = field(line, "slice");
33
+ globalThis.expect(Stdlib_Option.flatMap(json, Stdlib_JSON.Decode.string)).toEqual("AddItem");
34
+ let json$1 = field(line, "value");
35
+ globalThis.expect(Stdlib_Option.flatMap(json$1, Stdlib_JSON.Decode.float)).toEqual(1.0);
36
+ let json$2 = field(line, "unit");
37
+ globalThis.expect(Stdlib_Option.flatMap(json$2, Stdlib_JSON.Decode.string)).toEqual("Count");
38
+ });
39
+ globalThis.test("honours an explicit count value", () => {
40
+ let l = Metrics$ReventlessCore.metricLine("AppendRetry", "S", 3);
41
+ let json = field(l, "value");
42
+ globalThis.expect(Stdlib_Option.flatMap(json, Stdlib_JSON.Decode.float)).toEqual(3.0);
43
+ let json$1 = field(l, Metrics$ReventlessCore.discriminator);
44
+ globalThis.expect(Stdlib_Option.flatMap(json$1, Stdlib_JSON.Decode.string)).toEqual("AppendRetry");
45
+ });
46
+ });
47
+
48
+ export {
49
+ field,
50
+ str,
51
+ num,
52
+ }
53
+ /* Not a pure module */