MCPcopy
hub / github.com/vuejs/composition-api / traverse

Function traverse

src/apis/watch.ts:496–517  ·  view source on GitHub ↗
(value: unknown, seen: Set<unknown> = new Set())

Source from the content-addressed store, hash-verified

494}
495
496function traverse(value: unknown, seen: Set<unknown> = new Set()) {
497 if (!isObject(value) || seen.has(value) || rawSet.has(value)) {
498 return value
499 }
500 seen.add(value)
501 if (isRef(value)) {
502 traverse(value.value, seen)
503 } else if (isArray(value)) {
504 for (let i = 0; i < value.length; i++) {
505 traverse(value[i], seen)
506 }
507 } else if (isSet(value) || isMap(value)) {
508 value.forEach((v: any) => {
509 traverse(v, seen)
510 })
511 } else if (isPlainObject(value)) {
512 for (const key in value) {
513 traverse(value[key], seen)
514 }
515 }
516 return value
517}

Callers 1

createWatcherFunction · 0.85

Calls 6

isObjectFunction · 0.90
isRefFunction · 0.90
isArrayFunction · 0.90
isSetFunction · 0.90
isMapFunction · 0.90
isPlainObjectFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…