{"ScriptPreparationCode":null,"TestCases":[{"Name":"Test 1","Code":"const primesIdMapping = Object.freeze({\r\n 1338980: {\r\n id: 1338980,\r\n name: \u0022pUS\u0022,\r\n region: \u0022NA\u0022,\r\n country: \u0022US\u0022,\r\n obfuscatedId: \u0022A1IXFGJ6ITL7J4\u0022,\r\n formats: [\u0022pUS\u0022, \u0022PN_US\u0022, \u0022US_PRIME_NOW\u0022, \u0022Prime Now US\u0022, \u0022US (Prime Now)\u0022],\r\n },\r\n\r\n 1398340: {\r\n id: 1398340,\r\n name: \u0022pCA\u0022,\r\n region: \u0022NA\u0022,\r\n country: \u0022Canada\u0022,\r\n obfuscatedId: \u0022AWUFL3O4Q4HZJ\u0022,\r\n formats: [\u0022pCA\u0022, \u0022PN_CA\u0022, \u0022CA_PRIME_NOW\u0022, \u0022Prime Now CA\u0022, \u0022CA (Prime Now)\u0022],\r\n },\r\n\r\n 330551: {\r\n id: 330551,\r\n name: \u0022pUK\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022UK\u0022,\r\n obfuscatedId: \u0022AM7DNVYQULIQ5\u0022,\r\n formats: [\u0022pUK\u0022, \u0022PN_UK\u0022, \u0022UK_PRIME_NOW\u0022, \u0022Prime Now UK\u0022, \u0022UK (Prime Now)\u0022],\r\n },\r\n\r\n 151032: {\r\n id: 151032,\r\n name: \u0022pSG\u0022,\r\n region: \u0022FE\u0022,\r\n country: \u0022Singapore\u0022,\r\n obfuscatedId: \u0022AUK5T4I7X4ZCF\u0022,\r\n formats: [\u0022pSG\u0022, \u0022PN_SG\u0022, \u0022SG_PRIME_NOW\u0022, \u0022Prime Now SG\u0022, \u0022SG (Prime Now)\u0022],\r\n },\r\n\r\n 330921: {\r\n id: 330921,\r\n name: \u0022pFR\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022France\u0022,\r\n obfuscatedId: \u0022A2905VW864VWWF\u0022,\r\n formats: [\u0022pFR\u0022, \u0022PN_FR\u0022, \u0022FR_PRIME_NOW\u0022, \u0022Prime Now FR\u0022, \u0022FR (Prime Now)\u0022],\r\n },\r\n\r\n 330711: {\r\n id: 330711,\r\n name: \u0022pIT\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022Italy\u0022,\r\n obfuscatedId: \u0022A1TERGVA4U2MLK\u0022,\r\n formats: [\u0022pIT\u0022, \u0022PN_IT\u0022, \u0022IT_PRIME_NOW\u0022, \u0022Prime Now IT\u0022, \u0022IT (Prime Now)\u0022],\r\n },\r\n\r\n 330731: {\r\n id: 330731,\r\n name: \u0022pES\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022Spain\u0022,\r\n obfuscatedId: \u0022ACDNLAE5F4JT1\u0022,\r\n formats: [\u0022pES\u0022, \u0022PN_ES\u0022, \u0022ES_PRIME_NOW\u0022, \u0022Prime Now ES\u0022, \u0022ES (Prime Now)\u0022],\r\n },\r\n\r\n 330871: {\r\n id: 330871,\r\n name: \u0022pDE\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022Germany\u0022,\r\n obfuscatedId: \u0022A1KU16HT7ALXJ0\u0022,\r\n formats: [\u0022pDE\u0022, \u0022PN_DE\u0022, \u0022DE_PRIME_NOW\u0022, \u0022Prime Now DE\u0022, \u0022DE (Prime Now)\u0022],\r\n },\r\n\r\n 121322: {\r\n id: 121322,\r\n name: \u0022pJP\u0022,\r\n region: \u0022FE\u0022,\r\n country: \u0022Japan\u0022,\r\n obfuscatedId: \u0022A2MKBGGTHABQEV\u0022,\r\n formats: [\u0022pJP\u0022, \u0022PN_JP\u0022, \u0022JP_PRIME_NOW\u0022, \u0022Prime Now JP\u0022, \u0022JP (Prime Now)\u0022],\r\n },\r\n});\r\n\r\nconst mpNamePrimesMapping = {};\r\n\r\nfor (const prime of Object.values(primesIdMapping)) {\r\n const {\r\n formats\r\n } = prime;\r\n\r\n for (const format of formats) {\r\n const newPrime = {\r\n ...prime,\r\n name: format\r\n };\r\n mpNamePrimesMapping[format] = newPrime;\r\n }\r\n}\r\n\r\nconst emptyObject = {};\r\n\r\nconst MpNamePrimeFormat = {\r\n \u0022pUS\u0022: 0,\r\n \u0022PN_US\u0022: 1,\r\n \u0022US_PRIME_NOW\u0022: 2,\r\n \u0022Prime Now US\u0022: 3,\r\n \u0022US (Prime Now)\u0022: 4,\r\n};\r\n\r\nconst MpTargetProperty = {\r\n ALL: null,\r\n ID: \u0022id\u0022,\r\n NAME: \u0022name\u0022,\r\n REGION: \u0022region\u0022,\r\n DOMAIN: \u0022domain\u0022,\r\n COUNTRY: \u0022country\u0022,\r\n MERCHANT_ID: \u0022merchantId\u0022,\r\n OBFUSCATED_ID: \u0022obfuscatedId\u0022,\r\n};\r\n\r\nconst MpQueryProperty = {\r\n ID: \u0022id\u0022,\r\n NAME: \u0022name\u0022,\r\n DOMAIN: \u0022domain\u0022,\r\n};\r\n\r\n/**\r\n * Map for marketplaces mapped by marketplace name.\r\n *\r\n * @readonly\r\n * @type {Object\u003Cstring, {id: number, name: string, region: string}\u003E}\r\n */\r\nconst mpNameMainMapping = Object.freeze({\r\n US: {\r\n id: 1,\r\n name: \u0022US\u0022,\r\n region: \u0022NA\u0022,\r\n domain: \u0022amazon.com\u0022,\r\n country: \u0022US\u0022,\r\n merchantId: 1,\r\n obfuscatedId: \u0022ATVPDKIKX0DER\u0022,\r\n },\r\n CA: {\r\n id: 7,\r\n name: \u0022CA\u0022,\r\n region: \u0022NA\u0022,\r\n domain: \u0022amazon.ca\u0022,\r\n country: \u0022Canada\u0022,\r\n merchantId: 13,\r\n obfuscatedId: \u0022A2EUQ1WTGCTBG2\u0022,\r\n },\r\n UK: {\r\n id: 3,\r\n name: \u0022UK\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.co.uk\u0022,\r\n country: \u0022UK\u0022,\r\n merchantId: 9,\r\n obfuscatedId: \u0022A1F83G8C2ARO7P\u0022,\r\n },\r\n IN: {\r\n id: 44571,\r\n name: \u0022IN\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.in\u0022,\r\n country: \u0022India\u0022,\r\n merchantId: 830277313,\r\n obfuscatedId: \u0022A21TJRUUN4KGV\u0022,\r\n },\r\n AU: {\r\n id: 111172,\r\n name: \u0022AU\u0022,\r\n region: \u0022FE\u0022,\r\n domain: \u0022amazon.com.au\u0022,\r\n country: \u0022Australia\u0022,\r\n merchantId: 6740020445,\r\n obfuscatedId: \u0022A39IBJ37TRP1C6\u0022,\r\n },\r\n SG: {\r\n id: 104444012,\r\n name: \u0022SG\u0022,\r\n region: \u0022FE\u0022,\r\n domain: \u0022amazon.sg\u0022,\r\n country: \u0022Singapore\u0022,\r\n merchantId: 8699487222,\r\n obfuscatedId: \u0022A19VAU5U5O7RUS\u0022,\r\n },\r\n FR: {\r\n id: 5,\r\n name: \u0022FR\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.fr\u0022,\r\n country: \u0022France\u0022,\r\n merchantId: 11,\r\n obfuscatedId: \u0022A13V1IB3VIYZZH\u0022,\r\n },\r\n IT: {\r\n id: 35691,\r\n name: \u0022IT\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.it\u0022,\r\n country: \u0022Italy\u0022,\r\n merchantId: 755690533,\r\n obfuscatedId: \u0022APJ6JRA9NG5V4\u0022,\r\n },\r\n ES: {\r\n id: 44551,\r\n name: \u0022ES\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.es\u0022,\r\n country: \u0022Spain\u0022,\r\n merchantId: 695831032,\r\n obfuscatedId: \u0022A1RKKUPIHCS9HS\u0022,\r\n },\r\n DE: {\r\n id: 4,\r\n name: \u0022DE\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.de\u0022,\r\n country: \u0022Germany\u0022,\r\n merchantId: 10,\r\n obfuscatedId: \u0022A1PA6795UKMFR9\u0022,\r\n },\r\n TR: {\r\n id: 338851,\r\n name: \u0022TR\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.com.tr\u0022,\r\n country: \u0022Turkey\u0022,\r\n merchantId: 14311485635,\r\n obfuscatedId: \u0022A33AVAJ2PDY3EV\u0022,\r\n },\r\n MX: {\r\n id: 771770,\r\n name: \u0022MX\u0022,\r\n region: \u0022NA\u0022,\r\n domain: \u0022amazon.com.mx\u0022,\r\n country: \u0022Mexico\u0022,\r\n merchantId: 8833336105,\r\n obfuscatedId: \u0022A1AM78C64UM0Y8\u0022,\r\n },\r\n BR: {\r\n id: 526970,\r\n name: \u0022BR\u0022,\r\n region: \u0022NA\u0022,\r\n domain: \u0022amazon.com.br\u0022,\r\n country: \u0022Brazil\u0022,\r\n merchantId: 2091039151,\r\n obfuscatedId: \u0022A2Q3Y263D00KWC\u0022,\r\n },\r\n AE: {\r\n id: 338801,\r\n name: \u0022AE\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.ae\u0022,\r\n country: \u0022United Arab Emirates\u0022,\r\n merchantId: 18034145125,\r\n obfuscatedId: \u0022A2VIGQ35RCS4UG\u0022,\r\n },\r\n SA: {\r\n id: 338811,\r\n name: \u0022SA\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.sa\u0022,\r\n country: \u0022Saudi Arabia\u0022,\r\n merchantId: 18063832625,\r\n obfuscatedId: \u0022A17E79C6D8DWNP\u0022,\r\n },\r\n CN: {\r\n id: 3240,\r\n name: \u0022CN\u0022,\r\n region: \u0022CN\u0022,\r\n domain: \u0022amazon.cn\u0022,\r\n country: \u0022China\u0022,\r\n merchantId: 623133424,\r\n obfuscatedId: \u0022AAHKV2X7AFYLW\u0022,\r\n },\r\n JP: {\r\n id: 6,\r\n name: \u0022JP\u0022,\r\n region: \u0022FE\u0022,\r\n domain: \u0022amazon.co.jp\u0022,\r\n country: \u0022Japan\u0022,\r\n merchantId: 12,\r\n obfuscatedId: \u0022A1VC38T7YXB528\u0022,\r\n },\r\n NL: {\r\n id: 328451,\r\n name: \u0022NL\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.nl\u0022,\r\n country: \u0022Netherlands\u0022,\r\n merchantId: 7067781925,\r\n obfuscatedId: \u0022A1805IZSGTT6HS\u0022,\r\n },\r\n PL: {\r\n id: 712115121,\r\n name: \u0022PL\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.pl\u0022,\r\n country: \u0022Poland\u0022,\r\n merchantId: 54402072512,\r\n obfuscatedId: \u0022A1C3SOZRARQ6R3\u0022,\r\n },\r\n SE: {\r\n id: 704403121,\r\n name: \u0022SE\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.se\u0022,\r\n country: \u0022Sweden\u0022,\r\n merchantId: 54402660112,\r\n obfuscatedId: \u0022A2NODRKZP88ZB9\u0022,\r\n },\r\n EG: {\r\n id: 623225021,\r\n name: \u0022EG\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.eg\u0022,\r\n country: \u0022Egypt\u0022,\r\n merchantId: 176335188512,\r\n obfuscatedId: \u0022ARBP9OOSHTCHU\u0022,\r\n },\r\n});\r\n\r\nconst mpNameOthersMapping = Object.freeze({\r\n \u0022junglee.com\u0022: {\r\n id: 44561,\r\n name: \u0022junglee.com\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022junglee.com\u0022,\r\n country: \u0022India\u0022,\r\n obfuscatedId: \u0022A3M22N3OY5KY7Q\u0022,\r\n },\r\n \u0022amazondistribution.in\u0022: {\r\n id: 218691,\r\n name: \u0022amazondistribution.in\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazondistribution.in\u0022,\r\n country: \u0022India\u0022,\r\n obfuscatedId: \u0022A2D32KE73PNS33\u0022,\r\n },\r\n \u0022US (Amazon Go)\u0022: {\r\n id: 1071830,\r\n name: \u0022US (Amazon Go)\u0022,\r\n region: \u0022NA\u0022,\r\n country: \u0022US\u0022,\r\n obfuscatedId: \u0022A260JPYZJUXIHF\u0022,\r\n },\r\n \u0022US (Mendel)\u0022: {\r\n id: 884070040,\r\n name: \u0022US (Mendel)\u0022,\r\n region: \u0022NA\u0022,\r\n country: \u0022US\u0022,\r\n obfuscatedId: \u0022A1VA89I9GO62U2\u0022,\r\n },\r\n});\r\n\r\nconst mpNameAllMapping = {\r\n ...mpNameMainMapping,\r\n ...mpNamePrimesMapping,\r\n ...mpNameOthersMapping\r\n};\r\n\r\n/**\r\n * Map for marketplaces mapped by marketplace ID.\r\n *\r\n * @readonly\r\n * @type {Object\u003Cnumber, {id: number, name: string, region: string}\u003E}\r\n */\r\nconst mpIdMapping = {};\r\n\r\n/**\r\n * Map for marketplaces mapped by marketplace ID.\r\n *\r\n * @readonly\r\n * @type {Object\u003Cnumber, {id: number, name: string, region: string}\u003E}\r\n */\r\nconst mpRegionMapping = {};\r\n\r\n/**\r\n * Map for marketplaces mapped by marketplace ID.\r\n *\r\n * @readonly\r\n * @type {Object\u003Cnumber, {id: number, name: string, region: string}\u003E}\r\n */\r\nconst mpDomainMapping = {};\r\n\r\nfor (const value of Object.values(mpNameAllMapping)) {\r\n const {\r\n id\r\n } = value;\r\n\r\n if (!mpIdMapping[id]) {\r\n mpIdMapping[id] = value;\r\n }\r\n}\r\n\r\nfor (const value of Object.values(mpNameMainMapping)) {\r\n const {\r\n name,\r\n region,\r\n domain\r\n } = value;\r\n\r\n if (!mpRegionMapping[region]) {\r\n mpRegionMapping[region] = {};\r\n }\r\n\r\n if (!mpRegionMapping[region][name]) {\r\n mpRegionMapping[region][name] = value;\r\n }\r\n\r\n if (!mpDomainMapping[domain]) {\r\n mpDomainMapping[domain] = value;\r\n }\r\n}\r\n\r\nconst getMpTargetPropertyByQueryProperty = ({\r\n targetProperty,\r\n queryProperty,\r\n queryValue,\r\n primeFormat\r\n}) =\u003E {\r\n let mpData = null;\r\n let result;\r\n\r\n switch (queryProperty) {\r\n case MpQueryProperty.ID: {\r\n mpData = mpIdMapping[queryValue] || emptyObject;\r\n break;\r\n }\r\n\r\n case MpQueryProperty.NAME: {\r\n mpData = mpNameAllMapping[queryValue] || emptyObject;\r\n break;\r\n }\r\n\r\n case MpQueryProperty.DOMAIN: {\r\n mpData = mpDomainMapping[queryValue] || emptyObject;\r\n break;\r\n }\r\n\r\n default: {\r\n mpData = emptyObject;\r\n break;\r\n }\r\n }\r\n\r\n if (primeFormat) {\r\n const {\r\n formats\r\n } = mpData;\r\n\r\n if (formats) {\r\n const primeName = formats[primeFormat];\r\n result = mpNamePrimesMapping[primeName] || emptyObject;\r\n } else {\r\n result = mpData;\r\n }\r\n } else {\r\n result = mpData;\r\n }\r\n\r\n return targetProperty ? result[targetProperty] : result;\r\n};\r\n\r\nconst getMpIdByName = (name) =\u003E {\r\n return getMpTargetPropertyByQueryProperty({\r\n targetProperty: MpTargetProperty.ID,\r\n queryProperty: MpQueryProperty.NAME,\r\n queryValue: name,\r\n });\r\n};\r\n\r\ngetMpIdByName(\u0022CA\u0022);","IsDeferred":false},{"Name":"Test 2","Code":"const primesIdMapping = Object.freeze({\r\n 1338980: {\r\n id: 1338980,\r\n name: \u0022pUS\u0022,\r\n region: \u0022NA\u0022,\r\n country: \u0022US\u0022,\r\n obfuscatedId: \u0022A1IXFGJ6ITL7J4\u0022,\r\n formats: [\u0022pUS\u0022, \u0022PN_US\u0022, \u0022US_PRIME_NOW\u0022, \u0022Prime Now US\u0022, \u0022US (Prime Now)\u0022],\r\n },\r\n\r\n 1398340: {\r\n id: 1398340,\r\n name: \u0022pCA\u0022,\r\n region: \u0022NA\u0022,\r\n country: \u0022Canada\u0022,\r\n obfuscatedId: \u0022AWUFL3O4Q4HZJ\u0022,\r\n formats: [\u0022pCA\u0022, \u0022PN_CA\u0022, \u0022CA_PRIME_NOW\u0022, \u0022Prime Now CA\u0022, \u0022CA (Prime Now)\u0022],\r\n },\r\n\r\n 330551: {\r\n id: 330551,\r\n name: \u0022pUK\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022UK\u0022,\r\n obfuscatedId: \u0022AM7DNVYQULIQ5\u0022,\r\n formats: [\u0022pUK\u0022, \u0022PN_UK\u0022, \u0022UK_PRIME_NOW\u0022, \u0022Prime Now UK\u0022, \u0022UK (Prime Now)\u0022],\r\n },\r\n\r\n 151032: {\r\n id: 151032,\r\n name: \u0022pSG\u0022,\r\n region: \u0022FE\u0022,\r\n country: \u0022Singapore\u0022,\r\n obfuscatedId: \u0022AUK5T4I7X4ZCF\u0022,\r\n formats: [\u0022pSG\u0022, \u0022PN_SG\u0022, \u0022SG_PRIME_NOW\u0022, \u0022Prime Now SG\u0022, \u0022SG (Prime Now)\u0022],\r\n },\r\n\r\n 330921: {\r\n id: 330921,\r\n name: \u0022pFR\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022France\u0022,\r\n obfuscatedId: \u0022A2905VW864VWWF\u0022,\r\n formats: [\u0022pFR\u0022, \u0022PN_FR\u0022, \u0022FR_PRIME_NOW\u0022, \u0022Prime Now FR\u0022, \u0022FR (Prime Now)\u0022],\r\n },\r\n\r\n 330711: {\r\n id: 330711,\r\n name: \u0022pIT\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022Italy\u0022,\r\n obfuscatedId: \u0022A1TERGVA4U2MLK\u0022,\r\n formats: [\u0022pIT\u0022, \u0022PN_IT\u0022, \u0022IT_PRIME_NOW\u0022, \u0022Prime Now IT\u0022, \u0022IT (Prime Now)\u0022],\r\n },\r\n\r\n 330731: {\r\n id: 330731,\r\n name: \u0022pES\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022Spain\u0022,\r\n obfuscatedId: \u0022ACDNLAE5F4JT1\u0022,\r\n formats: [\u0022pES\u0022, \u0022PN_ES\u0022, \u0022ES_PRIME_NOW\u0022, \u0022Prime Now ES\u0022, \u0022ES (Prime Now)\u0022],\r\n },\r\n\r\n 330871: {\r\n id: 330871,\r\n name: \u0022pDE\u0022,\r\n region: \u0022EU\u0022,\r\n country: \u0022Germany\u0022,\r\n obfuscatedId: \u0022A1KU16HT7ALXJ0\u0022,\r\n formats: [\u0022pDE\u0022, \u0022PN_DE\u0022, \u0022DE_PRIME_NOW\u0022, \u0022Prime Now DE\u0022, \u0022DE (Prime Now)\u0022],\r\n },\r\n\r\n 121322: {\r\n id: 121322,\r\n name: \u0022pJP\u0022,\r\n region: \u0022FE\u0022,\r\n country: \u0022Japan\u0022,\r\n obfuscatedId: \u0022A2MKBGGTHABQEV\u0022,\r\n formats: [\u0022pJP\u0022, \u0022PN_JP\u0022, \u0022JP_PRIME_NOW\u0022, \u0022Prime Now JP\u0022, \u0022JP (Prime Now)\u0022],\r\n },\r\n});\r\n\r\nconst mpNamePrimesMapping = {};\r\n\r\nfor (const prime of Object.values(primesIdMapping)) {\r\n const {\r\n formats\r\n } = prime;\r\n\r\n for (const format of formats) {\r\n const newPrime = {\r\n ...prime,\r\n name: format\r\n };\r\n mpNamePrimesMapping[format] = newPrime;\r\n }\r\n}\r\n\r\nconst emptyObject = {};\r\n\r\nconst MpNamePrimeFormat = {\r\n \u0022pUS\u0022: 0,\r\n \u0022PN_US\u0022: 1,\r\n \u0022US_PRIME_NOW\u0022: 2,\r\n \u0022Prime Now US\u0022: 3,\r\n \u0022US (Prime Now)\u0022: 4,\r\n};\r\n\r\nconst MpTargetProperty = {\r\n ALL: null,\r\n ID: \u0022id\u0022,\r\n NAME: \u0022name\u0022,\r\n REGION: \u0022region\u0022,\r\n DOMAIN: \u0022domain\u0022,\r\n COUNTRY: \u0022country\u0022,\r\n MERCHANT_ID: \u0022merchantId\u0022,\r\n OBFUSCATED_ID: \u0022obfuscatedId\u0022,\r\n};\r\n\r\nconst MpQueryProperty = {\r\n ID: \u0022id\u0022,\r\n NAME: \u0022name\u0022,\r\n DOMAIN: \u0022domain\u0022,\r\n};\r\n\r\n/**\r\n * Map for marketplaces mapped by marketplace name.\r\n *\r\n * @readonly\r\n * @type {Object\u003Cstring, {id: number, name: string, region: string}\u003E}\r\n */\r\nconst mpNameMainMapping = Object.freeze({\r\n US: {\r\n id: 1,\r\n name: \u0022US\u0022,\r\n region: \u0022NA\u0022,\r\n domain: \u0022amazon.com\u0022,\r\n country: \u0022US\u0022,\r\n merchantId: 1,\r\n obfuscatedId: \u0022ATVPDKIKX0DER\u0022,\r\n },\r\n CA: {\r\n id: 7,\r\n name: \u0022CA\u0022,\r\n region: \u0022NA\u0022,\r\n domain: \u0022amazon.ca\u0022,\r\n country: \u0022Canada\u0022,\r\n merchantId: 13,\r\n obfuscatedId: \u0022A2EUQ1WTGCTBG2\u0022,\r\n },\r\n UK: {\r\n id: 3,\r\n name: \u0022UK\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.co.uk\u0022,\r\n country: \u0022UK\u0022,\r\n merchantId: 9,\r\n obfuscatedId: \u0022A1F83G8C2ARO7P\u0022,\r\n },\r\n IN: {\r\n id: 44571,\r\n name: \u0022IN\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.in\u0022,\r\n country: \u0022India\u0022,\r\n merchantId: 830277313,\r\n obfuscatedId: \u0022A21TJRUUN4KGV\u0022,\r\n },\r\n AU: {\r\n id: 111172,\r\n name: \u0022AU\u0022,\r\n region: \u0022FE\u0022,\r\n domain: \u0022amazon.com.au\u0022,\r\n country: \u0022Australia\u0022,\r\n merchantId: 6740020445,\r\n obfuscatedId: \u0022A39IBJ37TRP1C6\u0022,\r\n },\r\n SG: {\r\n id: 104444012,\r\n name: \u0022SG\u0022,\r\n region: \u0022FE\u0022,\r\n domain: \u0022amazon.sg\u0022,\r\n country: \u0022Singapore\u0022,\r\n merchantId: 8699487222,\r\n obfuscatedId: \u0022A19VAU5U5O7RUS\u0022,\r\n },\r\n FR: {\r\n id: 5,\r\n name: \u0022FR\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.fr\u0022,\r\n country: \u0022France\u0022,\r\n merchantId: 11,\r\n obfuscatedId: \u0022A13V1IB3VIYZZH\u0022,\r\n },\r\n IT: {\r\n id: 35691,\r\n name: \u0022IT\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.it\u0022,\r\n country: \u0022Italy\u0022,\r\n merchantId: 755690533,\r\n obfuscatedId: \u0022APJ6JRA9NG5V4\u0022,\r\n },\r\n ES: {\r\n id: 44551,\r\n name: \u0022ES\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.es\u0022,\r\n country: \u0022Spain\u0022,\r\n merchantId: 695831032,\r\n obfuscatedId: \u0022A1RKKUPIHCS9HS\u0022,\r\n },\r\n DE: {\r\n id: 4,\r\n name: \u0022DE\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.de\u0022,\r\n country: \u0022Germany\u0022,\r\n merchantId: 10,\r\n obfuscatedId: \u0022A1PA6795UKMFR9\u0022,\r\n },\r\n TR: {\r\n id: 338851,\r\n name: \u0022TR\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.com.tr\u0022,\r\n country: \u0022Turkey\u0022,\r\n merchantId: 14311485635,\r\n obfuscatedId: \u0022A33AVAJ2PDY3EV\u0022,\r\n },\r\n MX: {\r\n id: 771770,\r\n name: \u0022MX\u0022,\r\n region: \u0022NA\u0022,\r\n domain: \u0022amazon.com.mx\u0022,\r\n country: \u0022Mexico\u0022,\r\n merchantId: 8833336105,\r\n obfuscatedId: \u0022A1AM78C64UM0Y8\u0022,\r\n },\r\n BR: {\r\n id: 526970,\r\n name: \u0022BR\u0022,\r\n region: \u0022NA\u0022,\r\n domain: \u0022amazon.com.br\u0022,\r\n country: \u0022Brazil\u0022,\r\n merchantId: 2091039151,\r\n obfuscatedId: \u0022A2Q3Y263D00KWC\u0022,\r\n },\r\n AE: {\r\n id: 338801,\r\n name: \u0022AE\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.ae\u0022,\r\n country: \u0022United Arab Emirates\u0022,\r\n merchantId: 18034145125,\r\n obfuscatedId: \u0022A2VIGQ35RCS4UG\u0022,\r\n },\r\n SA: {\r\n id: 338811,\r\n name: \u0022SA\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.sa\u0022,\r\n country: \u0022Saudi Arabia\u0022,\r\n merchantId: 18063832625,\r\n obfuscatedId: \u0022A17E79C6D8DWNP\u0022,\r\n },\r\n CN: {\r\n id: 3240,\r\n name: \u0022CN\u0022,\r\n region: \u0022CN\u0022,\r\n domain: \u0022amazon.cn\u0022,\r\n country: \u0022China\u0022,\r\n merchantId: 623133424,\r\n obfuscatedId: \u0022AAHKV2X7AFYLW\u0022,\r\n },\r\n JP: {\r\n id: 6,\r\n name: \u0022JP\u0022,\r\n region: \u0022FE\u0022,\r\n domain: \u0022amazon.co.jp\u0022,\r\n country: \u0022Japan\u0022,\r\n merchantId: 12,\r\n obfuscatedId: \u0022A1VC38T7YXB528\u0022,\r\n },\r\n NL: {\r\n id: 328451,\r\n name: \u0022NL\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.nl\u0022,\r\n country: \u0022Netherlands\u0022,\r\n merchantId: 7067781925,\r\n obfuscatedId: \u0022A1805IZSGTT6HS\u0022,\r\n },\r\n PL: {\r\n id: 712115121,\r\n name: \u0022PL\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.pl\u0022,\r\n country: \u0022Poland\u0022,\r\n merchantId: 54402072512,\r\n obfuscatedId: \u0022A1C3SOZRARQ6R3\u0022,\r\n },\r\n SE: {\r\n id: 704403121,\r\n name: \u0022SE\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.se\u0022,\r\n country: \u0022Sweden\u0022,\r\n merchantId: 54402660112,\r\n obfuscatedId: \u0022A2NODRKZP88ZB9\u0022,\r\n },\r\n EG: {\r\n id: 623225021,\r\n name: \u0022EG\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazon.eg\u0022,\r\n country: \u0022Egypt\u0022,\r\n merchantId: 176335188512,\r\n obfuscatedId: \u0022ARBP9OOSHTCHU\u0022,\r\n },\r\n});\r\n\r\nconst mpNameOthersMapping = Object.freeze({\r\n \u0022junglee.com\u0022: {\r\n id: 44561,\r\n name: \u0022junglee.com\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022junglee.com\u0022,\r\n country: \u0022India\u0022,\r\n obfuscatedId: \u0022A3M22N3OY5KY7Q\u0022,\r\n },\r\n \u0022amazondistribution.in\u0022: {\r\n id: 218691,\r\n name: \u0022amazondistribution.in\u0022,\r\n region: \u0022EU\u0022,\r\n domain: \u0022amazondistribution.in\u0022,\r\n country: \u0022India\u0022,\r\n obfuscatedId: \u0022A2D32KE73PNS33\u0022,\r\n },\r\n \u0022US (Amazon Go)\u0022: {\r\n id: 1071830,\r\n name: \u0022US (Amazon Go)\u0022,\r\n region: \u0022NA\u0022,\r\n country: \u0022US\u0022,\r\n obfuscatedId: \u0022A260JPYZJUXIHF\u0022,\r\n },\r\n \u0022US (Mendel)\u0022: {\r\n id: 884070040,\r\n name: \u0022US (Mendel)\u0022,\r\n region: \u0022NA\u0022,\r\n country: \u0022US\u0022,\r\n obfuscatedId: \u0022A1VA89I9GO62U2\u0022,\r\n },\r\n});\r\n\r\nconst mpNameAllMapping = {\r\n ...mpNameMainMapping,\r\n ...mpNamePrimesMapping,\r\n ...mpNameOthersMapping\r\n};\r\n\r\n/**\r\n * Map for marketplaces mapped by marketplace ID.\r\n *\r\n * @readonly\r\n * @type {Object\u003Cnumber, {id: number, name: string, region: string}\u003E}\r\n */\r\nconst mpIdMapping = {};\r\n\r\n/**\r\n * Map for marketplaces mapped by marketplace ID.\r\n *\r\n * @readonly\r\n * @type {Object\u003Cnumber, {id: number, name: string, region: string}\u003E}\r\n */\r\nconst mpRegionMapping = {};\r\n\r\n/**\r\n * Map for marketplaces mapped by marketplace ID.\r\n *\r\n * @readonly\r\n * @type {Object\u003Cnumber, {id: number, name: string, region: string}\u003E}\r\n */\r\nconst mpDomainMapping = {};\r\n\r\nfor (const value of Object.values(mpNameAllMapping)) {\r\n const {\r\n id\r\n } = value;\r\n\r\n if (!mpIdMapping[id]) {\r\n mpIdMapping[id] = value;\r\n }\r\n}\r\n\r\nfor (const value of Object.values(mpNameMainMapping)) {\r\n const {\r\n name,\r\n region,\r\n domain\r\n } = value;\r\n\r\n if (!mpRegionMapping[region]) {\r\n mpRegionMapping[region] = {};\r\n }\r\n\r\n if (!mpRegionMapping[region][name]) {\r\n mpRegionMapping[region][name] = value;\r\n }\r\n\r\n if (!mpDomainMapping[domain]) {\r\n mpDomainMapping[domain] = value;\r\n }\r\n}\r\n\r\nconst getMpTargetPropertyByQueryProperty = ({\r\n targetProperty,\r\n queryProperty,\r\n queryValue,\r\n primeFormat\r\n}) =\u003E {\r\n let mpData = null;\r\n let result;\r\n\r\n switch (queryProperty) {\r\n case MpQueryProperty.ID: {\r\n mpData = mpIdMapping[queryValue] || emptyObject;\r\n break;\r\n }\r\n\r\n case MpQueryProperty.NAME: {\r\n mpData = mpNameAllMapping[queryValue] || emptyObject;\r\n break;\r\n }\r\n\r\n case MpQueryProperty.DOMAIN: {\r\n mpData = mpDomainMapping[queryValue] || emptyObject;\r\n break;\r\n }\r\n\r\n default: {\r\n mpData = emptyObject;\r\n break;\r\n }\r\n }\r\n\r\n if (primeFormat) {\r\n const {\r\n formats\r\n } = mpData;\r\n\r\n if (formats) {\r\n const primeName = formats[primeFormat];\r\n result = mpNamePrimesMapping[primeName] || emptyObject;\r\n } else {\r\n result = mpData;\r\n }\r\n } else {\r\n result = mpData;\r\n }\r\n\r\n return targetProperty ? result[targetProperty] : result;\r\n};\r\n\r\nconst getMpIdByName = (name) =\u003E {\r\n return (mpNameAllMapping[name] || emptyObject).id;\r\n};\r\n\r\ngetMpIdByName(\u0022CA\u0022);","IsDeferred":false}]}