{"ast":null,"code":"\"use strict\";\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar react_1 = __importDefault(require(\"react\"));\n\nvar side_effect_1 = __importDefault(require(\"./side-effect\"));\n\nvar amp_context_1 = require(\"./amp-context\");\n\nvar head_manager_context_1 = require(\"./head-manager-context\");\n\nvar amp_1 = require(\"./amp\");\n\nfunction defaultHead() {\n var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var head = [react_1[\"default\"].createElement(\"meta\", {\n charSet: \"utf-8\"\n })];\n\n if (!inAmpMode) {\n head.push(react_1[\"default\"].createElement(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n\n return head;\n}\n\nexports.defaultHead = defaultHead;\n\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list;\n } // Adds support for React.Fragment\n\n\n if (child.type === react_1[\"default\"].Fragment) {\n return list.concat(react_1[\"default\"].Children.toArray(child.props.children).reduce(function (fragmentList, fragmentChild) {\n if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {\n return fragmentList;\n }\n\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n\n return list.concat(child);\n}\n\nvar METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like