@component-compass/parser-react 0.0.1 → 0.0.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/dist/index.js CHANGED
@@ -6,9 +6,10 @@ export const reactPlugin = {
6
6
  return walkJsx({
7
7
  file,
8
8
  source,
9
- index: ctx.index,
9
+ resolveLazyManifest: ctx.resolveLazyManifest,
10
+ lookupByTag: ctx.lookupByTag,
11
+ localIndex: ctx.localIndex,
10
12
  captureValues: ctx.config.captureValues,
11
- packageScopes: ctx.config.packageScopes,
12
13
  repoRoot: ctx.repoRoot,
13
14
  });
14
15
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QACrB,OAAO,OAAO,CAAC;YACb,IAAI;YACJ,MAAM;YACN,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa;YACvC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa;YACvC,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;IAC1C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;QACrB,OAAO,OAAO,CAAC;YACb,IAAI;YACJ,MAAM;YACN,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;YAC5C,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa;YACvC,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,10 +1,11 @@
1
- import type { ComponentIndex, Occurrence, FileImport, WrapperDef, Warning } from "@component-compass/plugin-core";
1
+ import type { Occurrence, FileImport, WrapperDef, Warning, LocalDefinitionIndex, LookupByTag, ResolveLazyManifest } from "@component-compass/plugin-core";
2
2
  type WalkOptions = {
3
3
  file: string;
4
4
  source: string;
5
- index: ComponentIndex;
5
+ resolveLazyManifest: ResolveLazyManifest;
6
+ lookupByTag: LookupByTag;
7
+ localIndex: LocalDefinitionIndex;
6
8
  captureValues: boolean;
7
- packageScopes: string[];
8
9
  repoRoot: string;
9
10
  };
10
11
  export type WalkOutput = {
package/dist/walk-jsx.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { parse } from "@babel/parser";
2
- import picomatch from "picomatch";
3
2
  import { serialiseComponentId, externalPackageOf } from "@component-compass/plugin-core";
4
3
  import { asTagName, asWrapperId } from "@component-compass/plugin-core";
5
4
  import { traverse, posixPath, classifyImportOrigin } from "@component-compass/ast-utils";
@@ -27,70 +26,64 @@ export function walkJsx(opts) {
27
26
  });
28
27
  }
29
28
  const localBindings = new Map();
30
- // Tracks imports that did NOT match a manifest entry: local → { importedName, specifier }.
31
- // Used in the third pass to opportunistically classify and emit external occurrences.
29
+ // Tracks imports that did NOT match a manifest entry: local → { importedName, specifier, leafPackage }.
30
+ // `leafPackage` is non-null when the lazy resolver landed on a leaf package
31
+ // but had no manifest entry for `importedName` — in that case the third pass
32
+ // attributes the opaque external occurrence to the leaf rather than re-running
33
+ // origin classification on the user-written aggregator specifier.
32
34
  const unmappedImports = new Map();
