(fieldName: string, visitedFields: Set<string>)
| 52 | export function resolveDependencies(computedFields: ComputedFieldsMap): ComputedFieldsMap { |
| 53 | const cache = new Cache<string, string[]>() |
| 54 | const resolveNeeds = (fieldName: string, visitedFields: Set<string>) => { |
| 55 | return cache.getOrCreate(fieldName, () => { |
| 56 | if (visitedFields.has(fieldName)) { |
| 57 | return [fieldName] |
| 58 | } |
| 59 | visitedFields.add(fieldName) |
| 60 | if (!computedFields[fieldName]) { |
| 61 | return [fieldName] |
| 62 | } |
| 63 | return computedFields[fieldName].needs.flatMap((fieldDep) => resolveNeeds(fieldDep, visitedFields)) |
| 64 | }) |
| 65 | } |
| 66 | |
| 67 | return mapObjectValues(computedFields, (field) => { |
| 68 | return { |
no test coverage detected