(replacements?: Replacements)
| 272 | } |
| 273 | |
| 274 | function replacementMapFrom(replacements?: Replacements) { |
| 275 | return ( |
| 276 | replacements?.reduce((map, [source, replacement]) => { |
| 277 | const normalized = rewriteReplacementDependencies(replacementNode(source, replacement), map) |
| 278 | const current = new Map([[source.name, normalized]]) |
| 279 | for (const [name, node] of map) map.set(name, rewriteReplacementDependencies(node, current)) |
| 280 | map.set(source.name, normalized) |
| 281 | return map |
| 282 | }, new Map<string, AnyNode>()) ?? new Map<string, AnyNode>() |
| 283 | ) |
| 284 | } |
| 285 | |
| 286 | function rewriteReplacementDependencies(root: AnyNode, replacements: ReadonlyMap<string, AnyNode>) { |
| 287 | if (replacements.size === 0) return root |
no test coverage detected