@teleporthq/teleport-plugin-html-base-component 0.35.0 → 0.36.0

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.
@@ -60,6 +60,7 @@ import { HASTBuilders, HASTUtils } from '@teleporthq/teleport-plugin-common';
60
60
  import { StringUtils, UIDLUtils } from '@teleporthq/teleport-shared';
61
61
  import { staticNode } from '@teleporthq/teleport-uidl-builders';
62
62
  import { createCSSPlugin } from '@teleporthq/teleport-plugin-css';
63
+ import { generateUniqueKeys, createNodesLookup } from '@teleporthq/teleport-uidl-resolver';
63
64
  import { DEFAULT_COMPONENT_CHUNK_NAME } from './constants';
64
65
  var isValidURL = function (url) {
65
66
  try {
@@ -71,7 +72,17 @@ var isValidURL = function (url) {
71
72
  return false;
72
73
  }
73
74
  };
74
- export var generateHtmlSyntax = function (node, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
75
+ var addNodeToLookup = function (node, tag, nodesLoookup, hierarchy) {
76
+ if (hierarchy === void 0) { hierarchy = []; }
77
+ // In html code-generation we combine the nodes of the component that is being consumed with the current component.
78
+ // As html can't load the component at runtime like react or any other frameworks. So, we merge the component as a standalone
79
+ // component in the current component.
80
+ if (nodesLoookup[node.content.key]) {
81
+ throw new HTMLComponentGeneratorError("\n".concat(hierarchy.join(' -> '), " \n\nDuplicate key found in nodesLookup: ").concat(node.content.key, " \n\n\nA node with the same key already exists\n\nReceived \n\n ").concat(JSON.stringify(tag), "\n ").concat(JSON.stringify(node), "\nExisting \n\n ").concat(JSON.stringify(nodesLoookup[node.content.key]), " \n\n"));
82
+ }
83
+ nodesLoookup[node.content.key] = tag;
84
+ };
85
+ export var generateHtmlSyntax = function (node, compName, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
75
86
  var _a, elementNode, dynamicNode;
76
87
  return __generator(this, function (_b) {
77
88
  switch (_b.label) {
@@ -89,11 +100,11 @@ export var generateHtmlSyntax = function (node, nodesLookup, propDefinitions, st
89
100
  case 1: return [2 /*return*/, HASTBuilders.createTextNode(node.content.toString())];
90
101
  case 2: return [2 /*return*/, HASTBuilders.createTextNode(StringUtils.encode(node.content.toString()))];
91
102
  case 3: return [2 /*return*/, HASTBuilders.createHTMLNode(node.type)];
92
- case 4: return [4 /*yield*/, generateElementNode(node, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
103
+ case 4: return [4 /*yield*/, generateElementNode(node, compName, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
93
104
  case 5:
94
105
  elementNode = _b.sent();
95
106
  return [2 /*return*/, elementNode];
96
- case 6: return [4 /*yield*/, generateDynamicNode(node, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
107
+ case 6: return [4 /*yield*/, generateDynamicNode(node, compName, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
97
108
  case 7:
98
109
  dynamicNode = _b.sent();
99
110
  return [2 /*return*/, dynamicNode];
@@ -101,63 +112,54 @@ export var generateHtmlSyntax = function (node, nodesLookup, propDefinitions, st
101
112
  }
102
113
  });
103
114
  }); };
104
- var generateElementNode = function (node, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
105
- var _a, elementType, children, _b, attrs, _c, style, _d, referencedStyles, dependency, key, dependencies, _i, _e, attrKey, attr, compTag, elementNode, _f, children_1, child, childTag;
106
- return __generator(this, function (_g) {
107
- switch (_g.label) {
115
+ var generateElementNode = function (node, compName, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
116
+ var _a, elementType, children, _b, attrs, _c, style, _d, referencedStyles, dependency, dependencies, compTag, elementNode, _i, children_1, child, childTag;
117
+ return __generator(this, function (_e) {
118
+ switch (_e.label) {
108
119
  case 0:
109
- _a = node.content, elementType = _a.elementType, children = _a.children, _b = _a.attrs, attrs = _b === void 0 ? {} : _b, _c = _a.style, style = _c === void 0 ? {} : _c, _d = _a.referencedStyles, referencedStyles = _d === void 0 ? {} : _d, dependency = _a.dependency, key = _a.key;
120
+ _a = node.content, elementType = _a.elementType, children = _a.children, _b = _a.attrs, attrs = _b === void 0 ? {} : _b, _c = _a.style, style = _c === void 0 ? {} : _c, _d = _a.referencedStyles, referencedStyles = _d === void 0 ? {} : _d, dependency = _a.dependency;
110
121
  dependencies = structure.dependencies;
111
122
  if (dependency && (dependency === null || dependency === void 0 ? void 0 : dependency.type) !== 'local') {
112
123
  dependencies[dependency.path] = dependency;
113
124
  }
114
- if (!(dependency && (dependency === null || dependency === void 0 ? void 0 : dependency.type) === 'local')) return [3 /*break*/, 6];
115
- _i = 0, _e = Object.keys(attrs);
116
- _g.label = 1;
125
+ if (!(dependency && (dependency === null || dependency === void 0 ? void 0 : dependency.type) === 'local')) return [3 /*break*/, 2];
126
+ if (nodesLookup[node.content.key]) {
127
+ return [2 /*return*/, nodesLookup[node.content.key]];
128
+ }
129
+ return [4 /*yield*/, generateComponentContent(node, compName, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
117
130
  case 1:
118
- if (!(_i < _e.length)) return [3 /*break*/, 4];
119
- attrKey = _e[_i];
120
- attr = attrs[attrKey];
121
- if (!(attr.type === 'element')) return [3 /*break*/, 3];
122
- return [4 /*yield*/, generateElementNode(attr, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
123
- case 2:
124
- _g.sent();
125
- _g.label = 3;
126
- case 3:
127
- _i++;
128
- return [3 /*break*/, 1];
129
- case 4: return [4 /*yield*/, generateComponentContent(node, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
130
- case 5:
131
- compTag = _g.sent();
131
+ compTag = _e.sent();
132
+ if ('tagName' in compTag) {
133
+ compTag.children.unshift(HASTBuilders.createComment("".concat(node.content.semanticType, " component")));
134
+ }
132
135
  return [2 /*return*/, compTag];
133
- case 6:
136
+ case 2:
134
137
  elementNode = HASTBuilders.createHTMLNode(elementType);
135
- if (!children) return [3 /*break*/, 10];
136
- _f = 0, children_1 = children;
137
- _g.label = 7;
138
- case 7:
139
- if (!(_f < children_1.length)) return [3 /*break*/, 10];
140
- child = children_1[_f];
141
- return [4 /*yield*/, generateHtmlSyntax(child, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
142
- case 8:
143
- childTag = _g.sent();
138
+ if (!children) return [3 /*break*/, 6];
139
+ _i = 0, children_1 = children;
140
+ _e.label = 3;
141
+ case 3:
142
+ if (!(_i < children_1.length)) return [3 /*break*/, 6];
143
+ child = children_1[_i];
144
+ return [4 /*yield*/, generateHtmlSyntax(child, compName, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
145
+ case 4:
146
+ childTag = _e.sent();
144
147
  if (typeof childTag === 'string') {
145
148
  HASTUtils.addTextNode(elementNode, childTag);
146
149
  }
147
150
  else {
148
151
  HASTUtils.addChildNode(elementNode, childTag);
149
152
  }
150
- _g.label = 9;
151
- case 9:
152
- _f++;
153
- return [3 /*break*/, 7];
154
- case 10:
153
+ _e.label = 5;
154
+ case 5:
155
+ _i++;
156
+ return [3 /*break*/, 3];
157
+ case 6:
155
158
  if (Object.keys(referencedStyles).length > 0) {
156
159
  Object.keys(referencedStyles).forEach(function (styleRef) {
157
160
  var refStyle = referencedStyles[styleRef];
158
161
  if (refStyle.content.mapType === 'inlined') {
159
162
  handleStyles(node, refStyle.content.styles, propDefinitions, stateDefinitions);
160
- return;
161
163
  }
162
164
  });
163
165
  }
@@ -165,24 +167,36 @@ var generateElementNode = function (node, nodesLookup, propDefinitions, stateDef
165
167
  handleStyles(node, style, propDefinitions, stateDefinitions);
166
168
  }
167
169
  handleAttributes(elementType, elementNode, attrs, propDefinitions, stateDefinitions, structure.options.projectRouteDefinition, structure.outputOptions);
168
- nodesLookup[key] = elementNode;
170
+ addNodeToLookup(node, elementNode, nodesLookup, [compName]);
169
171
  return [2 /*return*/, elementNode];
170
172
  }
171
173
  });
172
174
  }); };
173
- var generateComponentContent = function (node, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
174
- var externals, plugins, _a, elementType, _b, attrs, key, _c, children, dependencies, _d, chunks, options, compName, component, componentClone, compHasSlots, combinedProps, propsForInstance, _i, _e, propKey, combinedStates, statesForInstance, componentWrapper, isExistingNode, componentInstanceToGenerate, compTag, cssPlugin, initialStructure, result, chunk, styleChunk;
175
- var _f, _g, _h;
176
- return __generator(this, function (_j) {
177
- switch (_j.label) {
175
+ var createLookupTable = function (component, nodesLookup) {
176
+ var lookup = {};
177
+ for (var _i = 0, _a = Object.keys(nodesLookup); _i < _a.length; _i++) {
178
+ var node = _a[_i];
179
+ lookup[node] = {
180
+ count: 1,
181
+ nextKey: '1',
182
+ };
183
+ }
184
+ createNodesLookup(component, lookup);
185
+ return lookup;
186
+ };
187
+ var generateComponentContent = function (node, compName, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
188
+ var externals, plugins, _a, elementType, _b, attrs, _c, children, dependencies, _d, chunks, options, componentName, component, componentClone, compHasSlots, lookupTableForCurrentPage, combinedProps, combinedStates, statesForInstance, propsForInstance, _i, _e, propKey, prop, propFromCurrentComponent, componentWrapper, isExistingNode, componentInstanceToGenerate, compTag, cssPlugin, initialStructure, result, chunk, styleChunk;
189
+ var _f, _g;
190
+ return __generator(this, function (_h) {
191
+ switch (_h.label) {
178
192
  case 0:
179
193
  externals = subComponentOptions.externals, plugins = subComponentOptions.plugins;
180
- _a = node.content, elementType = _a.elementType, _b = _a.attrs, attrs = _b === void 0 ? {} : _b, key = _a.key, _c = _a.children, children = _c === void 0 ? [] : _c;
194
+ _a = node.content, elementType = _a.elementType, _b = _a.attrs, attrs = _b === void 0 ? {} : _b, _c = _a.children, children = _c === void 0 ? [] : _c;
181
195
  dependencies = structure.dependencies, _d = structure.chunks, chunks = _d === void 0 ? [] : _d, options = structure.options;
182
- compName = elementType === 'Component' ? 'AppComponent' : elementType;
183
- component = externals[compName];
196
+ componentName = elementType === 'Component' ? 'AppComponent' : elementType;
197
+ component = externals[componentName];
184
198
  if (component === undefined) {
185
- throw new HTMLComponentGeneratorError("".concat(compName, " is missing from externals object"));
199
+ throw new HTMLComponentGeneratorError("".concat(componentName, " is missing from externals object"));
186
200
  }
187
201
  componentClone = UIDLUtils.cloneObject(component);
188
202
  compHasSlots = false;
@@ -198,6 +212,7 @@ var generateComponentContent = function (node, nodesLookup, propDefinitions, sta
198
212
  content: {
199
213
  key: 'custom-slot',
200
214
  elementType: 'slot',
215
+ name: componentClone.name + 'slot',
201
216
  style: {
202
217
  display: {
203
218
  type: 'static',
@@ -216,21 +231,16 @@ var generateComponentContent = function (node, nodesLookup, propDefinitions, sta
216
231
  */
217
232
  node.content.children = [];
218
233
  }
219
- combinedProps = __assign(__assign({}, propDefinitions), ((componentClone === null || componentClone === void 0 ? void 0 : componentClone.propDefinitions) || {}));
220
- propsForInstance = {};
221
- for (_i = 0, _e = Object.keys(combinedProps); _i < _e.length; _i++) {
222
- propKey = _e[_i];
223
- // If the attribute is a named-slot, then we can directly pass the value instead of just the content
224
- if (((_f = attrs[propKey]) === null || _f === void 0 ? void 0 : _f.type) === 'element') {
225
- propsForInstance[propKey] = __assign(__assign({}, combinedProps[propKey]), { defaultValue: attrs[propKey] });
226
- }
227
- else if (attrs[propKey]) {
228
- propsForInstance[propKey] = __assign(__assign({}, combinedProps[propKey]), { defaultValue: ((_g = attrs[propKey]) === null || _g === void 0 ? void 0 : _g.content) || ((_h = combinedProps[propKey]) === null || _h === void 0 ? void 0 : _h.defaultValue) });
229
- }
230
- else {
231
- propsForInstance[propKey] = combinedProps[propKey];
234
+ lookupTableForCurrentPage = createLookupTable(componentClone, nodesLookup);
235
+ generateUniqueKeys(componentClone, lookupTableForCurrentPage);
236
+ combinedProps = __assign(__assign({}, Object.keys(propDefinitions).reduce(function (acc, propKey) {
237
+ var _a;
238
+ if (((_a = propDefinitions[propKey]) === null || _a === void 0 ? void 0 : _a.type) === 'element') {
239
+ return acc;
232
240
  }
233
- }
241
+ acc[propKey] = propDefinitions[propKey];
242
+ return acc;
243
+ }, {})), ((componentClone === null || componentClone === void 0 ? void 0 : componentClone.propDefinitions) || {}));
234
244
  combinedStates = __assign(__assign({}, stateDefinitions), ((componentClone === null || componentClone === void 0 ? void 0 : componentClone.stateDefinitions) || {}));
235
245
  statesForInstance = Object.keys(combinedStates).reduce(function (acc, propKey) {
236
246
  var _a, _b;
@@ -242,7 +252,56 @@ var generateComponentContent = function (node, nodesLookup, propDefinitions, sta
242
252
  }
243
253
  return acc;
244
254
  }, {});
245
- componentWrapper = StringUtils.camelCaseToDashCase("".concat(compName, "-wrapper"));
255
+ propsForInstance = {};
256
+ _i = 0, _e = Object.keys(combinedProps);
257
+ _h.label = 1;
258
+ case 1:
259
+ if (!(_i < _e.length)) return [3 /*break*/, 9];
260
+ propKey = _e[_i];
261
+ prop = attrs[propKey];
262
+ if (!((prop === null || prop === void 0 ? void 0 : prop.type) === 'element')) return [3 /*break*/, 3];
263
+ propsForInstance[propKey] = __assign(__assign({}, combinedProps[propKey]), { defaultValue: attrs[propKey] });
264
+ return [4 /*yield*/, generateHtmlSyntax(attrs[propKey], component.name, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
265
+ case 2:
266
+ _h.sent();
267
+ return [3 /*break*/, 8];
268
+ case 3:
269
+ if (!((prop === null || prop === void 0 ? void 0 : prop.type) === 'dynamic')) return [3 /*break*/, 4];
270
+ // When we are using a component instance in a component and the attribute
271
+ // that is passed to the component is of dynamic reference.
272
+ // If means, the component is redirecting the prop that is received to the prop of the component that it is consuming.
273
+ // In this case, we need to pass the value of the prop that is received to the prop of the component that it is consuming.
274
+ // And similary we do the same for the states.
275
+ switch (prop.content.referenceType) {
276
+ case 'prop':
277
+ propsForInstance[propKey] = combinedProps[propKey];
278
+ break;
279
+ case 'state':
280
+ propsForInstance[propKey] = combinedStates[propKey];
281
+ break;
282
+ default:
283
+ throw new Error("ReferenceType ".concat(prop.content.referenceType, " is not supported in HTML Export."));
284
+ }
285
+ return [3 /*break*/, 8];
286
+ case 4:
287
+ if (!prop) return [3 /*break*/, 5];
288
+ propsForInstance[propKey] = __assign(__assign({}, combinedProps[propKey]), { defaultValue: ((_f = attrs[propKey]) === null || _f === void 0 ? void 0 : _f.content) || ((_g = combinedProps[propKey]) === null || _g === void 0 ? void 0 : _g.defaultValue) });
289
+ return [3 /*break*/, 8];
290
+ case 5:
291
+ propFromCurrentComponent = combinedProps[propKey];
292
+ if (!(propFromCurrentComponent.type === 'element' && propFromCurrentComponent.defaultValue)) return [3 /*break*/, 7];
293
+ return [4 /*yield*/, generateHtmlSyntax(propFromCurrentComponent.defaultValue, component.name, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
294
+ case 6:
295
+ _h.sent();
296
+ _h.label = 7;
297
+ case 7:
298
+ propsForInstance[propKey] = propFromCurrentComponent;
299
+ _h.label = 8;
300
+ case 8:
301
+ _i++;
302
+ return [3 /*break*/, 1];
303
+ case 9:
304
+ componentWrapper = StringUtils.camelCaseToDashCase("".concat(componentName, "-wrapper"));
246
305
  isExistingNode = nodesLookup[componentWrapper];
247
306
  if (isExistingNode !== undefined) {
248
307
  componentWrapper = "".concat(componentWrapper, "-").concat(StringUtils.generateRandomString());
@@ -261,14 +320,13 @@ var generateComponentContent = function (node, nodesLookup, propDefinitions, sta
261
320
  },
262
321
  },
263
322
  };
264
- return [4 /*yield*/, generateHtmlSyntax(componentInstanceToGenerate, nodesLookup, propsForInstance, statesForInstance, subComponentOptions, structure)];
265
- case 1:
266
- compTag = _j.sent();
323
+ return [4 /*yield*/, generateHtmlSyntax(componentInstanceToGenerate, component.name, nodesLookup, propsForInstance, statesForInstance, subComponentOptions, structure)];
324
+ case 10:
325
+ compTag = _h.sent();
267
326
  cssPlugin = createCSSPlugin({
268
327
  templateStyle: 'html',
269
328
  templateChunkName: DEFAULT_COMPONENT_CHUNK_NAME,
270
329
  declareDependency: 'import',
271
- forceScoping: true,
272
330
  chunkName: componentClone.name,
273
331
  staticPropReferences: true,
274
332
  });
@@ -300,8 +358,8 @@ var generateComponentContent = function (node, nodesLookup, propDefinitions, sta
300
358
  }
301
359
  });
302
360
  }); }, Promise.resolve(initialStructure))];
303
- case 2:
304
- result = _j.sent();
361
+ case 11:
362
+ result = _h.sent();
305
363
  if (compHasSlots) {
306
364
  result.chunks.forEach(function (chunk) {
307
365
  if (chunk.fileType === FileType.CSS) {
@@ -319,33 +377,36 @@ var generateComponentContent = function (node, nodesLookup, propDefinitions, sta
319
377
  chunks.push(styleChunk);
320
378
  }
321
379
  }
322
- nodesLookup[key] = compTag;
380
+ addNodeToLookup(node, compTag, nodesLookup, [compName, component.name]);
323
381
  return [2 /*return*/, compTag];
324
382
  }
325
383
  });
326
384
  }); };
327
- var generateDynamicNode = function (node, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure) { return __awaiter(void 0, void 0, void 0, function () {
328
- var usedReferenceValue, slotNode, spanTagWrapper, commentNode, spanTag;
385
+ var generateDynamicNode = function (node,
386
+ /* tslint:disable variable-name */
387
+ _compName, nodesLookup, propDefinitions, stateDefinitions) { return __awaiter(void 0, void 0, void 0, function () {
388
+ var usedReferenceValue, elementNode, spanTagWrapper, commentNode, spanTagWrapper, commentNode, spanTag;
329
389
  return __generator(this, function (_a) {
330
- switch (_a.label) {
331
- case 0:
332
- usedReferenceValue = getValueFromReference(node.content.id, node.content.referenceType === 'prop' ? propDefinitions : stateDefinitions);
333
- if (!(usedReferenceValue.type === 'element' && usedReferenceValue.defaultValue)) return [3 /*break*/, 2];
334
- return [4 /*yield*/, generateElementNode(usedReferenceValue.defaultValue, nodesLookup, propDefinitions, stateDefinitions, subComponentOptions, structure)];
335
- case 1:
336
- slotNode = _a.sent();
337
- return [2 /*return*/, slotNode];
338
- case 2:
339
- if (usedReferenceValue.type === 'element' && usedReferenceValue.defaultValue === undefined) {
340
- spanTagWrapper = HASTBuilders.createHTMLNode('span');
341
- commentNode = HASTBuilders.createComment("Content for slot ".concat(node.content.id));
342
- HASTUtils.addChildNode(spanTagWrapper, commentNode);
343
- return [2 /*return*/, spanTagWrapper];
344
- }
345
- spanTag = HASTBuilders.createHTMLNode('span');
346
- HASTUtils.addTextNode(spanTag, String(usedReferenceValue.defaultValue));
347
- return [2 /*return*/, spanTag];
390
+ usedReferenceValue = getValueFromReference(node.content.id, node.content.referenceType === 'prop' ? propDefinitions : stateDefinitions);
391
+ if (usedReferenceValue.type === 'element' && usedReferenceValue.defaultValue) {
392
+ elementNode = usedReferenceValue.defaultValue;
393
+ if (elementNode.content.key in nodesLookup) {
394
+ return [2 /*return*/, nodesLookup[elementNode.content.key]];
395
+ }
396
+ spanTagWrapper = HASTBuilders.createHTMLNode('span');
397
+ commentNode = HASTBuilders.createComment("Content for slot ".concat(node.content.id));
398
+ HASTUtils.addChildNode(spanTagWrapper, commentNode);
399
+ return [2 /*return*/, spanTagWrapper];
400
+ }
401
+ if (usedReferenceValue.type === 'element' && usedReferenceValue.defaultValue === undefined) {
402
+ spanTagWrapper = HASTBuilders.createHTMLNode('span');
403
+ commentNode = HASTBuilders.createComment("Content for slot ".concat(node.content.id));
404
+ HASTUtils.addChildNode(spanTagWrapper, commentNode);
405
+ return [2 /*return*/, spanTagWrapper];
348
406
  }
407
+ spanTag = HASTBuilders.createHTMLNode('span');
408
+ HASTUtils.addTextNode(spanTag, String(usedReferenceValue.defaultValue));
409
+ return [2 /*return*/, spanTag];
349
410
  });
350
411
  }); };
351
412
  var handleStyles = function (node, styles, propDefinitions, stateDefinitions) {
@@ -1 +1 @@
1
- {"version":3,"file":"node-handlers.js","sourceRoot":"","sources":["../../src/node-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node-handlers.js","sourceRoot":"","sources":["../../src/node-handlers.ts"],"names":[],"mappings":"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"}