@player-tools/dsl 0.11.0 → 0.12.1--canary.213.4811
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/dist/cjs/index.cjs +102 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/index.legacy-esm.js +92 -1
- package/dist/index.mjs +92 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/helpers/mock-data-refs.ts +1 -1
- package/src/__tests__/util.test.tsx +196 -8
- package/src/compiler/schema.ts +15 -7
- package/src/expressions/__tests__/native.test.ts +159 -0
- package/src/expressions/__tests__/testing.test.ts +38 -0
- package/src/expressions/native.ts +141 -0
- package/src/expressions/testing.ts +40 -0
- package/src/index.ts +1 -0
- package/src/string-templates/index.ts +20 -10
- package/src/types.ts +27 -1
- package/src/utils.tsx +80 -6
- package/types/compiler/schema.d.ts +5 -2
- package/types/expressions/native.d.ts +50 -0
- package/types/expressions/testing.d.ts +13 -0
- package/types/index.d.ts +1 -0
- package/types/string-templates/index.d.ts +9 -7
- package/types/types.d.ts +11 -1
- package/types/utils.d.ts +22 -3
package/dist/index.legacy-esm.js
CHANGED
|
@@ -282,6 +282,41 @@ function getObjectReferences(propertiesObject) {
|
|
|
282
282
|
}
|
|
283
283
|
return result;
|
|
284
284
|
}
|
|
285
|
+
function parseArg(arg, deref = false) {
|
|
286
|
+
if (isTemplateStringInstance(arg)) {
|
|
287
|
+
return `'${deref ? arg.toRefString() : arg.toValue()}'`;
|
|
288
|
+
} else if (Array.isArray(arg)) {
|
|
289
|
+
return `[${arg.map((a) => parseArg(a, true)).join(", ")}]`;
|
|
290
|
+
} else if (typeof arg === "string") {
|
|
291
|
+
return `'${arg}'`;
|
|
292
|
+
} else {
|
|
293
|
+
return arg;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
function generateDSLFunction(name, args) {
|
|
297
|
+
const expressionArgs = [];
|
|
298
|
+
args.forEach((arg) => {
|
|
299
|
+
expressionArgs.push(parseArg(arg));
|
|
300
|
+
});
|
|
301
|
+
return expression`${name}(${expressionArgs.join(", ")})`;
|
|
302
|
+
}
|
|
303
|
+
function wrapFunctionInType(fn) {
|
|
304
|
+
return (...args) => {
|
|
305
|
+
return generateDSLFunction(fn.name, args);
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
function makeFunctionByName(name) {
|
|
309
|
+
return (...args) => {
|
|
310
|
+
return generateDSLFunction(name, args);
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
function mapExpressionHandlersToFunctions(functions) {
|
|
314
|
+
const result = {};
|
|
315
|
+
for (const fn of Object.values(functions)) {
|
|
316
|
+
result[fn.name] = wrapFunctionInType(fn);
|
|
317
|
+
}
|
|
318
|
+
return result;
|
|
319
|
+
}
|
|
285
320
|
|
|
286
321
|
// ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/language/dsl/src/components.tsx
|
|
287
322
|
var SlotContext = React4.createContext(void 0);
|
|
@@ -960,6 +995,52 @@ var DefaultCompilerContentTypes = ["view", "flow", "schema"];
|
|
|
960
995
|
function isDefaultCompilerContentType(t) {
|
|
961
996
|
return DefaultCompilerContentTypes.includes(t);
|
|
962
997
|
}
|
|
998
|
+
|
|
999
|
+
// ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/language/dsl/src/expressions/native.ts
|
|
1000
|
+
var escapePrimitive = (val) => {
|
|
1001
|
+
switch (typeof val) {
|
|
1002
|
+
case "string": {
|
|
1003
|
+
return `'${val}'`;
|
|
1004
|
+
}
|
|
1005
|
+
case "undefined": {
|
|
1006
|
+
return "null";
|
|
1007
|
+
}
|
|
1008
|
+
default: {
|
|
1009
|
+
return `${val}`;
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
};
|
|
1013
|
+
var handleBindingOrExpression = (val) => {
|
|
1014
|
+
if (isBindingTemplateInstance(val)) {
|
|
1015
|
+
return val.toRefString();
|
|
1016
|
+
} else {
|
|
1017
|
+
return `(${val.toValue()})`;
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
var handleArgument = (arg) => {
|
|
1021
|
+
return isTemplateStringInstance(arg) ? handleBindingOrExpression(arg) : escapePrimitive(arg);
|
|
1022
|
+
};
|
|
1023
|
+
var assign = (binding2, value) => {
|
|
1024
|
+
return expression`${binding2} = ${isTemplateStringInstance(value) ? value : escapePrimitive(value)}`;
|
|
1025
|
+
};
|
|
1026
|
+
var equals = (a, b) => {
|
|
1027
|
+
return expression`${handleArgument(a)} == ${handleArgument(b)}`;
|
|
1028
|
+
};
|
|
1029
|
+
var not = (value) => {
|
|
1030
|
+
return expression`!(${value})`;
|
|
1031
|
+
};
|
|
1032
|
+
var or = (...values) => {
|
|
1033
|
+
return expression`${values.map(handleBindingOrExpression).join(" || ")}`;
|
|
1034
|
+
};
|
|
1035
|
+
var nor = (...values) => {
|
|
1036
|
+
return not(or(...values));
|
|
1037
|
+
};
|
|
1038
|
+
var and = (...values) => {
|
|
1039
|
+
return expression`${values.map(handleBindingOrExpression).join(" && ")}`;
|
|
1040
|
+
};
|
|
1041
|
+
var nand = (...values) => {
|
|
1042
|
+
return not(and(...values));
|
|
1043
|
+
};
|
|
963
1044
|
export {
|
|
964
1045
|
Asset,
|
|
965
1046
|
AssetWrapper,
|
|
@@ -980,8 +1061,11 @@ export {
|
|
|
980
1061
|
TemplateContext,
|
|
981
1062
|
TemplateStringComponent,
|
|
982
1063
|
View,
|
|
1064
|
+
and,
|
|
1065
|
+
assign,
|
|
983
1066
|
binding,
|
|
984
1067
|
createSlot,
|
|
1068
|
+
equals,
|
|
985
1069
|
expression,
|
|
986
1070
|
fingerprintContent,
|
|
987
1071
|
flattenChildren,
|
|
@@ -993,13 +1077,20 @@ export {
|
|
|
993
1077
|
isDefaultCompilerContentType,
|
|
994
1078
|
isTemplateStringInstance,
|
|
995
1079
|
makeBindingsForObject,
|
|
1080
|
+
makeFunctionByName,
|
|
1081
|
+
mapExpressionHandlersToFunctions,
|
|
996
1082
|
mergeRefs,
|
|
1083
|
+
nand,
|
|
1084
|
+
nor,
|
|
997
1085
|
normalizeText,
|
|
998
1086
|
normalizeToCollection,
|
|
1087
|
+
not,
|
|
1088
|
+
or,
|
|
999
1089
|
toArray,
|
|
1000
1090
|
toJsonElement,
|
|
1001
1091
|
toJsonProperties,
|
|
1002
1092
|
useGetIdPrefix,
|
|
1003
|
-
useIndexInSlot
|
|
1093
|
+
useIndexInSlot,
|
|
1094
|
+
wrapFunctionInType
|
|
1004
1095
|
};
|
|
1005
1096
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs
CHANGED
|
@@ -282,6 +282,41 @@ function getObjectReferences(propertiesObject) {
|
|
|
282
282
|
}
|
|
283
283
|
return result;
|
|
284
284
|
}
|
|
285
|
+
function parseArg(arg, deref = false) {
|
|
286
|
+
if (isTemplateStringInstance(arg)) {
|
|
287
|
+
return `'${deref ? arg.toRefString() : arg.toValue()}'`;
|
|
288
|
+
} else if (Array.isArray(arg)) {
|
|
289
|
+
return `[${arg.map((a) => parseArg(a, true)).join(", ")}]`;
|
|
290
|
+
} else if (typeof arg === "string") {
|
|
291
|
+
return `'${arg}'`;
|
|
292
|
+
} else {
|
|
293
|
+
return arg;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
function generateDSLFunction(name, args) {
|
|
297
|
+
const expressionArgs = [];
|
|
298
|
+
args.forEach((arg) => {
|
|
299
|
+
expressionArgs.push(parseArg(arg));
|
|
300
|
+
});
|
|
301
|
+
return expression`${name}(${expressionArgs.join(", ")})`;
|
|
302
|
+
}
|
|
303
|
+
function wrapFunctionInType(fn) {
|
|
304
|
+
return (...args) => {
|
|
305
|
+
return generateDSLFunction(fn.name, args);
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
function makeFunctionByName(name) {
|
|
309
|
+
return (...args) => {
|
|
310
|
+
return generateDSLFunction(name, args);
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
function mapExpressionHandlersToFunctions(functions) {
|
|
314
|
+
const result = {};
|
|
315
|
+
for (const fn of Object.values(functions)) {
|
|
316
|
+
result[fn.name] = wrapFunctionInType(fn);
|
|
317
|
+
}
|
|
318
|
+
return result;
|
|
319
|
+
}
|
|
285
320
|
|
|
286
321
|
// ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/language/dsl/src/components.tsx
|
|
287
322
|
var SlotContext = React4.createContext(void 0);
|
|
@@ -960,6 +995,52 @@ var DefaultCompilerContentTypes = ["view", "flow", "schema"];
|
|
|
960
995
|
function isDefaultCompilerContentType(t) {
|
|
961
996
|
return DefaultCompilerContentTypes.includes(t);
|
|
962
997
|
}
|
|
998
|
+
|
|
999
|
+
// ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/language/dsl/src/expressions/native.ts
|
|
1000
|
+
var escapePrimitive = (val) => {
|
|
1001
|
+
switch (typeof val) {
|
|
1002
|
+
case "string": {
|
|
1003
|
+
return `'${val}'`;
|
|
1004
|
+
}
|
|
1005
|
+
case "undefined": {
|
|
1006
|
+
return "null";
|
|
1007
|
+
}
|
|
1008
|
+
default: {
|
|
1009
|
+
return `${val}`;
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
};
|
|
1013
|
+
var handleBindingOrExpression = (val) => {
|
|
1014
|
+
if (isBindingTemplateInstance(val)) {
|
|
1015
|
+
return val.toRefString();
|
|
1016
|
+
} else {
|
|
1017
|
+
return `(${val.toValue()})`;
|
|
1018
|
+
}
|
|
1019
|
+
};
|
|
1020
|
+
var handleArgument = (arg) => {
|
|
1021
|
+
return isTemplateStringInstance(arg) ? handleBindingOrExpression(arg) : escapePrimitive(arg);
|
|
1022
|
+
};
|
|
1023
|
+
var assign = (binding2, value) => {
|
|
1024
|
+
return expression`${binding2} = ${isTemplateStringInstance(value) ? value : escapePrimitive(value)}`;
|
|
1025
|
+
};
|
|
1026
|
+
var equals = (a, b) => {
|
|
1027
|
+
return expression`${handleArgument(a)} == ${handleArgument(b)}`;
|
|
1028
|
+
};
|
|
1029
|
+
var not = (value) => {
|
|
1030
|
+
return expression`!(${value})`;
|
|
1031
|
+
};
|
|
1032
|
+
var or = (...values) => {
|
|
1033
|
+
return expression`${values.map(handleBindingOrExpression).join(" || ")}`;
|
|
1034
|
+
};
|
|
1035
|
+
var nor = (...values) => {
|
|
1036
|
+
return not(or(...values));
|
|
1037
|
+
};
|
|
1038
|
+
var and = (...values) => {
|
|
1039
|
+
return expression`${values.map(handleBindingOrExpression).join(" && ")}`;
|
|
1040
|
+
};
|
|
1041
|
+
var nand = (...values) => {
|
|
1042
|
+
return not(and(...values));
|
|
1043
|
+
};
|
|
963
1044
|
export {
|
|
964
1045
|
Asset,
|
|
965
1046
|
AssetWrapper,
|
|
@@ -980,8 +1061,11 @@ export {
|
|
|
980
1061
|
TemplateContext,
|
|
981
1062
|
TemplateStringComponent,
|
|
982
1063
|
View,
|
|
1064
|
+
and,
|
|
1065
|
+
assign,
|
|
983
1066
|
binding,
|
|
984
1067
|
createSlot,
|
|
1068
|
+
equals,
|
|
985
1069
|
expression,
|
|
986
1070
|
fingerprintContent,
|
|
987
1071
|
flattenChildren,
|
|
@@ -993,13 +1077,20 @@ export {
|
|
|
993
1077
|
isDefaultCompilerContentType,
|
|
994
1078
|
isTemplateStringInstance,
|
|
995
1079
|
makeBindingsForObject,
|
|
1080
|
+
makeFunctionByName,
|
|
1081
|
+
mapExpressionHandlersToFunctions,
|
|
996
1082
|
mergeRefs,
|
|
1083
|
+
nand,
|
|
1084
|
+
nor,
|
|
997
1085
|
normalizeText,
|
|
998
1086
|
normalizeToCollection,
|
|
1087
|
+
not,
|
|
1088
|
+
or,
|
|
999
1089
|
toArray,
|
|
1000
1090
|
toJsonElement,
|
|
1001
1091
|
toJsonProperties,
|
|
1002
1092
|
useGetIdPrefix,
|
|
1003
|
-
useIndexInSlot
|
|
1093
|
+
useIndexInSlot,
|
|
1094
|
+
wrapFunctionInType
|
|
1004
1095
|
};
|
|
1005
1096
|
//# sourceMappingURL=index.mjs.map
|