UNPKG

react-elegant-ui

Version:

Elegant UI components, made by BEM best practices for react

33 lines (32 loc) 981 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runByReadyState = exports.readyStatesList = exports.readyStatesDict = void 0; var _canUseDOM = require("./canUseDOM"); var readyStatesList = exports.readyStatesList = ['loading', 'interactive', 'complete']; var readyStatesDict = exports.readyStatesDict = { loading: 0, interactive: 1, complete: 2 }; /** * Run callback after specified ready state * * It useful when you need run code if page loaded or wait loading and run after */ var runByReadyState = function (callback, state) { if (state === void 0) { state = 'complete'; } if (!(0, _canUseDOM.canUseDOM)()) return; if (readyStatesDict[document.readyState] >= readyStatesDict[state]) { callback(); return; } var eventName = state === 'interactive' ? 'DOMContentLoaded' : 'load'; window.addEventListener(eventName, function () { return callback(); }); }; exports.runByReadyState = runByReadyState;