@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.
@@ -6,217 +6,291 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const parser_1 = __importDefault(require("./parser"));
7
7
  const chai_1 = require("chai");
8
8
  describe('parseEDL', () => {
9
- it('should parse an EDL string with a single tag and no props', () => {
10
- const edlString = '<div></div>';
11
- const result = parser_1.default(edlString, new Set());
12
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
13
- chai_1.expect(result[0].tag).to.equal('div');
14
- chai_1.expect(result[0].staticProps).to.deep.equal({});
15
- chai_1.expect(result[0].variableProps).to.deep.equal({});
16
- chai_1.expect(result[0].children).to.deep.equal([]);
17
- });
18
- it('should parse an EDL string with a single tag and static props', () => {
19
- const edlString = '<div class="container" id="main"></div>';
20
- const result = parser_1.default(edlString, new Set());
21
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
22
- chai_1.expect(result[0].tag).to.equal('div');
23
- chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'container', id: 'main' });
24
- chai_1.expect(result[0].variableProps).to.deep.equal({});
25
- chai_1.expect(result[0].children).to.deep.equal([]);
26
- });
27
- it('should parse an EDL string with inline expression interpolation', () => {
28
- const edlString = '<Text>Hello {user.name}!</Text>';
29
- const result = parser_1.default(edlString, new Set(['user']));
30
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
31
- chai_1.expect(result[0].tag).to.equal('Text');
32
- chai_1.expect(result[0].children).to.be.an('array').with.lengthOf(3);
33
- chai_1.expect(result[0].children[0]).to.equal('Hello ');
34
- chai_1.expect(result[0].children[1]).to.be.a('function'); // The interpolated expression
35
- chai_1.expect(result[0].children[2]).to.equal('!');
36
- });
37
- it('should parse an EDL string with nested tags', () => {
38
- const edlString = '<div><span>Hello World</span></div>';
39
- const result = parser_1.default(edlString, new Set());
40
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
41
- chai_1.expect(result[0].tag).to.equal('div');
42
- chai_1.expect(result[0].children).to.be.an('array').with.lengthOf(1);
43
- chai_1.expect(result[0].children[0].tag).to.equal('span');
44
- chai_1.expect(result[0].children[0].children).to.deep.equal(['Hello World']);
45
- });
46
- it('should parse an EDL string with dynamic props', () => {
47
- const edlString = '<input type="text" value={state.value} />';
48
- const additionalVariables = new Set(['state']);
49
- const result = parser_1.default(edlString, additionalVariables);
50
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
51
- chai_1.expect(result[0].tag).to.equal('input');
52
- chai_1.expect(result[0].staticProps).to.deep.equal({ type: 'text' });
53
- chai_1.expect(result[0].variableProps).to.have.property('value');
54
- chai_1.expect(result[0].variableProps.value).to.be.a('function');
55
- });
56
- it('should parse an EDL string with a script tag and extract variables', () => {
57
- const edlString = `<Script>
58
- const $var1 = 42;
59
- let $var2 = "";
60
- </Script>`;
61
- const result = parser_1.default(edlString, new Set());
62
- console.log(result);
63
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
64
- chai_1.expect(result[0].tag).to.equal('Script');
65
- chai_1.expect(result[0].variableProps).to.have.property(':function');
66
- chai_1.expect(result[0].variableProps[':function']).to.be.a('function');
67
- });
68
- it('should handle self-closing tags', () => {
69
- const edlString = '<img src="image.png" />';
70
- const result = parser_1.default(edlString, new Set());
71
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
72
- chai_1.expect(result[0].tag).to.equal('img');
73
- chai_1.expect(result[0].staticProps).to.deep.equal({ src: 'image.png' });
74
- });
75
- it('should parse an EDL string with both static and dynamic props', () => {
76
- const edlString = '<button class="btn" onClick={handleClick}>Click Me</button>';
77
- const additionalVariables = new Set(['handleClick']);
78
- const result = parser_1.default(edlString, additionalVariables);
79
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
80
- chai_1.expect(result[0].tag).to.equal('button');
81
- chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'btn' });
82
- chai_1.expect(result[0].variableProps).to.have.property('onClick');
83
- chai_1.expect(result[0].variableProps.onClick).to.be.a('function');
84
- chai_1.expect(result[0].children).to.deep.equal(['Click Me']);
85
- });
86
- it('should parse an EDL string with mixed content (text and elements)', () => {
87
- const edlString = '<div>Text before <span>inline text</span> and after</div>';
88
- const result = parser_1.default(edlString, new Set());
89
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
90
- chai_1.expect(result[0].tag).to.equal('div');
91
- chai_1.expect(result[0].children).to.be.an('array').with.lengthOf(3);
92
- chai_1.expect(result[0].children[0]).to.equal('Text before ');
93
- chai_1.expect(result[0].children[1].tag).to.equal('span');
94
- chai_1.expect(result[0].children[1].children).to.deep.equal(['inline text']);
95
- chai_1.expect(result[0].children[2]).to.equal(' and after');
96
- });
97
- it('should identify shared props when they modify different object properties', () => {
98
- const edlString = '<div style.color="red" style.width={width}></div>';
99
- const result = parser_1.default(edlString, new Set(['width']));
100
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
101
- chai_1.expect(result[0].tag).to.equal('div');
102
- chai_1.expect(result[0].staticProps).to.deep.equal({
103
- style: { color: 'red' }
104
- });
105
- chai_1.expect(result[0].variableProps).to.have.property('style.width');
106
- chai_1.expect(result[0].sharedPropNames).to.deep.equal(['style']);
107
- });
108
- it('should handle multiple shared object properties', () => {
109
- const edlString = '<div style.color="red" style.width={width} style.height="100px" style.margin={margin}></div>';
110
- const result = parser_1.default(edlString, new Set(['width', 'margin']));
111
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
112
- chai_1.expect(result[0].tag).to.equal('div');
113
- chai_1.expect(result[0].staticProps).to.deep.equal({
114
- style: {
115
- color: 'red',
116
- height: '100px'
117
- }
118
- });
119
- chai_1.expect(result[0].variableProps).to.have.keys('style.width', 'style.margin');
120
- chai_1.expect(result[0].sharedPropNames).to.deep.equal(['style']);
121
- });
122
- it('should handle mixed shared object properties and regular props', () => {
123
- const edlString = '<div class="container" style.color="red" style.width={width} onClick={handleClick}></div>';
124
- const result = parser_1.default(edlString, new Set(['width', 'handleClick']));
125
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
126
- chai_1.expect(result[0].tag).to.equal('div');
127
- chai_1.expect(result[0].staticProps).to.deep.equal({
128
- className: 'container',
129
- style: { color: 'red' }
130
- });
131
- chai_1.expect(result[0].variableProps).to.have.keys('style.width', 'onClick');
132
- console.log(result[0].sharedPropNames);
133
- chai_1.expect(result[0].sharedPropNames).to.deep.equal(['style']);
134
- });
135
- it('should not mark props as shared when only static object properties exist', () => {
136
- const edlString = '<div style.color="red" style.width="100px"></div>';
137
- const result = parser_1.default(edlString, new Set());
138
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
139
- chai_1.expect(result[0].tag).to.equal('div');
140
- chai_1.expect(result[0].staticProps).to.deep.equal({
141
- style: {
142
- color: 'red',
143
- width: '100px'
144
- }
145
- });
146
- chai_1.expect(result[0].variableProps).to.deep.equal({});
147
- chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
148
- });
149
- it('should not mark props as shared when only dynamic object properties exist', () => {
150
- const edlString = '<div style.color={color} style.width={width}></div>';
151
- const result = parser_1.default(edlString, new Set(['color', 'width']));
152
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
153
- chai_1.expect(result[0].tag).to.equal('div');
154
- chai_1.expect(result[0].staticProps).to.deep.equal({});
155
- chai_1.expect(result[0].variableProps).to.have.keys('style.color', 'style.width');
156
- chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
157
- });
158
- it('should parse an EDL string with static props only', () => {
159
- const edlString = '<div class="container" id="main"></div>';
160
- const result = parser_1.default(edlString, new Set());
161
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
162
- chai_1.expect(result[0].tag).to.equal('div');
163
- chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'container', id: 'main' });
164
- chai_1.expect(result[0].variableProps).to.deep.equal({});
165
- chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
9
+ // Basic Parsing
10
+ describe('basic parsing', () => {
11
+ it('should parse an EDL string with a single tag and no props', () => {
12
+ const edlString = '<div></div>';
13
+ const result = parser_1.default(edlString, new Set());
14
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
15
+ chai_1.expect(result[0].tag).to.equal('div');
16
+ chai_1.expect(result[0].staticProps).to.deep.equal({});
17
+ chai_1.expect(result[0].variableProps).to.deep.equal({});
18
+ chai_1.expect(result[0].children).to.deep.equal([]);
19
+ });
20
+ it('should parse an EDL string with a single tag and static props', () => {
21
+ const edlString = '<div class="container" id="main"></div>';
22
+ const result = parser_1.default(edlString, new Set());
23
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
24
+ chai_1.expect(result[0].tag).to.equal('div');
25
+ chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'container', id: 'main' });
26
+ chai_1.expect(result[0].variableProps).to.deep.equal({});
27
+ chai_1.expect(result[0].children).to.deep.equal([]);
28
+ });
29
+ it('should handle self-closing tags', () => {
30
+ const edlString = '<img src="image.png" />';
31
+ const result = parser_1.default(edlString, new Set());
32
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
33
+ chai_1.expect(result[0].tag).to.equal('img');
34
+ chai_1.expect(result[0].staticProps).to.deep.equal({ src: 'image.png' });
35
+ });
166
36
  });
