// In: x = {class: 2}; // Out: x = {"class": 2}; function visitProperty(traverse, node, path, state) { utils.catchup(node.key.range[0], state); utils.append('"', state); utils.catchup(node.key.range[1], state); utils.append('"', state); utils.catchup(node.value.range[0], state); traverse(node.value, path, state); return false; }
// In: x.class = 3; // Out: x["class"] = 3; function visitMemberExpression(traverse, node, path, state) { traverse(node.object, path, state); utils.catchup(node.object.range[1], state); utils.append('[', state); utils.catchupWhiteSpace(node.property.range[0], state); utils.append('"', state); utils.catchup(node.property.range[1], state); utils.append('"]', state); return false; }
function replaceEnv(node, state, value) { utils.catchup(node.range[0], state) utils.append(JSON.stringify(value), state) utils.move(node.range[1], state) }