@forge/react 8.1.2-next.0 → 8.1.2-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @forge/react
2
2
 
3
+ ## 8.1.2-next.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 10aa19d3: Reconciliation counting disabled by default in UI Kit 2
8
+
9
+ ## 8.1.2-next.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 8ebcac27: Reintroduced improved reconciliation counting
14
+
3
15
  ## 8.1.2-next.0
4
16
 
5
17
  ### Patch Changes
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=defaultReconciler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultReconciler.test.d.ts","sourceRoot":"","sources":["../../src/__test__/defaultReconciler.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ let keyCount = 0;
6
+ jest.mock('uuid', () => (Object.assign(Object.assign({}, jest.requireActual('uuid')), { v4: () => `${keyCount++}` })));
7
+ const react_1 = tslib_1.__importStar(require("react"));
8
+ const reconcilerTestRenderer_1 = tslib_1.__importDefault(require("./reconcilerTestRenderer"));
9
+ const components_1 = require("../components");
10
+ const get_1 = tslib_1.__importDefault(require("lodash/get"));
11
+ const testUtils_1 = require("./testUtils");
12
+ describe('Disabled reconcilation counting (default behaviour)', () => {
13
+ let bridgeCalls = [];
14
+ const TEXT = 0;
15
+ const BUTTON = 1;
16
+ const STATIC_TEXT = 2;
17
+ const STRING = 0;
18
+ beforeAll(async () => {
19
+ bridgeCalls = (0, testUtils_1.setupBridge)();
20
+ const Test = () => {
21
+ const [bool, setBool] = (0, react_1.useState)(false);
22
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Text, { children: !bool ? 'Loading...' : 'Now loaded...' }), (0, jsx_runtime_1.jsx)(components_1.Button, Object.assign({ onClick: () => setBool(true) }, { children: "Click" })), (0, jsx_runtime_1.jsx)(components_1.StatusLozenge, Object.assign({ appearance: "inprogress" }, { children: "Test" }))] }));
23
+ };
24
+ await reconcilerTestRenderer_1.default.create((0, jsx_runtime_1.jsx)(Test, {}));
25
+ });
26
+ it('No reconciliation counts are present', () => {
27
+ const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
28
+ expect(forgeDoc).not.toHaveProperty('reconciliationCount');
29
+ expect(forgeDoc).toHaveProperty(`children[${TEXT}].type`, 'Text');
30
+ expect(forgeDoc).not.toHaveProperty(`children[${TEXT}].reconciliationCount`);
31
+ expect(forgeDoc).toHaveProperty(`children[${BUTTON}].type`, 'Button');
32
+ expect(forgeDoc).not.toHaveProperty(`children[${BUTTON}].reconciliationCount`);
33
+ expect(forgeDoc).toHaveProperty(`children[${STATIC_TEXT}].type`, 'StatusLozenge');
34
+ expect(forgeDoc).not.toHaveProperty(`children[${STATIC_TEXT}].reconciliationCount`);
35
+ expect(forgeDoc).toMatchSnapshot();
36
+ });
37
+ it('calling the button click handler DOES NOT add reconciliation count', () => {
38
+ let forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
39
+ const onClick = (0, get_1.default)(forgeDoc, `children[${BUTTON}].props.onClick`);
40
+ expect(onClick).not.toBeUndefined();
41
+ onClick();
42
+ forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
43
+ expect(forgeDoc).not.toHaveProperty('reconciliationCount');
44
+ expect(forgeDoc).not.toHaveProperty(`children[${TEXT}].reconciliationCount`);
45
+ expect(forgeDoc).toHaveProperty(`children[${TEXT}].children[${STRING}].type`, 'String');
46
+ expect(forgeDoc).not.toHaveProperty(`children[${TEXT}].children[${STRING}].reconciliationCount`);
47
+ expect(forgeDoc).not.toHaveProperty(`children[${BUTTON}].reconciliationCount`, 2);
48
+ expect(forgeDoc).not.toHaveProperty(`children[${STATIC_TEXT}].reconciliationCount`);
49
+ expect(forgeDoc).toMatchSnapshot();
50
+ });
51
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hostConfig.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hostConfig.test.d.ts","sourceRoot":"","sources":["../../src/__test__/hostConfig.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ let keyCount = 0;
4
+ jest.mock('uuid', () => (Object.assign(Object.assign({}, jest.requireActual('uuid')), { v4: () => `${keyCount++}` })));
5
+ const reconciler_1 = require("../reconciler");
6
+ const testUtils_1 = require("./testUtils");
7
+ reconciler_1.ReconciliationCounter.getInstance(false);
8
+ const emptyForgeDoc = (0, reconciler_1.createElement)({ type: 'root', props: {} });
9
+ describe('hostConfig used functions', () => {
10
+ let bridgeCalls = [];
11
+ beforeAll(async () => {
12
+ bridgeCalls = (0, testUtils_1.setupBridge)();
13
+ keyCount = 0;
14
+ });
15
+ it('resetAfterCommit should call bridge', () => {
16
+ const testDoc = (0, reconciler_1.createElement)({ type: 'root', props: {} });
17
+ reconciler_1.hostConfig.resetAfterCommit(testDoc);
18
+ const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
19
+ expect(forgeDoc).toMatchSnapshot();
20
+ });
21
+ it('createInstance returns empty ForgeDoc', () => {
22
+ const testProps = {
23
+ test: true
24
+ };
25
+ const instance = reconciler_1.hostConfig.createInstance('test', testProps, emptyForgeDoc, null, null);
26
+ expect(instance).toMatchSnapshot();
27
+ });
28
+ it('createTextInstance returns ForgeDoc with UUID', () => {
29
+ const testDoc = (0, reconciler_1.createElement)({ type: 'root', props: {} });
30
+ const textInstance = reconciler_1.hostConfig.createTextInstance('test', testDoc, null, null);
31
+ expect(textInstance).toMatchSnapshot();
32
+ });
33
+ it('appendInitialChild adds child to empty children array', () => {
34
+ const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
35
+ const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
36
+ expect(parent).toHaveProperty('children', []);
37
+ reconciler_1.hostConfig.appendInitialChild(parent, child);
38
+ expect(parent).toHaveProperty('children', [child]);
39
+ });
40
+ it('appendChild does not append same child twice', () => {
41
+ expect(reconciler_1.hostConfig).toHaveProperty('appendChild');
42
+ if (reconciler_1.hostConfig.appendChild !== undefined) {
43
+ const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
44
+ const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
45
+ expect(parent).toHaveProperty('children', []);
46
+ reconciler_1.hostConfig.appendChild(parent, child);
47
+ expect(parent).toHaveProperty('children', [child]);
48
+ reconciler_1.hostConfig.appendChild(parent, child);
49
+ expect(parent).toHaveProperty('children', [child]);
50
+ }
51
+ });
52
+ it('appendChildToContainer', () => {
53
+ expect(reconciler_1.hostConfig).toHaveProperty('appendChildToContainer');
54
+ if (reconciler_1.hostConfig.appendChildToContainer !== undefined) {
55
+ const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
56
+ const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
57
+ expect(parent).toHaveProperty('children', []);
58
+ reconciler_1.hostConfig.appendChildToContainer(parent, child);
59
+ expect(parent).toHaveProperty('children', [child]);
60
+ }
61
+ });
62
+ it('finalizeInitialChildren returns false', () => {
63
+ expect(reconciler_1.hostConfig.finalizeInitialChildren(emptyForgeDoc, 'test', {}, emptyForgeDoc, null)).toBe(false);
64
+ });
65
+ it('prepareUpdate should set new props as props on instance', () => {
66
+ const instance = (0, reconciler_1.createElement)({ type: 'test', props: { oldProps: true } });
67
+ const newProps = {
68
+ updated: true
69
+ };
70
+ expect(reconciler_1.hostConfig.prepareUpdate(instance, 'test', {}, newProps, emptyForgeDoc, null)).toBe(newProps);
71
+ expect(instance).not.toHaveProperty('oldProps');
72
+ expect(instance).toHaveProperty('props', newProps);
73
+ expect(instance).toHaveProperty('reconciliationCount', 2);
74
+ });
75
+ it('shouldSetTextContent returns false', () => {
76
+ expect(reconciler_1.hostConfig.shouldSetTextContent('test', {})).toBe(false);
77
+ });
78
+ it('insertBefore reorders children', () => {
79
+ expect(reconciler_1.hostConfig).toHaveProperty('insertBefore');
80
+ if (reconciler_1.hostConfig.insertBefore !== undefined) {
81
+ const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
82
+ const child1 = (0, reconciler_1.createElement)({ type: 'child1', props: {} });
83
+ const child2 = (0, reconciler_1.createElement)({ type: 'child2', props: {} });
84
+ reconciler_1.hostConfig.appendInitialChild(parent, child1);
85
+ expect(parent).toHaveProperty('children', [child1]);
86
+ reconciler_1.hostConfig.insertBefore(parent, child2, child1);
87
+ expect(parent).toHaveProperty('children', [child2, child1]);
88
+ }
89
+ });
90
+ it('insertInContainerBefore reorders children when child being inserted exists', () => {
91
+ expect(reconciler_1.hostConfig).toHaveProperty('insertInContainerBefore');
92
+ if (reconciler_1.hostConfig.insertInContainerBefore !== undefined) {
93
+ const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
94
+ const child1 = (0, reconciler_1.createElement)({ type: 'child1', props: {} });
95
+ const child2 = (0, reconciler_1.createElement)({ type: 'child2', props: {} });
96
+ reconciler_1.hostConfig.appendInitialChild(parent, child1);
97
+ reconciler_1.hostConfig.appendInitialChild(parent, child2);
98
+ expect(parent).toHaveProperty('children', [child1, child2]);
99
+ reconciler_1.hostConfig.insertInContainerBefore(parent, child2, child1);
100
+ expect(parent).toHaveProperty('children', [child2, child1]);
101
+ }
102
+ });
103
+ it('removeChild removes child', () => {
104
+ expect(reconciler_1.hostConfig).toHaveProperty('removeChild');
105
+ if (reconciler_1.hostConfig.removeChild !== undefined) {
106
+ const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
107
+ const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
108
+ expect(parent).toHaveProperty('children', []);
109
+ reconciler_1.hostConfig.appendInitialChild(parent, child);
110
+ expect(parent).toHaveProperty('children', [child]);
111
+ reconciler_1.hostConfig.removeChild(parent, child);
112
+ expect(parent).toHaveProperty('children', []);
113
+ }
114
+ });
115
+ it('removeChildFromContainer removes child', () => {
116
+ expect(reconciler_1.hostConfig).toHaveProperty('removeChildFromContainer');
117
+ if (reconciler_1.hostConfig.removeChildFromContainer !== undefined) {
118
+ const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
119
+ const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
120
+ expect(parent).toHaveProperty('children', []);
121
+ reconciler_1.hostConfig.appendInitialChild(parent, child);
122
+ expect(parent).toHaveProperty('children', [child]);
123
+ reconciler_1.hostConfig.removeChildFromContainer(parent, child);
124
+ expect(parent).toHaveProperty('children', []);
125
+ }
126
+ });
127
+ it('commitTextUpdate should update instance props', () => {
128
+ expect(reconciler_1.hostConfig).toHaveProperty('commitTextUpdate');
129
+ if (reconciler_1.hostConfig.commitTextUpdate !== undefined) {
130
+ const testDoc = (0, reconciler_1.createElement)({ type: 'root', props: {} });
131
+ const textInstance = reconciler_1.hostConfig.createTextInstance('test', testDoc, null, null);
132
+ reconciler_1.hostConfig.commitTextUpdate(textInstance, '', 'updated');
133
+ expect(textInstance).toEqual(expect.objectContaining({
134
+ type: 'String',
135
+ children: [],
136
+ props: {
137
+ text: 'updated'
138
+ },
139
+ key: expect.any(String)
140
+ }));
141
+ }
142
+ });
143
+ });
144
+ describe('hostConfig unused functions', () => {
145
+ it('should return empty object from getRootHostContext', () => {
146
+ expect(reconciler_1.hostConfig.getRootHostContext(emptyForgeDoc)).toEqual({});
147
+ });
148
+ it('should return null from getChildHostContext', () => {
149
+ expect(reconciler_1.hostConfig.getChildHostContext(null, 'test', emptyForgeDoc)).toBeNull();
150
+ });
151
+ it('should return supplied value to getPublicInstance', () => {
152
+ expect(reconciler_1.hostConfig.getPublicInstance(emptyForgeDoc)).toBe(emptyForgeDoc);
153
+ });
154
+ it('should return null from prepareForCommit', () => {
155
+ expect(reconciler_1.hostConfig.prepareForCommit(emptyForgeDoc)).toBeNull();
156
+ });
157
+ it('should return undefined from preparePortalMount', () => {
158
+ expect(reconciler_1.hostConfig.preparePortalMount(emptyForgeDoc)).toBeUndefined();
159
+ });
160
+ it('should return undefined from resetTextContent', () => {
161
+ if (reconciler_1.hostConfig.resetTextContent !== undefined) {
162
+ expect(reconciler_1.hostConfig.resetTextContent(emptyForgeDoc)).toBeUndefined();
163
+ }
164
+ });
165
+ it('should return undefined from commitMount', () => {
166
+ if (reconciler_1.hostConfig.commitMount !== undefined) {
167
+ expect(reconciler_1.hostConfig.commitMount(emptyForgeDoc, 'test', {}, null)).toBeUndefined();
168
+ }
169
+ });
170
+ it('should return undefined from commitUpdate', () => {
171
+ if (reconciler_1.hostConfig.commitUpdate !== undefined) {
172
+ expect(reconciler_1.hostConfig.commitUpdate(emptyForgeDoc, {}, 'test', {}, {}, null)).toBeUndefined();
173
+ }
174
+ });
175
+ it('should return undefined from hideInstance', () => {
176
+ if (reconciler_1.hostConfig.hideInstance !== undefined) {
177
+ expect(reconciler_1.hostConfig.hideInstance(emptyForgeDoc)).toBeUndefined();
178
+ }
179
+ });
180
+ it('should return undefined from unhideTextInstance', () => {
181
+ if (reconciler_1.hostConfig.unhideTextInstance !== undefined) {
182
+ expect(reconciler_1.hostConfig.unhideTextInstance(emptyForgeDoc, 'Test')).toBeUndefined();
183
+ }
184
+ });
185
+ it('should return undefined from clearContainer', () => {
186
+ if (reconciler_1.hostConfig.clearContainer !== undefined) {
187
+ expect(reconciler_1.hostConfig.clearContainer(emptyForgeDoc)).toBeUndefined();
188
+ }
189
+ });
190
+ it('should return undefined from detachDeletedInstance', () => {
191
+ expect(reconciler_1.hostConfig.detachDeletedInstance(emptyForgeDoc)).toBeUndefined();
192
+ });
193
+ it('should return undefined from getCurrentEventPriority', () => {
194
+ expect(reconciler_1.hostConfig.getCurrentEventPriority()).toBe(16);
195
+ });
196
+ it('should return null from getInstanceFromNode', () => {
197
+ expect(reconciler_1.hostConfig.getInstanceFromNode(null)).toBeNull();
198
+ });
199
+ it('should return undefined from beforeActiveInstanceBlur', () => {
200
+ expect(reconciler_1.hostConfig.beforeActiveInstanceBlur()).toBeUndefined();
201
+ });
202
+ it('should return undefined from afterActiveInstanceBlur', () => {
203
+ expect(reconciler_1.hostConfig.afterActiveInstanceBlur()).toBeUndefined();
204
+ });
205
+ it('should return undefined from prepareScopeUpdate', () => {
206
+ expect(reconciler_1.hostConfig.prepareScopeUpdate(null, null)).toBeUndefined();
207
+ });
208
+ it('should return null from getInstanceFromScope', () => {
209
+ expect(reconciler_1.hostConfig.getInstanceFromScope(null)).toBeNull();
210
+ });
211
+ });
@@ -17,7 +17,7 @@ describe('reconciled output', () => {
17
17
  };
18
18
  await reconcilerTestRenderer_1.default.create((0, jsx_runtime_1.jsx)(Test, {}));
19
19
  const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
20
- expect(forgeDoc).toHaveProperty('forgeDoc.type', 'Root');
21
- expect(forgeDoc).toHaveProperty('forgeDoc.children[0].type', 'Inline');
20
+ expect(forgeDoc).toHaveProperty('type', 'Root');
21
+ expect(forgeDoc).toHaveProperty('children[0].type', 'Inline');
22
22
  });
