UNPKG

cordova-elm-template-jumpstart

Version:

Cordova template to jumpstart development using Elm and Webpack

35 lines (25 loc) 1.12 kB
/* * Require the DOM to be ready before we are ready to go. * * We are stealing the impl from jQuery, but trying to avoid including jQuery itself. * https://github.com/jquery/jquery/blob/bd984f0ee2cf40107a669d80d92566b8625b1e6b/src/core/ready-no-deferred.js#L77-L93 * * If you already include jQuery in your project, then use this code: * import Promise from "bluebird"; * import $ from jQuery; * module.exports = new Promise((resolved) => $(() => resolved(true))): * */ import Promise from "bluebird"; import _ from "lodash"; module.exports = new Promise((resolved) => { const resolve = _.once(() => resolved(true)); if ( document.readyState === "complete" || ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { // Handle it asynchronously to allow scripts the opportunity to delay ready window.setTimeout( resolve ); } else { // Use the handy event callback document.addEventListener( "DOMContentLoaded", resolve ); // A fallback to window.onload, that will always work window.addEventListener( "load", resolve ); } }).return(true);