MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / mergedFields

Function mergedFields

javascript/selenium-webdriver/normalize_bidi_ast.mjs:436–453  ·  view source on GitHub ↗
(name, seen)

Source from the content-addressed store, hash-verified

434 const cache = new Map()
435
436 function mergedFields(name, seen) {
437 if (cache.has(name)) return cache.get(name)
438 const def = defMap.get(name)
439 if (!isRecordGroup(def) || isDispatchType(def) || seen.has(name)) return null
440 seen.add(name)
441 const fields = []
442 for (const prop of def.Properties.flat()) {
443 if (!prop || typeof prop !== 'object') continue
444 const entry = typeList(prop.Type)[0]
445 const isSpread = !prop.Name && isGroupRef(entry)
446 const composed = isSpread ? mergedFields(entry.Value, seen) : null
447 if (composed) fields.push(...structuredClone(composed))
448 else fields.push(prop)
449 }
450 seen.delete(name)
451 cache.set(name, fields)
452 return fields
453 }
454
455 for (const def of out) {
456 if (!isRecordGroup(def) || isDispatchType(def)) continue

Callers 1

flattenGroupCompositionFunction · 0.85

Calls 9

isRecordGroupFunction · 0.85
isDispatchTypeFunction · 0.85
isGroupRefFunction · 0.85
typeListFunction · 0.70
getMethod · 0.65
addMethod · 0.65
setMethod · 0.65
hasMethod · 0.45
deleteMethod · 0.45

Tested by

no test coverage detected