@evlop/commons 1.0.260 → 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.
Files changed (39) hide show
  1. package/dist/cjs/bin/generate-icons-cache.js +4 -3
  2. package/dist/cjs/bin/generate-icons-cache.js.map +1 -1
  3. package/dist/cjs/src/edl/ExpressionHelper.d.ts +8 -0
  4. package/dist/cjs/src/edl/ExpressionHelper.d.ts.map +1 -0
  5. package/dist/cjs/src/edl/ExpressionHelper.js +52 -0
  6. package/dist/cjs/src/edl/ExpressionHelper.js.map +1 -0
  7. package/dist/cjs/src/edl/index.d.ts +2 -1
  8. package/dist/cjs/src/edl/index.d.ts.map +1 -1
  9. package/dist/cjs/src/edl/index.js +1 -1
  10. package/dist/cjs/src/edl/index.js.map +1 -1
  11. package/dist/cjs/src/edl/parser.d.ts +1 -1
  12. package/dist/cjs/src/edl/parser.d.ts.map +1 -1
  13. package/dist/cjs/src/edl/parser.js +103 -64
  14. package/dist/cjs/src/edl/parser.js.map +1 -1
  15. package/dist/cjs/src/edl/parser.test.js +280 -206
  16. package/dist/cjs/src/edl/parser.test.js.map +1 -1
  17. package/dist/esm/bin/generate-icons-cache.js +4 -3
  18. package/dist/esm/bin/generate-icons-cache.js.map +1 -1
  19. package/dist/esm/src/edl/ExpressionHelper.d.ts +8 -0
  20. package/dist/esm/src/edl/ExpressionHelper.d.ts.map +1 -0
  21. package/dist/esm/src/edl/ExpressionHelper.js +50 -0
  22. package/dist/esm/src/edl/ExpressionHelper.js.map +1 -0
  23. package/dist/esm/src/edl/index.d.ts +2 -1
  24. package/dist/esm/src/edl/index.d.ts.map +1 -1
  25. package/dist/esm/src/edl/index.js +1 -1
  26. package/dist/esm/src/edl/index.js.map +1 -1
  27. package/dist/esm/src/edl/parser.d.ts +1 -1
  28. package/dist/esm/src/edl/parser.d.ts.map +1 -1
  29. package/dist/esm/src/edl/parser.js +100 -64
  30. package/dist/esm/src/edl/parser.js.map +1 -1
  31. package/dist/esm/src/edl/parser.test.js +280 -206
  32. package/dist/esm/src/edl/parser.test.js.map +1 -1
  33. package/dist/types/src/edl/ExpressionHelper.d.ts +8 -0
  34. package/dist/types/src/edl/ExpressionHelper.d.ts.map +1 -0
  35. package/dist/types/src/edl/index.d.ts +2 -1
  36. package/dist/types/src/edl/index.d.ts.map +1 -1
  37. package/dist/types/src/edl/parser.d.ts +1 -1
  38. package/dist/types/src/edl/parser.d.ts.map +1 -1
  39. package/package.json +2 -2
@@ -1,217 +1,291 @@
1
1
  import parseEDL from './parser';
2
2
  import { expect } from 'chai';
