@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.
@@ -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