{"version":3,"sources":["../../../../src/shared/lib/match-remote-pattern.ts"],"sourcesContent":["import type { RemotePattern } from './image-config'\nimport { makeRe } from 'next/dist/compiled/picomatch'\n\n// Modifying this function should also modify writeImagesManifest()\nexport function matchRemotePattern(\n  pattern: RemotePattern | URL,\n  url: URL\n): boolean {\n  if (pattern.protocol !== undefined) {\n    if (pattern.protocol.replace(/:$/, '') !== url.protocol.replace(/:$/, '')) {\n      return false\n    }\n  }\n  if (pattern.port !== undefined) {\n    if (pattern.port !== url.port) {\n      return false\n    }\n  }\n\n  if (pattern.hostname === undefined) {\n    throw new Error(\n      `Pattern should define hostname but found\\n${JSON.stringify(pattern)}`\n    )\n  } else {\n    if (!makeRe(pattern.hostname).test(url.hostname)) {\n      return false\n    }\n  }\n\n  if (pattern.search !== undefined) {\n    if (pattern.search !== url.search) {\n      return false\n    }\n  }\n\n  // Should be the same as writeImagesManifest()\n  if (!makeRe(pattern.pathname ?? '**', { dot: true }).test(url.pathname)) {\n    return false\n  }\n\n  return true\n}\n\nexport function hasRemoteMatch(\n  domains: string[],\n  remotePatterns: Array<RemotePattern | URL>,\n  url: URL\n): boolean {\n  return (\n    domains.some((domain) => url.hostname === domain) ||\n    remotePatterns.some((p) => matchRemotePattern(p, url))\n  )\n}\n"],"names":["makeRe","matchRemotePattern","pattern","url","protocol","undefined","replace","port","hostname","Error","JSON","stringify","test","search","pathname","dot","hasRemoteMatch","domains","remotePatterns","some","domain","p"],"mappings":"AACA,SAASA,MAAM,QAAQ,+BAA8B;AAErD,mEAAmE;AACnE,OAAO,SAASC,mBACdC,OAA4B,EAC5BC,GAAQ;IAER,IAAID,QAAQE,QAAQ,KAAKC,WAAW;QAClC,IAAIH,QAAQE,QAAQ,CAACE,OAAO,CAAC,MAAM,QAAQH,IAAIC,QAAQ,CAACE,OAAO,CAAC,MAAM,KAAK;YACzE,OAAO;QACT;IACF;IACA,IAAIJ,QAAQK,IAAI,KAAKF,WAAW;QAC9B,IAAIH,QAAQK,IAAI,KAAKJ,IAAII,IAAI,EAAE;YAC7B,OAAO;QACT;IACF;IAEA,IAAIL,QAAQM,QAAQ,KAAKH,WAAW;QAClC,MAAM,qBAEL,CAFK,IAAII,MACR,CAAC,0CAA0C,EAAEC,KAAKC,SAAS,CAACT,UAAU,GADlE,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF,OAAO;QACL,IAAI,CAACF,OAAOE,QAAQM,QAAQ,EAAEI,IAAI,CAACT,IAAIK,QAAQ,GAAG;YAChD,OAAO;QACT;IACF;IAEA,IAAIN,QAAQW,MAAM,KAAKR,WAAW;QAChC,IAAIH,QAAQW,MAAM,KAAKV,IAAIU,MAAM,EAAE;YACjC,OAAO;QACT;IACF;IAEA,8CAA8C;IAC9C,IAAI,CAACb,OAAOE,QAAQY,QAAQ,IAAI,MAAM;QAAEC,KAAK;IAAK,GAAGH,IAAI,CAACT,IAAIW,QAAQ,GAAG;QACvE,OAAO;IACT;IAEA,OAAO;AACT;AAEA,OAAO,SAASE,eACdC,OAAiB,EACjBC,cAA0C,EAC1Cf,GAAQ;IAER,OACEc,QAAQE,IAAI,CAAC,CAACC,SAAWjB,IAAIK,QAAQ,KAAKY,WAC1CF,eAAeC,IAAI,CAAC,CAACE,IAAMpB,mBAAmBoB,GAAGlB;AAErD","ignoreList":[0]}