UNPKG

@lunaticmuch/front-matter-manipulator

Version:

A utility for parsing and manipulating documents with Front Matter

20 lines (18 loc) 547 B
import isMissing from './isMissing.js'; export default function updateKey(obj, key, replacement) { key = key.split('.'); var parent; for (var i = 0; i < key.length - 1; i++) { parent = obj; obj = obj[key[i]]; } if (Array.isArray(obj) && !isMissing(parent[key[i-1]])) { let value = obj; delete parent[key[i-1]]; parent[replacement] = value; } else if (!isMissing(obj[key[i]])) { let value = obj[key[i]]; delete obj[key[i]]; obj[replacement] = value; } }