167
- it('should parse an EDL string with dynamic props only', () => {
168
- const edlString = '<input value={state.value} onChange={handleChange} />';
169
- const additionalVariables = new Set(['state', 'handleChange']);
170
- const result = parser_1.default(edlString, additionalVariables);
171
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
172
- chai_1.expect(result[0].tag).to.equal('input');
173
- chai_1.expect(result[0].staticProps).to.deep.equal({});
174
- chai_1.expect(result[0].variableProps).to.have.all.keys('value', 'onChange');
175
- chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
37
+ // Children and Nested Elements
38
+ describe('children and nested elements', () => {
39
+ it('should parse an EDL string with inline expression interpolation', () => {
40
+ const edlString = '<Text>Hello {user.name}!</Text>';
41
+ const result = parser_1.default(edlString, new Set(['user']));
42
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
43
+ chai_1.expect(result[0].tag).to.equal('Text');
44
+ chai_1.expect(result[0].children).to.be.an('array').with.lengthOf(3);
45
+ chai_1.expect(result[0].children[0]).to.equal('Hello ');
46
+ chai_1.expect(result[0].children[1]).to.be.a('function'); // The interpolated expression
47
+ chai_1.expect(result[0].children[2]).to.equal('!');
48
+ });
49
+ it('should parse an EDL string with nested tags', () => {
50
+ const edlString = '<div><span>Hello World</span></div>';
51
+ const result = parser_1.default(edlString, new Set());
52
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
53
+ chai_1.expect(result[0].tag).to.equal('div');
54
+ chai_1.expect(result[0].children).to.be.an('array').with.lengthOf(1);
55
+ chai_1.expect(result[0].children[0].tag).to.equal('span');
56
+ chai_1.expect(result[0].children[0].children).to.deep.equal(['Hello World']);
57
+ });
58
+ it('should parse an EDL string with mixed content (text and elements)', () => {
59
+ const edlString = '<div>Text before <span>inline text</span> and after</div>';
60
+ const result = parser_1.default(edlString, new Set());
61
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
62
+ chai_1.expect(result[0].tag).to.equal('div');
63
+ chai_1.expect(result[0].children).to.be.an('array').with.lengthOf(3);
64
+ chai_1.expect(result[0].children[0]).to.equal('Text before ');
65
+ chai_1.expect(result[0].children[1].tag).to.equal('span');
66
+ chai_1.expect(result[0].children[1].children).to.deep.equal(['inline text']);
67
+ chai_1.expect(result[0].children[2]).to.equal(' and after');
68
+ });
176
69
  });
177
- it('should parse an EDL string with both static and dynamic props (not shared)', () => {
178
- const edlString = '<button class="btn" onClick={handleClick}>Click Me</button>';
179
- const additionalVariables = new Set(['handleClick']);
180
- const result = parser_1.default(edlString, additionalVariables);
181
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
182
- chai_1.expect(result[0].tag).to.equal('button');
183
- chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'btn' });
184
- chai_1.expect(result[0].variableProps).to.have.property('onClick');
185
- chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
186
- chai_1.expect(result[0].children).to.deep.equal(['Click Me']);
70
+ // Props Handling
71
+ describe('props handling', () => {
72
+ describe('static props', () => {
73
+ it('should parse an EDL string with static props only', () => {
74
+ const edlString = '<div class="container" id="main"></div>';
75
+ const result = parser_1.default(edlString, new Set());
76
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
77
+ chai_1.expect(result[0].tag).to.equal('div');
78
+ chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'container', id: 'main' });
79
+ chai_1.expect(result[0].variableProps).to.deep.equal({});
80
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
81
+ });
82
+ it('should parse static expressions in dynamic syntax as static values', () => {
83
+ const edlString = '<div value={123} text={"static"} bool={true}></div>';
84
+ const result = parser_1.default(edlString, new Set());
85
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
86
+ chai_1.expect(result[0].tag).to.equal('div');
87
+ chai_1.expect(result[0].staticProps).to.deep.equal({
88
+ value: 123,
89
+ text: 'static',
90
+ bool: true
91
+ });
92
+ chai_1.expect(result[0].variableProps).to.deep.equal({});
93
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
94
+ });
95
+ });
96
+ describe('dynamic props', () => {
97
+ it('should parse an EDL string with dynamic props', () => {
98
+ const edlString = '<input type="text" value={state.value} />';
99
+ const additionalVariables = new Set(['state']);
100
+ const result = parser_1.default(edlString, additionalVariables);
101
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
102
+ chai_1.expect(result[0].tag).to.equal('input');
103
+ chai_1.expect(result[0].staticProps).to.deep.equal({ type: 'text' });
104
+ chai_1.expect(result[0].variableProps).to.have.property('value');
105
+ chai_1.expect(result[0].variableProps.value).to.be.a('function');
106
+ });
107
+ it('should parse an EDL string with dynamic props only', () => {
108
+ const edlString = '<input value={state.value} onChange={handleChange} />';
109
+ const additionalVariables = new Set(['state', 'handleChange']);
110
+ const result = parser_1.default(edlString, additionalVariables);
111
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
112
+ chai_1.expect(result[0].tag).to.equal('input');
113
+ chai_1.expect(result[0].staticProps).to.deep.equal({});
114
+ chai_1.expect(result[0].variableProps).to.have.all.keys('value', 'onChange');
115
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
116
+ });
117
+ });
118
+ describe('mixed props', () => {
119
+ it('should parse an EDL string with both static and dynamic props', () => {
120
+ const edlString = '<button class="btn" onClick={handleClick}>Click Me</button>';
121
+ const additionalVariables = new Set(['handleClick']);
122
+ const result = parser_1.default(edlString, additionalVariables);
123
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
124
+ chai_1.expect(result[0].tag).to.equal('button');
125
+ chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'btn' });
126
+ chai_1.expect(result[0].variableProps).to.have.property('onClick');
127
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
128
+ chai_1.expect(result[0].children).to.deep.equal(['Click Me']);
129
+ });
130
+ it('should parse an EDL string with both static and dynamic props (not shared)', () => {
131
+ const edlString = '<button class="btn" onClick={handleClick}>Click Me</button>';
132
+ const additionalVariables = new Set(['handleClick']);
133
+ const result = parser_1.default(edlString, additionalVariables);
134
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
135
+ chai_1.expect(result[0].tag).to.equal('button');
136
+ chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'btn' });
137
+ chai_1.expect(result[0].variableProps).to.have.property('onClick');
138
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
139
+ chai_1.expect(result[0].children).to.deep.equal(['Click Me']);
140
+ });
141
+ });
187
142
  });
