()
| 27 | var libraries = new Set(); |
| 28 | var searchParams = new URLSearchParams(); |
| 29 | var triggerBootstrap = () => bootstrapPromise || (bootstrapPromise = new Promise(async(resolve, reject) => { |
| 30 | await (script = doc.createElement("script")); |
| 31 | searchParams.set("libraries", [...libraries] + ""); |
| 32 | for (bootstrapParamsKey in bootstrapParams) { |
| 33 | searchParams.set(bootstrapParamsKey.replace(/[A-Z]/g, g => "_" + g[0].toLowerCase()), bootstrapParams[bootstrapParamsKey]); |
| 34 | } |
| 35 | searchParams.set("callback", GOOGLE + ".maps." + PENDING_BOOTSTRAP_KEY); |
| 36 | setScriptSrc(script, "https://maps.googleapis.com/maps/api/js?" + searchParams); |
| 37 | namespace[PENDING_BOOTSTRAP_KEY] = resolve; |
| 38 | script.onerror = () => bootstrapPromise = reject(Error(PRODUCT_NAME + " could not load.")); |
| 39 | script.nonce = doc.querySelector("script[nonce]")?.nonce || ""; |
| 40 | doc.head.append(script); |
| 41 | })); |
| 42 | namespace[IMPORT_API_NAME] ? console.warn(PRODUCT_NAME + " only loads once. Ignoring:", bootstrapParams) : namespace[IMPORT_API_NAME] = (libraryName, ...args) => libraries.add(libraryName) && triggerBootstrap().then(() => namespace[IMPORT_API_NAME](libraryName, ...args)); |
| 43 | }; |
no test coverage detected
searching dependent graphs…