{"version":3,"sources":["../../../../../src/server/app-render/metadata-insertion/create-server-inserted-metadata.tsx"],"sourcesContent":["import { htmlEscapeAttributeString } from '../../../shared/lib/htmlescape'\n\n/**\n * For chromium based browsers (Chrome, Edge, etc.) and Safari,\n * icons need to stay under <head> to be picked up by the browser.\n *\n */\nconst REINSERT_ICON_SCRIPT = `\\\ndocument.querySelectorAll('body link[rel=\"icon\"], body link[rel=\"apple-touch-icon\"]').forEach(el => document.head.appendChild(el))`\n\nexport function createServerInsertedMetadata(nonce: string | undefined) {\n  let inserted = false\n\n  return async function getServerInsertedMetadata(): Promise<string> {\n    if (inserted) {\n      return ''\n    }\n\n    inserted = true\n    return `<script${\n      nonce ? ` nonce=\"${htmlEscapeAttributeString(nonce)}\"` : ''\n    }>${REINSERT_ICON_SCRIPT}</script>`\n  }\n}\n"],"names":["htmlEscapeAttributeString","REINSERT_ICON_SCRIPT","createServerInsertedMetadata","nonce","inserted","getServerInsertedMetadata"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ,iCAAgC;AAE1E;;;;CAIC,GACD,MAAMC,uBAAuB,CAAC;kIACoG,CAAC;AAEnI,OAAO,SAASC,6BAA6BC,KAAyB;IACpE,IAAIC,WAAW;IAEf,OAAO,eAAeC;QACpB,IAAID,UAAU;YACZ,OAAO;QACT;QAEAA,WAAW;QACX,OAAO,CAAC,OAAO,EACbD,QAAQ,CAAC,QAAQ,EAAEH,0BAA0BG,OAAO,CAAC,CAAC,GAAG,GAC1D,CAAC,EAAEF,qBAAqB,SAAS,CAAC;IACrC;AACF","ignoreList":[0]}