{"version":3,"sources":["webpack://pdp-tabs-hack/../src/multi-observer.ts","webpack://pdp-tabs-hack/./src/index.js"],"names":["f","observeDocument","domList","value","then","primaryCategory","window","config","padl","namespace","dataLayer","page","pageInfo","blockPDPIDStartsWith","toUpperCase","container","MutationObserver","mutations","_","addedNodes","querySelector","nwc","load","observe","childList","directNode","_prev","document","body","parentElement","documentElement","targetPredicate","addedNode","nodeName","getElementById","prev","classList","contains","Promise","resolve","args","i","arguments","length","apply","e","reject"],"mappings":"2mCA0DsB,O,EAEI,EACtB,CACE,CACE,WAAY,SAAC,GAAD,OAAW,SAAS,MAChC,cAAe,SAAC,GAAD,OAAW,SAAS,iBACnC,gBAAiB,SAAC,GAAD,MAAsC,SAAvB,EAAU,WAE5C,CACE,WAAY,SAAC,GAAD,OAAW,SAAS,eAAe,SAC/C,cAAe,SAAC,GAAD,OAAU,GACzB,gBAAiB,SAAC,GAAD,MAAsC,SAAvB,EAAU,WAE5C,CACE,WAAY,SAAC,GAAD,OAAW,MACvB,cAAe,SAAC,GAAD,OACb,SAAS,cAAT,iBACF,gBAAiB,SAAC,GAAD,MACQ,QAAvB,EAAU,UACV,EAAU,UAAU,SAAS,qBAGnC,O,gDCXmBA,EDjDR,E,YACb,EACA,EACA,EACA,GAEE,OAAK,IAAI,SAAQ,SAAC,GAClB,GAAkB,MAAd,EAAJ,CAIA,IAAM,EAAe,IAAI,kBAAiB,SAAC,EAAW,GACpD,cAAuB,KAAvB,aACE,IADgC,IAChC,MADgC,QACC,cAAjC,aAA6C,KAAlC,EAAkC,QAC3C,GAAI,EAAgB,GAGlB,OAFA,EAAa,kBACb,EAAQ,OAMZ,EAAS,QAAQ,EAAe,CAAE,WAAW,IAC7C,YAAO,kBAAM,EAAa,eAAc,QAf1C,EAAQ,SA7BQC,EAAtB,YAAsCC,EAAqB,GAAe,OACjC,EAAQ,QAAR,SAEnC,EAFmC,GAIjC,IADA,EACA,EADA,WAAY,EACZ,EADY,cAAe,EAC3B,EAD2B,gBAC3B,SACiB,GADjB,SACI,GACN,IAAM,EAAgB,EAAW,GAC3B,EAAmB,EAAc,GAHrC,SAIW,EACX,EACA,EACA,EACA,SAGJ,S,uzBCsDmBF,E,WAnEnB,IAiFmBG,EAAOC,EAjFpBC,EAAkBC,QAAUA,OAAOA,OAAOC,OAAOC,KAAKC,WAAWC,UAAUC,KAAKA,KAAKC,SAASP,gBAChGQ,EAAuB,8BAFP,MAIiB,YAAlCR,EAAgBS,cACfD,EAAuB,8BAEe,YAAlCR,EAAgBS,cACpBD,EAAuB,8BAEe,cAAlCR,EAAgBS,gBACpBD,EAAuB,iCAuEDT,EAlFN,SAadW,GAoBe,IAAIC,kBAAiB,SAACC,EAAWC,GAClD,cAAuBD,KAAvB,aACI,IAD8B,IAC9B,MAD8B,QACGE,cAAjC,aACI,GADyC,QAC3BC,cAAc,uBAExB,YADAd,OAAOe,KAAOf,OAAOe,IAAIC,MAAK,OAMjCC,QAAQR,EAAW,CAAES,WAAW,MAuC1BrB,EArEKF,EACpB,CACI,CACIwB,WAAY,SAACC,GAAD,OAAWC,SAASC,MAChCC,cAAe,SAACH,GAAD,OAAWC,SAASG,iBACnCC,gBAAiB,SAACC,GAAD,MAAsC,SAAvBA,EAAUC,WAE9C,CACIR,WAAY,SAACC,GAAD,OAAWC,SAASO,eAAe,SAC/CL,cAAe,SAACM,GAAD,OAAUA,GACzBJ,gBAAiB,SAACC,GAAD,MAAsC,SAAvBA,EAAUC,WAE9C,CACIR,WAAY,SAACC,GAAD,OAAWA,EAAMN,cAAc,oBAC3CS,cAAe,SAACH,GAAD,OAAWC,SAASP,cAAT,SAAgCP,EAAhC,OAC1BkB,gBAAiB,SAACC,GAAD,MAAsC,QAAvBA,EAAUC,UAAsBD,EAAUI,UAAUC,SAAS,qBAGrG,OAuDQlC,EAAMC,OACpBD,EAAQmC,QAAQC,QAAQpC,IAElBC,EAAOD,EAAMC,KAAKA,GAAQD,GApB1B,WACN,IAAK,IAAIqC,EAAO,GAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAChDD,EAAKC,GAAKC,UAAUD,GAErB,IACC,OAAOH,QAAQC,QAAQvC,EAAE4C,MAAM,KAAMJ,IACpC,MAAMK,GACP,OAAOP,QAAQQ,OAAOD,Q","file":"main.js","sourcesContent":["export async function observeDocument(domList, timeout) {\n const currentNode = await domList.reduce(async (acc, { directNode, parentElement, targetPredicate }) => {\n const prev = await acc;\n const directNodeRef = directNode(prev);\n const parentElementRef = parentElement(prev);\n return await observeNode(directNodeRef, parentElementRef, targetPredicate, timeout);\n }, null);\n return currentNode;\n}\nasync function observeNode(directNode, parentElement, targetPredicate, timeout) {\n return new Promise((resolve) => {\n if (directNode != null) {\n resolve(directNode);\n return;\n }\n const nodeObserver = new MutationObserver((mutations, _) => {\n for (const mutation of mutations) {\n for (const addedNode of mutation.addedNodes) {\n if (targetPredicate(addedNode)) {\n nodeObserver.disconnect();\n resolve(addedNode);\n return;\n }\n }\n }\n });\n nodeObserver.observe(parentElement, { childList: true });\n setTimeout(() => nodeObserver.disconnect(), timeout);\n });\n}\nasync function example() {\n const blockPDPIDStartsWith = 'test';\n const container = await observeDocument([\n {\n directNode: (_prev) => document.body,\n parentElement: (_prev) => document.documentElement,\n targetPredicate: (addedNode) => addedNode.nodeName === 'BODY',\n },\n {\n directNode: (_prev) => document.getElementById('main'),\n parentElement: (prev) => prev,\n targetPredicate: (addedNode) => addedNode.nodeName === 'MAIN',\n },\n {\n directNode: (_prev) => null,\n parentElement: (_prev) => document.querySelector(`[id*=\"${blockPDPIDStartsWith}\"]`),\n targetPredicate: (addedNode) => addedNode.nodeName === 'DIV' &&\n addedNode.classList.contains('ProductDetails'),\n },\n ], 8000);\n}\n//# sourceMappingURL=multi-observer.js.map","import { observeDocument } from 'multi-observer'\n\nasync function runHack(){\n const primaryCategory = window && window[window.config.padl.namespace].dataLayer.page.page.pageInfo.primaryCategory\n let blockPDPIDStartsWith = 'respProductDetailPDPMachine'\n\n if(primaryCategory.toUpperCase() === 'MACHINE'){\n blockPDPIDStartsWith = 'respProductDetailPDPMachine'\n }\n else if(primaryCategory.toUpperCase() === 'CAPSULE'){\n blockPDPIDStartsWith = 'respProductDetailPDPCapsule'\n }\n else if(primaryCategory.toUpperCase() === 'ACCESSORY'){\n blockPDPIDStartsWith = 'respProductDetailPDPAccessory'\n }\n const container = await observeDocument(\n [\n {\n directNode: (_prev) => document.body,\n parentElement: (_prev) => document.documentElement,\n targetPredicate: (addedNode) => addedNode.nodeName === 'BODY',\n },\n {\n directNode: (_prev) => document.getElementById('main'),\n parentElement: (prev) => prev,\n targetPredicate: (addedNode) => addedNode.nodeName === 'MAIN',\n },\n {\n directNode: (_prev) => _prev.querySelector('.ProductDetails'),\n parentElement: (_prev) => document.querySelector(`[id*=\"${blockPDPIDStartsWith}\"]`),\n targetPredicate: (addedNode) => addedNode.nodeName === 'DIV' && addedNode.classList.contains('ProductDetails'),\n },\n ],\n 8000\n )\n const nodeObserver = new MutationObserver((mutations, _) => {\n for (const mutation of mutations) {\n for (const addedNode of mutation.addedNodes) {\n if (addedNode.querySelector('.ProductDetailsBody')) {\n window.nwc && window.nwc.load(true)\n return\n }\n }\n }\n })\n nodeObserver.observe(container, { childList: true })\n};\n\nvoid runHack()\n"],"sourceRoot":""}