{"ScriptPreparationCode":null,"TestCases":[{"Name":"Array","Code":"const testObject = {\r\n id: \u00221111\u0022,\r\n status: \u0022active\u0022,\r\n mrr: 123,\r\n arr: [\r\n 1,\r\n 2,\r\n 3,\r\n {\r\n n:[\r\n {id: \u0022a\u0022},\r\n {id: \u0022b\u0022, status: \u0022ee\u0022}\r\n ]\r\n },\r\n { status: \u0022gg\u0022 }\r\n ],\r\n test: {\r\n id: \u00222222\u0022,\r\n status: \u0022inactive\u0022,\r\n test2: {\r\n id: 3333,\r\n status: 3\r\n }\r\n }\r\n};\r\n\r\nfunction redactObject(obj, redactedKeys, newValue) {\r\n\r\n scanObject = (o) =\u003E {\r\n for (const [key, value] of Object.entries(o)) {\r\n\r\n redactedKeys.forEach(key =\u003E {\r\n if (o[key]) { o[key] = newValue }\r\n });\r\n\r\n if (typeof value == \u0022object\u0022) {\r\n scanObject(value);\r\n }\r\n }\r\n }\r\n scanObject(obj);\r\n}\r\n\r\nredactObject(testObject, [\u0022status\u0022, \u0022mrr\u0022], \u0022DELETED\u0022);","IsDeferred":false},{"Name":"1 by 1","Code":"const testObject = {\r\n id: \u00221111\u0022,\r\n status: \u0022active\u0022,\r\n mrr: 123,\r\n arr: [\r\n 1,\r\n 2,\r\n 3,\r\n {\r\n n:[\r\n {id: \u0022a\u0022},\r\n {id: \u0022b\u0022, status: \u0022ee\u0022}\r\n ]\r\n },\r\n { status: \u0022gg\u0022 }\r\n ],\r\n test: {\r\n id: \u00222222\u0022,\r\n status: \u0022inactive\u0022,\r\n test2: {\r\n id: 3333,\r\n status: 3\r\n }\r\n }\r\n};\r\n\r\nfunction redactObject(obj, redactedKey, newValue) {\r\n scanObject = (o) =\u003E {\r\n for (const [key, value] of Object.entries(o)) {\r\n if (o[redactedKey]) {\r\n o[redactedKey] = newValue;\r\n }\r\n if (typeof value == \u0022object\u0022) {\r\n scanObject(value);\r\n }\r\n }\r\n }\r\n scanObject(obj);\r\n}\r\n\r\nredactObject(testObject, \u0022status\u0022, \u0022DELETED\u0022);\r\nredactObject(testObject, \u0022mrr\u0022, \u0022DELETED\u0022);","IsDeferred":false}]}