3
3
  describe('parseEDL', () => {
4
- it('should parse an EDL string with a single tag and no props', () => {
5
- const edlString = '<div></div>';
6
- const result = parseEDL(edlString, new Set());
7
- expect(result).to.be.an('array').with.lengthOf(1);
8
- expect(result[0].tag).to.equal('div');
9
- expect(result[0].staticProps).to.deep.equal({});
10
- expect(result[0].variableProps).to.deep.equal({});
11
- expect(result[0].children).to.deep.equal([]);
12
- });
13
- it('should parse an EDL string with a single tag and static props', () => {
14
- const edlString = '<div class="container" id="main"></div>';
15
- const result = parseEDL(edlString, new Set());
16
- expect(result).to.be.an('array').with.lengthOf(1);
17
- expect(result[0].tag).to.equal('div');
18
- expect(result[0].staticProps).to.deep.equal({ className: 'container', id: 'main' });
19
- expect(result[0].variableProps).to.deep.equal({});
20
- expect(result[0].children).to.deep.equal([]);
21
- });
22
- it('should parse an EDL string with inline expression interpolation', () => {
23
- const edlString = '<Text>Hello {user.name}!</Text>';
24
- const result = parseEDL(edlString, new Set(['user']));
25
- expect(result).to.be.an('array').with.lengthOf(1);
26
- expect(result[0].tag).to.equal('Text');
27
- expect(result[0].children).to.be.an('array').with.lengthOf(3);
28
- expect(result[0].children[0]).to.equal('Hello ');
29
- expect(result[0].children[1]).to.be.a('function'); // The interpolated expression
30
- expect(result[0].children[2]).to.equal('!');
31
- });
32
- it('should parse an EDL string with nested tags', () => {
33
- const edlString = '<div><span>Hello World</span></div>';
34
- const result = parseEDL(edlString, new Set());
35
- expect(result).to.be.an('array').with.lengthOf(1);
36
- expect(result[0].tag).to.equal('div');
37
- expect(result[0].children).to.be.an('array').with.lengthOf(1);
38
- expect(result[0].children[0].tag).to.equal('span');
39
- expect(result[0].children[0].children).to.deep.equal(['Hello World']);
40
- });
41
- it('should parse an EDL string with dynamic props', () => {
42
- const edlString = '<input type="text" value={state.value} />';
43
- const additionalVariables = new Set(['state']);
44
- const result = parseEDL(edlString, additionalVariables);
45
- expect(result).to.be.an('array').with.lengthOf(1);
46
- expect(result[0].tag).to.equal('input');
47
- expect(result[0].staticProps).to.deep.equal({ type: 'text' });
48
- expect(result[0].variableProps).to.have.property('value');
49
- expect(result[0].variableProps.value).to.be.a('function');
50
- });
51
- it('should parse an EDL string with a script tag and extract variables', () => {
52
- const edlString = `<Script>
53
- const $var1 = 42;
54
- let $var2 = "";
55
- </Script>`;
56
- const result = parseEDL(edlString, new Set());
57
- console.log(result);
58
- expect(result).to.be.an('array').with.lengthOf(1);
59
- expect(result[0].tag).to.equal('Script');
60
- expect(result[0].variableProps).to.have.property(':function');
61
- expect(result[0].variableProps[':function']).to.be.a('function');
62
- });
63
- it('should handle self-closing tags', () => {
64
- const edlString = '<img src="image.png" />';
65
- const result = parseEDL(edlString, new Set());
66
- expect(result).to.be.an('array').with.lengthOf(1);
67
- expect(result[0].tag).to.equal('img');
68
- expect(result[0].staticProps).to.deep.equal({ src: 'image.png' });
69
- });
70
- it('should parse an EDL string with both static and dynamic props', () => {
71
- const edlString = '<button class="btn" onClick={handleClick}>Click Me</button>';
72
- const additionalVariables = new Set(['handleClick']);
73
- const result = parseEDL(edlString, additionalVariables);
74
- expect(result).to.be.an('array').with.lengthOf(1);
75
- expect(result[0].tag).to.equal('button');
76
- expect(result[0].staticProps).to.deep.equal({ className: 'btn' });
77
- expect(result[0].variableProps).to.have.property('onClick');
78
- expect(result[0].variableProps.onClick).to.be.a('function');
79
- expect(result[0].children).to.deep.equal(['Click Me']);
80
- });
81
- it('should parse an EDL string with mixed content (text and elements)', () => {
82
- const edlString = '<div>Text before <span>inline text</span> and after</div>';
83
- const result = parseEDL(edlString, new Set());
84
- expect(result).to.be.an('array').with.lengthOf(1);
85
- expect(result[0].tag).to.equal('div');
86
- expect(result[0].children).to.be.an('array').with.lengthOf(3);
87
- expect(result[0].children[0]).to.equal('Text before ');
88
- expect(result[0].children[1].tag).to.equal('span');
89
- expect(result[0].children[1].children).to.deep.equal(['inline text']);
90
- expect(result[0].children[2]).to.equal(' and after');
91
- });
92
- it('should identify shared props when they modify different object properties', () => {
93
- const edlString = '<div style.color="red" style.width={width}></div>';
94
- const result = parseEDL(edlString, new Set(['width']));
95
- expect(result).to.be.an('array').with.lengthOf(1);
96
- expect(result[0].tag).to.equal('div');
97
- expect(result[0].staticProps).to.deep.equal({
98
- style: { color: 'red' }
99
- });
100
- expect(result[0].variableProps).to.have.property('style.width');
101
- expect(result[0].sharedPropNames).to.deep.equal(['style']);
102
- });
103
- it('should handle multiple shared object properties', () => {
104
- const edlString = '<div style.color="red" style.width={width} style.height="100px" style.margin={margin}></div>';
105
- const result = parseEDL(edlString, new Set(['width', 'margin']));
106
- expect(result).to.be.an('array').with.lengthOf(1);
107
- expect(result[0].tag).to.equal('div');
108
- expect(result[0].staticProps).to.deep.equal({
109
- style: {
110
- color: 'red',
111
- height: '100px'
112
- }
113
- });
114
- expect(result[0].variableProps).to.have.keys('style.width', 'style.margin');
115
- expect(result[0].sharedPropNames).to.deep.equal(['style']);
116
- });
117
- it('should handle mixed shared object properties and regular props', () => {
118
- const edlString = '<div class="container" style.color="red" style.width={width} onClick={handleClick}></div>';
119
- const result = parseEDL(edlString, new Set(['width', 'handleClick']));
120
- expect(result).to.be.an('array').with.lengthOf(1);
121
- expect(result[0].tag).to.equal('div');
122
- expect(result[0].staticProps).to.deep.equal({
123
- className: 'container',
124
- style: { color: 'red' }
125
- });
126
- expect(result[0].variableProps).to.have.keys('style.width', 'onClick');
127
- console.log(result[0].sharedPropNames);
128
- expect(result[0].sharedPropNames).to.deep.equal(['style']);
129
- });
130
- it('should not mark props as shared when only static object properties exist', () => {
131
- const edlString = '<div style.color="red" style.width="100px"></div>';
132
- const result = parseEDL(edlString, new Set());
133
- expect(result).to.be.an('array').with.lengthOf(1);
134
- expect(result[0].tag).to.equal('div');
135
- expect(result[0].staticProps).to.deep.equal({
136
- style: {
137
- color: 'red',
138
- width: '100px'
139
- }
140
- });
141
- expect(result[0].variableProps).to.deep.equal({});
142
- expect(result[0].sharedPropNames).to.deep.equal([]);
143
- });
144
- it('should not mark props as shared when only dynamic object properties exist', () => {
145
- const edlString = '<div style.color={color} style.width={width}></div>';
146
- const result = parseEDL(edlString, new Set(['color', 'width']));
147
- expect(result).to.be.an('array').with.lengthOf(1);
148
- expect(result[0].tag).to.equal('div');
149
- expect(result[0].staticProps).to.deep.equal({});
150
- expect(result[0].variableProps).to.have.keys('style.color', 'style.width');
151
- expect(result[0].sharedPropNames).to.deep.equal([]);
152
- });
153
- it('should parse an EDL string with static props only', () => {
154
- const edlString = '<div class="container" id="main"></div>';
155
- const result = parseEDL(edlString, new Set());
156
- expect(result).to.be.an('array').with.lengthOf(1);
157
- expect(result[0].tag).to.equal('div');
158
- expect(result[0].staticProps).to.deep.equal({ className: 'container', id: 'main' });
159
- expect(result[0].variableProps).to.deep.equal({});
160
- expect(result[0].sharedPropNames).to.deep.equal([]);
4
+ // Basic Parsing
5
+ describe('basic parsing', () => {
6
+ it('should parse an EDL string with a single tag and no props', () => {
7
+ const edlString = '<div></div>';
8
+ const result = parseEDL(edlString, new Set());
9
+ expect(result).to.be.an('array').with.lengthOf(1);
10
+ expect(result[0].tag).to.equal('div');
11
+ expect(result[0].staticProps).to.deep.equal({});
12
+ expect(result[0].variableProps).to.deep.equal({});
13
+ expect(result[0].children).to.deep.equal([]);
14
+ });
15
+ it('should parse an EDL string with a single tag and static props', () => {
16
+ const edlString = '<div class="container" id="main"></div>';
17
+ const result = parseEDL(edlString, new Set());
18
+ expect(result).to.be.an('array').with.lengthOf(1);
19
+ expect(result[0].tag).to.equal('div');
20
+ expect(result[0].staticProps).to.deep.equal({ className: 'container', id: 'main' });
21
+ expect(result[0].variableProps).to.deep.equal({});
22
+ expect(result[0].children).to.deep.equal([]);
23
+ });
24
+ it('should handle self-closing tags', () => {
25
+ const edlString = '<img src="image.png" />';
26
+ const result = parseEDL(edlString, new Set());
27
+ expect(result).to.be.an('array').with.lengthOf(1);
28
+ expect(result[0].tag).to.equal('img');
29
+ expect(result[0].staticProps).to.deep.equal({ src: 'image.png' });
30
+ });
161
31
  });
162
- it('should parse an EDL string with dynamic props only', () => {
163
- const edlString = '<input value={state.value} onChange={handleChange} />';
164
- const additionalVariables = new Set(['state', 'handleChange']);
165
- const result = parseEDL(edlString, additionalVariables);
166
- expect(result).to.be.an('array').with.lengthOf(1);
167
- expect(result[0].tag).to.equal('input');
168
- expect(result[0].staticProps).to.deep.equal({});
169
- expect(result[0].variableProps).to.have.all.keys('value', 'onChange');
170
- expect(result[0].sharedPropNames).to.deep.equal([]);
32
+ // Children and Nested Elements
33
+ describe('children and nested elements', () => {
34
+ it('should parse an EDL string with inline expression interpolation', () => {
35
+ const edlString = '<Text>Hello {user.name}!</Text>';
36
+ const result = parseEDL(edlString, new Set(['user']));
37
+ expect(result).to.be.an('array').with.lengthOf(1);
38
+ expect(result[0].tag).to.equal('Text');
39
+ expect(result[0].children).to.be.an('array').with.lengthOf(3);
40
+ expect(result[0].children[0]).to.equal('Hello ');
41
+ expect(result[0].children[1]).to.be.a('function'); // The interpolated expression
42
+ expect(result[0].children[2]).to.equal('!');
43
+ });
44
+ it('should parse an EDL string with nested tags', () => {
45
+ const edlString = '<div><span>Hello World</span></div>';
46
+ const result = parseEDL(edlString, new Set());
47
+ expect(result).to.be.an('array').with.lengthOf(1);
48
+ expect(result[0].tag).to.equal('div');
49
+ expect(result[0].children).to.be.an('array').with.lengthOf(1);
50
+ expect(result[0].children[0].tag).to.equal('span');
51
+ expect(result[0].children[0].children).to.deep.equal(['Hello World']);
52
+ });
53
+ it('should parse an EDL string with mixed content (text and elements)', () => {
54
+ const edlString = '<div>Text before <span>inline text</span> and after</div>';
55
+ const result = parseEDL(edlString, new Set());
56
+ expect(result).to.be.an('array').with.lengthOf(1);
57
+ expect(result[0].tag).to.equal('div');
58
+ expect(result[0].children).to.be.an('array').with.lengthOf(3);
59
+ expect(result[0].children[0]).to.equal('Text before ');
60
+ expect(result[0].children[1].tag).to.equal('span');
61
+ expect(result[0].children[1].children).to.deep.equal(['inline text']);
62
+ expect(result[0].children[2]).to.equal(' and after');
63
+ });
171
64
  });
172
- it('should parse an EDL string with both static and dynamic props (not shared)', () => {
173
- const edlString = '<button class="btn" onClick={handleClick}>Click Me</button>';
174
- const additionalVariables = new Set(['handleClick']);
175
- const result = parseEDL(edlString, additionalVariables);
176
- expect(result).to.be.an('array').with.lengthOf(1);
177
- expect(result[0].tag).to.equal('button');
178
- expect(result[0].staticProps).to.deep.equal({ className: 'btn' });
179
- expect(result[0].variableProps).to.have.property('onClick');
180
- expect(result[0].sharedPropNames).to.deep.equal([]);
181
- expect(result[0].children).to.deep.equal(['Click Me']);
65
+ // Props Handling
66
+ describe('props handling', () => {
67
+ describe('static props', () => {
68
+ it('should parse an EDL string with static props only', () => {
69
+ const edlString = '<div class="container" id="main"></div>';
70
+ const result = parseEDL(edlString, new Set());
71
+ expect(result).to.be.an('array').with.lengthOf(1);
72
+ expect(result[0].tag).to.equal('div');
73
+ expect(result[0].staticProps).to.deep.equal({ className: 'container', id: 'main' });
74
+ expect(result[0].variableProps).to.deep.equal({});
75
+ expect(result[0].sharedPropNames).to.deep.equal([]);
76
+ });
77
+ it('should parse static expressions in dynamic syntax as static values', () => {
78
+ const edlString = '<div value={123} text={"static"} bool={true}></div>';
79
+ const result = parseEDL(edlString, new Set());
80
+ expect(result).to.be.an('array').with.lengthOf(1);
81
+ expect(result[0].tag).to.equal('div');
82
+ expect(result[0].staticProps).to.deep.equal({
83
+ value: 123,
84
+ text: 'static',
85
+ bool: true
86
+ });
87
+ expect(result[0].variableProps).to.deep.equal({});
88
+ expect(result[0].sharedPropNames).to.deep.equal([]);
89
+ });
90
+ });
91
+ describe('dynamic props', () => {
92
+ it('should parse an EDL string with dynamic props', () => {
93
+ const edlString = '<input type="text" value={state.value} />';
94
+ const additionalVariables = new Set(['state']);
95
+ const result = parseEDL(edlString, additionalVariables);
96
+ expect(result).to.be.an('array').with.lengthOf(1);
97
+ expect(result[0].tag).to.equal('input');
98
+ expect(result[0].staticProps).to.deep.equal({ type: 'text' });
99
+ expect(result[0].variableProps).to.have.property('value');
100
+ expect(result[0].variableProps.value).to.be.a('function');
101
+ });
102
+ it('should parse an EDL string with dynamic props only', () => {
103
+ const edlString = '<input value={state.value} onChange={handleChange} />';
104
+ const additionalVariables = new Set(['state', 'handleChange']);
105
+ const result = parseEDL(edlString, additionalVariables);
106
+ expect(result).to.be.an('array').with.lengthOf(1);
107
+ expect(result[0].tag).to.equal('input');
108
+ expect(result[0].staticProps).to.deep.equal({});
109
+ expect(result[0].variableProps).to.have.all.keys('value', 'onChange');
110
+ expect(result[0].sharedPropNames).to.deep.equal([]);
111
+ });
112
+ });
113
+ describe('mixed props', () => {
114
+ it('should parse an EDL string with both static and dynamic props', () => {
115
+ const edlString = '<button class="btn" onClick={handleClick}>Click Me</button>';
116
+ const additionalVariables = new Set(['handleClick']);
117
+ const result = parseEDL(edlString, additionalVariables);
118
+ expect(result).to.be.an('array').with.lengthOf(1);
119
+ expect(result[0].tag).to.equal('button');
120
+ expect(result[0].staticProps).to.deep.equal({ className: 'btn' });
121
+ expect(result[0].variableProps).to.have.property('onClick');
122
+ expect(result[0].sharedPropNames).to.deep.equal([]);
123
+ expect(result[0].children).to.deep.equal(['Click Me']);
124
+ });
125
+ it('should parse an EDL string with both static and dynamic props (not shared)', () => {
126
+ const edlString = '<button class="btn" onClick={handleClick}>Click Me</button>';
127
+ const additionalVariables = new Set(['handleClick']);
128
+ const result = parseEDL(edlString, additionalVariables);
129
+ expect(result).to.be.an('array').with.lengthOf(1);
130
+ expect(result[0].tag).to.equal('button');
131
+ expect(result[0].staticProps).to.deep.equal({ className: 'btn' });
132
+ expect(result[0].variableProps).to.have.property('onClick');
133
+ expect(result[0].sharedPropNames).to.deep.equal([]);
134
+ expect(result[0].children).to.deep.equal(['Click Me']);
135
+ });
136
+ });
182
137
  });
183
- it('should identify single shared prop correctly', () => {
184
- const edlString = '<div class="static-class" class={dynamicClass}></div>';
185
- const result = parseEDL(edlString, new Set(['dynamicClass']));
186
- expect(result).to.be.an('array').with.lengthOf(1);
187
- expect(result[0].tag).to.equal('div');
188
- expect(result[0].staticProps).to.deep.equal({ className: 'static-class' });
189
- expect(result[0].variableProps).to.have.property('className');
190
- expect(result[0].sharedPropNames).to.deep.equal(['className']);
138
+ // Shared Props
139
+ describe('shared props', () => {
140
+ describe('basic shared props', () => {
141
+ it('should identify single shared prop correctly', () => {
142
+ const edlString = '<div class="static-class" class={dynamicClass}></div>';
143
+ const result = parseEDL(edlString, new Set(['dynamicClass']));
144
+ expect(result).to.be.an('array').with.lengthOf(1);
145
+ expect(result[0].tag).to.equal('div');
146
+ expect(result[0].staticProps).to.deep.equal({ className: 'static-class' });
147
+ expect(result[0].variableProps).to.have.property('className');
148
+ expect(result[0].sharedPropNames).to.deep.equal(['className']);
149
+ });
150
+ it('should handle multiple shared props correctly', () => {
151
+ const edlString = '<div id="static-id" class="static-class" id={dynamicId} class={dynamicClass}></div>';
152
+ const result = parseEDL(edlString, new Set(['dynamicId', 'dynamicClass']));
153
+ expect(result).to.be.an('array').with.lengthOf(1);
154
+ expect(result[0].tag).to.equal('div');
155
+ expect(result[0].staticProps).to.deep.equal({
156
+ id: 'static-id',
157
+ className: 'static-class'
158
+ });
159
+ expect(result[0].variableProps).to.have.keys('id', 'className');
160
+ expect(result[0].sharedPropNames).to.have.members(['id', 'className']);
161
+ });
162
+ it('should handle mixed shared and non-shared props', () => {
163
+ const edlString = '<div id="static-id" class="static-class" id={dynamicId} onClick={ () => console.log({ a: 123 }) }></div>';
164
+ const result = parseEDL(edlString, new Set(['dynamicId', 'handleClick']));
165
+ expect(result).to.be.an('array').with.lengthOf(1);
166
+ expect(result[0].tag).to.equal('div');
167
+ expect(result[0].staticProps).to.deep.equal({
168
+ id: 'static-id',
169
+ className: 'static-class'
170
+ });
171
+ expect(result[0].variableProps).to.have.keys('id', 'onClick');
172
+ expect(result[0].sharedPropNames).to.deep.equal(['id']);
173
+ });
174
+ });
175
+ describe('object properties', () => {
176
+ it('should identify shared props when they modify different object properties', () => {
177
+ const edlString = '<div style.color="red" style.width={width}></div>';
178
+ const result = parseEDL(edlString, new Set(['width']));
179
+ expect(result).to.be.an('array').with.lengthOf(1);
180
+ expect(result[0].tag).to.equal('div');
181
+ expect(result[0].staticProps).to.deep.equal({
182
+ style: { color: 'red' }
183
+ });
184
+ expect(result[0].variableProps).to.have.property('style.width');
185
+ expect(result[0].sharedPropNames).to.deep.equal(['style']);
186
+ });
187
+ it('should handle multiple shared object properties', () => {
188
+ const edlString = '<div style.color="red" style.width={width} style.height="100px" style.margin={margin}></div>';
189
+ const result = parseEDL(edlString, new Set(['width', 'margin']));
190
+ expect(result).to.be.an('array').with.lengthOf(1);
191
+ expect(result[0].tag).to.equal('div');
192
+ expect(result[0].staticProps).to.deep.equal({
193
+ style: {
194
+ color: 'red',
195
+ height: '100px'
196
+ }
197
+ });
198
+ expect(result[0].variableProps).to.have.keys('style.width', 'style.margin');
199
+ expect(result[0].sharedPropNames).to.deep.equal(['style']);
200
+ });
201
+ it('should handle mixed shared object properties and regular props', () => {
202
+ const edlString = '<div class="container" style.color="red" style.width={width} onClick={handleClick}></div>';
203
+ const result = parseEDL(edlString, new Set(['width', 'handleClick']));
204
+ expect(result).to.be.an('array').with.lengthOf(1);
205
+ expect(result[0].tag).to.equal('div');
206
+ expect(result[0].staticProps).to.deep.equal({
207
+ className: 'container',
208
+ style: { color: 'red' }
209
+ });
210
+ expect(result[0].variableProps).to.have.keys('style.width', 'onClick');
211
+ console.log(result[0].sharedPropNames);
212
+ expect(result[0].sharedPropNames).to.deep.equal(['style']);
213
+ });
214
+ it('should not mark props as shared when only static object properties exist', () => {
215
+ const edlString = '<div style.color="red" style.width="100px"></div>';
216
+ const result = parseEDL(edlString, new Set());
217
+ expect(result).to.be.an('array').with.lengthOf(1);
218
+ expect(result[0].tag).to.equal('div');
219
+ expect(result[0].staticProps).to.deep.equal({
220
+ style: {
221
+ color: 'red',
222
+ width: '100px'
223
+ }
224
+ });
225
+ expect(result[0].variableProps).to.deep.equal({});
226
+ expect(result[0].sharedPropNames).to.deep.equal([]);
227
+ });
228
+ it('should not mark props as shared when only dynamic object properties exist', () => {
229
+ const edlString = '<div style.color={color} style.width={width}></div>';
230
+ const result = parseEDL(edlString, new Set(['color', 'width']));
231
+ expect(result).to.be.an('array').with.lengthOf(1);
232
+ expect(result[0].tag).to.equal('div');
233
+ expect(result[0].staticProps).to.deep.equal({});
234
+ expect(result[0].variableProps).to.have.keys('style.color', 'style.width');
235
+ expect(result[0].sharedPropNames).to.deep.equal([]);
236
+ });
237
+ });
191
238
  });
192
- it('should handle multiple shared props correctly', () => {
193
- const edlString = '<div id="static-id" class="static-class" id={dynamicId} class={dynamicClass}></div>';
194
- const result = parseEDL(edlString, new Set(['dynamicId', 'dynamicClass']));
195
- expect(result).to.be.an('array').with.lengthOf(1);
196
- expect(result[0].tag).to.equal('div');
197
- expect(result[0].staticProps).to.deep.equal({
198
- id: 'static-id',
199
- className: 'static-class'
200
- });
201
- expect(result[0].variableProps).to.have.keys('id', 'className');
202
- expect(result[0].sharedPropNames).to.have.members(['id', 'className']);
239
+ // Script Tags
240
+ describe('script tags', () => {
241
+ it('should parse an EDL string with a script tag and extract variables', () => {
242
+ const edlString = `<Script>
243
+ const $var1 = 42;
244
+ let $var2 = "";
245
+ </Script>`;
246
+ const result = parseEDL(edlString, new Set());
247
+ console.log(result);
248
+ expect(result).to.be.an('array').with.lengthOf(1);
249
+ expect(result[0].tag).to.equal('Script');
250
+ expect(result[0].variableProps).to.have.property(':function');
251
+ expect(result[0].variableProps[':function']).to.be.a('function');
252
+ });
203
253
  });
204
- it('should handle mixed shared and non-shared props', () => {
205
- const edlString = '<div id="static-id" class="static-class" id={dynamicId} onClick={handleClick}></div>';
206
- const result = parseEDL(edlString, new Set(['dynamicId', 'handleClick']));
207
- expect(result).to.be.an('array').with.lengthOf(1);
208
- expect(result[0].tag).to.equal('div');
209
- expect(result[0].staticProps).to.deep.equal({
210
- id: 'static-id',
211
- className: 'static-class'
212
- });
213
- expect(result[0].variableProps).to.have.keys('id', 'onClick');
214
- expect(result[0].sharedPropNames).to.deep.equal(['id']);
254
+ // Expression Parsing
255
+ describe('expression parsing', () => {
256
+ it('should handle expressions containing string literals with braces', () => {
257
+ const edlString = '<div prop={`string with { braces }`}></div>';
258
+ const result = parseEDL(edlString, new Set());
259
+ expect(result).to.be.an('array').with.lengthOf(1);
260
+ expect(result[0].staticProps).to.deep.equal({ prop: 'string with { braces }' });
261
+ });
262
+ it('should handle nested expressions correctly', () => {
263
+ const edlString = '<div prop={{ nested: { value: 123 } }}></div>';
264
+ const result = parseEDL(edlString, new Set());
265
+ console.log(result);
266
+ expect(result).to.be.an('array').with.lengthOf(1);
267
+ expect(result[0].staticProps).to.deep.equal({ prop: { nested: { value: 123 } } });
268
+ });
269
+ it('should handle expressions with escaped quotes', () => {
270
+ const edlString = '<div prop={`string with \\`backticks\\` inside`}></div>';
271
+ const result = parseEDL(edlString, new Set());
272
+ expect(result).to.be.an('array').with.lengthOf(1);
273
+ expect(result[0].staticProps).to.deep.equal({ prop: 'string with `backticks` inside' });
274
+ });
275
+ it('should handle complex nested expressions with strings', () => {
276
+ const edlString = '<div prop={{ text: `Hello ${data.name}`, obj: { key: "{not an expression}" } }}></div>';
277
+ const result = parseEDL(edlString, new Set(['data']));
278
+ expect(result).to.be.an('array').with.lengthOf(1);
279
+ expect(result[0].variableProps).to.have.property('prop');
280
+ expect(result[0].variableProps.prop).to.be.a('function');
281
+ });
282
+ it('should handle expressions with function calls containing objects', () => {
283
+ const edlString = '<div onClick={() => handleClick({ id: 123 })}></div>';
284
+ const result = parseEDL(edlString, new Set(['handleClick']));
285
+ expect(result).to.be.an('array').with.lengthOf(1);
286
+ expect(result[0].variableProps).to.have.property('onClick');
287
+ expect(result[0].variableProps.onClick).to.be.a('function');
288
+ });
215
289
  });
216
290
  });
217
291
  //# sourceMappingURL=parser.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../../src/edl/parser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../../src/edl/parser.test.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import * as lodash from 'lodash';
2
3
  declare type RenderContextStaticValues = {
3
4
  [key: string]: any;
4
5
  };
@@ -51,7 +52,7 @@ export declare const EDL: {
51
52
  }) => any;
52
53
  DataSource: typeof import("./elements/DataSource").default;
53
54
  };
54
- parse: ((edl: any) => any[]) & import("lodash").MemoizedFunction;
55
+ parse: ((edl: any) => any[]) & lodash.MemoizedFunction;
55
56
  };
56
57
  export default EDL;
57
58
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/edl/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAiB9D,aAAK,yBAAyB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAA;AAOD,aAAK,kBAAkB,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAS7E,aAAK,UAAU,GAAG;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAA;AASD,iBAAS,eAAe,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA,QAErC;AAED,iBAAS,gBAAgB,CAAC,WAAW,KAAA,QAEpC;AAGD,iBAAS,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAG9D;AAED,iBAAS,8BAA8B,CAAC,gBAAgB,EAAE,yBAAyB,QAGlF;AAED,iBAAS,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,QAS5D;AAED,iBAAS,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAEhE;AAED,iBAAS,UAAU,CAAC,UAAU,EAAE,UAAU,QAEzC;AAUD,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACpC,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpC;AA8DD,eAAO,MAAM,GAAG;6EA5DiE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAyE9F,CAAC;AAEF,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/edl/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAS9D,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAQjC,aAAK,yBAAyB,GAAG;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAA;AAOD,aAAK,kBAAkB,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAS7E,aAAK,UAAU,GAAG;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAA;AASD,iBAAS,eAAe,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA,QAErC;AAED,iBAAS,gBAAgB,CAAC,WAAW,KAAA,QAEpC;AAGD,iBAAS,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAG9D;AAED,iBAAS,8BAA8B,CAAC,gBAAgB,EAAE,yBAAyB,QAGlF;AAED,iBAAS,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,QAS5D;AAED,iBAAS,2BAA2B,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAEhE;AAED,iBAAS,UAAU,CAAC,UAAU,EAAE,UAAU,QAEzC;AAUD,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACpC,MAAM,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACpC;AA8DD,eAAO,MAAM,GAAG;6EA5DiE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;CAyE9F,CAAC;AAEF,eAAe,GAAG,CAAC"}