UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

79 lines 2.56 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var render_exports = {}; __export(render_exports, { afterClientRender: () => afterClientRender, render: () => render }); module.exports = __toCommonJS(render_exports); var import_react = require("react"); var import_client = require("react-dom/client"); globalThis["__vxrnVersion"] ||= 0; const listeners = /* @__PURE__ */new Set(); let didRender = false; function render(element) { if (typeof document === "undefined") return; if (globalThis["__vxrnRoot"]) { globalThis["__vxrnVersion"]++; (0, import_react.startTransition)(() => { globalThis["__vxrnRoot"].render(element); }); } else { (0, import_react.startTransition)(() => { const rootElement = process.env.ONE_USE_FASTER_DOCUMENT ? document.documentElement : document; if (globalThis["__vxrnIsSPA"]) { const root = (0, import_client.createRoot)(rootElement); globalThis["__vxrnRoot"] = root; root.render(element); } else { globalThis["__vxrnRoot"] = (0, import_client.hydrateRoot)(rootElement, element, { onRecoverableError(...args) { console.groupCollapsed(`[one] Non-critical recoverable React error occurred, expand group to see details`); console.error(...args); console.groupEnd(); }, onUncaughtError(...args) { console.error(`[one] onUncaughtError`, ...args); }, onCaughtError(...args) { console.error(`[one] onCaughtError`, ...args); } }); } }); } listeners.forEach(cb => { cb(); }); didRender = true; } function afterClientRender(listener) { if (didRender) { listener(); return; } listeners.add(listener); return () => { listeners.delete(listener); }; }