MCPcopy
hub / github.com/ampproject/amphtml / whenDefined

Method whenDefined

src/polyfills/custom-elements.js:147–163  ·  view source on GitHub ↗

* Returns a promise that waits until the custom element is defined. * If the custom element is already defined, returns a resolved promise. * * @param {string} name * @return {!Promise }

(name)

Source from the content-addressed store, hash-verified

145 * @return {!Promise<undefined>}
146 */
147 whenDefined(name) {
148 const {Promise, SyntaxError} = this.win_;
149 assertValidName(SyntaxError, name);
150
151 if (this.registry_.getByName(name)) {
152 return Promise.resolve();
153 }
154
155 const pending = this.pendingDefines_;
156 let deferred = pending[name];
157 if (!deferred) {
158 deferred = new Deferred();
159 pending[name] = deferred;
160 }
161
162 return deferred.promise;
163 }
164
165 /**
166 * Upgrade all custom elements inside root.

Callers 1

whenUpgradedFunction · 0.80

Calls 3

assertValidNameFunction · 0.85
getByNameMethod · 0.80
resolveMethod · 0.80

Tested by

no test coverage detected