{"ScriptPreparationCode":"var a = {bla: 1, heyo: 2, afdsda: 3, innerRef: 4, ad: 5};\r\nvar b = {hasFocusPriority: 1, heyo: 2, afdsda: 3, innerRef: 4, ad: 5};\r\nvar c = {hasFocusPriority: 1, ref: 2, onFocus: 3, innerRef: 4, onNativeBlur: 5};\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 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 return target;\r\n}\r\n\r\nfunction _altGenerated(target, source, excluded) {\r\n for (var key in source) {\r\n if (!excluded(key)) target[key] = source[key];\r\n }\r\n return target;\r\n}\r\n\r\nfunction destructure(props) {\r\n return Object.assign(\r\n {ref: 1, onFocus: 2, onBlur: 3},\r\n _objectWithoutPropertiesLoose(props, [\r\n \u0027innerRef\u0027,\r\n \u0027hasFocusPriority\u0027,\r\n \u0027ref\u0027,\r\n \u0027onFocus\u0027,\r\n \u0027onBlur\u0027,\r\n \u0027onNativeFocus\u0027,\r\n \u0027onNativeBlur\u0027,\r\n ])\r\n );\r\n}\r\n\r\nfunction destructureAlt(props) {\r\n return _altGenerated(\r\n {ref: 1, onFocus: 2, onBlur: 3},\r\n props,\r\n key =\u003E\r\n key === \u0027innerRef\u0027 ||\r\n key === \u0027hasFocusPriority\u0027 ||\r\n key === \u0027ref\u0027 ||\r\n key === \u0027onFocus\u0027 ||\r\n key === \u0027onBlur\u0027 ||\r\n key === \u0027onNativeFocus\u0027 ||\r\n key === \u0027onNativeBlur\u0027\r\n );\r\n}\r\n\r\nfunction manual(props) {\r\n var childProps = {\r\n ref: 1,\r\n onFocus: 2,\r\n onBlur: 3,\r\n };\r\n\r\n for (let key in props) {\r\n switch (key) {\r\n case \u0027innerRef\u0027:\r\n case \u0027hasFocusPriority\u0027:\r\n case \u0027ref\u0027: // I do not know if this one could happen\r\n case \u0027onFocus\u0027:\r\n case \u0027onBlur\u0027:\r\n case \u0027onNativeFocus\u0027:\r\n case \u0027onNativeBlur\u0027:\r\n break;\r\n default:\r\n childProps[key] = props[key];\r\n }\r\n }\r\n\r\n return childProps;\r\n}\r\n\r\nfunction manual2(props) {\r\n var childProps = {\r\n ref: 1,\r\n onFocus: 2,\r\n onBlur: 3,\r\n };\r\n\r\n let keys = Object.keys(props);\r\n for (let i = 0; i \u003C keys.length; i\u002B\u002B) {\r\n let key = keys[i];\r\n switch (key) {\r\n case \u0027innerRef\u0027:\r\n case \u0027hasFocusPriority\u0027:\r\n case \u0027ref\u0027: // I do not know if this one could happen\r\n case \u0027onFocus\u0027:\r\n case \u0027onBlur\u0027:\r\n case \u0027onNativeFocus\u0027:\r\n case \u0027onNativeBlur\u0027:\r\n break;\r\n default:\r\n childProps[key] = props[key];\r\n }\r\n }\r\n\r\n return childProps;\r\n}","TestCases":[{"Name":"A","Code":"destructureAlt(a);\r\ndestructureAlt(b);\r\ndestructureAlt(c);\r\n","IsDeferred":false},{"Name":"B","Code":"manual(a);\r\nmanual(b);\r\nmanual(c);\r\n","IsDeferred":false},{"Name":"C","Code":"manual2(a);\r\nmanual2(b);\r\nmanual2(c);","IsDeferred":false}]}