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

Method check

third_party/subscriptions-project/config.js:825–856  ·  view source on GitHub ↗

* @return {?PageConfig}

()

Source from the content-addressed store, hash-verified

823 * @return {?PageConfig}
824 */
825 check() {
826 if (!this.doc_.getBody()) {
827 // Wait until the whole `<head>` is parsed.
828 return null;
829 }
830
831 const domReady = this.doc_.isReady();
832
833 // type: 'application/ld+json'
834 const elements = this.doc_
835 .getRootNode()
836 .querySelectorAll('script[type="application/ld+json"]');
837 for (let i = 0; i < elements.length; i++) {
838 const element = elements[i];
839 if (
840 element[ALREADY_SEEN] ||
841 !element.textContent ||
842 (!domReady && !hasNextNodeInDocumentOrder(element))
843 ) {
844 continue;
845 }
846 element[ALREADY_SEEN] = true;
847 if (!RE_ALLOWED_TYPES.test(element.textContent)) {
848 continue;
849 }
850 const possibleConfig = this.tryExtractConfig_(element);
851 if (possibleConfig) {
852 return possibleConfig;
853 }
854 }
855 return null;
856 }
857
858 /**
859 * @param {!Element} element

Callers

nothing calls this directly

Calls 6

tryExtractConfig_Method · 0.95
getBodyMethod · 0.45
isReadyMethod · 0.45
getRootNodeMethod · 0.45
testMethod · 0.45

Tested by

no test coverage detected