@evlop/commons 1.0.261 → 1.0.262

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.
@@ -0,0 +1,8 @@
1
+ declare const ExpressionHelper: {
2
+ breakTemplateStringToExpressionsAndStaticString: (templateString: string) => any[];
3
+ safelyCompileStringTemplate: (variables: string[]) => (templateString: string) => TimerHandler;
4
+ safelyCompileExpression: (variables: string[]) => (expression: string) => Function;
5
+ evaluateExpressionForValue: (expression: string) => any;
6
+ };
7
+ export default ExpressionHelper;
8
+ //# sourceMappingURL=ExpressionHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionHelper.d.ts","sourceRoot":"","sources":["../../../../src/edl/ExpressionHelper.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,gBAAgB;sEAC8C,MAAM;6CAwB/B,MAAM,EAAE,sBAEvB,MAAM;yCAWM,MAAM,EAAE,kBAExB,MAAM;6CAMa,MAAM;CAGhD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Regex to match expressions in EDL
4
+ const expressionRegex = /{(\((?:(?!\)\}).)*\)|[^{}]*)}/g;
5
+ const ExpressionHelper = {
6
+ breakTemplateStringToExpressionsAndStaticString: (templateString) => {
7
+ const parts = [];
8
+ const regex = new RegExp(expressionRegex);
9
+ let match;
10
+ let lastIndex = 0;
11
+ while ((match = regex.exec(templateString)) !== null) {
12
+ const startIndex = match.index;
13
+ const endIndex = startIndex + match[0].length;
14
+ if (startIndex > lastIndex) {
15
+ parts.push({ startIndex, endIndex, type: 'string', value: templateString.slice(lastIndex, startIndex) });
16
+ }
17
+ parts.push({ startIndex, endIndex, type: 'expression', value: match[1] });
18
+ lastIndex = endIndex;
19
+ }
20
+ if (lastIndex < templateString.length) {
21
+ parts.push({ startIndex: lastIndex, endIndex: templateString.length, type: 'string', value: templateString.slice(lastIndex) });
22
+ }
23
+ return parts;
24
+ },
25
+ safelyCompileStringTemplate: (variables) => {
26
+ const variableNamesString = `{ ${variables.join(', ')} }`;
27
+ return (templateString) => {
28
+ try {
29
+ // replace all the {expression} with ${ expression } and wrap the whole template in a function
30
+ const processedTemplate = templateString.replace(expressionRegex, "${ $1 }");
31
+ if (processedTemplate === templateString)
32
+ return templateString;
33
+ return new Function(variableNamesString, `return \`${processedTemplate}\`;`);
34
+ }
35
+ catch (e) { }
36
+ };
37
+ },
38
+ safelyCompileExpression: (variables) => {
39
+ const variableNamesString = `{ ${variables.join(', ')} }`;
40
+ return (expression) => {
41
+ try {
42
+ return new Function(variableNamesString, `return ${expression};`);
43
+ }
44
+ catch (e) { }
45
+ };
46
+ },
47
+ evaluateExpressionForValue: (expression) => {
48
+ return eval(`(${expression})`);
49
+ }
50
+ };
51
+ exports.default = ExpressionHelper;
52
+ //# sourceMappingURL=ExpressionHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpressionHelper.js","sourceRoot":"","sources":["../../../../src/edl/ExpressionHelper.ts"],"names":[],"mappings":";;AAAA,oCAAoC;AACpC,MAAM,eAAe,GAAG,gCAAgC,CAAC;AAEzD,MAAM,gBAAgB,GAAG;IACvB,+CAA+C,EAAE,CAAC,cAAsB,EAAE,EAAE;QAC1E,MAAM,KAAK,GAAG,EAAE,CAAC;QAEjB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC;QACV,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,EAAE;YACpD,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,MAAM,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9C,IAAG,UAAU,GAAG,SAAS,EAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;aAC1G;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1E,SAAS,GAAG,QAAQ,CAAC;SACtB;QAED,IAAG,SAAS,GAAG,cAAc,CAAC,MAAM,EAAC;YACnC,KAAK,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SAChI;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B,EAAE,CAAC,SAAmB,EAAE,EAAE;QACnD,MAAM,mBAAmB,GAAG,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1D,OAAO,CAAC,cAAsB,EAAE,EAAE;YAChC,IAAG;gBACD,8FAA8F;gBAC9F,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAE7E,IAAG,iBAAiB,KAAK,cAAc;oBAAE,OAAO,cAAc,CAAC;gBAE/D,OAAO,IAAI,QAAQ,CAAC,mBAAmB,EAAE,YAAY,iBAAiB,KAAK,CAAC,CAAC;aAC9E;YAAC,OAAM,CAAC,EAAC,GAAE;QACd,CAAC,CAAA;IACH,CAAC;IACD,uBAAuB,EAAG,CAAC,SAAmB,EAAE,EAAE;QAChD,MAAM,mBAAmB,GAAG,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1D,OAAO,CAAC,UAAkB,EAAE,EAAE;YAC5B,IAAG;gBACD,OAAO,IAAI,QAAQ,CAAC,mBAAmB,EAAE,UAAU,UAAU,GAAG,CAAC,CAAC;aACnE;YAAC,OAAM,CAAC,EAAC,GAAE;QACd,CAAC,CAAA;IACH,CAAC;IACD,0BAA0B,EAAE,CAAC,UAAkB,EAAE,EAAE;QACjD,OAAO,IAAI,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC;IACjC,CAAC;CACF,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
@@ -1,3 +1,3 @@
1
- declare function parseEDL(edlString: string, additionalVariables: Set<string>): any[];
1
+ declare function parseEDL(_edlString: string, additionalVariables: Set<string>): any[];
2
2
  export default parseEDL;
