fluxel
Version:
An ultra-lightweight, high-performance library for efficient DOM building and dynamic web UIs
13 lines (12 loc) • 2.47 kB
JavaScript
/**
* fluxel-ssr-client v0.6.5
*
* Copyright (c) 2026 mtripg6666tdr
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @see https://github.com/mtripg6666tdr/fluxel
* @license MIT
*/
;var __FluxelSSRClient_esm=(()=>{var a=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)a(t,n,{get:e[n],enumerable:!0})},h=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of s(e))!c.call(t,r)&&r!==n&&a(t,r,{get:()=>e[r],enumerable:!(o=l(e,r))||o.enumerable});return t};var y=t=>h(a({},"__esModule",{value:!0}),t);var E={};f(E,{default:()=>d});Object.defineProperty(window,"FluxelHydrate",{get:()=>__FluxelSSRClient_esm.default,configurable:!0});function d(t,e){if(!e)throw new Error("Element is not provided. Ensure you are passing a valid HTMLElement.");if(e.dataset.fluxelSsr||(e=e.querySelector("&>[data-fluxel-ssr]")),e.dataset.fluxelSsr!=="true")throw new Error("Element is not a Fluxel SSR element. Ensure you are using the correct element.");if(e.dataset.fluxelHydrated==="true"){console.warn("Element is already hydrated. Skipping hydration.");return}let n=Number(e.dataset.fluxelECount);if(isNaN(n))throw new Error("Essential data attribute 'data-fluxel-e-count' is missing or invalid. Ensure you are rendering the element with reactive option set to true.");let o={count:0,getElementByEid:r=>{let u="".concat(r);if(e.dataset.fluxelEid===u)return e;let i=e.querySelector('[data-fluxel-eid="'.concat(u,'"]'));if(!i)throw new Error("Element with eid ".concat(r," not found. Ensure the renderer matches the SSR output."));return i}};Object.defineProperty(window,"fluxelH",{value:o,configurable:!0,enumerable:!1});try{t()}catch(r){throw console.error("Error during hydration:",r),Object.assign(new Error("Hydration failed. Ensure you are using the correct renderer and element."),{cause:r})}e.dataset.fluxelHydrated="true",o.count!==n&&console.error("Hydration count mismatch. Expected ".concat(n,", but got ").concat(o.count,". Ensure you are using the correct renderer. This can happen if the renderer does not match the SSR output or if the element has been modified after SSR. Hydration process was completed, but something might be wrong.")),Object.defineProperty(window,"fluxelH",{value:null,configurable:!0,enumerable:!1})}return y(E);})();