ballerina-core 1.0.136 → 1.0.138
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/package.json
CHANGED
package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.ts
CHANGED
|
@@ -257,7 +257,7 @@ export type TableType<T> = {
|
|
|
257
257
|
export type OneType<T> = {
|
|
258
258
|
kind: "one";
|
|
259
259
|
name: DispatchTypeName;
|
|
260
|
-
args:
|
|
260
|
+
args: DispatchParsedType<T>;
|
|
261
261
|
typeName: DispatchTypeName;
|
|
262
262
|
};
|
|
263
263
|
|
|
@@ -384,7 +384,7 @@ export const DispatchParsedType = {
|
|
|
384
384
|
}),
|
|
385
385
|
one: <T>(
|
|
386
386
|
name: DispatchTypeName,
|
|
387
|
-
args:
|
|
387
|
+
args: DispatchParsedType<T>,
|
|
388
388
|
typeName: DispatchTypeName,
|
|
389
389
|
): OneType<T> => ({
|
|
390
390
|
kind: "one",
|
|
@@ -752,7 +752,7 @@ export const DispatchParsedType = {
|
|
|
752
752
|
injectedPrimitives,
|
|
753
753
|
).Then((parsedArg) =>
|
|
754
754
|
ValueOrErrors.Default.return(
|
|
755
|
-
DispatchParsedType.Default.one(typeName,
|
|
755
|
+
DispatchParsedType.Default.one(typeName, parsedArg, typeName),
|
|
756
756
|
),
|
|
757
757
|
);
|
|
758
758
|
return ValueOrErrors.Default.throwOne(
|
|
@@ -3,18 +3,21 @@ import {
|
|
|
3
3
|
ValueOrErrors,
|
|
4
4
|
Errors,
|
|
5
5
|
DispatchParsedType,
|
|
6
|
+
BasicFun,
|
|
7
|
+
MapRepo
|
|
6
8
|
} from "../../../../../../../../main";
|
|
7
9
|
import { PredicateValue } from "../../state";
|
|
8
10
|
|
|
11
|
+
type ExtractedTypeInstances = ValueOrErrors<Array<PredicateValue>, Errors<string[]>>
|
|
12
|
+
type TypeInstancesExtractor = BasicFun<PredicateValue, ExtractedTypeInstances>
|
|
13
|
+
|
|
9
14
|
export const PredicateValueExtractor = {
|
|
10
15
|
Operations: {
|
|
11
16
|
ExtractPredicateValue: (
|
|
12
17
|
lookupName: string,
|
|
13
18
|
typesMap: Map<string, DispatchParsedType<any>>,
|
|
14
19
|
t: DispatchParsedType<any>,
|
|
15
|
-
):
|
|
16
|
-
v: PredicateValue,
|
|
17
|
-
) => ValueOrErrors<Array<PredicateValue>, Errors<any>>) => {
|
|
20
|
+
): TypeInstancesExtractor => {
|
|
18
21
|
const self = PredicateValueExtractor.Operations.ExtractPredicateValue;
|
|
19
22
|
switch (t.kind) {
|
|
20
23
|
case "lookup": {
|
|
@@ -29,11 +32,8 @@ export const PredicateValueExtractor = {
|
|
|
29
32
|
);
|
|
30
33
|
}
|
|
31
34
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
t.name === lookupName
|
|
35
|
-
? ValueOrErrors.Default.return([v])
|
|
36
|
-
: traverseLookupValue(v);
|
|
35
|
+
return t.name === lookupName ? ((v) => ValueOrErrors.Default.return([v])) :
|
|
36
|
+
self(lookupName, typesMap, lookupType)
|
|
37
37
|
}
|
|
38
38
|
case "primitive":
|
|
39
39
|
return (_) => ValueOrErrors.Default.return([]);
|
|
@@ -52,10 +52,10 @@ export const PredicateValueExtractor = {
|
|
|
52
52
|
const traverseRecordFields = t.fields.map((f) =>
|
|
53
53
|
self(lookupName, typesMap, f),
|
|
54
54
|
);
|
|
55
|
-
return (v: PredicateValue) =>
|
|
55
|
+
return (v: PredicateValue) : ExtractedTypeInstances =>
|
|
56
56
|
!PredicateValue.Operations.IsRecord(v)
|
|
57
57
|
? ValueOrErrors.Default.throwOne(
|
|
58
|
-
Errors.Default.singleton(["not a ValueRecord", v]),
|
|
58
|
+
Errors.Default.singleton(["not a ValueRecord", JSON.stringify(v)]),
|
|
59
59
|
)
|
|
60
60
|
: ValueOrErrors.Operations.All(
|
|
61
61
|
List(
|
|
@@ -79,7 +79,7 @@ export const PredicateValueExtractor = {
|
|
|
79
79
|
? ValueOrErrors.Default.throwOne(
|
|
80
80
|
Errors.Default.singleton([
|
|
81
81
|
"not a ValueOption (from SingleSelection)",
|
|
82
|
-
v,
|
|
82
|
+
JSON.stringify(v),
|
|
83
83
|
]),
|
|
84
84
|
)
|
|
85
85
|
: !v.isSome
|
|
@@ -98,7 +98,7 @@ export const PredicateValueExtractor = {
|
|
|
98
98
|
? ValueOrErrors.Default.throwOne(
|
|
99
99
|
Errors.Default.singleton([
|
|
100
100
|
"not a ValueRecord (from MultiSelection)",
|
|
101
|
-
v,
|
|
101
|
+
JSON.stringify(v),
|
|
102
102
|
]),
|
|
103
103
|
)
|
|
104
104
|
: ValueOrErrors.Operations.All(
|
|
@@ -120,7 +120,7 @@ export const PredicateValueExtractor = {
|
|
|
120
120
|
return (v: PredicateValue) =>
|
|
121
121
|
!PredicateValue.Operations.IsTuple(v)
|
|
122
122
|
? ValueOrErrors.Default.throwOne(
|
|
123
|
-
Errors.Default.singleton(["not a ValueRecord (from Map)", v]),
|
|
123
|
+
Errors.Default.singleton(["not a ValueRecord (from Map)", JSON.stringify(v)]),
|
|
124
124
|
)
|
|
125
125
|
: (
|
|
126
126
|
ValueOrErrors.Operations.All(
|
|
@@ -130,7 +130,7 @@ export const PredicateValueExtractor = {
|
|
|
130
130
|
? ValueOrErrors.Default.throwOne(
|
|
131
131
|
Errors.Default.singleton([
|
|
132
132
|
"not a ValueRecord (from inner Map)",
|
|
133
|
-
entry,
|
|
133
|
+
JSON.stringify(entry),
|
|
134
134
|
]),
|
|
135
135
|
)
|
|
136
136
|
: ValueOrErrors.Operations.All(
|
|
@@ -162,7 +162,7 @@ export const PredicateValueExtractor = {
|
|
|
162
162
|
return (v) =>
|
|
163
163
|
!PredicateValue.Operations.IsSum(v)
|
|
164
164
|
? ValueOrErrors.Default.throwOne(
|
|
165
|
-
Errors.Default.singleton(["not a ValueSum", v]),
|
|
165
|
+
Errors.Default.singleton(["not a ValueSum", JSON.stringify(v)]),
|
|
166
166
|
)
|
|
167
167
|
: ValueOrErrors.Operations.All(
|
|
168
168
|
List(
|
|
@@ -184,7 +184,7 @@ export const PredicateValueExtractor = {
|
|
|
184
184
|
return (v) =>
|
|
185
185
|
!PredicateValue.Operations.IsTuple(v)
|
|
186
186
|
? ValueOrErrors.Default.throwOne(
|
|
187
|
-
Errors.Default.singleton(["not a ValueTuple", v]),
|
|
187
|
+
Errors.Default.singleton(["not a ValueTuple", JSON.stringify(v)]),
|
|
188
188
|
)
|
|
189
189
|
: ValueOrErrors.Operations.All(
|
|
190
190
|
List(
|
|
@@ -199,39 +199,48 @@ export const PredicateValueExtractor = {
|
|
|
199
199
|
),
|
|
200
200
|
);
|
|
201
201
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
202
|
+
case "union": {
|
|
203
|
+
const traverseCases:Map<string, TypeInstancesExtractor> = t.args.map((f) =>
|
|
204
|
+
self(lookupName, typesMap, f)
|
|
205
|
+
).toMap();
|
|
206
|
+
return (v) : ExtractedTypeInstances =>
|
|
207
|
+
!PredicateValue.Operations.IsUnionCase(v)
|
|
208
|
+
? ValueOrErrors.Default.throwOne(
|
|
209
|
+
Errors.Default.singleton([
|
|
210
|
+
"not a ValueUnion (from union)",
|
|
211
|
+
JSON.stringify(v),
|
|
212
|
+
]),
|
|
213
|
+
)
|
|
214
|
+
: MapRepo.Operations.tryFindWithError<string, TypeInstancesExtractor, Errors<string[]>>(v.caseName, traverseCases, () => Errors.Default.singleton([
|
|
215
|
+
`unexpected union case ${v.caseName}`,
|
|
216
|
+
JSON.stringify(v),
|
|
217
|
+
])).Then(
|
|
218
|
+
(traverseCase:TypeInstancesExtractor) =>
|
|
219
|
+
traverseCase(v.fields)
|
|
220
|
+
)
|
|
221
|
+
}
|
|
222
|
+
case "one": {
|
|
223
|
+
const traverseValue:TypeInstancesExtractor = self(lookupName, typesMap, t.args)
|
|
224
|
+
return (v) : ExtractedTypeInstances =>
|
|
225
|
+
PredicateValue.Operations.IsOption(v) ?
|
|
226
|
+
v.isSome ? traverseValue(v.value)
|
|
227
|
+
: ValueOrErrors.Default.return([])
|
|
228
|
+
: PredicateValue.Operations.IsSum(v) ?
|
|
229
|
+
v.value.kind == "r" ? traverseValue(v.value.value)
|
|
230
|
+
: ValueOrErrors.Default.return([])
|
|
231
|
+
: ValueOrErrors.Default.throwOne(
|
|
232
|
+
Errors.Default.singleton([
|
|
233
|
+
"not a One/Option or One/Sum (from one)",
|
|
234
|
+
JSON.stringify(v),
|
|
235
|
+
]),
|
|
236
|
+
)
|
|
237
|
+
}
|
|
229
238
|
case "list": {
|
|
230
239
|
const traverseListField = self(lookupName, typesMap, t.args[0]);
|
|
231
240
|
return (v) =>
|
|
232
241
|
!PredicateValue.Operations.IsTuple(v)
|
|
233
242
|
? ValueOrErrors.Default.throwOne(
|
|
234
|
-
Errors.Default.singleton(["not a ValueTuple (from List)", v]),
|
|
243
|
+
Errors.Default.singleton(["not a ValueTuple (from List)", JSON.stringify(v)]),
|
|
235
244
|
)
|
|
236
245
|
: ValueOrErrors.Operations.All(
|
|
237
246
|
List(v.values.map((v) => traverseListField(v))),
|
|
@@ -248,7 +257,7 @@ export const PredicateValueExtractor = {
|
|
|
248
257
|
default:
|
|
249
258
|
return (_) =>
|
|
250
259
|
ValueOrErrors.Default.throwOne(
|
|
251
|
-
Errors.Default.singleton(["unknown type", t]),
|
|
260
|
+
Errors.Default.singleton(["unknown type", JSON.stringify(t)]),
|
|
252
261
|
);
|
|
253
262
|
}
|
|
254
263
|
},
|