@player-tools/dsl 0.4.0-next.0 → 0.4.0-next.2

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/index.cjs.js CHANGED
@@ -6,6 +6,7 @@ var React = require('react');
6
6
  var flattenChildren = require('react-flatten-children');
7
7
  var mergeRefs = require('react-merge-refs');
8
8
  var reactJsonReconciler = require('react-json-reconciler');
9
+ var player = require('@player-ui/player');
9
10
  var signale = require('signale');
10
11
  var dequal = require('dequal');
11
12
  var tapableTs = require('tapable-ts');
@@ -116,6 +117,12 @@ const createTemplateInstance = (options) => {
116
117
  }
117
118
  return sum + next + ((_a = element2 == null ? void 0 : element2.toRefString(options)) != null ? _a : "");
118
119
  }, "");
120
+ if (options.nestedContext === "expression") {
121
+ const parsedExpression = player.parseExpression(value, { strict: false });
122
+ if (parsedExpression.error) {
123
+ throw parsedExpression.error;
124
+ }
125
+ }
119
126
  const toString = () => {
120
127
  return options.toRefString({}, value);
121
128
  };
package/dist/index.esm.js CHANGED
@@ -3,6 +3,7 @@ import flattenChildren from 'react-flatten-children';
3
3
  import mergeRefs from 'react-merge-refs';
4
4
  import { flattenNodes, ProxyNode, createPortal, PropertyNode, ValueNode, ArrayNode, toJSON, render } from 'react-json-reconciler';
5
5
  export * from 'react-json-reconciler';
6
+ import { parseExpression } from '@player-ui/player';
6
7
  import signale from 'signale';
7
8
  import { dequal } from 'dequal';
8
9
  import { SyncWaterfallHook, SyncHook } from 'tapable-ts';
@@ -106,6 +107,12 @@ const createTemplateInstance = (options) => {
106
107
  }
107
108
  return sum + next + ((_a = element2 == null ? void 0 : element2.toRefString(options)) != null ? _a : "");
108
109
  }, "");
110
+ if (options.nestedContext === "expression") {
111
+ const parsedExpression = parseExpression(value, { strict: false });
112
+ if (parsedExpression.error) {
113
+ throw parsedExpression.error;
114
+ }
115
+ }
109
116
  const toString = () => {
110
117
  return options.toRefString({}, value);
111
118
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@player-tools/dsl",
3
- "version": "0.4.0-next.0",
3
+ "version": "0.4.0-next.2",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org"
@@ -9,7 +9,8 @@
9
9
  "react": "^17.0.2"
10
10
  },
11
11
  "dependencies": {
12
- "@player-ui/types": "^0.2.0",
12
+ "@player-ui/types": "0.4.0-next.7",
13
+ "@player-ui/player": "0.4.0-next.7",
13
14
  "@types/mkdirp": "^1.0.2",
14
15
  "@types/signale": "^1.4.2",
15
16
  "chalk": "^4.0.1",
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { parseExpression } from '@player-ui/player';
2
3
 
3
4
  export type TemplateInstanceRefStringContext = 'binding' | 'expression';
4
5
  export interface TemplateRefStringOptions {
@@ -71,6 +72,14 @@ const createTemplateInstance = (
71
72
  return sum + next + (element?.toRefString(options) ?? '');
72
73
  }, '');
73
74
 
75
+ /** Try to parse the expression as valid */
76
+ if (options.nestedContext === 'expression') {
77
+ const parsedExpression = parseExpression(value, { strict: false });
78
+ if (parsedExpression.error) {
79
+ throw parsedExpression.error;
80
+ }
81
+ }
82
+
74
83
  /** get the unwrapped version */
75
84
  const toString = () => {
76
85
  return options.toRefString({}, value);