33
- // First pass: collect imports and resolve to known tags / react-component entries.
35
+ // First pass: collect imports and resolve via the lazy manifest resolver.
34
36
  traverse(ast, {
35
37
  ImportDeclaration(path) {
36
38
  const source = path.node.source.value;
39
+ if (path.node.specifiers.length === 0) {
40
+ // Side-effect import: `import "pkg"`. Prime the resolver's leaf cache
41
+ // so later HTML / Lit-template tag references find the leaf's CEM
42
+ // even though no JS-side identifier was ever bound. The empty
43
+ // exportName won't match anything in matchInLeaf, but the call still
44
+ // walks into the leaf and populates byTag for tag-only consumers.
45
+ opts.resolveLazyManifest(opts.file, source, "");
46
+ return;
47
+ }
37
48
  for (const spec of path.node.specifiers) {
38
49
  if (spec.type !== "ImportSpecifier" && spec.type !== "ImportDefaultSpecifier")
39
50
  continue;
40
51
  const imported = spec.type === "ImportSpecifier" ? identName(spec.imported) : "default";
41
52
  const local = spec.local.name;
42
- const wrapperKey = `${source}::${imported}`;
43
- const indexed = opts.index.byImport.get(wrapperKey);
44
- if (indexed?.kind === "custom-element") {
53
+ const hit = opts.resolveLazyManifest(opts.file, source, imported);
54
+ if (hit?.matched?.kind === "custom-element") {
45
55
  localBindings.set(local, {
46
56
  kind: "wc-wrapper",
47
- tagName: asTagName(indexed.tagName),
48
- package: externalPackageOf(indexed.source),
57
+ tagName: asTagName(hit.matched.tagName),
58
+ package: hit.leafPackage,
49
59
  specifier: source,
50
60
  importName: imported,
51
- viaHeuristic: false,
52
61
  });
53
62
  }
54
- else if (indexed?.kind === "react-component") {
63
+ else if (hit?.matched?.kind === "react-component") {
55
64
  localBindings.set(local, {
56
65
  kind: "react-direct",
57
- package: externalPackageOf(indexed.source),
58
- export: indexed.export,
66
+ package: hit.leafPackage,
67
+ export: hit.matched.export,
59
68
  specifier: source,
60
69
  importName: imported,
61
70
  });
62
71
  }
72
+ else if (hit) {
73
+ // Resolver landed on a leaf but no manifest match → opaque external bound to leaf.
74
+ unmappedImports.set(local, {
75
+ importedName: imported,
76
+ specifier: source,
77
+ leafPackage: hit.leafPackage,
78
+ });
79
+ }
63
80
  else {
64
- // Heuristic: source matches one of the configured packageScopes (glob patterns),
65
- // and the imported name matches a className in the index. WC-only fallback.
66
- const heuristicTag = heuristicMatch(source, imported, opts.index, opts.packageScopes);
67
- if (heuristicTag) {
68
- const indexedHeur = opts.index.byTag.get(heuristicTag);
69
- if (indexedHeur) {
70
- localBindings.set(local, {
71
- kind: "wc-wrapper",
72
- tagName: heuristicTag,
73
- package: externalPackageOf(indexedHeur.source),
74
- specifier: source,
75
- importName: imported,
76
- viaHeuristic: true,
77
- });
78
- warnings.push({
79
- code: "MISSING_REACT_EXPORT_EXTENSION",
80
- message: `Heuristic match for ${imported} from ${source}; resolved to <${heuristicTag}>. Recommend publishing componentCompass.imports.react in the manifest.`,
81
- file: opts.file,
82
- package: source,
83
- });
84
- }
85
- else {
86
- // Heuristic found a tag but it's not in byTag — treat as unmapped.
87
- unmappedImports.set(local, { importedName: imported, specifier: source });
88
- }
89
- }
90
- else {
91
- // No manifest match, no heuristic match — track for opportunistic classification.
92
- unmappedImports.set(local, { importedName: imported, specifier: source });
93
- }
81
+ // Specifier did not resolve (could be local relative or unresolvable).
82
+ unmappedImports.set(local, {
83
+ importedName: imported,
84
+ specifier: source,
85
+ leafPackage: null,
86
+ });
94
87
  }
95
88
  imports.push({ file: posixPath(opts.file), imported: local, source, loc: locOf(spec, opts.file) });
96
89
  }
@@ -99,130 +92,154 @@ export function walkJsx(opts) {
99
92
  // Second pass: detect wrapper definitions.
100
93
  traverse(ast, {
101
94
  Function(path) {
102
- detectWrapper(path, opts.file, localBindings, opts.index, wrappers);
95
+ detectWrapper(path, opts.file, localBindings, opts.lookupByTag, wrappers);
103
96
  },
104
97
  ClassDeclaration(path) {
105
- detectWrapper(path, opts.file, localBindings, opts.index, wrappers);
98
+ detectWrapper(path, opts.file, localBindings, opts.lookupByTag, wrappers);
106
99
  },
107
100
  });
101
+ /** Topmost element is the current tracked parent. node is kept for matched
102
+ * pop on exit (depth-first traversal guarantees the topmost stack entry is
103
+ * the current node when its exit handler fires). */
104
+ const parentStack = [];
105
+ function resolveOpening(opening) {
106
+ const nameNode = opening.name;
107
+ if (nameNode.type !== "JSXIdentifier")
108
+ return undefined;
109
+ const id = nameNode.name;
110
+ if (/^[a-z]/.test(id) && id.includes("-")) {
111
+ const indexed = opts.lookupByTag(asTagName(id));
112
+ if (indexed) {
113
+ return { kind: "wc-tag", tagName: asTagName(id), package: externalPackageOf(indexed.source) };
114
+ }
115
+ return undefined;
116
+ }
117
+ const bound = localBindings.get(id);
118
+ if (bound?.kind === "wc-wrapper") {
119
+ return {
120
+ kind: "wc-wrapper",
121
+ tagName: bound.tagName,
122
+ package: bound.package,
123
+ specifier: bound.specifier,
124
+ importName: bound.importName,
125
+ };
126
+ }
127
+ if (bound?.kind === "react-direct") {
128
+ return {
129
+ kind: "react-direct",
130
+ package: bound.package,
131
+ export: bound.export,
132
+ specifier: bound.specifier,
133
+ importName: bound.importName,
134
+ };
135
+ }
136
+ return undefined;
137
+ }
108
138
  traverse(ast, {
109
- JSXOpeningElement(path) {
110
- const nameNode = path.node.name;
111
- let resolved;
112
- if (nameNode.type === "JSXIdentifier") {
113
- const id = nameNode.name;
114
- if (/^[a-z]/.test(id) && id.includes("-")) {
115
- const indexed = opts.index.byTag.get(asTagName(id));
116
- if (indexed) {
117
- resolved = { kind: "wc-tag", tagName: asTagName(id), package: externalPackageOf(indexed.source) };
139
+ JSXElement: {
140
+ enter(path) {
141
+ const opening = path.node.openingElement;
142
+ const resolved = resolveOpening(opening);
143
+ let occurrence;
144
+ if (!resolved) {
145
+ // Opportunistic emission for unmapped imports (preserves Phase 1 behaviour).
146
+ const nameNode = opening.name;
147
+ if (nameNode.type === "JSXIdentifier") {
148
+ const id = nameNode.name;
149
+ if (!/^[a-z]/.test(id) || !id.includes("-")) {
150
+ const unmapped = unmappedImports.get(id);
151
+ if (unmapped) {
152
+ if (unmapped.leafPackage) {
153
+ const { props, events } = readJsxAttrs(opening, opts.captureValues);
154
+ occurrence = {
155
+ componentId: {
156
+ kind: "react-component",
157
+ export: unmapped.importedName,
158
+ source: { type: "external", package: unmapped.leafPackage },
159
+ },
160
+ loc: locOf(opening, opts.file),
161
+ via: { kind: "direct-import", specifier: unmapped.specifier, import: unmapped.importedName },
162
+ props,
163
+ events,
164
+ };
165
+ }
166
+ else {
167
+ const origin = classifyImportOrigin(unmapped.specifier, {
168
+ repoRoot: opts.repoRoot,
169
+ fromFile: opts.file,
170
+ });
171
+ if (origin.type === "local") {
172
+ const localDefs = opts.localIndex.byPath.get(origin.filePath);
173
+ const matched = localDefs?.find((d) => unmapped.importedName === "default"
174
+ ? d.isDefault
175
+ : d.exportName === unmapped.importedName && !d.isDefault);
176
+ if (matched && matched.componentId.kind === "react-component") {
177
+ const { props, events } = readJsxAttrs(opening, opts.captureValues);
178
+ occurrence = {
179
+ componentId: matched.componentId,
180
+ loc: locOf(opening, opts.file),
181
+ via: { kind: "direct-import", specifier: unmapped.specifier, import: unmapped.importedName },
182
+ props,
183
+ events,
184
+ };
185
+ }
186
+ }
187
+ }
188
+ }
189
+ }
118
190
  }
119
191
  }
120
192
  else {
121
- const bound = localBindings.get(id);
122
- if (bound?.kind === "wc-wrapper") {
123
- resolved = {
124
- kind: "wc-wrapper",
125
- tagName: bound.tagName,
126
- package: bound.package,
127
- specifier: bound.specifier,
128
- importName: bound.importName,
193
+ const { props, events } = readJsxAttrs(opening, opts.captureValues);
194
+ const loc = locOf(opening, opts.file);
195
+ if (resolved.kind === "wc-tag") {
196
+ occurrence = {
197
+ componentId: { kind: "custom-element", tagName: resolved.tagName, source: { type: "external", package: resolved.package } },
198
+ loc,
199
+ via: { kind: "html-tag" },
200
+ props,
201
+ events,
129
202
  };
130
203
  }
131
- else if (bound?.kind === "react-direct") {
132
- resolved = {
133
- kind: "react-direct",
134
- package: bound.package,
135
- export: bound.export,
136
- specifier: bound.specifier,
137
- importName: bound.importName,
204
+ else if (resolved.kind === "wc-wrapper") {
205
+ occurrence = {
206
+ componentId: { kind: "custom-element", tagName: resolved.tagName, source: { type: "external", package: resolved.package } },
207
+ loc,
208
+ via: { kind: "react-wrapper", specifier: resolved.specifier, import: resolved.importName },
209
+ props,
210
+ events,
138
211
  };
139
212
  }
140
213
  else {
141
- // Opportunistic emission: classify unmapped imports and emit for external ones.
142
- const unmapped = unmappedImports.get(id);
143
- if (unmapped) {
144
- const origin = classifyImportOrigin(unmapped.specifier, {
145
- repoRoot: opts.repoRoot,
146
- fromFile: opts.file,
147
- });
148
- if (origin.type === "external") {
149
- const { props, events } = readJsxAttrs(path.node, opts.captureValues);
150
- const loc = locOf(path.node, opts.file);
151
- const occurrence = {
152
- componentId: {
153
- kind: "react-component",
154
- export: unmapped.importedName,
155
- source: { type: "external", package: origin.package },
156
- },
157
- loc,
158
- via: { kind: "direct-import", specifier: unmapped.specifier, import: unmapped.importedName },
159
- props,
160
- events,
161
- };
162
- occurrences.push(occurrence);
163
- }
164
- else if (origin.type === "local") {
165
- // Look up the local-component definition by repo-relative path,
166
- // then match the imported binding (default vs named) against
167
- // a recorded LocalDefinition. Misses skip silently — this avoids
168
- // mis-emitting identities for local utilities, hooks, or
169
- // re-exports that don't have a detector match.
170
- const localDefs = opts.index.local.byPath.get(origin.filePath);
171
- const matched = localDefs?.find((d) => unmapped.importedName === "default"
172
- ? d.isDefault
173
- : d.exportName === unmapped.importedName && !d.isDefault);
174
- if (matched && matched.componentId.kind === "react-component") {
175
- const { props, events } = readJsxAttrs(path.node, opts.captureValues);
176
- const loc = locOf(path.node, opts.file);
177
- const occurrence = {
178
- componentId: matched.componentId,
179
- loc,
180
- via: { kind: "direct-import", specifier: unmapped.specifier, import: unmapped.importedName },
181
- props,
182
- events,
183
- };
184
- occurrences.push(occurrence);
185
- }
186
- // Miss → skip silently.
187
- }
188
- // unresolved → skip silently
189
- }
214
+ occurrence = {
215
+ componentId: { kind: "react-component", export: resolved.export, source: { type: "external", package: resolved.package } },
216
+ loc,
217
+ via: { kind: "direct-import", specifier: resolved.specifier, import: resolved.importName },
218
+ props,
219
+ events,
220
+ };
190
221
  }
191
222
  }
192
- }
193
- if (!resolved)
194
- return;
195
- const { props, events } = readJsxAttrs(path.node, opts.captureValues);
196
- const loc = locOf(path.node, opts.file);
197
- let occurrence;
198
- if (resolved.kind === "wc-tag") {
199
- occurrence = {
200
- componentId: { kind: "custom-element", tagName: resolved.tagName, source: { type: "external", package: resolved.package } },
201
- loc,
202
- via: { kind: "html-tag" },
203
- props,
204
- events,
205
- };
206
- }
207
- else if (resolved.kind === "wc-wrapper") {
208
- occurrence = {
209
- componentId: { kind: "custom-element", tagName: resolved.tagName, source: { type: "external", package: resolved.package } },
210
- loc,
211
- via: { kind: "react-wrapper", specifier: resolved.specifier, import: resolved.importName },
212
- props,
213
- events,
214
- };
215
- }
216
- else {
217
- occurrence = {
218
- componentId: { kind: "react-component", export: resolved.export, source: { type: "external", package: resolved.package } },
219
- loc,
220
- via: { kind: "direct-import", specifier: resolved.specifier, import: resolved.importName },
221
- props,
222
- events,
223
- };
224
- }
225
- occurrences.push(occurrence);
223
+ if (!occurrence)
224
+ return;
225
+ const parentEntry = parentStack[parentStack.length - 1];
226
+ if (parentEntry && !isInRenderPropScope(path, parentEntry.node)) {
227
+ occurrence.parentRef = parentEntry.idx;
228
+ occurrence.depth = parentStack.length;
229
+ }
230
+ else {
231
+ // Render-prop scope OR no parent: treated as fresh root in this lexical scope.
232
+ occurrence.depth = 0;
233
+ }
234
+ const idx = occurrences.length;
235
+ occurrences.push(occurrence);
236
+ parentStack.push({ idx, node: path.node });
237
+ },
238
+ exit(path) {
239
+ const top = parentStack[parentStack.length - 1];
240
+ if (top && top.node === path.node)
241
+ parentStack.pop();
242
+ },
226
243
  },
227
244
  });
228
245
  return { occurrences, wrappers, imports, warnings };
@@ -237,21 +254,6 @@ function locOf(node, file) {
237
254
  function identName(node) {
238
255
  return node.type === "Identifier" ? node.name : node.value;
239
256
  }
240
- function heuristicMatch(source, imported, index, packageScopes) {
241
- const matchesScope = packageScopes.some((pattern) => {
242
- if (!/^[@a-zA-Z*]/.test(pattern))
243
- return false;
244
- return picomatch.isMatch(source, pattern) ||
245
- picomatch.isMatch(source, `${pattern}/**`);
246
- });
247
- if (!matchesScope)
248
- return undefined;
249
- for (const def of index.byTag.values()) {
250
- if (def.className === imported)
251
- return asTagName(def.tagName);
252
- }
253
- return undefined;
254
- }
255
257
  function readJsxAttrs(node, captureValues) {
256
258
  const props = [];
257
259
  const events = [];
@@ -320,7 +322,7 @@ function readJsxAttrs(node, captureValues) {
320
322
  }
321
323
  return { props, events };
322
324
  }
323
- function detectWrapper(path, file, localBindings, index, wrappers) {
325
+ function detectWrapper(path, file, localBindings, lookupByTag, wrappers) {
324
326
  const name = wrapperName(path);
325
327
  if (!name)
326
328
  return;
@@ -342,7 +344,7 @@ function detectWrapper(path, file, localBindings, index, wrappers) {
342
344
  return;
343
345
  const id = n.name;
344
346
  if (/^[a-z]/.test(id) && id.includes("-")) {
345
- const indexed = index.byTag.get(asTagName(id));
347
+ const indexed = lookupByTag(asTagName(id));
346
348
  if (indexed) {
347
349
  addDep({
348
350
  kind: "custom-element",
@@ -426,4 +428,34 @@ function wrapperId(name) {
426
428
  const kebab = name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
427
429
  return asWrapperId(`wrap-${kebab}`);
428
430
  }
431
+ /**
432
+ * Render-prop guard: returns true when `path` (a JSXElement) is lexically
433
+ * nested inside a function body or JSXAttribute that lives between it and
434
+ * the topmost tracked parent (`parentNode`). React render-props pass children
435
+ * opaquely through a function (`<DataLoader>{(d) => <Card />}</DataLoader>`,
436
+ * `{items.map(i => <Card />)}`) or through a prop value (`<Modal title={<H/>}>`),
437
+ * so descendants in that scope must NOT inherit the host as their parent.
438
+ *
439
+ * JSXExpressionContainer alone is transparent — `{cond && <Card />}` and
440
+ * `{a ? <X /> : <Y />}` should keep lexical-parent attribution per
441
+ * §Failure modes' "conditional rendering visible" rule. The function/attribute
442
+ * boundary is what differentiates render-prop from a bare expression escape.
443
+ *
444
+ * (Vue scoped slots are lexical and handled differently in parser-vue.)
445
+ */
446
+ function isInRenderPropScope(path, parentNode) {
447
+ if (!parentNode)
448
+ return false;
449
+ let p = path.parentPath;
450
+ while (p && p.node !== parentNode) {
451
+ if (p.isArrowFunctionExpression() ||
452
+ p.isFunctionExpression() ||
453
+ p.isFunctionDeclaration() ||
454
+ p.isJSXAttribute()) {
455
+ return true;
456
+ }
457
+ p = p.parentPath;
458
+ }
459
+ return false;
460
+ }
429
461
  //# sourceMappingURL=walk-jsx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"walk-jsx.js","sourceRoot":"","sources":["../src/walk-jsx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"walk-jsx.js","sourceRoot":"","sources":["../src/walk-jsx.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@component-compass/parser-react",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Consumer-scan parser for React JSX. Detects component usages in .tsx and .jsx files.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -29,14 +29,12 @@
29
29
  "dependencies": {
30
30
  "@babel/parser": "^7.29.0",
31
31
  "@babel/types": "^7.29.0",
32
- "@component-compass/ast-utils": "^0.0.1",
33
- "@component-compass/plugin-core": "^0.0.1",
34
- "picomatch": "^4.0.4"
32
+ "@component-compass/ast-utils": "^0.0.2",
33
+ "@component-compass/plugin-core": "^0.0.2"
35
34
  },
36
35
  "devDependencies": {
37
36
  "@types/babel__traverse": "^7.28.0",
38
37
  "@types/node": "^24.0.0",
39
- "@types/picomatch": "^4.0.3",
40
38
  "typescript": "^5.9.0",
41
39
  "vitest": "^4.0.0"
42
40
  },