@reventlessdev/reventless-core 3.0.0-alpha.256 → 3.0.0-alpha.258
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.
- package/CHANGELOG.md +28 -0
- package/package.json +8 -8
- package/src/adapter/Monitoring/Monitoring.res +79 -5
- package/src/adapter/Monitoring/Monitoring.res.mjs +42 -2
- package/src/admin/Platform_Admin_Structure.res.mjs +1 -1
- package/src/admin/Platform_ComponentDefinitionsApi.res +5 -1
- package/src/admin/Platform_ComponentDefinitionsApi.res.mjs +5 -1
- package/src/admin/Platform_UiSlots.res +21 -0
- package/src/admin/Platform_UiSlots.res.mjs +15 -0
- package/src/admin/UiFragmentRegistry/StateChangeSlice/UiFragmentRegistry.res.mjs +1 -1
- package/src/components/Aggregate/Aggregate_Callback.res +13 -4
- package/src/components/Aggregate/Aggregate_Callback.res.mjs +6 -5
- package/src/components/Api/GraphQL_FragmentGenerator.res +2 -0
- package/src/components/Api/GraphQL_FragmentGenerator.res.mjs +4 -0
- package/src/components/Api/MCP_SchemaGenerator.res.mjs +2 -2
- package/src/components/Api/SchemaType.res +8 -0
- package/src/components/Api/SchemaType.res.mjs +15 -5
- package/src/components/Api/SuryToJsonSchema.res +70 -12
- package/src/components/Api/SuryToJsonSchema.res.mjs +43 -16
- package/src/components/StateChangeSlice/StateChangeSlice_Callback.res +6 -1
- package/src/components/StateChangeSlice/StateChangeSlice_Callback.res.mjs +1 -1
- package/src/components/StateViewSlice/StateViewSlice_Builder.res +7 -2
- package/src/components/StateViewSlice/StateViewSlice_Builder.res.mjs +4 -1
- package/src/components/StateViewSlice/StateViewSlice_Callback.res +3 -1
- package/src/components/StateViewSlice/StateViewSlice_Callback.res.mjs +1 -1
- package/src/plugin/component/Plugin.res +1 -0
- package/src/plugin/component/Plugin_Builder.res +2 -0
- package/src/plugin/component/Plugin_Builder.res.mjs +3 -2
- package/src/plugin/component/Plugin_Structure.res +105 -10
- package/src/plugin/component/Plugin_Structure.res.mjs +71 -27
- package/src/util/Validation.res +1 -1
- package/src/util/Validation.res.mjs +2 -2
- package/tests/adapter/MonitoringTest.res +46 -7
- package/tests/adapter/MonitoringTest.res.mjs +47 -5
- package/tests/admin/AdminApiSchemaDriftTest.res +1 -0
- package/tests/admin/AdminApiSchemaDriftTest.res.mjs +3 -0
- package/tests/admin/Platform_Admin_StructureTest.res.mjs +2 -14
- package/tests/admin/Platform_ComponentDefinitionsApiTest.res +1 -0
- package/tests/admin/Platform_ComponentDefinitionsApiTest.res.mjs +2 -0
- package/tests/aggregate/AggregateCacheTest.res.mjs +1 -1
- package/tests/aggregate/AggregateConflictTest.res.mjs +1 -1
- package/tests/aggregate/AggregateFixtures.res.mjs +1 -1
- package/tests/aggregate/AggregateSnapshotTest.res.mjs +1 -1
- package/tests/api/GraphQL_FragmentGeneratorTest.res +6 -4
- package/tests/api/GraphQL_FragmentGeneratorTest.res.mjs +5 -5
- package/tests/api/SuryToJsonSchemaTest.res.mjs +57 -57
- package/tests/api/TaggedUnionSchemaTest.res.mjs +1 -1
- package/tests/commandgenerator/CommandGeneratorFixtures.res.mjs +1 -1
- package/tests/commandtopic/CommandTopicCallbackFixtures.res.mjs +1 -1
- package/tests/dcb/DcbFixtures.res.mjs +1 -1
- package/tests/eventmapper/EventMapperFixtures.res.mjs +1 -1
- package/tests/extensionpoint/ExtensionPointFixtures.res.mjs +1 -1
- package/tests/extensionpoint/ExtensionPointOperationsTest.res.mjs +1 -1
- package/tests/plugin/ManifestVisibilityTest.res.mjs +1 -1
- package/tests/plugin/PluginStructureAccessTest.res.mjs +1 -1
- package/tests/plugin/PluginStructureTest.res +184 -0
- package/tests/plugin/PluginStructureTest.res.mjs +142 -17
- package/tests/plugin/StateChangeSlice/PsAttachInvoice.res.mjs +1 -1
- package/tests/plugin/StateChangeSlice/PsChangePhoto.res.mjs +1 -1
- package/tests/plugin/StateChangeSlice/PsGatedCommands.res.mjs +1 -1
- package/tests/plugin/StateChangeSlice/PsPlaceOrder.res.mjs +1 -1
- package/tests/plugin/StateChangeSlice/PsReserveStock.res +14 -1
- package/tests/plugin/StateChangeSlice/PsReserveStock.res.mjs +9 -2
- package/tests/plugin/StateChangeSlice/PsTypoStore.res.mjs +1 -1
- package/tests/plugin/StateChangeSlice/PsUploadAvatar.res.mjs +1 -1
- package/tests/plugin/StateChangeSlice/PsUploadImages.res.mjs +1 -1
- package/tests/util/CommandPublisherTest.res.mjs +1 -1
|
@@ -97,7 +97,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
97
97
|
id: s.m(Sury.string),
|
|
98
98
|
name: s.m(Sury.string)
|
|
99
99
|
}));
|
|
100
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
100
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
101
101
|
let idSchema = getPropertyOf(json, "id");
|
|
102
102
|
globalThis.expect(Stdlib_Option.flatMap(idSchema, s => getProperty(s, "x-reventless-id"))).toBe(undefined);
|
|
103
103
|
});
|
|
@@ -106,14 +106,14 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
106
106
|
placedAt: s.m(DateTime$Reventless.string),
|
|
107
107
|
name: s.m(Sury.string)
|
|
108
108
|
}));
|
|
109
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
109
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
110
110
|
globalThis.expect(Stdlib_Option.flatMap(Stdlib_Option.flatMap(getPropertyOf(json, "placedAt"), s => getProperty(s, "format")), Stdlib_JSON.Decode.string)).toBe("date-time");
|
|
111
111
|
globalThis.expect(Stdlib_Option.flatMap(getPropertyOf(json, "name"), s => getProperty(s, "format"))).toBe(undefined);
|
|
112
112
|
});
|
|
113
113
|
});
|
|
114
114
|
globalThis.describe("deriveObjectSchema with an owner field:", () => {
|
|
115
115
|
let ownerOf = (json, name) => Stdlib_Option.flatMap(getPropertyOf(json, name), s => getProperty(s, "x-reventless-owner"));
|
|
116
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
116
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
117
117
|
customerId: s.m(Owner$Reventless.string),
|
|
118
118
|
note: s.m(Sury.string)
|
|
119
119
|
})));
|
|
@@ -127,7 +127,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
127
127
|
globalThis.expect(Stdlib_Option.flatMap(getPropertyOf(json, "customerId"), s => getProperty(s, "type"))).toEqual("string");
|
|
128
128
|
});
|
|
129
129
|
globalThis.test("an optional owner field is still recognised", () => {
|
|
130
|
-
let optJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
130
|
+
let optJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
131
131
|
customerId: s.m(Sury.$option(Owner$Reventless.string))
|
|
132
132
|
})));
|
|
133
133
|
globalThis.expect(ownerOf(optJson, "customerId")).toEqual(true);
|
|
@@ -136,7 +136,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
136
136
|
globalThis.describe("deriveObjectSchema with a sensitive field:", () => {
|
|
137
137
|
let sensitiveOf = (json, name) => Stdlib_Option.flatMap(getPropertyOf(json, name), s => getProperty(s, "x-reventless-sensitive"));
|
|
138
138
|
let ownerOf = (json, name) => Stdlib_Option.flatMap(getPropertyOf(json, name), s => getProperty(s, "x-reventless-owner"));
|
|
139
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
139
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
140
140
|
resetToken: s.m(Sensitive$Reventless.string),
|
|
141
141
|
note: s.m(Sury.string),
|
|
142
142
|
contact: s.m(Email$Reventless.schema)
|
|
@@ -154,13 +154,13 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
154
154
|
globalThis.expect(Stdlib_Option.flatMap(getPropertyOf(json, "resetToken"), s => getProperty(s, "type"))).toEqual("string");
|
|
155
155
|
});
|
|
156
156
|
globalThis.test("an optional sensitive field is still recognised", () => {
|
|
157
|
-
let optJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
157
|
+
let optJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
158
158
|
resetToken: s.m(Sury.$option(Sensitive$Reventless.string))
|
|
159
159
|
})));
|
|
160
160
|
globalThis.expect(sensitiveOf(optJson, "resetToken")).toEqual(true);
|
|
161
161
|
});
|
|
162
162
|
globalThis.test("sensitivity composes with ownership on one field", () => {
|
|
163
|
-
let bothJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
163
|
+
let bothJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
164
164
|
customerId: s.m(Sensitive$Reventless.mark(Owner$Reventless.string))
|
|
165
165
|
})));
|
|
166
166
|
globalThis.expect([
|
|
@@ -182,7 +182,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
182
182
|
newrecord.ids = ["entityId"];
|
|
183
183
|
let spec = newrecord;
|
|
184
184
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
185
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
185
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
186
186
|
let entityIdSchema = getPropertyOf(json, "entityId");
|
|
187
187
|
globalThis.expect(Stdlib_Option.flatMap(Stdlib_Option.flatMap(entityIdSchema, s => getProperty(s, "x-reventless-id")), Stdlib_JSON.Decode.bool)).toBe(true);
|
|
188
188
|
});
|
|
@@ -199,7 +199,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
199
199
|
];
|
|
200
200
|
let spec = newrecord;
|
|
201
201
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
202
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
202
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
203
203
|
let envSchema = getPropertyOf(json, "environment");
|
|
204
204
|
let platformSchema = getPropertyOf(json, "platformName");
|
|
205
205
|
globalThis.expect([
|
|
@@ -219,7 +219,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
219
219
|
newrecord.subIds = ["version"];
|
|
220
220
|
let spec = newrecord;
|
|
221
221
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
222
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
222
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
223
223
|
let versionSchema = getPropertyOf(json, "version");
|
|
224
224
|
globalThis.expect(Stdlib_Option.flatMap(Stdlib_Option.flatMap(versionSchema, s => getProperty(s, "x-reventless-subId")), Stdlib_JSON.Decode.bool)).toBe(true);
|
|
225
225
|
});
|
|
@@ -235,7 +235,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
235
235
|
]];
|
|
236
236
|
let spec = newrecord;
|
|
237
237
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
238
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
238
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
239
239
|
let ownerIdSchema = getPropertyOf(json, "ownerId");
|
|
240
240
|
globalThis.expect(Stdlib_Option.flatMap(Stdlib_Option.flatMap(ownerIdSchema, s => getProperty(s, "x-reventless-index")), Stdlib_JSON.Decode.string)).toBe("byOwner");
|
|
241
241
|
});
|
|
@@ -251,7 +251,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
251
251
|
]];
|
|
252
252
|
let spec = newrecord;
|
|
253
253
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
254
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
254
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
255
255
|
let categorySchema = getPropertyOf(json, "category");
|
|
256
256
|
globalThis.expect(Stdlib_Option.flatMap(Stdlib_Option.flatMap(categorySchema, s => getProperty(s, "x-reventless-index")), Stdlib_JSON.Decode.bool)).toBe(true);
|
|
257
257
|
});
|
|
@@ -264,7 +264,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
264
264
|
newrecord.ids = ["entityId"];
|
|
265
265
|
let spec = newrecord;
|
|
266
266
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
267
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
267
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
268
268
|
let nameSchema = getPropertyOf(json, "name");
|
|
269
269
|
globalThis.expect(Stdlib_Option.flatMap(nameSchema, s => getProperty(s, "x-reventless-id"))).toBe(undefined);
|
|
270
270
|
});
|
|
@@ -277,7 +277,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
277
277
|
newrecord.hidden = ["deploymentId"];
|
|
278
278
|
let spec = newrecord;
|
|
279
279
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
280
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
280
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
281
281
|
let deploymentIdSchema = getPropertyOf(json, "deploymentId");
|
|
282
282
|
let idSchema = getPropertyOf(json, "id");
|
|
283
283
|
globalThis.expect([
|
|
@@ -297,7 +297,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
297
297
|
newrecord.internal = ["eventCollector"];
|
|
298
298
|
let spec = newrecord;
|
|
299
299
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
300
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
300
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
301
301
|
globalThis.expect([
|
|
302
302
|
Stdlib_Option.isNone(getPropertyOf(json, "eventCollector")),
|
|
303
303
|
Stdlib_Option.isSome(getPropertyOf(json, "id"))
|
|
@@ -314,7 +314,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
314
314
|
let newrecord = {...emptySpec};
|
|
315
315
|
newrecord.internal = ["eventCollector"];
|
|
316
316
|
let spec = newrecord;
|
|
317
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec));
|
|
317
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec));
|
|
318
318
|
globalThis.expect(Stdlib_Array.filterMap(Stdlib_Option.getOr(Stdlib_Option.flatMap(Stdlib_Option.flatMap(Stdlib_JSON.Decode.object(json), o => o["required"]), Stdlib_JSON.Decode.array), []), Stdlib_JSON.Decode.string)).toEqual(["id"]);
|
|
319
319
|
});
|
|
320
320
|
globalThis.test("emits x-reventless-summary on field listed in summary", () => {
|
|
@@ -326,7 +326,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
326
326
|
newrecord.summary = ["pluginName"];
|
|
327
327
|
let spec = newrecord;
|
|
328
328
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
329
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
329
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
330
330
|
let pluginNameSchema = getPropertyOf(json, "pluginName");
|
|
331
331
|
let idSchema = getPropertyOf(json, "id");
|
|
332
332
|
globalThis.expect([
|
|
@@ -349,7 +349,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
349
349
|
]];
|
|
350
350
|
let spec = newrecord;
|
|
351
351
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
352
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
352
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
353
353
|
let componentsSchema = getPropertyOf(json, "components");
|
|
354
354
|
let idSchema = getPropertyOf(json, "id");
|
|
355
355
|
globalThis.expect([
|
|
@@ -376,7 +376,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
376
376
|
]];
|
|
377
377
|
let spec = newrecord;
|
|
378
378
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
379
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
379
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
380
380
|
let componentsSchema = getPropertyOf(json, "components");
|
|
381
381
|
globalThis.expect(Stdlib_Option.flatMap(Stdlib_Option.flatMap(componentsSchema, s => getProperty(s, "x-reventless-drillTargetKey")), Stdlib_JSON.Decode.string)).toBe("kind/name");
|
|
382
382
|
});
|
|
@@ -392,7 +392,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
392
392
|
]];
|
|
393
393
|
let spec = newrecord;
|
|
394
394
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
395
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
395
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
396
396
|
let componentsSchema = getPropertyOf(json, "components");
|
|
397
397
|
globalThis.expect(Stdlib_Option.flatMap(componentsSchema, s => getProperty(s, "x-reventless-drillTargetKey"))).toBe(undefined);
|
|
398
398
|
});
|
|
@@ -405,7 +405,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
405
405
|
newrecord.scan = ["status"];
|
|
406
406
|
let spec = newrecord;
|
|
407
407
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
408
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
408
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
409
409
|
let statusSchema = getPropertyOf(json, "status");
|
|
410
410
|
let idSchema = getPropertyOf(json, "id");
|
|
411
411
|
globalThis.expect([
|
|
@@ -425,7 +425,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
425
425
|
newrecord.scanSort = ["name"];
|
|
426
426
|
let spec = newrecord;
|
|
427
427
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
428
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
428
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
429
429
|
let nameSchema = getPropertyOf(json, "name");
|
|
430
430
|
let idSchema = getPropertyOf(json, "id");
|
|
431
431
|
globalThis.expect([
|
|
@@ -448,7 +448,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
448
448
|
]];
|
|
449
449
|
let spec = newrecord;
|
|
450
450
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
451
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
451
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
452
452
|
let totalSchema = getPropertyOf(json, "total");
|
|
453
453
|
let idSchema = getPropertyOf(json, "id");
|
|
454
454
|
globalThis.expect([
|
|
@@ -474,7 +474,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
474
474
|
]];
|
|
475
475
|
let spec = newrecord;
|
|
476
476
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
477
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
477
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
478
478
|
let metricObj = Stdlib_Option.flatMap(getPropertyOf(json, "total"), s => getProperty(s, "x-reventless-metric"));
|
|
479
479
|
globalThis.expect([
|
|
480
480
|
Stdlib_Option.flatMap(Stdlib_Option.flatMap(metricObj, m => getProperty(m, "aggregate")), Stdlib_JSON.Decode.string),
|
|
@@ -498,7 +498,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
498
498
|
]];
|
|
499
499
|
let spec = newrecord;
|
|
500
500
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
501
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
501
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
502
502
|
let metricObj = Stdlib_Option.flatMap(getPropertyOf(json, "total"), s => getProperty(s, "x-reventless-metric"));
|
|
503
503
|
globalThis.expect([
|
|
504
504
|
Stdlib_Option.flatMap(Stdlib_Option.flatMap(metricObj, m => getProperty(m, "aggregate")), Stdlib_JSON.Decode.string),
|
|
@@ -523,7 +523,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
523
523
|
};
|
|
524
524
|
let spec = newrecord;
|
|
525
525
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
526
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
526
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
527
527
|
let retiredObj = Stdlib_Option.flatMap(getPropertyOf(json, "archived"), s => getProperty(s, "x-reventless-retired"));
|
|
528
528
|
globalThis.expect([
|
|
529
529
|
Stdlib_Option.flatMap(Stdlib_Option.flatMap(retiredObj, r => getProperty(r, "label")), Stdlib_JSON.Decode.string),
|
|
@@ -553,7 +553,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
553
553
|
};
|
|
554
554
|
newrecord.lifecycle = "accountStatus";
|
|
555
555
|
let spec = newrecord;
|
|
556
|
-
return SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec));
|
|
556
|
+
return SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec));
|
|
557
557
|
};
|
|
558
558
|
let retiredOn = (json, field) => Stdlib_Option.flatMap(getPropertyOf(json, field), s => getProperty(s, "x-reventless-retired"));
|
|
559
559
|
let stringsAt = (retiredObj, key) => Stdlib_Option.map(Stdlib_Option.flatMap(Stdlib_Option.flatMap(retiredObj, r => getProperty(r, key)), Stdlib_JSON.Decode.array), a => Stdlib_Array.filterMap(a, Stdlib_JSON.Decode.string));
|
|
@@ -592,7 +592,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
592
592
|
};
|
|
593
593
|
let spec = newrecord;
|
|
594
594
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
595
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
595
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
596
596
|
let retiredObj = retiredOn(json, "archived");
|
|
597
597
|
globalThis.expect([
|
|
598
598
|
Stdlib_Option.flatMap(retiredObj, r => getProperty(r, "value")),
|
|
@@ -616,7 +616,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
616
616
|
namedWhenRetired: named
|
|
617
617
|
};
|
|
618
618
|
let spec = newrecord;
|
|
619
|
-
return Stdlib_Option.flatMap(Stdlib_Option.flatMap(retiredOn(SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec)), "archived"), r => getProperty(r, "namedWhenRetired")), Stdlib_JSON.Decode.bool);
|
|
619
|
+
return Stdlib_Option.flatMap(Stdlib_Option.flatMap(retiredOn(SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec)), "archived"), r => getProperty(r, "namedWhenRetired")), Stdlib_JSON.Decode.bool);
|
|
620
620
|
};
|
|
621
621
|
globalThis.expect([
|
|
622
622
|
build(true),
|
|
@@ -640,7 +640,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
640
640
|
};
|
|
641
641
|
let spec = newrecord;
|
|
642
642
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
643
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
643
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
644
644
|
let retiredObj = Stdlib_Option.flatMap(getPropertyOf(json, "deactivated"), s => getProperty(s, "x-reventless-retired"));
|
|
645
645
|
globalThis.expect([
|
|
646
646
|
Stdlib_Option.flatMap(retiredObj, r => getProperty(r, "label")),
|
|
@@ -654,7 +654,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
654
654
|
let schema = Sury.$schema(s => ({
|
|
655
655
|
archived: s.m(Sury.bool)
|
|
656
656
|
}));
|
|
657
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, emptySpec));
|
|
657
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, emptySpec));
|
|
658
658
|
globalThis.expect(Stdlib_Option.flatMap(getPropertyOf(json, "archived"), s => getProperty(s, "x-reventless-retired"))).toBe(undefined);
|
|
659
659
|
});
|
|
660
660
|
globalThis.test("emits x-reventless-group-by on the field named by groupBy", () => {
|
|
@@ -666,7 +666,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
666
666
|
newrecord.groupBy = "kind";
|
|
667
667
|
let spec = newrecord;
|
|
668
668
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
669
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
669
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
670
670
|
let kindSchema = getPropertyOf(json, "kind");
|
|
671
671
|
let idSchema = getPropertyOf(json, "id");
|
|
672
672
|
globalThis.expect([
|
|
@@ -686,7 +686,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
686
686
|
newrecord.collapsed = ["primaryResource"];
|
|
687
687
|
let spec = newrecord;
|
|
688
688
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
689
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
689
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
690
690
|
let primarySchema = getPropertyOf(json, "primaryResource");
|
|
691
691
|
let idSchema = getPropertyOf(json, "id");
|
|
692
692
|
globalThis.expect([
|
|
@@ -705,7 +705,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
705
705
|
newrecord.visibility = "Internal";
|
|
706
706
|
let spec = newrecord;
|
|
707
707
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
708
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
708
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
709
709
|
globalThis.expect(Stdlib_Option.flatMap(getProperty(json, "x-reventless-visibility"), Stdlib_JSON.Decode.string)).toBe("Internal");
|
|
710
710
|
});
|
|
711
711
|
globalThis.test("omits x-reventless-visibility when visibility is None (default Public)", () => {
|
|
@@ -716,7 +716,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
716
716
|
newrecord.visibility = undefined;
|
|
717
717
|
let spec = newrecord;
|
|
718
718
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
719
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
719
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
720
720
|
globalThis.expect(getProperty(json, "x-reventless-visibility")).toBe(undefined);
|
|
721
721
|
});
|
|
722
722
|
globalThis.test("emits x-reventless-live at top level when live is declared", () => {
|
|
@@ -726,11 +726,11 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
726
726
|
let newrecord = {...emptySpec};
|
|
727
727
|
newrecord.live = false;
|
|
728
728
|
let spec = newrecord;
|
|
729
|
-
let offJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec));
|
|
729
|
+
let offJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec));
|
|
730
730
|
let newrecord$1 = {...emptySpec};
|
|
731
731
|
newrecord$1.live = true;
|
|
732
732
|
let spec$1 = newrecord$1;
|
|
733
|
-
let onJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec$1));
|
|
733
|
+
let onJson = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec$1));
|
|
734
734
|
globalThis.expect([
|
|
735
735
|
Stdlib_Option.flatMap(getProperty(offJson, "x-reventless-live"), Stdlib_JSON.Decode.bool),
|
|
736
736
|
Stdlib_Option.flatMap(getProperty(onJson, "x-reventless-live"), Stdlib_JSON.Decode.bool)
|
|
@@ -747,7 +747,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
747
747
|
newrecord.live = undefined;
|
|
748
748
|
let spec = newrecord;
|
|
749
749
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
750
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
750
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
751
751
|
globalThis.expect(getProperty(json, "x-reventless-live")).toBe(undefined);
|
|
752
752
|
});
|
|
753
753
|
globalThis.test("emits x-reventless-live and x-reventless-visibility together", () => {
|
|
@@ -759,7 +759,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
759
759
|
newrecord.visibility = "Internal";
|
|
760
760
|
let spec = newrecord;
|
|
761
761
|
let schema$p = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
762
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$p);
|
|
762
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$p);
|
|
763
763
|
globalThis.expect([
|
|
764
764
|
Stdlib_Option.flatMap(getProperty(json, "x-reventless-visibility"), Stdlib_JSON.Decode.string),
|
|
765
765
|
Stdlib_Option.flatMap(getProperty(json, "x-reventless-live"), Stdlib_JSON.Decode.bool)
|
|
@@ -793,7 +793,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
793
793
|
name: s.m(Sury.string),
|
|
794
794
|
count: s.m(Sury.int)
|
|
795
795
|
}));
|
|
796
|
-
let derived = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
796
|
+
let derived = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
797
797
|
let native = Sury.toJSONSchema(schema);
|
|
798
798
|
globalThis.expect(sortStrings(getKeys(derived))).toEqual(sortStrings(getKeys(native)));
|
|
799
799
|
});
|
|
@@ -802,7 +802,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
802
802
|
id: s.m(Sury.string),
|
|
803
803
|
name: s.m(Sury.string)
|
|
804
804
|
}));
|
|
805
|
-
let derived = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
805
|
+
let derived = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
806
806
|
let native = Sury.toJSONSchema(schema);
|
|
807
807
|
globalThis.expect(sortStrings(getRequired(derived))).toEqual(sortStrings(getRequired(native)));
|
|
808
808
|
});
|
|
@@ -826,7 +826,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
826
826
|
let schema = Sury.$schema(s => ({
|
|
827
827
|
orderId: s.m(DcbTag$Reventless.string)
|
|
828
828
|
}));
|
|
829
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
829
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
830
830
|
globalThis.expect(formatOf(json, "orderId")).toEqual("uuid");
|
|
831
831
|
globalThis.expect(Reference$Reventless.getTarget(schema)).toBe(undefined);
|
|
832
832
|
});
|
|
@@ -835,7 +835,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
835
835
|
let schema = Sury.$schema(s => ({
|
|
836
836
|
customerId: s.m(field)
|
|
837
837
|
}));
|
|
838
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
838
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
839
839
|
globalThis.expect(formatOf(json, "customerId")).toEqual("uuid");
|
|
840
840
|
globalThis.expect(DcbTag$Reventless.isTagged(field)).toBe(false);
|
|
841
841
|
});
|
|
@@ -849,7 +849,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
849
849
|
customerId: s.m(Reference$Reventless.to_(undefined, undefined, "Customer")),
|
|
850
850
|
placedAt: s.m(DateTime$Reventless.string)
|
|
851
851
|
}));
|
|
852
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
852
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
853
853
|
let semanticOf = fieldName => Stdlib_Option.flatMap(getPropertyOf(json, fieldName), s => getProperty(s, "x-reventless-semantic"));
|
|
854
854
|
globalThis.expect(semanticOf("customerId")).toBe(undefined);
|
|
855
855
|
globalThis.expect(semanticOf("placedAt")).toBe(undefined);
|
|
@@ -862,7 +862,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
862
862
|
productId: s.m(Sury.string),
|
|
863
863
|
imageUrl: s.m(StorageRef$Reventless.forStore(undefined, "productImages"))
|
|
864
864
|
}));
|
|
865
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
865
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
866
866
|
globalThis.expect(semanticOf(json, "imageUrl")).toEqual("storageRef");
|
|
867
867
|
globalThis.expect(semanticOf(json, "productId")).toBe(undefined);
|
|
868
868
|
});
|
|
@@ -870,7 +870,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
870
870
|
let schema = Sury.$schema(s => ({
|
|
871
871
|
imageUrl: s.m(StorageRef$Reventless.forStore("catalog", "productImages"))
|
|
872
872
|
}));
|
|
873
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
873
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
874
874
|
let field = getPropertyOf(json, "imageUrl");
|
|
875
875
|
globalThis.expect(Stdlib_Option.flatMap(field, s => getProperty(s, "x-reventless-semantic-source"))).toEqual("type");
|
|
876
876
|
globalThis.expect(Stdlib_Option.flatMap(field, s => getProperty(s, "x-reventless-semantic-target"))).toEqual(Object.fromEntries([
|
|
@@ -888,14 +888,14 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
888
888
|
let schema = Sury.$schema(s => ({
|
|
889
889
|
imageUrl: s.m(StorageRef$Reventless.forStore(undefined, "productImages"))
|
|
890
890
|
}));
|
|
891
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
891
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
892
892
|
globalThis.expect(Stdlib_Option.flatMap(getPropertyOf(json, "imageUrl"), s => getProperty(s, "type"))).toEqual("string");
|
|
893
893
|
});
|
|
894
894
|
globalThis.test("an optional storage-ref field keeps both its semantic and its nullability", () => {
|
|
895
895
|
let schema = Sury.$schema(s => ({
|
|
896
896
|
imageUrl: s.m(Sury.$option(StorageRef$Reventless.forStore(undefined, "productImages")))
|
|
897
897
|
}));
|
|
898
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema);
|
|
898
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema);
|
|
899
899
|
globalThis.expect(semanticOf(json, "imageUrl")).toEqual("storageRef");
|
|
900
900
|
globalThis.expect(Stdlib_Option.isSome(Stdlib_Option.flatMap(getPropertyOf(json, "imageUrl"), s => getProperty(s, "oneOf")))).toBe(true);
|
|
901
901
|
});
|
|
@@ -910,14 +910,14 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
910
910
|
imageUrl: s.m(StorageRef$Reventless.forStore(undefined, "productImages"))
|
|
911
911
|
}));
|
|
912
912
|
let schema$1 = Sury.$Metadata_set(schema, StateAnnotations$Reventless.stateAnnotationsId, spec);
|
|
913
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(schema$1);
|
|
913
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, schema$1);
|
|
914
914
|
globalThis.expect(semanticOf(json, "imageUrl")).toEqual("storageRef");
|
|
915
915
|
});
|
|
916
916
|
});
|
|
917
917
|
globalThis.describe("a member-reference field:", () => {
|
|
918
918
|
let targetOf = (json, name) => Stdlib_Option.flatMap(getPropertyOf(json, name), s => getProperty(s, "x-reventless-semantic-target"));
|
|
919
919
|
globalThis.test("carries the collection, the view holding it, and what a member is", () => {
|
|
920
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
920
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
921
921
|
productImage: s.m(MemberRef$Reventless.of_(undefined, "Products", Semantic$Reventless.Id.imageRef, "productImages"))
|
|
922
922
|
})));
|
|
923
923
|
globalThis.expect(Stdlib_Option.flatMap(getPropertyOf(json, "productImage"), s => getProperty(s, "x-reventless-semantic"))).toEqual("memberRef");
|
|
@@ -937,7 +937,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
937
937
|
]));
|
|
938
938
|
});
|
|
939
939
|
globalThis.test("omits the view where the collection is on this very record", () => {
|
|
940
|
-
globalThis.expect(targetOf(SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
940
|
+
globalThis.expect(targetOf(SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
941
941
|
productImage: s.m(MemberRef$Reventless.of_(undefined, undefined, undefined, "productImages"))
|
|
942
942
|
}))), "productImage")).toEqual(Object.fromEntries([[
|
|
943
943
|
"field",
|
|
@@ -948,14 +948,14 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
948
948
|
globalThis.expect(StorageRef$Reventless.getFieldStore(MemberRef$Reventless.of_(undefined, "Products", undefined, "productImages"))).toBe(undefined);
|
|
949
949
|
});
|
|
950
950
|
globalThis.test("stays a plain string on the wire", () => {
|
|
951
|
-
globalThis.expect(Stdlib_Option.flatMap(getPropertyOf(SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
951
|
+
globalThis.expect(Stdlib_Option.flatMap(getPropertyOf(SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
952
952
|
productImage: s.m(MemberRef$Reventless.of_(undefined, undefined, undefined, "productImages"))
|
|
953
953
|
}))), "productImage"), s => getProperty(s, "type"))).toEqual("string");
|
|
954
954
|
});
|
|
955
955
|
});
|
|
956
956
|
globalThis.describe("branded scalars keep their underlying shape:", () => {
|
|
957
957
|
let keyOf = (json, name, key) => Stdlib_Option.flatMap(getPropertyOf(json, name), s => getProperty(s, key));
|
|
958
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
958
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
959
959
|
contactEmail: s.m(Email$Reventless.schema),
|
|
960
960
|
taxRate: s.m(Percent$Reventless.schema)
|
|
961
961
|
})));
|
|
@@ -988,7 +988,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
988
988
|
});
|
|
989
989
|
});
|
|
990
990
|
globalThis.describe("Money changes the field's shape, and says so:", () => {
|
|
991
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
991
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
992
992
|
price: s.m(Money$Reventless.schema),
|
|
993
993
|
quantity: s.m(Sury.float)
|
|
994
994
|
})));
|
|
@@ -1040,7 +1040,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
1040
1040
|
});
|
|
1041
1041
|
});
|
|
1042
1042
|
globalThis.describe("DateRange is an object whose parts stay date-times:", () => {
|
|
1043
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
1043
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
1044
1044
|
deliveryWindow: s.m(DateRange$Reventless.schema),
|
|
1045
1045
|
orderedAt: s.m(DateTime$Reventless.string)
|
|
1046
1046
|
})));
|
|
@@ -1078,7 +1078,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
1078
1078
|
});
|
|
1079
1079
|
});
|
|
1080
1080
|
globalThis.describe("GeoPoint is an object carrying the geoPoint marker:", () => {
|
|
1081
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
1081
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
1082
1082
|
location: s.m(GeoPoint$Reventless.schema),
|
|
1083
1083
|
lat: s.m(Sury.float)
|
|
1084
1084
|
})));
|
|
@@ -1120,7 +1120,7 @@ globalThis.describe("SuryToJsonSchema:", () => {
|
|
|
1120
1120
|
street: s.m(Sury.string),
|
|
1121
1121
|
unit: s.m(Sury.$option(Sury.string))
|
|
1122
1122
|
}));
|
|
1123
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(Sury.$schema(s => ({
|
|
1123
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, Sury.$schema(s => ({
|
|
1124
1124
|
id: s.m(Sury.string),
|
|
1125
1125
|
address: s.m(inner)
|
|
1126
1126
|
})));
|
|
@@ -142,7 +142,7 @@ function objAt(json, key) {
|
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
globalThis.describe("SuryToJsonSchema emits the arms as oneOf", () => {
|
|
145
|
-
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(TaggedUnionFixtures$ReventlessCore.CustomersSpec.stateSchema);
|
|
145
|
+
let json = SuryToJsonSchema$ReventlessCore.deriveObjectSchema(undefined, undefined, TaggedUnionFixtures$ReventlessCore.CustomersSpec.stateSchema);
|
|
146
146
|
let field = Stdlib_Option.getOr(Stdlib_Option.flatMap(Stdlib_Option.flatMap(objAt(json, "properties"), p => Stdlib_JSON.Decode.object(p)), p => p["geolocation"]), null);
|
|
147
147
|
globalThis.test("the field names the union it is", () => {
|
|
148
148
|
globalThis.expect(Stdlib_Option.flatMap(objAt(field, "x-reventless-union"), Stdlib_JSON.Decode.string)).toEqual("Geolocation");
|
|
@@ -177,7 +177,7 @@ globalThis.describe("ReadModel visibility filter", () => {
|
|
|
177
177
|
});
|
|
178
178
|
|
|
179
179
|
globalThis.describe("Plugin_Structure.make — visibility tagging", () => {
|
|
180
|
-
let structure = Plugin_Structure$ReventlessCore.make("VisibilityPlugin", undefined, readModels, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
180
|
+
let structure = Plugin_Structure$ReventlessCore.make("VisibilityPlugin", undefined, readModels, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
181
181
|
globalThis.test("readModels carries both Public and Internal entries", () => {
|
|
182
182
|
globalThis.expect(structure.readModels.length).toBe(2);
|
|
183
183
|
});
|
|
@@ -95,7 +95,7 @@ let PsOrdersViewSlice = {
|
|
|
95
95
|
let structure = Plugin_Structure$ReventlessCore.make("AccessPlugin", undefined, undefined, [
|
|
96
96
|
PsGatedViewSlice,
|
|
97
97
|
PsOrdersViewSlice
|
|
98
|
-
], [PsGatedCommandsSlice], undefined, undefined, undefined, undefined, undefined, undefined);
|
|
98
|
+
], [PsGatedCommandsSlice], undefined, undefined, undefined, undefined, undefined, undefined, undefined);
|
|
99
99
|
|
|
100
100
|
function commandNamed(name) {
|
|
101
101
|
return Stdlib_Option.flatMap(structure.stateChangeSlices.flatMap(w => w.commands).find(c => c.name === name), c => c.requiredAccess);
|