{"ScriptPreparationCode":"function objectWithoutProperties(source, excluded) {\r\n if (source == null) return {};\r\n var target = _objectWithoutPropertiesLoose(source, excluded);\r\n var key, i;\r\n\r\n if (Object.getOwnPropertySymbols) {\r\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\r\n\r\n for (i = 0; i \u003C sourceSymbolKeys.length; i\u002B\u002B) {\r\n key = sourceSymbolKeys[i];\r\n if (excluded.indexOf(key) \u003E= 0) continue;\r\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\r\n target[key] = source[key];\r\n }\r\n }\r\n\r\n return target;\r\n}\r\n\r\nfunction _objectWithoutPropertiesLoose(source, excluded) {\r\n if (source == null) return {};\r\n var target = {};\r\n var sourceKeys = Object.keys(source);\r\n var key, i;\r\n\r\n for (i = 0; i \u003C sourceKeys.length; i\u002B\u002B) {\r\n key = sourceKeys[i];\r\n if (excluded.indexOf(key) \u003E= 0) continue;\r\n target[key] = source[key];\r\n }\r\n\r\n return target;\r\n}\r\n\r\n","TestCases":[{"Name":"objectWithoutProperties","Code":"const x = { a: 1, b: 2, c: \u0027foo\u0027, d: \u0027bar\u0027 }\r\nconst y = objectWithoutProperties(x, [\u0027a\u0027, \u0027b\u0027])","IsDeferred":false},{"Name":"native spread","Code":"const x = { a: 1, b: 2, c: \u0027foo\u0027, d: \u0027bar\u0027 }\r\nconst { a, b, ...y } = x","IsDeferred":false}]}