{"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,\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]}