@player-tools/dsl 0.10.1 → 0.11.0--canary.212.4707
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 +97 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/index.legacy-esm.js +87 -1
- package/dist/index.mjs +87 -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 +185 -8
- package/src/compiler/schema.ts +15 -7
- package/src/expressions/__tests__/native.test.tsx +159 -0
- package/src/expressions/native.ts +141 -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 +65 -6
- package/types/compiler/schema.d.ts +5 -2
- package/types/expressions/native.d.ts +50 -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 +15 -3
package/dist/index.legacy-esm.js
CHANGED
|
@@ -282,6 +282,36 @@ 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 mapExpressionHandlersToFunctions(functions) {
|
|
309
|
+
const result = {};
|
|
310
|
+
for (const fn of Object.values(functions)) {
|
|
311
|
+
result[fn.name] = wrapFunctionInType(fn);
|
|
312
|
+
}
|
|
313
|
+
return result;
|
|
314
|
+
}
|
|
285
315
|
|
|
286
316
|
// ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/language/dsl/src/components.tsx
|
|
287
317
|
var SlotContext = React4.createContext(void 0);
|
|
@@ -934,6 +964,52 @@ var DefaultCompilerContentTypes = ["view", "flow", "schema"];
|
|
|
934
964
|
function isDefaultCompilerContentType(t) {
|
|
935
965
|
return DefaultCompilerContentTypes.includes(t);
|
|
936
966
|
}
|
|
967
|
+
|
|
968
|
+
// ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/language/dsl/src/expressions/native.ts
|
|
969
|
+
var escapePrimitive = (val) => {
|
|
970
|
+
switch (typeof val) {
|
|
971
|
+
case "string": {
|
|
972
|
+
return `'${val}'`;
|
|
973
|
+
}
|
|
974
|
+
case "undefined": {
|
|
975
|
+
return "null";
|
|
976
|
+
}
|
|
977
|
+
default: {
|
|
978
|
+
return `${val}`;
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
};
|
|
982
|
+
var handleBindingOrExpression = (val) => {
|
|
983
|
+
if (isBindingTemplateInstance(val)) {
|
|
984
|
+
return val.toRefString();
|
|
985
|
+
} else {
|
|
986
|
+
return `(${val.toValue()})`;
|
|
987
|
+
}
|
|
988
|
+
};
|
|
989
|
+
var handleArgument = (arg) => {
|
|
990
|
+
return isTemplateStringInstance(arg) ? handleBindingOrExpression(arg) : escapePrimitive(arg);
|
|
991
|
+
};
|
|
992
|
+
var assign = (binding2, value) => {
|
|
993
|
+
return expression`${binding2} = ${isTemplateStringInstance(value) ? value : escapePrimitive(value)}`;
|
|
994
|
+
};
|
|
995
|
+
var equals = (a, b) => {
|
|
996
|
+
return expression`${handleArgument(a)} == ${handleArgument(b)}`;
|
|
997
|
+
};
|
|
998
|
+
var not = (value) => {
|
|
999
|
+
return expression`!(${value})`;
|
|
1000
|
+
};
|
|
1001
|
+
var or = (...values) => {
|
|
1002
|
+
return expression`${values.map(handleBindingOrExpression).join(" || ")}`;
|
|
1003
|
+
};
|
|
1004
|
+
var nor = (...values) => {
|
|
1005
|
+
return not(or(...values));
|
|
1006
|
+
};
|
|
1007
|
+
var and = (...values) => {
|
|
1008
|
+
return expression`${values.map(handleBindingOrExpression).join(" && ")}`;
|
|
1009
|
+
};
|
|
1010
|
+
var nand = (...values) => {
|
|
1011
|
+
return not(and(...values));
|
|
1012
|
+
};
|
|
937
1013
|
export {
|
|
938
1014
|
Asset,
|
|
939
1015
|
AssetWrapper,
|
|
@@ -954,11 +1030,15 @@ export {
|
|
|
954
1030
|
TemplateContext,
|
|
955
1031
|
TemplateStringComponent,
|
|
956
1032
|
View,
|
|
1033
|
+
and,
|
|
1034
|
+
assign,
|
|
957
1035
|
binding,
|
|
958
1036
|
createSlot,
|
|
1037
|
+
equals,
|
|
959
1038
|
expression,
|
|
960
1039
|
fingerprintContent,
|
|
961
1040
|
flattenChildren,
|
|
1041
|
+
generateDSLFunction,
|
|
962
1042
|
getBindingFromObject,
|
|
963
1043
|
getBindingStringFromObject,
|
|
964
1044
|
getObjectReferences,
|
|
@@ -967,13 +1047,19 @@ export {
|
|
|
967
1047
|
isDefaultCompilerContentType,
|
|
968
1048
|
isTemplateStringInstance,
|
|
969
1049
|
makeBindingsForObject,
|
|
1050
|
+
mapExpressionHandlersToFunctions,
|
|
970
1051
|
mergeRefs,
|
|
1052
|
+
nand,
|
|
1053
|
+
nor,
|
|
971
1054
|
normalizeText,
|
|
972
1055
|
normalizeToCollection,
|
|
1056
|
+
not,
|
|
1057
|
+
or,
|
|
973
1058
|
toArray,
|
|
974
1059
|
toJsonElement,
|
|
975
1060
|
toJsonProperties,
|
|
976
1061
|
useGetIdPrefix,
|
|
977
|
-
useIndexInSlot
|
|
1062
|
+
useIndexInSlot,
|
|
1063
|
+
wrapFunctionInType
|
|
978
1064
|
};
|
|
979
1065
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs
CHANGED
|
@@ -282,6 +282,36 @@ 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 mapExpressionHandlersToFunctions(functions) {
|
|
309
|
+
const result = {};
|
|
310
|
+
for (const fn of Object.values(functions)) {
|
|
311
|
+
result[fn.name] = wrapFunctionInType(fn);
|
|
312
|
+
}
|
|
313
|
+
return result;
|
|
314
|
+
}
|
|
285
315
|
|
|
286
316
|
// ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/language/dsl/src/components.tsx
|
|
287
317
|
var SlotContext = React4.createContext(void 0);
|
|
@@ -934,6 +964,52 @@ var DefaultCompilerContentTypes = ["view", "flow", "schema"];
|
|
|
934
964
|
function isDefaultCompilerContentType(t) {
|
|
935
965
|
return DefaultCompilerContentTypes.includes(t);
|
|
936
966
|
}
|
|
967
|
+
|
|
968
|
+
// ../../../../../../../../../../execroot/_main/bazel-out/k8-fastbuild/bin/language/dsl/src/expressions/native.ts
|
|
969
|
+
var escapePrimitive = (val) => {
|
|
970
|
+
switch (typeof val) {
|
|
971
|
+
case "string": {
|
|
972
|
+
return `'${val}'`;
|
|
973
|
+
}
|
|
974
|
+
case "undefined": {
|
|
975
|
+
return "null";
|
|
976
|
+
}
|
|
977
|
+
default: {
|
|
978
|
+
return `${val}`;
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
};
|
|
982
|
+
var handleBindingOrExpression = (val) => {
|
|
983
|
+
if (isBindingTemplateInstance(val)) {
|
|
984
|
+
return val.toRefString();
|
|
985
|
+
} else {
|
|
986
|
+
return `(${val.toValue()})`;
|
|
987
|
+
}
|
|
988
|
+
};
|
|
989
|
+
var handleArgument = (arg) => {
|
|
990
|
+
return isTemplateStringInstance(arg) ? handleBindingOrExpression(arg) : escapePrimitive(arg);
|
|
991
|
+
};
|
|
992
|
+
var assign = (binding2, value) => {
|
|
993
|
+
return expression`${binding2} = ${isTemplateStringInstance(value) ? value : escapePrimitive(value)}`;
|
|
994
|
+
};
|
|
995
|
+
var equals = (a, b) => {
|
|
996
|
+
return expression`${handleArgument(a)} == ${handleArgument(b)}`;
|
|
997
|
+
};
|
|
998
|
+
var not = (value) => {
|
|
999
|
+
return expression`!(${value})`;
|
|
1000
|
+
};
|
|
1001
|
+
var or = (...values) => {
|
|
1002
|
+
return expression`${values.map(handleBindingOrExpression).join(" || ")}`;
|
|
1003
|
+
};
|
|
1004
|
+
var nor = (...values) => {
|
|
1005
|
+
return not(or(...values));
|
|
1006
|
+
};
|
|
1007
|
+
var and = (...values) => {
|
|
1008
|
+
return expression`${values.map(handleBindingOrExpression).join(" && ")}`;
|
|
1009
|
+
};
|
|
1010
|
+
var nand = (...values) => {
|
|
1011
|
+
return not(and(...values));
|
|
1012
|
+
};
|
|
937
1013
|
export {
|
|
938
1014
|
Asset,
|
|
939
1015
|
AssetWrapper,
|
|
@@ -954,11 +1030,15 @@ export {
|
|
|
954
1030
|
TemplateContext,
|
|
955
1031
|
TemplateStringComponent,
|
|
956
1032
|
View,
|
|
1033
|
+
and,
|
|
1034
|
+
assign,
|
|
957
1035
|
binding,
|
|
958
1036
|
createSlot,
|
|
1037
|
+
equals,
|
|
959
1038
|
expression,
|
|
960
1039
|
fingerprintContent,
|
|
961
1040
|
flattenChildren,
|
|
1041
|
+
generateDSLFunction,
|
|
962
1042
|
getBindingFromObject,
|
|
963
1043
|
getBindingStringFromObject,
|
|
964
1044
|
getObjectReferences,
|
|
@@ -967,13 +1047,19 @@ export {
|
|
|
967
1047
|
isDefaultCompilerContentType,
|
|
968
1048
|
isTemplateStringInstance,
|
|
969
1049
|
makeBindingsForObject,
|
|
1050
|
+
mapExpressionHandlersToFunctions,
|
|
970
1051
|
mergeRefs,
|
|
1052
|
+
nand,
|
|
1053
|
+
nor,
|
|
971
1054
|
normalizeText,
|
|
972
1055
|
normalizeToCollection,
|
|
1056
|
+
not,
|
|
1057
|
+
or,
|
|
973
1058
|
toArray,
|
|
974
1059
|
toJsonElement,
|
|
975
1060
|
toJsonProperties,
|
|
976
1061
|
useGetIdPrefix,
|
|
977
|
-
useIndexInSlot
|
|
1062
|
+
useIndexInSlot,
|
|
1063
|
+
wrapFunctionInType
|
|
978
1064
|
};
|
|
979
1065
|
//# sourceMappingURL=index.mjs.map
|