| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- /**
 -  * Loads a script from a specific URL. React Native cannot load a JS
 -  * file/resource/URL via a <script> HTML element, so the implementation
 -  * fetches the specified src as plain text (e.g. via XMLHttpRequest) and then
 -  * evaluates the fetched string as JavaScript code (i.e. via the {@link eval}
 -  * function).
 -  *
 -  * @param {string} url - The absolute URL from the which the script is to be
 -  * (down)loaded.
 -  * @returns {void}
 -  */
 - export function loadScript(url) {
 -     let fetch;
 -     const method = 'GET';
 - 
 -     // Prefer the Fetch API. Apart from the fact that we're fetching the
 -     // specified script as a static resource, the Fetch API provides more
 -     // detailed errors.
 -     if (typeof (fetch = window.fetch) === 'function') {
 -         fetch = fetch(url, { method });
 -     } else {
 -         // Otherwise, fall back to the XMLHttpRequest API.
 -         fetch
 -             = new Promise(resolve => {
 -                 const xhr = new XMLHttpRequest();
 - 
 -                 xhr.responseType = 'text';
 - 
 -                 xhr.onreadystatechange = () => {
 -                     if (xhr.readyState === 4) {
 -                         resolve(xhr);
 -                     }
 -                 };
 - 
 -                 xhr.open(method, url, /* async */ true);
 -                 xhr.send();
 -             });
 -     }
 - 
 -     return (
 -         fetch
 -             .then(response => {
 -                 switch (response.status) {
 -                 case 200:
 -                     return response.responseText || response.text();
 - 
 -                 default:
 -                     throw response.statusText;
 -                 }
 - 
 -             })
 -             .then(responseText => {
 -                 eval.call(window, responseText); // eslint-disable-line no-eval
 -             }));
 - }
 
 
  |