3
3
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/edl/parser.ts"],"names":[],"mappings":"AAqHA,iBAAS,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,SAiIlE;AAGD,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/edl/parser.ts"],"names":[],"mappings":"AAoIA,iBAAS,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,SAoJnE;AAGD,eAAe,QAAQ,CAAC"}
@@ -1,61 +1,20 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const lodash_1 = require("lodash");
4
7
  const he_1 = require("he");
8
+ const ExpressionHelper_1 = __importDefault(require("./ExpressionHelper"));
5
9
  const inbuiltVariables = ['context', 'data', 'setRuntimeData', 'setState', 'setStates', 'state', 'dispatchAction', 'createAction'];
6
- // Regex to match expressions in EDL
7
- const expressionRegex = /{(\((?:(?!\)\}).)*\)|[^{}]*)}/g;
8
10
  // Regex to match opening tag in EDL
9
11
  const openingTagRegex = /<([a-zA-Z0-9_]+)((?:\s+[a-zA-Z0-9_\-\.\:]+=(?:"[^"]*"|'[^']*'|`[^`]*`|\{\{(?:(?!\}\}).)*\}\}|\{\[(?:(?!\]\}).)*\]\}|\{\((?:(?!\)\}).)*\)\}|\{[^\}]*\}))*)\s*(\/)?>/s;
10
12
  // Regex to match closing tag in EDL
11
13
  const closingTagRegex = /<\/([a-zA-Z0-9_]+)>/;
12
14
  // Regex to match attributes
13
- const attributeRegex = /([a-zA-Z0-9_\-\.\:]+)=("[^"]*"|'[^']*'|`[^`]*`|\{\{(?:(?!\}\}).)*\}\}|\{\[(?:(?!\]\}).)*\]\}|\{\((?:(?!\)\}).)*\)\}|\{[^\}]*\})/sg;
15
+ const attributeRegex = /([a-zA-Z0-9_\-\.\:]+)=("[^"]*"|'[^']*'|`[^`]*`|\{[^\}]*\})/sg;
14
16
  // Regex to split the JSX string into tokens using opening or closing tag regex pattern
15
- const openingOrClosingTagRegex = /(<(?:\/)?(?:[a-zA-Z0-9_]+)(?:(?:\s+[a-zA-Z0-9_\-\.\:]+=(?:"[^"]*"|'[^']*'|`[^`]*`|\{\{(?:(?!\}\}).)*\}\}|\{\[(?:(?!\]\}).)*\]\}|\{\((?:(?!\)\}).)*\)\}|\{[^\}]*\}))*)\s*(?:\/)?>)/s;
16
- const TemplateCompiler = {
17
- breakTemplateStringToExpressionsAndStaticString: (templateString) => {
18
- const parts = [];
19
- const regex = new RegExp(expressionRegex);
20
- let match;
21
- let lastIndex = 0;
22
- while ((match = regex.exec(templateString)) !== null) {
23
- const startIndex = match.index;
24
- const endIndex = startIndex + match[0].length;
25
- if (startIndex > lastIndex) {
26
- parts.push({ startIndex, endIndex, type: 'string', value: templateString.slice(lastIndex, startIndex) });
27
- }
28
- parts.push({ startIndex, endIndex, type: 'expression', value: match[1] });
29
- lastIndex = endIndex;
30
- }
31
- if (lastIndex < templateString.length) {
32
- parts.push({ startIndex: lastIndex, endIndex: templateString.length, type: 'string', value: templateString.slice(lastIndex) });
33
- }
34
- return parts;
35
- },
36
- compileStringTemplate: (variables) => {
37
- const variableNamesString = `{ ${variables.join(', ')} }`;
38
- return (templateString) => {
39
- try {
40
- // replace all the {expression} with ${ expression } and wrap the whole template in a function
41
- const processedTemplate = templateString.replace(expressionRegex, "${ $1 }");
42
- if (processedTemplate === templateString)
43
- return templateString;
44
- return new Function(variableNamesString, `return \`${processedTemplate}\`;`);
45
- }
46
- catch (e) { }
47
- };
48
- },
49
- compileExpression: variables => {
50
- const variableNamesString = `{ ${variables.join(', ')} }`;
51
- return (expression) => {
52
- try {
53
- return new Function(variableNamesString, `return ${expression};`);
54
- }
55
- catch (e) { }
56
- };
57
- }
58
- };
17
+ const openingOrClosingTagRegex = /(<(?:\/)?(?:[a-zA-Z0-9_]+)(?:(?:\s+[a-zA-Z0-9_\-\.\:]+=(?:"[^"]*"|'[^']*'|`[^`]*`|\{[^\}]*\}))*)\s*(?:\/)?>)/s;
59
18
  function generateUniqueId() {
60
19
  return lodash_1.random(1000, 9999999999).toString(36);
61
20
  }
@@ -83,6 +42,65 @@ function extractScriptsAndVariables(inputString) {
83
42
  });
84
43
  return { cleanedString, scriptsById, variables: Array.from(allVariables) };
85
44
  }
45
+ const expressionBracketOpeningClosingPairs = {
46
+ '{': '}',
47
+ '(': ')',
48
+ '[': ']',
49
+ '`': '`',
50
+ '"': '"',
51
+ "'": "'",
52
+ };
53
+ const stringDelimiters = new Set(['`', '"', "'"]);
54
+ const openingBrackets = new Set(Object.keys(expressionBracketOpeningClosingPairs));
55
+ const closingBrackets = new Set(Object.values(expressionBracketOpeningClosingPairs));
56
+ const allBrackets = new Set([...openingBrackets, ...closingBrackets]);
57
+ // look for { and go untill }, counting all (, {, } and ), untill all opening braces are matched with closing braces
58
+ function extractExpressions(inputString) {
59
+ const expressions = {};
60
+ let cleanedString = inputString;
61
+ const expressionPositions = [];
62
+ const stack = [];
63
+ let expressionStartPosition = -1;
64
+ for (let i = 0; i < inputString.length; i++) {
65
+ const char = inputString[i];
66
+ // Start new expression when we find an opening brace
67
+ if (char === '{' && stack.length === 0) {
68
+ expressionStartPosition = i + 1;
69
+ stack.push(char);
70
+ continue;
71
+ }
72
+ if (stack.length === 0)
73
+ continue; // if expression has not started yet, skip it
74
+ if (!allBrackets.has(char))
75
+ continue; // if the character is not a bracket, skip it
76
+ if (inputString[i - 1] === '\\')
77
+ continue; // if the character is escaped, skip it
78
+ const lastOpenedBracket = stack[stack.length - 1];
79
+ const requiredClosingBracket = expressionBracketOpeningClosingPairs[lastOpenedBracket];
80
+ if (char === requiredClosingBracket) {
81
+ stack.pop();
82
+ if (stack.length === 0) {
83
+ expressionPositions.push({ start: expressionStartPosition, end: i - 1 });
84
+ }
85
+ }
86
+ else if (stringDelimiters.has(lastOpenedBracket)) { // if a string delimiter is opened, we dont care obout other opening brackets
87
+ continue;
88
+ }
89
+ else if (openingBrackets.has(char)) {
90
+ stack.push(char);
91
+ }
92
+ }
93
+ let correctionFactor = 0;
94
+ for (const { start, end } of expressionPositions) {
95
+ const expression = inputString.slice(start, end + 1);
96
+ const uniqueId = generateUniqueId();
97
+ expressions[uniqueId] = expression;
98
+ const newString = cleanedString.slice(0, start - correctionFactor) + uniqueId + cleanedString.slice(end - correctionFactor + 1);
99
+ cleanedString = newString;
100
+ correctionFactor += expression.length - uniqueId.length;
101
+ }
102
+ return { expressions, cleanedString };
103
+ }
86
104
  const asVariableRegex = /:as="([^"]+)"/g;
87
105
  function extractAsVariables(inputString) {
88
106
  const asVariables = new Set();
@@ -93,22 +111,39 @@ function extractAsVariables(inputString) {
93
111
  return Array.from(asVariables);
94
112
  }
95
113
  // This function takes a JSX string as input and returns an array of objects representing the parsed JSX structure.
96
- function parseEDL(edlString, additionalVariables) {
114
+ function parseEDL(_edlString, additionalVariables) {
115
+ let edlString = _edlString;
97
116
  // separate the scripts and extract variables from the edl string
98
117
  const { cleanedString: edlStringWithCodeRemovedFromScript, scriptsById, variables: scriptVariables } = extractScriptsAndVariables(edlString);
118
+ edlString = edlStringWithCodeRemovedFromScript;
119
+ // extract expressions from the edl string
120
+ const { expressions: expressionsById, cleanedString: edlStringWithCodeRemovedFromScriptAndExpressionsRemoved } = extractExpressions(edlString);
121
+ edlString = edlStringWithCodeRemovedFromScriptAndExpressionsRemoved;
99
122
  // remove unnecessary whitespace from the edl string, after code has been removed from the script tags
100
- const edlStringWithCodeRemovedFromScriptAndWhitespaceRemoved = removeUnnecessaryWhitespace(edlStringWithCodeRemovedFromScript);
123
+ edlString = removeUnnecessaryWhitespace(edlString);
101
124
  // Extract :as variables and include them in the union
102
- const asVariables = extractAsVariables(edlStringWithCodeRemovedFromScriptAndWhitespaceRemoved);
125
+ const asVariables = extractAsVariables(edlString);
103
126
  const variables = lodash_1.union(inbuiltVariables, Array.from(additionalVariables), scriptVariables, asVariables);
104
- const compileStringTemplate = TemplateCompiler.compileStringTemplate(variables);
105
- const compileExpression = TemplateCompiler.compileExpression(variables);
106
- const breakTemplateStringToExpressionsAndStaticString = TemplateCompiler.breakTemplateStringToExpressionsAndStaticString;
127
+ const safelyCompileStringTemplate = ExpressionHelper_1.default.safelyCompileStringTemplate(variables);
128
+ const safelyCompileExpression = ExpressionHelper_1.default.safelyCompileExpression(variables);
129
+ const evaluateExpressionForValue = ExpressionHelper_1.default.evaluateExpressionForValue;
130
+ const breakTemplateStringToExpressionsAndStaticString = ExpressionHelper_1.default.breakTemplateStringToExpressionsAndStaticString;
131
+ const safelyEvaluateExpressionForValueOrFunction = expression => {
132
+ try {
133
+ const evaluatedValue = evaluateExpressionForValue(expression);
134
+ if (typeof evaluatedValue === 'function')
135
+ throw new Error("Function cannot ke kept as static prop");
136
+ return evaluatedValue;
137
+ }
138
+ catch (e) {
139
+ return safelyCompileExpression(expression);
140
+ }
141
+ };
107
142
  // Initialize an empty array to store the final JSX objects
108
143
  const jsxObjects = [];
109
144
  // Initialize an empty stack to keep track of the nested JSX elements
110
145
  const jsxStack = [];
111
- String(edlStringWithCodeRemovedFromScript).split(openingOrClosingTagRegex).forEach(token => {
146
+ String(edlString).split(openingOrClosingTagRegex).forEach(token => {
112
147
  // If the token is an empty string, skip it
113
148
  if (token.trim() === '') {
114
149
  return;
@@ -116,7 +151,7 @@ function parseEDL(edlString, additionalVariables) {
116
151
  // If the token is not an opening or closing JSX tag, treat it as plain text
117
152
  if (token[0] !== '<') {
118
153
  const parentNode = jsxStack[jsxStack.length - 1];
119
- const parts = breakTemplateStringToExpressionsAndStaticString(he_1.decode(token)).map(({ type, value }) => type == 'expression' ? compileExpression(value) : value);
154
+ const parts = breakTemplateStringToExpressionsAndStaticString(he_1.decode(token)).map(({ type, value }) => type == 'expression' ? safelyEvaluateExpressionForValueOrFunction(expressionsById[value]) : value);
120
155
  if (parentNode) {
121
156
  parentNode.children.push(...parts);
122
157
  }
@@ -150,19 +185,23 @@ function parseEDL(edlString, additionalVariables) {
150
185
  }
151
186
  const value = attributeMatch[2].slice(1, -1);
152
187
  // Check if the attribute value is dynamic (enclosed in curly braces) either variable or js expression
153
- const isDynamicProp = attributeMatch[2].startsWith("{");
188
+ const isJavascriptExpressionProp = attributeMatch[2].startsWith("{");
154
189
  const isTemplateProp = attributeMatch[2].startsWith("`");
155
- if (isDynamicProp) {
190
+ if (isJavascriptExpressionProp) {
191
+ const expression = expressionsById[value];
156
192
  try {
157
- // If the value is dynamic compile it so it can be ran against scope data
158
- variableProps[attributeName] = compileExpression(value);
159
- }
160
- catch (error) {
161
- // ignore the attribute if cannot be compiled
193
+ const evaluatedValue = safelyEvaluateExpressionForValueOrFunction(expression);
194
+ if (typeof evaluatedValue === 'function') {
195
+ variableProps[attributeName] = safelyCompileExpression(expression);
196
+ }
197
+ else {
198
+ lodash_1.set(staticProps, attributeName, evaluatedValue);
199
+ }
162
200
  }
201
+ catch (error) { }
163
202
  }
164
203
  else if (isTemplateProp) {
165
- variableProps[attributeName] = compileStringTemplate(value);
204
+ variableProps[attributeName] = safelyCompileStringTemplate(value);
166
205
  }
167
206
  else {
168
207
  // If the value is not dynamic, assign it directly to the props object
@@ -181,7 +220,7 @@ function parseEDL(edlString, additionalVariables) {
181
220
  delete newElement.staticProps[':scriptId'];
182
221
  const code = scriptsById[scriptId].code;
183
222
  const exportVariables = scriptsById[scriptId].variables;
184
- newElement.variableProps[':function'] = compileExpression(`()=>{ ${code} \n setRuntimeData({ ${exportVariables.join(', ')} }); }`);
223
+ newElement.variableProps[':function'] = safelyCompileExpression(`()=>{ ${code} \n setRuntimeData({ ${exportVariables.join(', ')} }); }`);
185
224
  }
186
225
  // If there's a parent node, add the new element as a child to the parent node
187
226
  if (jsxStack.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/edl/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/edl/parser.ts"],"names":[],"mappings":"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"}