diff --git a/shell/watcher.js b/shell/watcher.js index 0b0e358..bfd2c4a 100644 --- a/shell/watcher.js +++ b/shell/watcher.js @@ -90,7 +90,7 @@ function calculateDiff(provVarsVariable, oldValue, newValue) { allKeys.forEach(key => { const oldKeyValue = oldVal[key]; const newKeyValue = newVal[key]; - const currentPath = path ? `${path}['${key}']` : `['${key}']`; + const currentPath = path ? `${path}[${JSON.stringify(key)}]` : `[${JSON.stringify(key)}]`; if (!oldVal || !(key in oldVal)) { // New key added @@ -121,9 +121,9 @@ function calculateDiff(provVarsVariable, oldValue, newValue) { // Adjust initial call to handle non-object types if ((typeof oldValue === 'object' && oldValue !== null) && (typeof newValue === 'object' && newValue !== null)) { - findChanges('progvars['+provVarsVariable+']', oldValue, newValue); + findChanges('progvars['+JSON.stringify(provVarsVariable)+']', oldValue, newValue); } else if (oldValue !== newValue) { - changes.push(`progvars[${provVarsVariable}] = ${JSON.stringify(newValue)};`); + changes.push(`progvars[${JSON.stringify(provVarsVariable)}] = ${JSON.stringify(newValue)};`); } return changes.join('\n');