"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.docComplete = void 0; const once_1 = __importDefault(require("./once")); function docComplete() { const { readyState } = document; return readyState === 'interactive' || readyState === 'complete'; } exports.docComplete = docComplete; /** * Execute a given function once the document has finished loading * * @param handler - Function to execute once the document has finished loading * * @example * * ```ts * domReady((e: Event) => { alert('DOM Ready') }); * ``` */ function domReady(handler) { docComplete() ? handler() : once_1.default('readystatechange', handler, { when: docComplete }); } exports.default = domReady;