(obj, prefix = "")
| 27 | } |
| 28 | |
| 29 | function flatten(obj, prefix = "") { |
| 30 | const out = {}; |
| 31 | for (const [k, v] of Object.entries(obj || {})) { |
| 32 | const key = prefix ? `${prefix}.${k}` : k; |
| 33 | if (isObject(v)) Object.assign(out, flatten(v, key)); |
| 34 | else out[key] = v; |
| 35 | } |
| 36 | return out; |
| 37 | } |
| 38 | |
| 39 | function mergeWithCanonical(cn, target) { |
| 40 | const result = Array.isArray(cn) ? [] : {}; |
no test coverage detected