astro-ghostcms/.pnpm-store/v3/files/d7/d8b50c020a646d1966f160b3ede...

26 lines
578 B
Plaintext

function iter(output, nullish, sep, val, key) {
var k, pfx = key ? (key + sep) : key;
if (val == null) {
if (nullish) output[key] = val;
} else if (typeof val != 'object') {
output[key] = val;
} else if (Array.isArray(val)) {
for (k=0; k < val.length; k++) {
iter(output, nullish, sep, val[k], pfx + k);
}
} else {
for (k in val) {
iter(output, nullish, sep, val[k], pfx + k);
}
}
}
export function flattie(input, glue, toNull) {
var output = {};
if (typeof input == 'object') {
iter(output, !!toNull, glue || '.', input, '');
}
return output;
}