188
- it('should identify single shared prop correctly', () => {
189
- const edlString = '<div class="static-class" class={dynamicClass}></div>';
190
- const result = parser_1.default(edlString, new Set(['dynamicClass']));
191
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
192
- chai_1.expect(result[0].tag).to.equal('div');
193
- chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'static-class' });
194
- chai_1.expect(result[0].variableProps).to.have.property('className');
195
- chai_1.expect(result[0].sharedPropNames).to.deep.equal(['className']);
143
+ // Shared Props
144
+ describe('shared props', () => {
145
+ describe('basic shared props', () => {
146
+ it('should identify single shared prop correctly', () => {
147
+ const edlString = '<div class="static-class" class={dynamicClass}></div>';
148
+ const result = parser_1.default(edlString, new Set(['dynamicClass']));
149
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
150
+ chai_1.expect(result[0].tag).to.equal('div');
151
+ chai_1.expect(result[0].staticProps).to.deep.equal({ className: 'static-class' });
152
+ chai_1.expect(result[0].variableProps).to.have.property('className');
153
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal(['className']);
154
+ });
155
+ it('should handle multiple shared props correctly', () => {
156
+ const edlString = '<div id="static-id" class="static-class" id={dynamicId} class={dynamicClass}></div>';
157
+ const result = parser_1.default(edlString, new Set(['dynamicId', 'dynamicClass']));
158
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
159
+ chai_1.expect(result[0].tag).to.equal('div');
160
+ chai_1.expect(result[0].staticProps).to.deep.equal({
161
+ id: 'static-id',
162
+ className: 'static-class'
163
+ });
164
+ chai_1.expect(result[0].variableProps).to.have.keys('id', 'className');
165
+ chai_1.expect(result[0].sharedPropNames).to.have.members(['id', 'className']);
166
+ });
167
+ it('should handle mixed shared and non-shared props', () => {
168
+ const edlString = '<div id="static-id" class="static-class" id={dynamicId} onClick={ () => console.log({ a: 123 }) }></div>';
169
+ const result = parser_1.default(edlString, new Set(['dynamicId', 'handleClick']));
170
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
171
+ chai_1.expect(result[0].tag).to.equal('div');
172
+ chai_1.expect(result[0].staticProps).to.deep.equal({
173
+ id: 'static-id',
174
+ className: 'static-class'
175
+ });
176
+ chai_1.expect(result[0].variableProps).to.have.keys('id', 'onClick');
177
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal(['id']);
178
+ });
179
+ });
180
+ describe('object properties', () => {
181
+ it('should identify shared props when they modify different object properties', () => {
182
+ const edlString = '<div style.color="red" style.width={width}></div>';
183
+ const result = parser_1.default(edlString, new Set(['width']));
184
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
185
+ chai_1.expect(result[0].tag).to.equal('div');
186
+ chai_1.expect(result[0].staticProps).to.deep.equal({
187
+ style: { color: 'red' }
188
+ });
189
+ chai_1.expect(result[0].variableProps).to.have.property('style.width');
190
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal(['style']);
191
+ });
192
+ it('should handle multiple shared object properties', () => {
193
+ const edlString = '<div style.color="red" style.width={width} style.height="100px" style.margin={margin}></div>';
194
+ const result = parser_1.default(edlString, new Set(['width', 'margin']));
195
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
196
+ chai_1.expect(result[0].tag).to.equal('div');
197
+ chai_1.expect(result[0].staticProps).to.deep.equal({
198
+ style: {
199
+ color: 'red',
200
+ height: '100px'
201
+ }
202
+ });
203
+ chai_1.expect(result[0].variableProps).to.have.keys('style.width', 'style.margin');
204
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal(['style']);
205
+ });
206
+ it('should handle mixed shared object properties and regular props', () => {
207
+ const edlString = '<div class="container" style.color="red" style.width={width} onClick={handleClick}></div>';
208
+ const result = parser_1.default(edlString, new Set(['width', 'handleClick']));
209
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
210
+ chai_1.expect(result[0].tag).to.equal('div');
211
+ chai_1.expect(result[0].staticProps).to.deep.equal({
212
+ className: 'container',
213
+ style: { color: 'red' }
214
+ });
215
+ chai_1.expect(result[0].variableProps).to.have.keys('style.width', 'onClick');
216
+ console.log(result[0].sharedPropNames);
217
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal(['style']);
218
+ });
219
+ it('should not mark props as shared when only static object properties exist', () => {
220
+ const edlString = '<div style.color="red" style.width="100px"></div>';
221
+ const result = parser_1.default(edlString, new Set());
222
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
223
+ chai_1.expect(result[0].tag).to.equal('div');
224
+ chai_1.expect(result[0].staticProps).to.deep.equal({
225
+ style: {
226
+ color: 'red',
227
+ width: '100px'
228
+ }
229
+ });
230
+ chai_1.expect(result[0].variableProps).to.deep.equal({});
231
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
232
+ });
233
+ it('should not mark props as shared when only dynamic object properties exist', () => {
234
+ const edlString = '<div style.color={color} style.width={width}></div>';
235
+ const result = parser_1.default(edlString, new Set(['color', 'width']));
236
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
237
+ chai_1.expect(result[0].tag).to.equal('div');
238
+ chai_1.expect(result[0].staticProps).to.deep.equal({});
239
+ chai_1.expect(result[0].variableProps).to.have.keys('style.color', 'style.width');
240
+ chai_1.expect(result[0].sharedPropNames).to.deep.equal([]);
241
+ });
242
+ });
196
243
  });
