MCPcopy Index your code
hub / github.com/adobe/react-spectrum / visitChildren

Function visitChildren

packages/dev/parcel-packager-docs/DocsPackager.js:293–469  ·  view source on GitHub ↗
(obj, fn)

Source from the content-addressed store, hash-verified

291}
292
293function visitChildren(obj, fn) {
294 let properties = null;
295 switch (obj.type) {
296 case 'any':
297 case 'null':
298 case 'undefined':
299 case 'void':
300 case 'unknown':
301 case 'never':
302 case 'this':
303 case 'symbol':
304 case 'identifier':
305 case 'string':
306 case 'number':
307 case 'boolean':
308 case 'link':
309 case 'reference':
310 return obj;
311 case 'union':
312 return {
313 type: 'union',
314 elements: obj.elements.map(i => fn(i, 'elements'))
315 };
316 case 'intersection':
317 return {
318 type: 'intersection',
319 types: obj.types.map(i => fn(i, 'types'))
320 };
321 case 'application':
322 return {
323 type: 'application',
324 base: fn(obj.base, 'base'),
325 typeParameters: obj.typeParameters.map(i => fn(i, 'typeParameters'))
326 };
327 case 'typeOperator':
328 return {
329 type: 'typeOperator',
330 operator: obj.operator,
331 value: fn(obj.value, 'value')
332 };
333 case 'parameter':
334 return {
335 type: 'parameter',
336 name: obj.name,
337 value: fn(obj.value, 'value'),
338 optional: obj.optional,
339 rest: obj.rest,
340 description: obj.description
341 };
342 case 'property':
343 return {
344 type: 'property',
345 name: obj.name,
346 indexType: obj.indexType ? fn(obj.indexType, 'indexType') : null,
347 value: fn(obj.value, 'value'),
348 optional: obj.optional,
349 description: obj.description,
350 access: obj.access,

Callers 1

recurseFunction · 0.85

Calls 1

fnFunction · 0.85

Tested by

no test coverage detected