MCPcopy Create free account
hub / github.com/googlemaps/js-api-loader / triggerBootstrap

Function triggerBootstrap

src/bootstrap.js:29–41  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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};

Callers 1

bootstrapFunction · 0.85

Calls 1

setScriptSrcFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…