23
23
  });
@@ -2,247 +2,129 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ let keyCount = 0;
6
+ jest.mock('uuid', () => (Object.assign(Object.assign({}, jest.requireActual('uuid')), { v4: () => `${keyCount++}` })));
5
7
  const react_1 = tslib_1.__importStar(require("react"));
6
- const reconciler_1 = require("../reconciler");
7
8
  const reconcilerTestRenderer_1 = tslib_1.__importDefault(require("./reconcilerTestRenderer"));
8
9
  const components_1 = require("../components");
10
+ const get_1 = tslib_1.__importDefault(require("lodash/get"));
9
11
  const testUtils_1 = require("./testUtils");
10
- const emptyForgeDoc = (0, reconciler_1.createElement)({ type: 'root', props: {} });
11
- const ButtonWithStatus = () => {
12
- const [bool, setBool] = (0, react_1.useState)(true);
13
- const appearance = bool ? 'inprogress' : 'success';
14
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Button, Object.assign({ onClick: () => setBool(!bool) }, { children: "Click me!" })), (0, jsx_runtime_1.jsx)(components_1.Text, { children: (0, jsx_runtime_1.jsx)(components_1.StatusLozenge, Object.assign({ appearance: appearance }, { children: appearance })) })] }));
15
- };
12
+ const reconciler_1 = require("../reconciler");
13
+ reconciler_1.ReconciliationCounter.getInstance(false);
16
14
  describe('Reconciliation counting', () => {
17
15
  let bridgeCalls = [];
16
+ const TEXT = 0;
17
+ const BUTTON = 1;
18
+ const STATIC_TEXT = 2;
19
+ const STRING = 0;
18
20
  beforeAll(async () => {
19
21
  bridgeCalls = (0, testUtils_1.setupBridge)();
20
22
  const Test = () => {
21
- return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(ButtonWithStatus, {}), (0, jsx_runtime_1.jsx)(ButtonWithStatus, {})] }));
23
+ const [bool, setBool] = (0, react_1.useState)(false);
24
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.Text, { children: !bool ? 'Loading...' : 'Now loaded...' }), (0, jsx_runtime_1.jsx)(components_1.Button, Object.assign({ onClick: () => setBool(true) }, { children: "Click" })), (0, jsx_runtime_1.jsx)(components_1.StatusLozenge, Object.assign({ appearance: "inprogress" }, { children: "Test" }))] }));
22
25
  };
23
26
  await reconcilerTestRenderer_1.default.create((0, jsx_runtime_1.jsx)(Test, {}));
24
27
  });
25
28
  it('initial reconcilation output is correct', () => {
26
29
  const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
27
- expect(forgeDoc).toHaveProperty('forgeDoc.children[0].props.onClick');
28
- expect(forgeDoc).toHaveProperty('forgeDoc.children[0].type', 'Button');
29
- expect(forgeDoc).toHaveProperty('forgeDoc.children[2].type', 'Button');
30
+ expect(forgeDoc).toHaveProperty('reconciliationCount', 1);
31
+ expect(forgeDoc).toHaveProperty(`children[${TEXT}].type`, 'Text');
32
+ expect(forgeDoc).toHaveProperty(`children[${TEXT}].reconciliationCount`, 1);
33
+ expect(forgeDoc).toHaveProperty(`children[${BUTTON}].type`, 'Button');
34
+ expect(forgeDoc).toHaveProperty(`children[${BUTTON}].reconciliationCount`, 1);
35
+ expect(forgeDoc).toHaveProperty(`children[${STATIC_TEXT}].type`, 'StatusLozenge');
36
+ expect(forgeDoc).toHaveProperty(`children[${STATIC_TEXT}].reconciliationCount`, 1);
37
+ });
38
+ it('calling the button click handler triggers reconciliation', () => {
39
+ let forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
40
+ const onClick = (0, get_1.default)(forgeDoc, `children[${BUTTON}].props.onClick`);
41
+ expect(onClick).not.toBeUndefined();
42
+ onClick();
43
+ forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
44
+ expect(forgeDoc).toHaveProperty('reconciliationCount', 2);
45
+ expect(forgeDoc).toHaveProperty(`children[${TEXT}].reconciliationCount`, 1);
46
+ expect(forgeDoc).toHaveProperty(`children[${TEXT}].children[${STRING}].type`, 'String');
47
+ expect(forgeDoc).toHaveProperty(`children[${TEXT}].children[${STRING}].reconciliationCount`, 2);
48
+ expect(forgeDoc).toHaveProperty(`children[${BUTTON}].reconciliationCount`, 2);
49
+ expect(forgeDoc).toHaveProperty(`children[${STATIC_TEXT}].reconciliationCount`, 1);
30
50
  });