197
- it('should handle multiple shared props correctly', () => {
198
- const edlString = '<div id="static-id" class="static-class" id={dynamicId} class={dynamicClass}></div>';
199
- const result = parser_1.default(edlString, new Set(['dynamicId', 'dynamicClass']));
200
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
201
- chai_1.expect(result[0].tag).to.equal('div');
202
- chai_1.expect(result[0].staticProps).to.deep.equal({
203
- id: 'static-id',
204
- className: 'static-class'
205
- });
206
- chai_1.expect(result[0].variableProps).to.have.keys('id', 'className');
207
- chai_1.expect(result[0].sharedPropNames).to.have.members(['id', 'className']);
244
+ // Script Tags
245
+ describe('script tags', () => {
246
+ it('should parse an EDL string with a script tag and extract variables', () => {
247
+ const edlString = `<Script>
248
+ const $var1 = 42;
249
+ let $var2 = "";
250
+ </Script>`;
251
+ const result = parser_1.default(edlString, new Set());
252
+ console.log(result);
253
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
254
+ chai_1.expect(result[0].tag).to.equal('Script');
255
+ chai_1.expect(result[0].variableProps).to.have.property(':function');
256
+ chai_1.expect(result[0].variableProps[':function']).to.be.a('function');
257
+ });
208
258
  });
209
- it('should handle mixed shared and non-shared props', () => {
210
- const edlString = '<div id="static-id" class="static-class" id={dynamicId} onClick={handleClick}></div>';
211
- const result = parser_1.default(edlString, new Set(['dynamicId', 'handleClick']));
212
- chai_1.expect(result).to.be.an('array').with.lengthOf(1);
213
- chai_1.expect(result[0].tag).to.equal('div');
214
- chai_1.expect(result[0].staticProps).to.deep.equal({
215
- id: 'static-id',
216
- className: 'static-class'
217
- });
218
- chai_1.expect(result[0].variableProps).to.have.keys('id', 'onClick');
219
- chai_1.expect(result[0].sharedPropNames).to.deep.equal(['id']);
259
+ // Expression Parsing
260
+ describe('expression parsing', () => {
261
+ it('should handle expressions containing string literals with braces', () => {
262
+ const edlString = '<div prop={`string with { braces }`}></div>';
263
+ const result = parser_1.default(edlString, new Set());
264
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
265
+ chai_1.expect(result[0].staticProps).to.deep.equal({ prop: 'string with { braces }' });
266
+ });
267
+ it('should handle nested expressions correctly', () => {
268
+ const edlString = '<div prop={{ nested: { value: 123 } }}></div>';
269
+ const result = parser_1.default(edlString, new Set());
270
+ console.log(result);
271
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
272
+ chai_1.expect(result[0].staticProps).to.deep.equal({ prop: { nested: { value: 123 } } });
273
+ });
274
+ it('should handle expressions with escaped quotes', () => {
275
+ const edlString = '<div prop={`string with \\`backticks\\` inside`}></div>';
276
+ const result = parser_1.default(edlString, new Set());
277
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
278
+ chai_1.expect(result[0].staticProps).to.deep.equal({ prop: 'string with `backticks` inside' });
279
+ });
280
+ it('should handle complex nested expressions with strings', () => {
281
+ const edlString = '<div prop={{ text: `Hello ${data.name}`, obj: { key: "{not an expression}" } }}></div>';
282
+ const result = parser_1.default(edlString, new Set(['data']));
283
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
284
+ chai_1.expect(result[0].variableProps).to.have.property('prop');
285
+ chai_1.expect(result[0].variableProps.prop).to.be.a('function');
286
+ });
287
+ it('should handle expressions with function calls containing objects', () => {
288
+ const edlString = '<div onClick={() => handleClick({ id: 123 })}></div>';
289
+ const result = parser_1.default(edlString, new Set(['handleClick']));
290
+ chai_1.expect(result).to.be.an('array').with.lengthOf(1);
291
+ chai_1.expect(result[0].variableProps).to.have.property('onClick');
292
+ chai_1.expect(result[0].variableProps.onClick).to.be.a('function');
293
+ });
220
294
  });
221
295
  });
222
296
  //# 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":";;;;;AAAA,sDAAgC;AAChC,+BAA8B;AAG9B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,gBAAgB;IAChB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,SAAS,GAAG,aAAa,CAAC;YAChC,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACvE,MAAM,SAAS,GAAG,yCAAyC,CAAC;YAC5D,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpF,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,SAAS,GAAG,yBAAyB,CAAC;YAC5C,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACzE,MAAM,SAAS,GAAG,iCAAiC,CAAC;YACpD,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,8BAA8B;YAClF,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,SAAS,GAAG,qCAAqC,CAAC;YACxD,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,SAAS,GAAG,2DAA2D,CAAC;YAC9E,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC9D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACvD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YACtE,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;YAC5B,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;gBAC3D,MAAM,SAAS,GAAG,yCAAyC,CAAC;gBAC5D,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpF,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;gBAC5E,MAAM,SAAS,GAAG,qDAAqD,CAAC;gBACxE,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1C,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI;iBACX,CAAC,CAAC;gBACH,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;gBACvD,MAAM,SAAS,GAAG,2CAA2C,CAAC;gBAC9D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/C,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gBAExD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC1D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;gBAC5D,MAAM,SAAS,GAAG,uDAAuD,CAAC;gBAC1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gBAExD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACxC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACtE,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;gBACvE,MAAM,SAAS,GAAG,6DAA6D,CAAC;gBAChF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gBAExD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACzC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClE,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC5D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;gBACpF,MAAM,SAAS,GAAG,6DAA6D,CAAC;gBAChF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gBAExD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACzC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClE,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC5D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAClC,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;gBACtD,MAAM,SAAS,GAAG,uDAAuD,CAAC;gBAC1E,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAE9D,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,CAAC;gBAC3E,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC9D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;gBACvD,MAAM,SAAS,GAAG,qFAAqF,CAAC;gBACxG,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;gBAE3E,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1C,EAAE,EAAE,WAAW;oBACf,SAAS,EAAE,cAAc;iBAC1B,CAAC,CAAC;gBACH,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAChE,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;gBACzD,MAAM,SAAS,GAAG,0GAA0G,CAAC;gBAC7H,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;gBAE1E,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1C,EAAE,EAAE,WAAW;oBACf,SAAS,EAAE,cAAc;iBAC1B,CAAC,CAAC;gBACH,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACjC,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;gBACnF,MAAM,SAAS,GAAG,mDAAmD,CAAC;gBACtE,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEvD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1C,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACxB,CAAC,CAAC;gBACH,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAChE,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;gBACzD,MAAM,SAAS,GAAG,8FAA8F,CAAC;gBACjH,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAEjE,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1C,KAAK,EAAE;wBACL,KAAK,EAAE,KAAK;wBACZ,MAAM,EAAE,OAAO;qBAChB;iBACF,CAAC,CAAC;gBACH,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;gBAC5E,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;gBACxE,MAAM,SAAS,GAAG,2FAA2F,CAAC;gBAC9G,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;gBAEtE,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1C,SAAS,EAAE,WAAW;oBACtB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACxB,CAAC,CAAC;gBACH,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;gBACvC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;gBAClF,MAAM,SAAS,GAAG,mDAAmD,CAAC;gBACtE,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC1C,KAAK,EAAE;wBACL,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,OAAO;qBACf;iBACF,CAAC,CAAC;gBACH,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;gBACnF,MAAM,SAAS,GAAG,qDAAqD,CAAC;gBACxE,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEhE,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAC3E,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,cAAc;IACd,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,MAAM,SAAS,GAAG;;;gBAGR,CAAC;YACX,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzC,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC9D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,SAAS,GAAG,6CAA6C,CAAC;YAChE,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,SAAS,GAAG,+CAA+C,CAAC;YAClE,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpB,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,SAAS,GAAG,yDAAyD,CAAC;YAC5E,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YAE9C,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,MAAM,SAAS,GAAG,wFAAwF,CAAC;YAC3G,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEtD,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YAC1E,MAAM,SAAS,GAAG,sDAAsD,CAAC;YACzE,MAAM,MAAM,GAAG,gBAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAE7D,aAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClD,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5D,aAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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"}