31
51
  });
32
- describe('hostConfig used functions', () => {
52
+ describe('deep tree reconciliation', () => {
33
53
  let bridgeCalls = [];
34
54
  beforeAll(async () => {
35
55
  bridgeCalls = (0, testUtils_1.setupBridge)();
36
- });
37
- it('resetAfterCommit should call bridge', () => {
38
- const testDoc = (0, reconciler_1.createElement)({ type: 'root', props: {} });
39
- reconciler_1.hostConfig.resetAfterCommit(testDoc);
40
- const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
41
- expect(forgeDoc).toEqual({
42
- forgeDoc: testDoc
43
- });
44
- });
45
- it('createInstance returns empty ForgeDoc', () => {
46
- const testProps = {
47
- test: true
48
- };
49
- const instance = reconciler_1.hostConfig.createInstance('test', testProps, emptyForgeDoc, null, null);
50
- expect(instance).toEqual(expect.objectContaining({
51
- type: 'test',
52
- children: [],
53
- props: {
54
- test: true
55
- },
56
- key: expect.any(String)
57
- }));
58
- });
59
- it('createTextInstance returns ForgeDoc with UUID', () => {
60
- const testDoc = (0, reconciler_1.createElement)({ type: 'root', props: {} });
61
- const textInstance = reconciler_1.hostConfig.createTextInstance('test', testDoc, null, null);
62
- expect(textInstance).toEqual(expect.objectContaining({
63
- type: 'String',
64
- children: [],
65
- props: {
66
- text: 'test'
67
- },
68
- key: expect.any(String)
69
- }));
70
- });
71
- it('appendInitialChild adds child to empty children array', () => {
72
- const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
73
- const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
74
- expect(parent).toHaveProperty('children', []);
75
- reconciler_1.hostConfig.appendInitialChild(parent, child);
76
- expect(parent).toHaveProperty('children', [child]);
77
- });
78
- it('appendChild does not append same child twice', () => {
79
- expect(reconciler_1.hostConfig).toHaveProperty('appendChild');
80
- if (reconciler_1.hostConfig.appendChild !== undefined) {
81
- const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
82
- const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
83
- expect(parent).toHaveProperty('children', []);
84
- reconciler_1.hostConfig.appendChild(parent, child);
85
- expect(parent).toHaveProperty('children', [child]);
86
- reconciler_1.hostConfig.appendChild(parent, child);
87
- expect(parent).toHaveProperty('children', [child]);
88
- }
89
- });
90
- it('appendChildToContainer', () => {
91
- expect(reconciler_1.hostConfig).toHaveProperty('appendChildToContainer');
92
- if (reconciler_1.hostConfig.appendChildToContainer !== undefined) {
93
- const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
94
- const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
95
- expect(parent).toHaveProperty('children', []);
96
- reconciler_1.hostConfig.appendChildToContainer(parent, child);
97
- expect(parent).toHaveProperty('children', [child]);
98
- }
99
- });
100
- it('finalizeInitialChildren returns false', () => {
101
- expect(reconciler_1.hostConfig.finalizeInitialChildren(emptyForgeDoc, 'test', {}, emptyForgeDoc, null)).toBe(false);
102
- });
103
- it('prepareUpdate should set new props as props on instance', () => {
104
- const instance = (0, reconciler_1.createElement)({ type: 'test', props: { oldProps: true } });
105
- const newProps = {
106
- updated: true
56
+ const Test = () => {
57
+ const [count, setCount] = (0, react_1.useState)(0);
58
+ function incrementCount() {
59
+ setCount(count + 1);
60
+ }
61
+ return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: (0, jsx_runtime_1.jsxs)(components_1.Inline, { children: [(0, jsx_runtime_1.jsx)(components_1.Stack, { children: (0, jsx_runtime_1.jsx)(components_1.Text, { children: count }) }), (0, jsx_runtime_1.jsxs)(components_1.Stack, { children: [(0, jsx_runtime_1.jsx)(components_1.Text, { children: "Should not update" }), (0, jsx_runtime_1.jsx)(components_1.Button, Object.assign({ onClick: incrementCount }, { children: "Click" }))] })] }) }));
107
62
  };
108
- expect(reconciler_1.hostConfig.prepareUpdate(instance, 'test', {}, newProps, emptyForgeDoc, null)).toBe(newProps);
109
- expect(instance).not.toHaveProperty('oldProps');
110
- expect(instance).toHaveProperty('props', newProps);
111
- });
112
- it('shouldSetTextContent returns false', () => {
113
- expect(reconciler_1.hostConfig.shouldSetTextContent('test', {})).toBe(false);
114
- });
115
- it('insertBefore reorders children', () => {
116
- expect(reconciler_1.hostConfig).toHaveProperty('insertBefore');
117
- if (reconciler_1.hostConfig.insertBefore !== undefined) {
118
- const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
119
- const child1 = (0, reconciler_1.createElement)({ type: 'child1', props: {} });
120
- const child2 = (0, reconciler_1.createElement)({ type: 'child2', props: {} });
121
- reconciler_1.hostConfig.appendInitialChild(parent, child1);
122
- expect(parent).toHaveProperty('children', [child1]);
123
- reconciler_1.hostConfig.insertBefore(parent, child2, child1);
124
- expect(parent).toHaveProperty('children', [child2, child1]);
125
- }
126
- });
127
- it('insertInContainerBefore reorders children when child being inserted exists', () => {
128
- expect(reconciler_1.hostConfig).toHaveProperty('insertInContainerBefore');
129
- if (reconciler_1.hostConfig.insertInContainerBefore !== undefined) {
130
- const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
131
- const child1 = (0, reconciler_1.createElement)({ type: 'child1', props: {} });
132
- const child2 = (0, reconciler_1.createElement)({ type: 'child2', props: {} });
133
- reconciler_1.hostConfig.appendInitialChild(parent, child1);
134
- reconciler_1.hostConfig.appendInitialChild(parent, child2);
135
- expect(parent).toHaveProperty('children', [child1, child2]);
136
- reconciler_1.hostConfig.insertInContainerBefore(parent, child2, child1);
137
- expect(parent).toHaveProperty('children', [child2, child1]);
138
- }
139
- });
140
- it('removeChild removes child', () => {
141
- expect(reconciler_1.hostConfig).toHaveProperty('removeChild');
142
- if (reconciler_1.hostConfig.removeChild !== undefined) {
143
- const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
144
- const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
145
- expect(parent).toHaveProperty('children', []);
146
- reconciler_1.hostConfig.appendInitialChild(parent, child);
147
- expect(parent).toHaveProperty('children', [child]);
148
- reconciler_1.hostConfig.removeChild(parent, child);
149
- expect(parent).toHaveProperty('children', []);
150
- }
151
- });
152
- it('removeChildFromContainer removes child', () => {
153
- expect(reconciler_1.hostConfig).toHaveProperty('removeChildFromContainer');
154
- if (reconciler_1.hostConfig.removeChildFromContainer !== undefined) {
155
- const parent = (0, reconciler_1.createElement)({ type: 'parent', props: {} });
156
- const child = (0, reconciler_1.createElement)({ type: 'child', props: {} });
157
- expect(parent).toHaveProperty('children', []);
158
- reconciler_1.hostConfig.appendInitialChild(parent, child);
159
- expect(parent).toHaveProperty('children', [child]);
160
- reconciler_1.hostConfig.removeChildFromContainer(parent, child);
161
- expect(parent).toHaveProperty('children', []);
162
- }
63
+ await reconcilerTestRenderer_1.default.create((0, jsx_runtime_1.jsx)(Test, {}));
163
64
  });
164
- it('commitTextUpdate should update instance props', () => {
165
- expect(reconciler_1.hostConfig).toHaveProperty('commitTextUpdate');
166
- if (reconciler_1.hostConfig.commitTextUpdate !== undefined) {
167
- const testDoc = (0, reconciler_1.createElement)({ type: 'root', props: {} });
168
- const textInstance = reconciler_1.hostConfig.createTextInstance('test', testDoc, null, null);
169
- reconciler_1.hostConfig.commitTextUpdate(textInstance, '', 'updated');
170
- expect(textInstance).toEqual(expect.objectContaining({
171
- type: 'String',
172
- children: [],
173
- props: {
174
- text: 'updated'
175
- },
176
- key: expect.any(String)
177
- }));
178
- }
65
+ it('should match the initially rendered ForgeDoc snaphot', () => {
66
+ const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
67
+ expect(forgeDoc).toMatchSnapshot();
68
+ });
69
+ it('should match snapshot after triggering update', () => {
70
+ var _a, _b;
71
+ let forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
72
+ expect(forgeDoc).not.toBeNull();
73
+ const button = (0, testUtils_1.findElementInForgeDoc)(forgeDoc, '14');
74
+ expect(button).not.toBeUndefined();
75
+ expect((_a = button === null || button === void 0 ? void 0 : button.props) === null || _a === void 0 ? void 0 : _a.onClick).not.toBeUndefined();
76
+ (_b = button === null || button === void 0 ? void 0 : button.props) === null || _b === void 0 ? void 0 : _b.onClick();
77
+ forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
78
+ expect(forgeDoc).toMatchSnapshot();
79
+ });
80
+ it('should set accurate reconciliation counts for updated text and string components', () => {
81
+ const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
82
+ expect(forgeDoc).not.toBeNull();
83
+ const textComponent = (0, testUtils_1.findElementInForgeDoc)(forgeDoc, '9');
84
+ expect(textComponent).not.toBeUndefined();
85
+ expect(textComponent === null || textComponent === void 0 ? void 0 : textComponent.reconciliationCount).toBe(3);
86
+ const stringComponent = (0, testUtils_1.findElementInForgeDoc)(forgeDoc, '8');
87
+ expect(stringComponent).not.toBeUndefined();
88
+ expect(stringComponent === null || stringComponent === void 0 ? void 0 : stringComponent.reconciliationCount).toBe(4);
179
89
  });
180
90
  });
181
- describe('hostConfig unused functions', () => {
182
- it('should return empty object from getRootHostContext', () => {
183
- expect(reconciler_1.hostConfig.getRootHostContext(emptyForgeDoc)).toEqual({});
184
- });
185
- it('should return null from getChildHostContext', () => {
186
- expect(reconciler_1.hostConfig.getChildHostContext(null, 'test', emptyForgeDoc)).toBeNull();
187
- });
188
- it('should return supplied value to getPublicInstance', () => {
189
- expect(reconciler_1.hostConfig.getPublicInstance(emptyForgeDoc)).toBe(emptyForgeDoc);
190
- });
191
- it('should return null from prepareForCommit', () => {
192
- expect(reconciler_1.hostConfig.prepareForCommit(emptyForgeDoc)).toBeNull();
193
- });
194
- it('should return undefined from preparePortalMount', () => {
195
- expect(reconciler_1.hostConfig.preparePortalMount(emptyForgeDoc)).toBeUndefined();
196
- });
197
- it('should return undefined from resetTextContent', () => {
198
- if (reconciler_1.hostConfig.resetTextContent !== undefined) {
199
- expect(reconciler_1.hostConfig.resetTextContent(emptyForgeDoc)).toBeUndefined();
200
- }
201
- });
202
- it('should return undefined from commitMount', () => {
203
- if (reconciler_1.hostConfig.commitMount !== undefined) {
204
- expect(reconciler_1.hostConfig.commitMount(emptyForgeDoc, 'test', {}, null)).toBeUndefined();
205
- }
206
- });
207
- it('should return undefined from commitUpdate', () => {
208
- if (reconciler_1.hostConfig.commitUpdate !== undefined) {
209
- expect(reconciler_1.hostConfig.commitUpdate(emptyForgeDoc, {}, 'test', {}, {}, null)).toBeUndefined();
210
- }
211
- });
212
- it('should return undefined from hideInstance', () => {
213
- if (reconciler_1.hostConfig.hideInstance !== undefined) {
214
- expect(reconciler_1.hostConfig.hideInstance(emptyForgeDoc)).toBeUndefined();
215
- }
91
+ describe('swapping component type with same props', () => {
92
+ let bridgeCalls = [];
93
+ beforeAll(async () => {
94
+ bridgeCalls = (0, testUtils_1.setupBridge)();
95
+ const Test = () => {
96
+ const [bool, setBool] = (0, react_1.useState)(false);
97
+ return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [bool ? (0, jsx_runtime_1.jsx)(components_1.Text, { children: "Text" }) : (0, jsx_runtime_1.jsx)(components_1.Heading, Object.assign({ size: "medium" }, { children: "Text" })), (0, jsx_runtime_1.jsx)(components_1.Button, Object.assign({ onClick: () => setBool(!bool) }, { children: "Click" }))] }));
98
+ };
99
+ await reconcilerTestRenderer_1.default.create((0, jsx_runtime_1.jsx)(Test, {}));
216
100
  });
217
- it('should return undefined from unhideTextInstance', () => {
218
- if (reconciler_1.hostConfig.unhideTextInstance !== undefined) {
219
- expect(reconciler_1.hostConfig.unhideTextInstance(emptyForgeDoc, 'Test')).toBeUndefined();
101
+ it('should match the initially rendered ForgeDoc snaphot', () => {
102
+ const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
103
+ expect(forgeDoc).toMatchSnapshot();
104
+ });
105
+ it('should match snapshot after triggering update', () => {
106
+ var _a, _b;
107
+ let forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
108
+ expect(forgeDoc).not.toBeNull();
109
+ if (forgeDoc !== null) {
110
+ const button = (0, testUtils_1.findElementInForgeDoc)(forgeDoc, '21');
111
+ expect(button).not.toBeUndefined();
112
+ expect((_a = button === null || button === void 0 ? void 0 : button.props) === null || _a === void 0 ? void 0 : _a.onClick).not.toBeUndefined();
113
+ (_b = button === null || button === void 0 ? void 0 : button.props) === null || _b === void 0 ? void 0 : _b.onClick();
114
+ forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
115
+ expect(forgeDoc).toMatchSnapshot();
220
116
  }
221
117
  });
222
- it('should return undefined from clearContainer', () => {
223
- if (reconciler_1.hostConfig.clearContainer !== undefined) {
224
- expect(reconciler_1.hostConfig.clearContainer(emptyForgeDoc)).toBeUndefined();
118
+ it('should set accurate reconciliation counts for swapped in text and string components', () => {
119
+ const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
120
+ expect(forgeDoc).not.toBeNull();
121
+ if (forgeDoc !== null) {
122
+ const textComponent = (0, testUtils_1.findElementInForgeDoc)(forgeDoc, '23');
123
+ expect(textComponent).not.toBeUndefined();
124
+ expect(textComponent === null || textComponent === void 0 ? void 0 : textComponent.reconciliationCount).toBe(6);
125
+ const stringComponent = (0, testUtils_1.findElementInForgeDoc)(forgeDoc, '22');
126
+ expect(stringComponent).not.toBeUndefined();
127
+ expect(stringComponent === null || stringComponent === void 0 ? void 0 : stringComponent.reconciliationCount).toBe(6);
225
128
  }
226
129
  });
227
- it('should return undefined from detachDeletedInstance', () => {
228
- expect(reconciler_1.hostConfig.detachDeletedInstance(emptyForgeDoc)).toBeUndefined();
229
- });
230
- it('should return undefined from getCurrentEventPriority', () => {
231
- expect(reconciler_1.hostConfig.getCurrentEventPriority()).toBe(16);
232
- });
233
- it('should return null from getInstanceFromNode', () => {
234
- expect(reconciler_1.hostConfig.getInstanceFromNode(null)).toBeNull();
235
- });
236
- it('should return undefined from beforeActiveInstanceBlur', () => {
237
- expect(reconciler_1.hostConfig.beforeActiveInstanceBlur()).toBeUndefined();
238
- });
239
- it('should return undefined from afterActiveInstanceBlur', () => {
240
- expect(reconciler_1.hostConfig.afterActiveInstanceBlur()).toBeUndefined();
241
- });
242
- it('should return undefined from prepareScopeUpdate', () => {
243
- expect(reconciler_1.hostConfig.prepareScopeUpdate(null, null)).toBeUndefined();
244
- });
245
- it('should return null from getInstanceFromScope', () => {
246
- expect(reconciler_1.hostConfig.getInstanceFromScope(null)).toBeNull();
247
- });
248
130
  });
@@ -17,7 +17,7 @@ describe('reconciled output', () => {
17
17
  };
18
18
  await reconcilerTestRenderer_1.default.create((0, jsx_runtime_1.jsx)(Test, {}));
19
19
  const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
20
- expect(forgeDoc).toHaveProperty('forgeDoc.type', 'Root');
21
- expect(forgeDoc).toHaveProperty('forgeDoc.children[0].type', 'Stack');
20
+ expect(forgeDoc).toHaveProperty('type', 'Root');
21
+ expect(forgeDoc).toHaveProperty('children[0].type', 'Stack');
22
22
  });
23
23
  });
@@ -17,7 +17,7 @@ describe('reconciled output', () => {
17
17
  };
18
18
  await reconcilerTestRenderer_1.default.create((0, jsx_runtime_1.jsx)(Test, {}));
19
19
  const forgeDoc = (0, testUtils_1.getLastBridgeCallForgeDoc)(bridgeCalls);
20
- expect(forgeDoc).toHaveProperty('forgeDoc.type', 'Root');
21
- expect(forgeDoc).toHaveProperty('forgeDoc.children[0].type', 'Table');
20
+ expect(forgeDoc).toHaveProperty('type', 'Root');
21
+ expect(forgeDoc).toHaveProperty('children[0].type', 'Table');
22
22
  });
23
23
  });
@@ -1,13 +1,18 @@
1
1
  import { ForgeDoc } from '../types';
2
2
  export type BridgeCall = {
3
3
  cmd: string;
4
- data: ForgeDoc;
4
+ data: BridgeCallData;
5
5
  };
6
6
  type SetupBridge = () => BridgeCall[];
7
7
  type GetLastBridgeCall = (bridgeCalls: BridgeCall[]) => BridgeCall | null;
8
8
  type GetLastBridgeCallForgeDoc = (bridgeCalls: BridgeCall[]) => ForgeDoc | null;
9
+ type FindElementInForgeDoc = (forgeDoc: ForgeDoc | null, key: string) => ForgeDoc | undefined;
10
+ type BridgeCallData = {
11
+ forgeDoc: ForgeDoc;
12
+ };
9
13
  export declare const setupBridge: SetupBridge;
10
14
  export declare const getLastBridgeCall: GetLastBridgeCall;
11
15
  export declare const getLastBridgeCallForgeDoc: GetLastBridgeCallForgeDoc;
16
+ export declare const findElementInForgeDoc: FindElementInForgeDoc;
12
17
  export {};
13
18
  //# sourceMappingURL=testUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/__test__/testUtils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AACzD,KAAK,WAAW,GAAG,MAAM,UAAU,EAAE,CAAC;AAEtC,KAAK,iBAAiB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,UAAU,GAAG,IAAI,CAAC;AAC1E,KAAK,yBAAyB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,QAAQ,GAAG,IAAI,CAAC;AAMhF,eAAO,MAAM,WAAW,EAAE,WAWzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAK/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,yBAMvC,CAAC"}
1
+ {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/__test__/testUtils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAC/D,KAAK,WAAW,GAAG,MAAM,UAAU,EAAE,CAAC;AAEtC,KAAK,iBAAiB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,UAAU,GAAG,IAAI,CAAC;AAC1E,KAAK,yBAAyB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,QAAQ,GAAG,IAAI,CAAC;AAChF,KAAK,qBAAqB,GAAG,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,QAAQ,GAAG,SAAS,CAAC;AAE9F,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAMF,eAAO,MAAM,WAAW,EAAE,WAWzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,iBAK/B,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,yBAMvC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,qBAkBnC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLastBridgeCallForgeDoc = exports.getLastBridgeCall = exports.setupBridge = void 0;
3
+ exports.findElementInForgeDoc = exports.getLastBridgeCallForgeDoc = exports.getLastBridgeCall = exports.setupBridge = void 0;
4
4
  const setupBridge = () => {
5
5
  const bridgeCalls = [];
6
6
  global['self'] = {
@@ -25,6 +25,25 @@ const getLastBridgeCallForgeDoc = (bridgeCalls) => {
25
25
  if (lastBridgeCall === null) {
26
26
  return lastBridgeCall;
27
27
  }
28
- return lastBridgeCall.data;
28
+ return lastBridgeCall.data.forgeDoc;
29
29
  };
30
30
  exports.getLastBridgeCallForgeDoc = getLastBridgeCallForgeDoc;
31
+ const findElementInForgeDoc = (forgeDoc, key) => {
32
+ if (forgeDoc === null) {
33
+ return;
34
+ }
35
+ if (forgeDoc.key === key) {
36
+ return forgeDoc;
37
+ }
38
+ const { children } = forgeDoc;
39
+ if (forgeDoc.children) {
40
+ for (const child of children) {
41
+ const result = (0, exports.findElementInForgeDoc)(child, key);
42
+ if (result) {
43
+ return result;
44
+ }
45
+ }
46
+ }
47
+ return;
48
+ };
49
+ exports.findElementInForgeDoc = findElementInForgeDoc;
@@ -8,18 +8,30 @@ export interface ForgeDoc {
8
8
  props: ElementProps;
9
9
  children: ForgeDoc[];
10
10
  key: string;
11
+ reconciliationCount?: number;
11
12
  }
12
13
  export type CallBridge = (cmd: string, data: {
13
14
  forgeDoc: ForgeDoc;
14
15
  }) => void;
15
16
  export declare const callBridge: CallBridge;
16
- export type CreateElement = (args: {
17
+ type CreateElement = (args: {
17
18
  type: ElementType;
18
19
  props: InstanceProps;
19
20
  }) => ForgeDoc;
21
+ export declare class ReconciliationCounter {
22
+ private count;
23
+ private disabled;
24
+ private static instance;
25
+ private constructor();
26
+ static getInstance(disable?: boolean): ReconciliationCounter;
27
+ increment(): void;
28
+ getCount(): number | undefined;
29
+ getNextCount(): number | undefined;
30
+ }
20
31
  export declare const createElement: CreateElement;
21
32
  export declare const appendChild: (parent: ForgeDoc, child: ForgeDoc) => void;
22
33
  export declare const insertBefore: (parent: ForgeDoc, child: ForgeDoc, beforeChild: ForgeDoc) => void;
34
+ export declare const nonChildPropsAreEqual: (oldProps: InstanceProps, newProps: InstanceProps) => boolean;
23
35
  type HostConfigType = string;
24
36
  type InstanceProps = Record<string, any>;
25
37
  type Container = ForgeDoc;
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI1D,KAAK,WAAW,GAAG,MAAM,CAAC;AAC1B,KAAK,YAAY,GAAG,aAAa,CAAC;AAElC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,KAAK,IAAI,CAAC;AAC7E,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,KAAK,QAAQ,CAAC;AAE5F,eAAO,MAAM,aAAa,EAAE,aAS3B,CAAC;AAEF,eAAO,MAAM,WAAW,WAAY,QAAQ,SAAS,QAAQ,SAM5D,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,QAAQ,SAAS,QAAQ,eAAe,QAAQ,SAOpF,CAAC;AAEF,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,SAAS,GAAG,QAAQ,CAAC;AAC1B,KAAK,QAAQ,GAAG,QAAQ,CAAC;AACzB,KAAK,YAAY,GAAG,QAAQ,CAAC;AAC7B,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AACjC,KAAK,kBAAkB,GAAG,QAAQ,CAAC;AACnC,KAAK,cAAc,GAAG,QAAQ,CAAC;AAE/B,KAAK,WAAW,GAAG,GAAG,CAAC;AAEvB,KAAK,aAAa,GAAG,GAAG,CAAC;AAEzB,KAAK,QAAQ,GAAG,GAAG,CAAC;AACpB,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC;AAEpB,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,cAAc,EACd,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,SAAS,CAoJV,CAAC;AAIF,eAAO,MAAM,eAAe;sBACR,SAAS;CAiB5B,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"reconciler.d.ts","sourceRoot":"","sources":["../src/reconciler.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI1D,KAAK,WAAW,GAAG,MAAM,CAAC;AAC1B,KAAK,YAAY,GAAG,aAAa,CAAC;AAElC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAA;CAAE,KAAK,IAAI,CAAC;AAC7E,eAAO,MAAM,UAAU,EAAE,UAGxB,CAAC;AAEF,KAAK,aAAa,GAAG,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,KAAK,QAAQ,CAAC;AAMrF,qBAAa,qBAAqB;IAChC,OAAO,CAAC,KAAK,CAAK;IAElB,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAE/C,OAAO;WAUO,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,qBAAqB;IAO5D,SAAS,IAAI,IAAI;IAIjB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,YAAY,IAAI,MAAM,GAAG,SAAS;CAI1C;AAED,eAAO,MAAM,aAAa,EAAE,aA0B3B,CAAC;AAEF,eAAO,MAAM,WAAW,WAAY,QAAQ,SAAS,QAAQ,SAM5D,CAAC;AAEF,eAAO,MAAM,YAAY,WAAY,QAAQ,SAAS,QAAQ,eAAe,QAAQ,SAOpF,CAAC;AAeF,eAAO,MAAM,qBAAqB,aAAc,aAAa,YAAY,aAAa,YAerF,CAAC;AAEF,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AACzC,KAAK,SAAS,GAAG,QAAQ,CAAC;AAC1B,KAAK,QAAQ,GAAG,QAAQ,CAAC;AACzB,KAAK,YAAY,GAAG,QAAQ,CAAC;AAC7B,KAAK,gBAAgB,GAAG,QAAQ,CAAC;AACjC,KAAK,kBAAkB,GAAG,QAAQ,CAAC;AACnC,KAAK,cAAc,GAAG,QAAQ,CAAC;AAE/B,KAAK,WAAW,GAAG,GAAG,CAAC;AAEvB,KAAK,aAAa,GAAG,GAAG,CAAC;AAEzB,KAAK,QAAQ,GAAG,GAAG,CAAC;AACpB,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AACnD,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC;AAEpB,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,cAAc,EACd,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,SAAS,CA6KV,CAAC;AAIF,eAAO,MAAM,eAAe;sBACR,SAAS;CAqB5B,CAAC;AAEF,eAAe,eAAe,CAAC"}
package/out/reconciler.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ForgeReconciler = exports.hostConfig = exports.insertBefore = exports.appendChild = exports.createElement = exports.callBridge = void 0;
3
+ exports.ForgeReconciler = exports.hostConfig = exports.nonChildPropsAreEqual = exports.insertBefore = exports.appendChild = exports.createElement = exports.ReconciliationCounter = exports.callBridge = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_reconciler_1 = tslib_1.__importDefault(require("react-reconciler"));
6
6
  const constants_1 = require("react-reconciler/constants");
@@ -10,14 +10,54 @@ const callBridge = function (cmd, data) {
10
10
  (_a = self === null || self === void 0 ? void 0 : self.__bridge) === null || _a === void 0 ? void 0 : _a.callBridge(cmd, data);
11
11
  };
12
12
  exports.callBridge = callBridge;
13
+ class ReconciliationCounter {
14
+ constructor(disable = true) {
15
+ this.count = 0;
16
+ this.disabled = true;
17
+ this.count = 0;
18
+ this.disabled = disable;
19
+ }
20
+ static getInstance(disable) {
21
+ if (!ReconciliationCounter.instance) {
22
+ ReconciliationCounter.instance = new ReconciliationCounter(disable);
23
+ }
24
+ return ReconciliationCounter.instance;
25
+ }
26
+ increment() {
27
+ this.count++;
28
+ }
29
+ getCount() {
30
+ if (this.disabled === true)
31
+ return undefined;
32
+ return this.count;
33
+ }
34
+ getNextCount() {
35
+ if (this.disabled === true)
36
+ return undefined;
37
+ return this.count + 1;
38
+ }
39
+ }
40
+ exports.ReconciliationCounter = ReconciliationCounter;
13
41
  const createElement = ({ type, props = {} }) => {
14
42
  const { children } = props, restProps = tslib_1.__rest(props, ["children"]);
15
- return {
43
+ const reconciliationCount = ReconciliationCounter.getInstance().getNextCount();
44
+ if (reconciliationCount !== undefined) {
45
+ const element = {
46
+ type,
47
+ children: [],
48
+ props: restProps,
49
+ key: (0, uuid_1.v4)(),
50
+ reconciliationCount
51
+ };
52
+ return element;
53
+ }
54
+ const element = {
16
55
  type,
17
56
  children: [],
18
57
  props: restProps,
19
58
  key: (0, uuid_1.v4)()
20
59
  };
60
+ return element;
21
61
  };
22
62
  exports.createElement = createElement;
23
63
  const appendChild = (parent, child) => {
@@ -37,6 +77,20 @@ const insertBefore = (parent, child, beforeChild) => {
37
77
  parent.children.splice(insertIndex, 0, child);
38
78
  };
39
79
  exports.insertBefore = insertBefore;
80
+ const nonChildPropsAreEqual = (oldProps, newProps) => {
81
+ const newPropsKey = Object.keys(newProps).filter((key) => key !== 'children');
82
+ const oldPropsKey = Object.keys(oldProps).filter((key) => key !== 'children');
83
+ if (newPropsKey.length !== oldPropsKey.length) {
84
+ return false;
85
+ }
86
+ for (const key of newPropsKey) {
87
+ if (newProps[key] !== oldProps[key]) {
88
+ return false;
89
+ }
90
+ }
91
+ return true;
92
+ };
93
+ exports.nonChildPropsAreEqual = nonChildPropsAreEqual;
40
94
  exports.hostConfig = {
41
95
  supportsMutation: true,
42
96
  supportsPersistence: false,
@@ -44,6 +98,12 @@ exports.hostConfig = {
44
98
  isPrimaryRenderer: false,
45
99
  supportsHydration: false,
46
100
  resetAfterCommit(containerInfo) {
101
+ const counter = ReconciliationCounter.getInstance();
102
+ counter.increment();
103
+ const reconciliationCount = counter.getCount();
104
+ if (reconciliationCount !== undefined) {
105
+ containerInfo.reconciliationCount = reconciliationCount;
106
+ }
47
107
  (0, exports.callBridge)('reconcile', { forgeDoc: containerInfo });
48
108
  },
49
109
  createInstance(type, instanceProps) {
@@ -67,6 +127,13 @@ exports.hostConfig = {
67
127
  return false;
68
128
  },
69
129
  prepareUpdate(instance, type, oldProps, newProps) {
130
+ if ((0, exports.nonChildPropsAreEqual)(oldProps, newProps)) {
131
+ return null;
132
+ }
133
+ const reconciliationCount = ReconciliationCounter.getInstance().getNextCount();
134
+ if (reconciliationCount !== undefined) {
135
+ instance.reconciliationCount = reconciliationCount;
136
+ }
70
137
  instance.props = newProps;
71
138
  return newProps;
72
139
  },
@@ -108,6 +175,10 @@ exports.hostConfig = {
108
175
  },
109
176
  resetTextContent() { },
110
177
  commitTextUpdate(textInstance, oldText, newText) {
178
+ const reconciliationCount = ReconciliationCounter.getInstance().getNextCount();
179
+ if (reconciliationCount !== undefined) {
180
+ textInstance.reconciliationCount = reconciliationCount;
181
+ }
111
182
  textInstance.props.text = newText;
112
183
  },
113
184
  commitMount() { },
@@ -134,6 +205,7 @@ exports.hostConfig = {
134
205
  const reconciler = (0, react_reconciler_1.default)(exports.hostConfig);
135
206
  exports.ForgeReconciler = {
136
207
  render: (element) => {
208
+ ReconciliationCounter.getInstance(true);
137
209
  const rootElement = (0, exports.createElement)({ type: 'Root', props: {} });
138
210
  const container = reconciler.createContainer(rootElement, 0, null, false, null, 'root', (err) => {
139
211
  console.log(err);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forge/react",
3
- "version": "8.1.2-next.0",
3
+ "version": "8.1.2-next.2",
4
4
  "description": "Forge React reconciler",
5
5
  "author": "Atlassian",
6
6
  "license": "UNLICENSED",
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@types/react/jsx-runtime.d.ts","./src/types/forge.ts","./src/types/icons.ts","./src/types/components.ts","./src/types/legacy-effect.ts","./src/types/effect.ts","./src/types/extension.ts","./src/types/index.ts","./src/components.tsx","./src/globals.d.ts","../../node_modules/@types/react-reconciler/index.d.ts","../../node_modules/@types/react-reconciler/constants.d.ts","../../node_modules/@types/uuid/interfaces.d.ts","../../node_modules/@types/uuid/index.d.ts","./src/reconciler.ts","./src/index.ts","./src/__test__/reconcilerTestRenderer.ts","./src/__test__/testUtils.tsx","./src/__test__/inline.test.tsx","./src/__test__/reconciler.test.tsx","./src/__test__/stack.test.tsx","./src/__test__/table.test.tsx","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/events/index.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/pretty-format/node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/pretty-format/node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/jest-matcher-specific-error/types/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","impliedFormat":1},{"version":"49a253ec027e56c55c7450a0c331cfe96212b3d1cc215b1710ba94a083404cf3","affectsGlobalScope":true,"impliedFormat":1},{"version":"381899b8d1d4c1be716f18cb5242ba39f66f4b1e31d45af62a32a99f8edcb39d","impliedFormat":1},{"version":"f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","impliedFormat":1},{"version":"f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5","impliedFormat":1},{"version":"6a1c1a2911268b0ac9e6b0248ecbcbab53b197431965684491f153ef57e02726","affectsGlobalScope":true,"impliedFormat":1},{"version":"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","impliedFormat":1},{"version":"15eeb27e455aa30b5d11d5ae818c7d706bd0944fb8075466c76e920510a2f7d4","signature":"1e31f2b46a6970d6a27709f2103c84c108dbc164cf90745a896efe580055f450","impliedFormat":1},{"version":"11c057ce7fd5b975ce63dcb6a5b2af636c406e9d1c0bc886d1b8555d6e20168b","signature":"8acc4d23ecd6110cce5a61d808e417708822d3d370f79113ea876d21322dfff9","impliedFormat":1},{"version":"a10625a3e86d04086d4839b1a70216daf809c59deb98ffcecebdb3638d9bde3d","signature":"22b8a50ee93e11aab253fbe0358311257994093cb27b17db5d370f447120d9e0","impliedFormat":1},{"version":"066ace8e087d2485b36e840f175e9281114f328fa8534747743e40acfb13cf16","signature":"5a6b91135ebfbf8bd41263819d4aebcdd1cf613721e9e054ba6c4a9fc6c0c1bf","impliedFormat":1},{"version":"98ac2df42f7dde2fba315caf973b6db95844051ec5ad3ce7f1dd17e7e1c81688","signature":"96749f501d240ad678a17e09ef380c6c80c419517a5bd5665eed78fe05317cd9","impliedFormat":1},{"version":"b97953a9f58eba4323f8894187ff5df1204eae4dab37965324414622edcdbe92","signature":"7741db2a3c047ea9d5f0476cb5856500a1527fa0ee8480afaf6cd326fe9ea488","impliedFormat":1},{"version":"f41772a47b572428702219f11038b5dd74a4263a35d2c3e81979d7f6e4c96927","signature":"ac1e0c3d4584e5c51dd74c2282a93b8f6566a688c1d72a7b674daea6e01b9401","impliedFormat":1},{"version":"80ff43658ad088a0c700dc3396ce0dc4b9178dbd9b35a4faa1497bb5047e3959","signature":"574469bffa60b8434db0b862f63091d72938c942c60e9190b1fb7dace3761309","impliedFormat":1},{"version":"c7422e5fa00f90d68ada7be6aaae5de28f6ac19ce770c7ea31dd5b494ad18866","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1d6096924754ce5e1eb7e4290e24e63abf8feab2cad79f6d953cc6a3a158e8","impliedFormat":1},{"version":"79b9d7f669b76f2bc9227a3bd5fa2c47a5d6440c7fced8370ece9a21ae748f64","impliedFormat":1},{"version":"f30f86562bcdbd3338d40837bcf14a28f975b5c2474a9422a3346d08624b245f","impliedFormat":1},{"version":"a82d61dcd7cac9bd35fd54bac823b7775f7020595eb0f5145caceb7dbffd53e4","impliedFormat":1},{"version":"c289907075e039b225f971d9a132c2f8f984ab3e3243aececcecd685e2d66d59","signature":"df87b3122190194f135a4d86b82a206b81a3fd3842f41293caf144832329cac2","impliedFormat":1},{"version":"3371a9923b5034cf18a0dcae117d06b6642f030b7914036ed915ef140f6e1595","signature":"d90382fa6306a07d89aa25d7606e169d4184ca3bc23d2860d4b40f4cdf9e6cac","impliedFormat":1},{"version":"9b5e4d455cfc3733ac5456e51abfc68602ccfca9aa1530641c1ad6677e644c4c","signature":"80bdfa71d7235e972120e244d7ce8e08196b380885b0740094907db03580de74","impliedFormat":1},{"version":"3f9cc0819f3d11ce37997d005e0e11b036dd4417daa85257ab44d983720ff8b3","signature":"cead4c245894c4ba504e5eb82cd20a250ba49dba29fac3fffaee97225eb1d523","impliedFormat":1},{"version":"5769a61d6e37045885ec95ba15dd96d3a4c8e121b8acfd60edca4e42ec9f3c68","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"fa44d28b763f0a045b818f267bfaf26bbe256b0b5e3f5136fd8af5f2df0822e1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"a43170dfd63dded51a24f4aa388309a50ac3d01bc57e62cd3f4f65a7928476d8","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"b5405f5533c810903c10f21992dfa2690ed226a4c41d618b552102619f6e4f2a","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5","impliedFormat":1},{"version":"cb5a780979155e80a2184eb987cc411a95c9a1686019ade06918c312a0b7c9b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4aebbd743a1c46554d26ba56efe18506f026f17d23f830b37231324c88b8faa","impliedFormat":1},{"version":"3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","impliedFormat":1},{"version":"400db42c3a46984118bff14260d60cec580057dc1ab4c2d7310beb643e4f5935","impliedFormat":1},{"version":"f87191b7fafe7a0edad375710d99f900e49cef560b66bf309cf3f8e1b7177126","impliedFormat":1},{"version":"586af7d2abe2f9d59c5e757c370087d6c6baea81b033250f43b8df808d6dfb33","impliedFormat":1},{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true,"impliedFormat":1},{"version":"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","impliedFormat":1},{"version":"e7bee4a6d9bb78afa390b25e0ce97a2f94787a1eb17f0a16e732dcbebba3f3ee","impliedFormat":1},{"version":"b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","impliedFormat":1},{"version":"4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f","impliedFormat":1},{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true,"impliedFormat":1},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d44a8614b2e45ae7eeb785584beb9def7b22cc7882a6a68f948f5c3dff5f574","impliedFormat":1},{"version":"92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","impliedFormat":1},{"version":"bba259efdf9ab95e0c7d3cc8e99250f56bb6b31d6129efdf733ca4eb1d01feea","impliedFormat":1},{"version":"499b7544062cf44fab253daeaea8ba28877d9e7ff4149246b1f0154d1c9ed535","impliedFormat":1},{"version":"139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","impliedFormat":1},{"version":"f70f62f5f87ff8900090069554f79d9757f8e385322d0e26268463e27c098204","impliedFormat":1},{"version":"44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","impliedFormat":1},{"version":"a504c109b872b0e653549bd258eb06584c148c98d79406c7516995865a6d5089","impliedFormat":1},{"version":"155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","impliedFormat":1},{"version":"e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","impliedFormat":1},{"version":"4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4","impliedFormat":1},{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true,"impliedFormat":1},{"version":"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","impliedFormat":1},{"version":"9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","impliedFormat":1},{"version":"f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","impliedFormat":1},{"version":"e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","impliedFormat":1},{"version":"aa95cc73ea5315e4f6fc8c6db43d49e3b7de3780cae20a4f1319032809013038","impliedFormat":1},{"version":"874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","impliedFormat":1},{"version":"6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","impliedFormat":1},{"version":"504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","impliedFormat":1},{"version":"23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","impliedFormat":1},{"version":"4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce","impliedFormat":1},{"version":"bf241ed073916ec9e21a3c138936edd444b6787d874844c0d05fc00a8f109d19","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0f55a0ab349053c95345f7e5d4583d69161f25a5d26b6850acffb9240dcf943","impliedFormat":1},{"version":"a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","impliedFormat":1},{"version":"4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","impliedFormat":1},{"version":"3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","impliedFormat":1},{"version":"0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","impliedFormat":1},{"version":"22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24","impliedFormat":1},{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"1fe4f59d471c69fd533049505081f7e5d6d56486416b12aafb22ba9616034ab7","affectsGlobalScope":true,"impliedFormat":1},{"version":"50adbf55a460fd1048260f11c9b0ec28ee950e6aeaee179ddc09d14be6dedb4e","affectsGlobalScope":true,"impliedFormat":1}],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"importHelpers":true,"jsx":4,"module":1,"noUnusedLocals":true,"outDir":"./out","removeComments":true,"rootDir":"./src","skipLibCheck":true,"strict":true,"target":4,"useUnknownInCatchVariables":false},"fileIdsList":[[106,109],[57],[59],[60,66],[62,70,71,78,87],[62,63,70,78],[64,94],[65,66,71,79],[66,87],[67,68,70,78],[68],[69,70],[70],[70,71,72,87,93],[71,72],[70,73,78,87,93],[70,71,73,74,78,87,90,93],[73,75,87,90,93],[57,58,59,60,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100],[70,76],[77,93],[68,70,78,87],[79],[80],[59,81],[82,92],[83],[84],[70,85],[85,86,94,96],[70,87],[88],[89],[78,87,90],[91],[78,92],[73,84,93],[94],[87,95],[96],[97],[70,72,87,93,96,98],[87,99],[34],[30,31,32,33],[47],[102,108],[106],[110],[103,107],[105],[104],[29,34,35,43,51,52],[29,34,35,43,49,51,52],[29,34,35,49],[29,35,42],[29,35,43,49],[29,34,35,45,46,48],[29,34,35,36,37],[29,35,36],[29,35],[29,35,36,37,38,39,40,41],[42],[43,49],[34,45],[34,36,37],[36],[36,37,38,39,40,41]],"referencedMap":[[110,1],[57,2],[59,3],[60,4],[62,5],[63,6],[64,7],[65,8],[66,9],[67,10],[68,11],[69,12],[70,13],[71,14],[72,15],[73,16],[74,17],[75,18],[101,19],[76,20],[77,21],[78,22],[79,23],[80,24],[81,25],[82,26],[83,27],[84,28],[85,29],[86,30],[87,31],[88,32],[89,33],[90,34],[91,35],[92,36],[93,37],[94,38],[95,39],[96,40],[97,41],[98,42],[99,43],[45,44],[34,45],[35,44],[48,46],[109,47],[107,48],[111,49],[108,50],[106,51],[105,52],[53,53],[54,54],[51,55],[55,53],[56,53],[52,56],[43,56],[50,57],[49,58],[38,59],[40,60],[41,60],[36,61],[37,61],[42,62],[39,60]],"exportedModulesMap":[[110,1],[57,2],[59,3],[60,4],[62,5],[63,6],[64,7],[65,8],[66,9],[67,10],[68,11],[69,12],[70,13],[71,14],[72,15],[73,16],[74,17],[75,18],[101,19],[76,20],[77,21],[78,22],[79,23],[80,24],[81,25],[82,26],[83,27],[84,28],[85,29],[86,30],[87,31],[88,32],[89,33],[90,34],[91,35],[92,36],[93,37],[94,38],[95,39],[96,40],[97,41],[98,42],[99,43],[45,44],[34,45],[35,44],[48,46],[109,47],[107,48],[111,49],[108,50],[106,51],[105,52],[51,44],[52,63],[43,63],[50,64],[49,65],[38,66],[40,67],[41,67],[42,68],[39,67]],"semanticDiagnosticsPerFile":[102,61,110,57,59,60,62,63,64,65,66,67,68,69,70,71,72,58,100,73,74,75,101,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,32,46,45,30,34,35,33,48,47,103,31,109,107,111,108,106,105,104,29,7,6,2,8,9,10,11,12,13,14,15,3,4,19,16,17,18,20,21,22,5,23,24,25,26,27,1,28,53,54,51,55,56,52,43,44,50,49,38,40,41,36,37,42,39],"latestChangedDtsFile":"./out/__test__/table.test.d.ts"},"version":"4.9.5"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/tslib/tslib.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@types/react/jsx-runtime.d.ts","./src/types/forge.ts","./src/types/icons.ts","./src/types/components.ts","./src/types/legacy-effect.ts","./src/types/effect.ts","./src/types/extension.ts","./src/types/index.ts","./src/components.tsx","./src/globals.d.ts","../../node_modules/@types/react-reconciler/index.d.ts","../../node_modules/@types/react-reconciler/constants.d.ts","../../node_modules/@types/uuid/interfaces.d.ts","../../node_modules/@types/uuid/index.d.ts","./src/reconciler.ts","./src/index.ts","./src/__test__/reconcilerTestRenderer.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/lodash/get.d.ts","./src/__test__/testUtils.tsx","./src/__test__/defaultReconciler.test.tsx","./src/__test__/hostConfig.test.tsx","./src/__test__/inline.test.tsx","./src/__test__/reconciler.test.tsx","./src/__test__/stack.test.tsx","./src/__test__/table.test.tsx","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/events/index.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/pretty-format/node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/pretty-format/node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/jest-matcher-specific-error/types/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","impliedFormat":1},{"version":"49a253ec027e56c55c7450a0c331cfe96212b3d1cc215b1710ba94a083404cf3","affectsGlobalScope":true,"impliedFormat":1},{"version":"381899b8d1d4c1be716f18cb5242ba39f66f4b1e31d45af62a32a99f8edcb39d","impliedFormat":1},{"version":"f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","impliedFormat":1},{"version":"f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5","impliedFormat":1},{"version":"6a1c1a2911268b0ac9e6b0248ecbcbab53b197431965684491f153ef57e02726","affectsGlobalScope":true,"impliedFormat":1},{"version":"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","impliedFormat":1},{"version":"15eeb27e455aa30b5d11d5ae818c7d706bd0944fb8075466c76e920510a2f7d4","signature":"1e31f2b46a6970d6a27709f2103c84c108dbc164cf90745a896efe580055f450","impliedFormat":1},{"version":"11c057ce7fd5b975ce63dcb6a5b2af636c406e9d1c0bc886d1b8555d6e20168b","signature":"8acc4d23ecd6110cce5a61d808e417708822d3d370f79113ea876d21322dfff9","impliedFormat":1},{"version":"a10625a3e86d04086d4839b1a70216daf809c59deb98ffcecebdb3638d9bde3d","signature":"22b8a50ee93e11aab253fbe0358311257994093cb27b17db5d370f447120d9e0","impliedFormat":1},{"version":"066ace8e087d2485b36e840f175e9281114f328fa8534747743e40acfb13cf16","signature":"5a6b91135ebfbf8bd41263819d4aebcdd1cf613721e9e054ba6c4a9fc6c0c1bf","impliedFormat":1},{"version":"98ac2df42f7dde2fba315caf973b6db95844051ec5ad3ce7f1dd17e7e1c81688","signature":"96749f501d240ad678a17e09ef380c6c80c419517a5bd5665eed78fe05317cd9","impliedFormat":1},{"version":"b97953a9f58eba4323f8894187ff5df1204eae4dab37965324414622edcdbe92","signature":"7741db2a3c047ea9d5f0476cb5856500a1527fa0ee8480afaf6cd326fe9ea488","impliedFormat":1},{"version":"f41772a47b572428702219f11038b5dd74a4263a35d2c3e81979d7f6e4c96927","signature":"ac1e0c3d4584e5c51dd74c2282a93b8f6566a688c1d72a7b674daea6e01b9401","impliedFormat":1},{"version":"80ff43658ad088a0c700dc3396ce0dc4b9178dbd9b35a4faa1497bb5047e3959","signature":"574469bffa60b8434db0b862f63091d72938c942c60e9190b1fb7dace3761309","impliedFormat":1},{"version":"c7422e5fa00f90d68ada7be6aaae5de28f6ac19ce770c7ea31dd5b494ad18866","affectsGlobalScope":true,"impliedFormat":1},{"version":"cc1d6096924754ce5e1eb7e4290e24e63abf8feab2cad79f6d953cc6a3a158e8","impliedFormat":1},{"version":"79b9d7f669b76f2bc9227a3bd5fa2c47a5d6440c7fced8370ece9a21ae748f64","impliedFormat":1},{"version":"f30f86562bcdbd3338d40837bcf14a28f975b5c2474a9422a3346d08624b245f","impliedFormat":1},{"version":"a82d61dcd7cac9bd35fd54bac823b7775f7020595eb0f5145caceb7dbffd53e4","impliedFormat":1},{"version":"cea879c498e46e2e130c722287e7265c6f72f338bde561042bc824525a165ff6","signature":"6e9a779f1dc88b610cad7c7253b3ab0aca56a6837bc24dbc2b1f4e82b46f7213","impliedFormat":1},{"version":"3371a9923b5034cf18a0dcae117d06b6642f030b7914036ed915ef140f6e1595","signature":"d90382fa6306a07d89aa25d7606e169d4184ca3bc23d2860d4b40f4cdf9e6cac","impliedFormat":1},{"version":"9b5e4d455cfc3733ac5456e51abfc68602ccfca9aa1530641c1ad6677e644c4c","signature":"80bdfa71d7235e972120e244d7ce8e08196b380885b0740094907db03580de74","impliedFormat":1},{"version":"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","impliedFormat":1},{"version":"458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","impliedFormat":1},{"version":"da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","impliedFormat":1},{"version":"98f9d826db9cd99d27a01a59ee5f22863df00ccf1aaf43e1d7db80ebf716f7c3","impliedFormat":1},{"version":"0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","impliedFormat":1},{"version":"3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","impliedFormat":1},{"version":"b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"30abc554c7ad13063a02ddd06757929b34357aea1f6fcf4ca39114cb0fc19384","impliedFormat":1},{"version":"8c7bb1d03e5607e5ad3d27f48e53dbe70b61372ea73d75000c9ead7ad2ac0fbd","impliedFormat":1},{"version":"986489b7fb01085aad319c9b03c4b140a85c64d275183cb8a4133d13ab6ed1cc","signature":"3f33aa7ebe9f7a3ec8bf8bc21edd336786e481c3227559b4749c4bffd70814ce","impliedFormat":1},{"version":"654f36ffbb645aeac50c4e183efea82e76e1b32bc2d5df2d7c637b98b0161217","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"6037f67c8d9df30d4fe7991aba529e04840420dfc957c96daa156b5c2fd5ce83","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"c9818d4a154fff2a8881dba7f00d98c2bc96694a3529645258db5714084b85fc","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8344e6c4bc68fda6bb7248c1cb5eafc9070ccc3c1005fb26e23836289d157ac3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"a6111067706e96158af29b652ecfd01a3b11de75fcfc50e6737e3e85094ff9ec","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"7ffa16ec60c057d9cf3d39008c01a089cd2ccd3a0d62e12905f2ea7d8552e490","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5","impliedFormat":1},{"version":"cb5a780979155e80a2184eb987cc411a95c9a1686019ade06918c312a0b7c9b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"a4aebbd743a1c46554d26ba56efe18506f026f17d23f830b37231324c88b8faa","impliedFormat":1},{"version":"3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","impliedFormat":1},{"version":"400db42c3a46984118bff14260d60cec580057dc1ab4c2d7310beb643e4f5935","impliedFormat":1},{"version":"f87191b7fafe7a0edad375710d99f900e49cef560b66bf309cf3f8e1b7177126","impliedFormat":1},{"version":"586af7d2abe2f9d59c5e757c370087d6c6baea81b033250f43b8df808d6dfb33","impliedFormat":1},{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true,"impliedFormat":1},{"version":"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","impliedFormat":1},{"version":"e7bee4a6d9bb78afa390b25e0ce97a2f94787a1eb17f0a16e732dcbebba3f3ee","impliedFormat":1},{"version":"b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","impliedFormat":1},{"version":"4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f","impliedFormat":1},{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true,"impliedFormat":1},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true,"impliedFormat":1},{"version":"4d44a8614b2e45ae7eeb785584beb9def7b22cc7882a6a68f948f5c3dff5f574","impliedFormat":1},{"version":"92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","impliedFormat":1},{"version":"bba259efdf9ab95e0c7d3cc8e99250f56bb6b31d6129efdf733ca4eb1d01feea","impliedFormat":1},{"version":"499b7544062cf44fab253daeaea8ba28877d9e7ff4149246b1f0154d1c9ed535","impliedFormat":1},{"version":"139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","impliedFormat":1},{"version":"f70f62f5f87ff8900090069554f79d9757f8e385322d0e26268463e27c098204","impliedFormat":1},{"version":"44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","impliedFormat":1},{"version":"a504c109b872b0e653549bd258eb06584c148c98d79406c7516995865a6d5089","impliedFormat":1},{"version":"155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","impliedFormat":1},{"version":"e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","impliedFormat":1},{"version":"4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4","impliedFormat":1},{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true,"impliedFormat":1},{"version":"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","impliedFormat":1},{"version":"9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","impliedFormat":1},{"version":"f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","impliedFormat":1},{"version":"e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","impliedFormat":1},{"version":"aa95cc73ea5315e4f6fc8c6db43d49e3b7de3780cae20a4f1319032809013038","impliedFormat":1},{"version":"874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","impliedFormat":1},{"version":"6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","impliedFormat":1},{"version":"504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","impliedFormat":1},{"version":"23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","impliedFormat":1},{"version":"4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce","impliedFormat":1},{"version":"bf241ed073916ec9e21a3c138936edd444b6787d874844c0d05fc00a8f109d19","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0f55a0ab349053c95345f7e5d4583d69161f25a5d26b6850acffb9240dcf943","impliedFormat":1},{"version":"a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","impliedFormat":1},{"version":"4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","impliedFormat":1},{"version":"3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","impliedFormat":1},{"version":"0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","impliedFormat":1},{"version":"22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24","impliedFormat":1},{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"1fe4f59d471c69fd533049505081f7e5d6d56486416b12aafb22ba9616034ab7","affectsGlobalScope":true,"impliedFormat":1},{"version":"50adbf55a460fd1048260f11c9b0ec28ee950e6aeaee179ddc09d14be6dedb4e","affectsGlobalScope":true,"impliedFormat":1}],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"importHelpers":true,"jsx":4,"module":1,"noUnusedLocals":true,"outDir":"./out","removeComments":true,"rootDir":"./src","skipLibCheck":true,"strict":true,"target":4,"useUnknownInCatchVariables":false},"fileIdsList":[[122,125],[52,54,55,56,57,58,59,60,61,62,63,64],[52,53,55,56,57,58,59,60,61,62,63,64],[53,54,55,56,57,58,59,60,61,62,63,64],[52,53,54,56,57,58,59,60,61,62,63,64],[52,53,54,55,57,58,59,60,61,62,63,64],[52,53,54,55,56,58,59,60,61,62,63,64],[52,53,54,55,56,57,59,60,61,62,63,64],[52,53,54,55,56,57,58,60,61,62,63,64],[52,53,54,55,56,57,58,59,61,62,63,64],[52,53,54,55,56,57,58,59,60,62,63,64],[52,53,54,55,56,57,58,59,60,61,63,64],[52,53,54,55,56,57,58,59,60,61,62,64],[64],[52,53,54,55,56,57,58,59,60,61,62,63],[73],[75],[76,82],[78,86,87,94,103],[78,79,86,94],[80,110],[81,82,87,95],[82,103],[83,84,86,94],[84],[85,86],[86],[86,87,88,103,109],[87,88],[86,89,94,103,109],[86,87,89,90,94,103,106,109],[89,91,103,106,109],[73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116],[86,92],[93,109],[84,86,94,103],[95],[96],[75,97],[98,108],[99],[100],[86,101],[101,102,110,112],[86,103],[104],[105],[94,103,106],[107],[94,108],[89,100,109],[110],[103,111],[112],[113],[86,88,103,109,112,114],[103,115],[34],[30,31,32,33],[47],[118,124],[122],[126],[119,123],[121],[120],[29,34,35,43,51,65,66],[29,35,49,66],[29,34,35,43,51,66],[29,34,35,43,49,51,65,66],[29,34,35,49],[29,35,42],[29,35,43,49],[29,34,35,45,46,48],[29,34,35,36,37],[29,35,36],[29,35],[29,35,36,37,38,39,40,41],[42],[43,49],[34,45],[34,36,37],[36],[36,37,38,39,40,41]],"referencedMap":[[126,1],[53,2],[54,3],[52,4],[55,5],[56,6],[57,7],[58,8],[59,9],[60,10],[61,11],[62,12],[63,13],[65,14],[64,15],[73,16],[75,17],[76,18],[78,19],[79,20],[80,21],[81,22],[82,23],[83,24],[84,25],[85,26],[86,27],[87,28],[88,29],[89,30],[90,31],[91,32],[117,33],[92,34],[93,35],[94,36],[95,37],[96,38],[97,39],[98,40],[99,41],[100,42],[101,43],[102,44],[103,45],[104,46],[105,47],[106,48],[107,49],[108,50],[109,51],[110,52],[111,53],[112,54],[113,55],[114,56],[115,57],[45,58],[34,59],[35,58],[48,60],[125,61],[123,62],[127,63],[124,64],[122,65],[121,66],[67,67],[68,68],[69,69],[70,70],[51,71],[71,69],[72,69],[66,72],[43,72],[50,73],[49,74],[38,75],[40,76],[41,76],[36,77],[37,77],[42,78],[39,76]],"exportedModulesMap":[[126,1],[53,2],[54,3],[52,4],[55,5],[56,6],[57,7],[58,8],[59,9],[60,10],[61,11],[62,12],[63,13],[65,14],[64,15],[73,16],[75,17],[76,18],[78,19],[79,20],[80,21],[81,22],[82,23],[83,24],[84,25],[85,26],[86,27],[87,28],[88,29],[89,30],[90,31],[91,32],[117,33],[92,34],[93,35],[94,36],[95,37],[96,38],[97,39],[98,40],[99,41],[100,42],[101,43],[102,44],[103,45],[104,46],[105,47],[106,48],[107,49],[108,50],[109,51],[110,52],[111,53],[112,54],[113,55],[114,56],[115,57],[45,58],[34,59],[35,58],[48,60],[125,61],[123,62],[127,63],[124,64],[122,65],[121,66],[51,58],[66,79],[43,79],[50,80],[49,81],[38,82],[40,83],[41,83],[42,84],[39,83]],"semanticDiagnosticsPerFile":[118,77,126,53,54,52,55,56,57,58,59,60,61,62,63,65,64,73,75,76,78,79,80,81,82,83,84,85,86,87,88,74,116,89,90,91,117,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,32,46,45,30,34,35,33,48,47,119,31,125,123,127,124,122,121,120,29,7,6,2,8,9,10,11,12,13,14,15,3,4,19,16,17,18,20,21,22,5,23,24,25,26,27,1,28,67,68,69,70,51,71,72,66,43,44,50,49,38,40,41,36,37,42,39],"latestChangedDtsFile":"./out/__test__/table.test.d.ts"},"version":"4.9.5"}