frontend-hamroun 1.2.74 → 1.2.77
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Counter.d.ts +0 -0
- package/dist/batch/package.json +16 -0
- package/dist/client-router/package.json +16 -0
- package/dist/component/package.json +16 -0
- package/dist/context/package.json +16 -0
- package/dist/event-bus/package.json +16 -0
- package/dist/forms/package.json +16 -0
- package/dist/hooks/package.json +16 -0
- package/dist/hooks-0728361a.cjs +1 -0
- package/dist/hooks-b58f947c.js +133 -0
- package/dist/hooks.js +1 -0
- package/dist/hooks.mjs +13 -0
- package/dist/index.js +1 -384
- package/dist/index.mjs +130 -374
- package/dist/jsx-runtime/package.json +16 -0
- package/dist/jsx-runtime.js +1 -0
- package/dist/jsx-runtime.mjs +64 -0
- package/dist/lifecycle-events/package.json +16 -0
- package/dist/package.json +71 -0
- package/dist/render-component/package.json +16 -0
- package/dist/renderer/package.json +16 -0
- package/dist/renderer.js +1 -0
- package/dist/renderer.mjs +27 -0
- package/dist/router/package.json +16 -0
- package/dist/server/package.json +17 -0
- package/dist/server/src/batch.d.ts +3 -0
- package/dist/server/src/batch.js +23 -0
- package/dist/server/src/batch.js.map +1 -0
- package/dist/server/src/client-router.d.ts +60 -0
- package/dist/server/src/client-router.js +210 -0
- package/dist/server/src/client-router.js.map +1 -0
- package/dist/server/src/component.d.ts +14 -0
- package/dist/server/src/component.js +106 -0
- package/dist/server/src/component.js.map +1 -0
- package/dist/server/src/context.d.ts +13 -0
- package/dist/server/src/context.js +21 -0
- package/dist/server/src/context.js.map +1 -0
- package/dist/server/src/event-bus.d.ts +23 -0
- package/dist/server/src/event-bus.js +75 -0
- package/dist/server/src/event-bus.js.map +1 -0
- package/dist/server/src/forms.d.ts +40 -0
- package/dist/server/src/forms.js +148 -0
- package/dist/server/src/forms.js.map +1 -0
- package/dist/server/src/hooks.d.ts +12 -0
- package/dist/server/src/hooks.js +170 -0
- package/dist/server/src/hooks.js.map +1 -0
- package/dist/server/src/index.client.d.ts +12 -0
- package/dist/server/src/index.client.js +14 -0
- package/dist/server/src/index.client.js.map +1 -0
- package/dist/server/src/index.d.ts +88 -0
- package/dist/server/src/index.js +78 -0
- package/dist/server/src/index.js.map +1 -0
- package/dist/server/src/jsx-runtime/jsx-dev-runtime.d.ts +1 -0
- package/dist/server/src/jsx-runtime/jsx-dev-runtime.js +2 -0
- package/dist/server/src/jsx-runtime/jsx-dev-runtime.js.map +1 -0
- package/dist/server/src/jsx-runtime/jsx-runtime.d.ts +4 -0
- package/dist/server/src/jsx-runtime/jsx-runtime.js +41 -0
- package/dist/server/src/jsx-runtime/jsx-runtime.js.map +1 -0
- package/dist/server/src/jsx-runtime.d.ts +20 -0
- package/dist/server/src/jsx-runtime.js +105 -0
- package/dist/server/src/jsx-runtime.js.map +1 -0
- package/dist/server/src/lifecycle-events.d.ts +108 -0
- package/dist/server/src/lifecycle-events.js +177 -0
- package/dist/server/src/lifecycle-events.js.map +1 -0
- package/dist/server/src/renderComponent.d.ts +14 -0
- package/dist/server/src/renderComponent.js +25 -0
- package/dist/server/src/renderComponent.js.map +1 -0
- package/dist/server/src/renderer.d.ts +2 -0
- package/dist/server/src/renderer.js +31 -0
- package/dist/server/src/renderer.js.map +1 -0
- package/dist/server/src/router.d.ts +55 -0
- package/dist/server/src/router.js +166 -0
- package/dist/server/src/router.js.map +1 -0
- package/dist/server/src/server/api-router.d.ts +15 -0
- package/dist/server/src/server/api-router.js +111 -0
- package/dist/server/src/server/api-router.js.map +1 -0
- package/dist/server/src/server/auth.d.ts +32 -0
- package/dist/server/src/server/auth.js +80 -0
- package/dist/server/src/server/auth.js.map +1 -0
- package/dist/server/src/server/database.d.ts +24 -0
- package/dist/server/src/server/database.js +135 -0
- package/dist/server/src/server/database.js.map +1 -0
- package/dist/server/src/server/index.d.ts +127 -0
- package/dist/server/src/server/index.js +388 -0
- package/dist/server/src/server/index.js.map +1 -0
- package/dist/server/src/server/middleware.d.ts +11 -0
- package/dist/server/src/server/middleware.js +46 -0
- package/dist/server/src/server/middleware.js.map +1 -0
- package/dist/server/src/server/server.d.ts +9 -0
- package/dist/server/src/server/server.js +87 -0
- package/dist/server/src/server/server.js.map +1 -0
- package/dist/server/src/server/templates.d.ts +28 -0
- package/dist/server/src/server/templates.js +204 -0
- package/dist/server/src/server/templates.js.map +1 -0
- package/dist/server/src/server/types.d.ts +38 -0
- package/dist/server/src/server/types.js +4 -0
- package/dist/server/src/server/types.js.map +1 -0
- package/dist/server/src/server/utils.d.ts +70 -0
- package/dist/server/src/server/utils.js +156 -0
- package/dist/server/src/server/utils.js.map +1 -0
- package/dist/server/src/server/wasm.d.ts +9 -0
- package/dist/server/src/server/wasm.js +117 -0
- package/dist/server/src/server/wasm.js.map +1 -0
- package/dist/server/src/server-renderer.d.ts +5 -0
- package/dist/server/src/server-renderer.js +106 -0
- package/dist/server/src/server-renderer.js.map +1 -0
- package/dist/server/src/server-types.d.ts +42 -0
- package/dist/server/src/server-types.js +6 -0
- package/dist/server/src/server-types.js.map +1 -0
- package/dist/server/src/store.d.ts +41 -0
- package/dist/server/src/store.js +99 -0
- package/dist/server/src/store.js.map +1 -0
- package/dist/server/src/types.d.ts +19 -0
- package/dist/server/src/types.js +2 -0
- package/dist/server/src/types.js.map +1 -0
- package/dist/server/src/utils.d.ts +46 -0
- package/dist/server/src/utils.js +144 -0
- package/dist/server/src/utils.js.map +1 -0
- package/dist/server/src/vdom.d.ts +8 -0
- package/dist/server/src/vdom.js +22 -0
- package/dist/server/src/vdom.js.map +1 -0
- package/dist/server/src/wasm.d.ts +36 -0
- package/dist/server/src/wasm.js +159 -0
- package/dist/server/src/wasm.js.map +1 -0
- package/dist/server/tsconfig.server.tsbuildinfo +1 -0
- package/dist/server-renderer/package.json +16 -0
- package/dist/server-renderer.js +1 -0
- package/dist/server-renderer.mjs +64 -0
- package/dist/store/package.json +16 -0
- package/dist/types/package.json +16 -0
- package/dist/utils/package.json +16 -0
- package/dist/vdom/package.json +16 -0
- package/dist/wasm/package.json +16 -0
- package/dist/wasm.js +1 -0
- package/dist/wasm.mjs +103 -0
- package/package.json +14 -13
- package/templates/complete-app/build.js +284 -0
- package/templates/complete-app/package.json +40 -0
- package/templates/complete-app/public/styles.css +345 -0
- package/templates/complete-app/src/api/index.js +31 -0
- package/templates/complete-app/src/client.js +93 -0
- package/templates/complete-app/src/components/App.js +66 -0
- package/templates/complete-app/src/components/Footer.js +19 -0
- package/templates/complete-app/src/components/Header.js +38 -0
- package/templates/complete-app/src/pages/About.js +59 -0
- package/templates/complete-app/src/pages/Home.js +54 -0
- package/templates/complete-app/src/pages/WasmDemo.js +136 -0
- package/templates/complete-app/src/server.js +186 -0
- package/templates/complete-app/src/wasm/build.bat +16 -0
- package/templates/complete-app/src/wasm/build.sh +16 -0
- package/templates/complete-app/src/wasm/example.go +101 -0
- package/templates/fullstack-app/build/main.css +225 -15
- package/templates/fullstack-app/build/main.css.map +2 -2
- package/templates/fullstack-app/build/main.js +657 -372
- package/templates/fullstack-app/build/main.js.map +4 -4
- package/templates/fullstack-app/build.ts +3 -4
- package/templates/fullstack-app/public/styles.css +222 -15
- package/templates/fullstack-app/server.ts +46 -12
- package/templates/fullstack-app/src/components/ClientHome.tsx +0 -0
- package/templates/fullstack-app/src/components/ErrorBoundary.tsx +36 -0
- package/templates/fullstack-app/src/components/Layout.tsx +23 -26
- package/templates/fullstack-app/src/components/StateDemo.tsx +207 -0
- package/templates/fullstack-app/src/components/UserList.tsx +30 -13
- package/templates/fullstack-app/src/data/api.ts +173 -38
- package/templates/fullstack-app/src/main.tsx +88 -154
- package/templates/fullstack-app/src/middleware.ts +28 -0
- package/templates/fullstack-app/src/pages/404.tsx +28 -0
- package/templates/fullstack-app/src/pages/[id].tsx +0 -0
- package/templates/fullstack-app/src/pages/_app.tsx +11 -0
- package/templates/fullstack-app/src/pages/_document.tsx +25 -0
- package/templates/fullstack-app/src/pages/_error.tsx +45 -0
- package/templates/fullstack-app/src/pages/about.tsx +71 -0
- package/templates/fullstack-app/src/pages/api/users/[id].ts +73 -0
- package/templates/fullstack-app/src/pages/api/users/index.ts +43 -0
- package/templates/fullstack-app/src/pages/index.tsx +97 -20
- package/templates/fullstack-app/src/pages/users/[id].tsx +153 -0
- package/templates/fullstack-app/src/pages/wasm-demo.tsx +1 -0
- package/templates/go/build.sh +43 -43
- package/templates/go/example.go +99 -86
- package/templates/go-wasm-app/babel.config.js +8 -2
- package/templates/go-wasm-app/build-wasm.js +84 -84
- package/templates/go-wasm-app/build.config.js +62 -0
- package/templates/go-wasm-app/build.js +218 -0
- package/templates/go-wasm-app/package.json +21 -11
- package/templates/go-wasm-app/public/index.html +49 -53
- package/templates/go-wasm-app/server.js +56 -695
- package/templates/go-wasm-app/src/app.js +173 -0
- package/templates/go-wasm-app/vite.config.js +16 -5
- package/templates/ssr-template/client.js +54 -26
- package/templates/ssr-template/server.js +5 -28
- package/templates/ssr-template/vite.config.js +21 -5
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "frontend-hamroun/batch",
|
|
3
|
+
"version": "1.2.77",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"module": "./index.mjs",
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./index.mjs",
|
|
11
|
+
"require": "./index.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "frontend-hamroun/client-router",
|
|
3
|
+
"version": "1.2.77",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"module": "./index.mjs",
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./index.mjs",
|
|
11
|
+
"require": "./index.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "frontend-hamroun/component",
|
|
3
|
+
"version": "1.2.77",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"module": "./index.mjs",
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./index.mjs",
|
|
11
|
+
"require": "./index.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "frontend-hamroun/context",
|
|
3
|
+
"version": "1.2.77",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"module": "./index.mjs",
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./index.mjs",
|
|
11
|
+
"require": "./index.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "frontend-hamroun/event-bus",
|
|
3
|
+
"version": "1.2.77",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"module": "./index.mjs",
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./index.mjs",
|
|
11
|
+
"require": "./index.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "frontend-hamroun/forms",
|
|
3
|
+
"version": "1.2.77",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"module": "./index.mjs",
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./index.mjs",
|
|
11
|
+
"require": "./index.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "frontend-hamroun/hooks",
|
|
3
|
+
"version": "1.2.77",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./index.js",
|
|
6
|
+
"module": "./index.mjs",
|
|
7
|
+
"types": "./index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./index.mjs",
|
|
11
|
+
"require": "./index.js",
|
|
12
|
+
"types": "./index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";exports.isBatching=!1;const l=[];function M(s){if(exports.isBatching){l.push(s);return}exports.isBatching=!0;try{for(s();l.length>0;){const t=l.shift();t==null||t()}}finally{exports.isBatching=!1}}function B(){return exports.isBatching}function y(s){return{Provider:({value:n,children:u})=>u,Consumer:({children:n})=>n(s),_id:Symbol(),useSelector:n=>n(s)}}function C(s){return s}let e=0;const h=new Map,c=new Map,a=new Map,d=new Map,p=new Map,E=typeof window>"u",f=new Map;let g=null,m=null,w=null;function v(s,t,n){g=s,m=n,w=t}function I(){return e++,c.set(e,0),e}function k(){E&&f.delete(e),e=0}function x(s){if(!e)throw new Error("useState must be called within a render");if(E){f.has(e)||f.set(e,new Map);const r=f.get(e),i=c.get(e)||0;r.has(i)||r.set(i,s);const R=r.get(i),S=O=>{};return c.set(e,i+1),[R,S]}h.has(e)||h.set(e,[]);const t=h.get(e),n=c.get(e)||0;n>=t.length&&t.push(s);const u=t[n],o=r=>{const i=typeof r=="function"?r(t[n]):r;t[n]!==i&&(t[n]=i,exports.isBatching?M(()=>b(e)):b(e))};return c.set(e,n+1),[u,o]}function q(s,t){if(!e)throw new Error("useEffect must be called within a render");if(E){const r=c.get(e)||0;c.set(e,r+1);return}const n=c.get(e)||0;a.has(e)||a.set(e,[]);const u=a.get(e),o=u[n];(!o||!t||!o.deps||t.some((r,i)=>r!==o.deps[i]))&&(o!=null&&o.cleanup&&o.cleanup(),queueMicrotask(()=>{const r=s()||void 0;u[n]={cleanup:r,deps:t||[]}})),c.set(e,n+1)}function U(s,t){if(!e)throw new Error("useMemo must be called within a render");const n=c.get(e)||0;d.has(e)||d.set(e,[]);const u=d.get(e),o=u[n];if(!o||t&&t.some((r,i)=>!Object.is(r,o.deps[i]))){const r=s();return u[n]={value:r,deps:t||[]},c.set(e,n+1),r}return c.set(e,n+1),o.value}function _(s){if(!e)throw new Error("useRef must be called within a render");const t=c.get(e)||0;p.has(e)||p.set(e,[]);const n=p.get(e);if(t>=n.length){const o={current:s};return n.push(o),c.set(e,t+1),o}const u=n[t];return c.set(e,t+1),u}async function b(s){try{const t=a.get(s);t&&(t.forEach(n=>{n.cleanup&&n.cleanup()}),a.set(s,[])),g&&m&&w&&await g(w,m)}catch(t){console.error("Error during rerender:",t)}}function j(){const[s,t]=x(null);return[s,()=>t(null)]}exports.batchUpdates=M;exports.createContext=y;exports.finishRender=k;exports.getIsBatching=B;exports.prepareRender=I;exports.setRenderCallback=v;exports.useContext=C;exports.useEffect=q;exports.useErrorBoundary=j;exports.useMemo=U;exports.useRef=_;exports.useState=x;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
let i = !1;
|
|
2
|
+
const d = [];
|
|
3
|
+
function y(s) {
|
|
4
|
+
if (i) {
|
|
5
|
+
d.push(s);
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
i = !0;
|
|
9
|
+
try {
|
|
10
|
+
for (s(); d.length > 0; ) {
|
|
11
|
+
const t = d.shift();
|
|
12
|
+
t == null || t();
|
|
13
|
+
}
|
|
14
|
+
} finally {
|
|
15
|
+
i = !1;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function C() {
|
|
19
|
+
return i;
|
|
20
|
+
}
|
|
21
|
+
function I(s) {
|
|
22
|
+
return {
|
|
23
|
+
Provider: ({ value: n, children: a }) => a,
|
|
24
|
+
Consumer: ({ children: n }) => n(s),
|
|
25
|
+
_id: Symbol(),
|
|
26
|
+
useSelector: (n) => n(s)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function k(s) {
|
|
30
|
+
return s;
|
|
31
|
+
}
|
|
32
|
+
let e = 0;
|
|
33
|
+
const h = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), g = /* @__PURE__ */ new Map(), E = typeof window > "u", l = /* @__PURE__ */ new Map();
|
|
34
|
+
let m = null, w = null, b = null;
|
|
35
|
+
function B(s, t, n) {
|
|
36
|
+
m = s, w = n, b = t;
|
|
37
|
+
}
|
|
38
|
+
function j() {
|
|
39
|
+
return e++, c.set(e, 0), e;
|
|
40
|
+
}
|
|
41
|
+
function q() {
|
|
42
|
+
E && l.delete(e), e = 0;
|
|
43
|
+
}
|
|
44
|
+
function R(s) {
|
|
45
|
+
if (!e)
|
|
46
|
+
throw new Error("useState must be called within a render");
|
|
47
|
+
if (E) {
|
|
48
|
+
l.has(e) || l.set(e, /* @__PURE__ */ new Map());
|
|
49
|
+
const r = l.get(e), u = c.get(e) || 0;
|
|
50
|
+
r.has(u) || r.set(u, s);
|
|
51
|
+
const x = r.get(u), S = (v) => {
|
|
52
|
+
};
|
|
53
|
+
return c.set(e, u + 1), [x, S];
|
|
54
|
+
}
|
|
55
|
+
h.has(e) || h.set(e, []);
|
|
56
|
+
const t = h.get(e), n = c.get(e) || 0;
|
|
57
|
+
n >= t.length && t.push(s);
|
|
58
|
+
const a = t[n], o = (r) => {
|
|
59
|
+
const u = typeof r == "function" ? r(t[n]) : r;
|
|
60
|
+
t[n] !== u && (t[n] = u, i ? y(() => M(e)) : M(e));
|
|
61
|
+
};
|
|
62
|
+
return c.set(e, n + 1), [a, o];
|
|
63
|
+
}
|
|
64
|
+
function _(s, t) {
|
|
65
|
+
if (!e)
|
|
66
|
+
throw new Error("useEffect must be called within a render");
|
|
67
|
+
if (E) {
|
|
68
|
+
const r = c.get(e) || 0;
|
|
69
|
+
c.set(e, r + 1);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const n = c.get(e) || 0;
|
|
73
|
+
f.has(e) || f.set(e, []);
|
|
74
|
+
const a = f.get(e), o = a[n];
|
|
75
|
+
(!o || !t || !o.deps || t.some((r, u) => r !== o.deps[u])) && (o != null && o.cleanup && o.cleanup(), queueMicrotask(() => {
|
|
76
|
+
const r = s() || void 0;
|
|
77
|
+
a[n] = { cleanup: r, deps: t || [] };
|
|
78
|
+
})), c.set(e, n + 1);
|
|
79
|
+
}
|
|
80
|
+
function O(s, t) {
|
|
81
|
+
if (!e)
|
|
82
|
+
throw new Error("useMemo must be called within a render");
|
|
83
|
+
const n = c.get(e) || 0;
|
|
84
|
+
p.has(e) || p.set(e, []);
|
|
85
|
+
const a = p.get(e), o = a[n];
|
|
86
|
+
if (!o || t && t.some((r, u) => !Object.is(r, o.deps[u]))) {
|
|
87
|
+
const r = s();
|
|
88
|
+
return a[n] = { value: r, deps: t || [] }, c.set(e, n + 1), r;
|
|
89
|
+
}
|
|
90
|
+
return c.set(e, n + 1), o.value;
|
|
91
|
+
}
|
|
92
|
+
function P(s) {
|
|
93
|
+
if (!e)
|
|
94
|
+
throw new Error("useRef must be called within a render");
|
|
95
|
+
const t = c.get(e) || 0;
|
|
96
|
+
g.has(e) || g.set(e, []);
|
|
97
|
+
const n = g.get(e);
|
|
98
|
+
if (t >= n.length) {
|
|
99
|
+
const o = { current: s };
|
|
100
|
+
return n.push(o), c.set(e, t + 1), o;
|
|
101
|
+
}
|
|
102
|
+
const a = n[t];
|
|
103
|
+
return c.set(e, t + 1), a;
|
|
104
|
+
}
|
|
105
|
+
async function M(s) {
|
|
106
|
+
try {
|
|
107
|
+
const t = f.get(s);
|
|
108
|
+
t && (t.forEach((n) => {
|
|
109
|
+
n.cleanup && n.cleanup();
|
|
110
|
+
}), f.set(s, [])), m && w && b && await m(b, w);
|
|
111
|
+
} catch (t) {
|
|
112
|
+
console.error("Error during rerender:", t);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
function U() {
|
|
116
|
+
const [s, t] = R(null);
|
|
117
|
+
return [s, () => t(null)];
|
|
118
|
+
}
|
|
119
|
+
export {
|
|
120
|
+
_ as a,
|
|
121
|
+
O as b,
|
|
122
|
+
P as c,
|
|
123
|
+
k as d,
|
|
124
|
+
U as e,
|
|
125
|
+
I as f,
|
|
126
|
+
y as g,
|
|
127
|
+
q as h,
|
|
128
|
+
i,
|
|
129
|
+
C as j,
|
|
130
|
+
j as p,
|
|
131
|
+
B as s,
|
|
132
|
+
R as u
|
|
133
|
+
};
|
package/dist/hooks.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./hooks-0728361a.cjs");exports.createContext=e.createContext;exports.finishRender=e.finishRender;exports.prepareRender=e.prepareRender;exports.setRenderCallback=e.setRenderCallback;exports.useContext=e.useContext;exports.useEffect=e.useEffect;exports.useErrorBoundary=e.useErrorBoundary;exports.useMemo=e.useMemo;exports.useRef=e.useRef;exports.useState=e.useState;
|
package/dist/hooks.mjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { f as a, h as r, p as t, s as u, d as n, a as o, e as f, b as d, c, u as p } from "./hooks-b58f947c.js";
|
|
2
|
+
export {
|
|
3
|
+
a as createContext,
|
|
4
|
+
r as finishRender,
|
|
5
|
+
t as prepareRender,
|
|
6
|
+
u as setRenderCallback,
|
|
7
|
+
n as useContext,
|
|
8
|
+
o as useEffect,
|
|
9
|
+
f as useErrorBoundary,
|
|
10
|
+
d as useMemo,
|
|
11
|
+
c as useRef,
|
|
12
|
+
p as useState
|
|
13
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -1,384 +1 @@
|
|
|
1
|
-
(function(
|
|
2
|
-
typeof exports === "object" && typeof module !== "undefined" ? factory(exports) : typeof define === "function" && define.amd ? define(["exports"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global.FrontendHamroun = {}));
|
|
3
|
-
})(this, function(exports2) {
|
|
4
|
-
"use strict";
|
|
5
|
-
let isBatching = false;
|
|
6
|
-
const queue = [];
|
|
7
|
-
function batchUpdates(fn) {
|
|
8
|
-
if (isBatching) {
|
|
9
|
-
queue.push(fn);
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
isBatching = true;
|
|
13
|
-
try {
|
|
14
|
-
fn();
|
|
15
|
-
while (queue.length > 0) {
|
|
16
|
-
const nextFn = queue.shift();
|
|
17
|
-
nextFn == null ? void 0 : nextFn();
|
|
18
|
-
}
|
|
19
|
-
} finally {
|
|
20
|
-
isBatching = false;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
let currentRender = 0;
|
|
24
|
-
const states = /* @__PURE__ */ new Map();
|
|
25
|
-
const stateIndices = /* @__PURE__ */ new Map();
|
|
26
|
-
const effects = /* @__PURE__ */ new Map();
|
|
27
|
-
const memos = /* @__PURE__ */ new Map();
|
|
28
|
-
const refs = /* @__PURE__ */ new Map();
|
|
29
|
-
let globalRenderCallback = null;
|
|
30
|
-
let globalContainer = null;
|
|
31
|
-
let currentElement = null;
|
|
32
|
-
const isServer = typeof window === "undefined";
|
|
33
|
-
const serverStates = /* @__PURE__ */ new Map();
|
|
34
|
-
function setRenderCallback(callback, element, container) {
|
|
35
|
-
globalRenderCallback = callback;
|
|
36
|
-
globalContainer = container;
|
|
37
|
-
currentElement = element;
|
|
38
|
-
}
|
|
39
|
-
function prepareRender() {
|
|
40
|
-
currentRender++;
|
|
41
|
-
stateIndices.set(currentRender, 0);
|
|
42
|
-
return currentRender;
|
|
43
|
-
}
|
|
44
|
-
function finishRender() {
|
|
45
|
-
if (isServer) {
|
|
46
|
-
serverStates.delete(currentRender);
|
|
47
|
-
}
|
|
48
|
-
currentRender = 0;
|
|
49
|
-
}
|
|
50
|
-
function useState(initial) {
|
|
51
|
-
if (!currentRender) {
|
|
52
|
-
throw new Error("useState must be called within a render");
|
|
53
|
-
}
|
|
54
|
-
if (isServer) {
|
|
55
|
-
if (!serverStates.has(currentRender)) {
|
|
56
|
-
serverStates.set(currentRender, /* @__PURE__ */ new Map());
|
|
57
|
-
}
|
|
58
|
-
const componentState = serverStates.get(currentRender);
|
|
59
|
-
const index2 = stateIndices.get(currentRender) || 0;
|
|
60
|
-
if (!componentState.has(index2)) {
|
|
61
|
-
componentState.set(index2, initial);
|
|
62
|
-
}
|
|
63
|
-
const state2 = componentState.get(index2);
|
|
64
|
-
const setState2 = (newValue) => {
|
|
65
|
-
};
|
|
66
|
-
stateIndices.set(currentRender, index2 + 1);
|
|
67
|
-
return [state2, setState2];
|
|
68
|
-
}
|
|
69
|
-
if (!states.has(currentRender)) {
|
|
70
|
-
states.set(currentRender, []);
|
|
71
|
-
}
|
|
72
|
-
const componentStates = states.get(currentRender);
|
|
73
|
-
const index = stateIndices.get(currentRender);
|
|
74
|
-
if (index >= componentStates.length) {
|
|
75
|
-
componentStates.push(initial);
|
|
76
|
-
}
|
|
77
|
-
const state = componentStates[index];
|
|
78
|
-
const setState = (newValue) => {
|
|
79
|
-
const nextValue = typeof newValue === "function" ? newValue(componentStates[index]) : newValue;
|
|
80
|
-
if (componentStates[index] === nextValue)
|
|
81
|
-
return;
|
|
82
|
-
componentStates[index] = nextValue;
|
|
83
|
-
if (isBatching) {
|
|
84
|
-
batchUpdates(() => rerender(currentRender));
|
|
85
|
-
} else {
|
|
86
|
-
rerender(currentRender);
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
stateIndices.set(currentRender, index + 1);
|
|
90
|
-
return [state, setState];
|
|
91
|
-
}
|
|
92
|
-
function useEffect(callback, deps) {
|
|
93
|
-
if (!currentRender)
|
|
94
|
-
throw new Error("useEffect must be called within a render");
|
|
95
|
-
const effectIndex = stateIndices.get(currentRender);
|
|
96
|
-
if (!effects.has(currentRender)) {
|
|
97
|
-
effects.set(currentRender, []);
|
|
98
|
-
}
|
|
99
|
-
const componentEffects = effects.get(currentRender);
|
|
100
|
-
const prevEffect = componentEffects[effectIndex];
|
|
101
|
-
if (!prevEffect || !deps || !prevEffect.deps || deps.some((dep, i) => dep !== prevEffect.deps[i])) {
|
|
102
|
-
if (prevEffect == null ? void 0 : prevEffect.cleanup) {
|
|
103
|
-
prevEffect.cleanup();
|
|
104
|
-
}
|
|
105
|
-
queueMicrotask(() => {
|
|
106
|
-
const cleanup = callback() || void 0;
|
|
107
|
-
componentEffects[effectIndex] = { cleanup, deps };
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
stateIndices.set(currentRender, effectIndex + 1);
|
|
111
|
-
}
|
|
112
|
-
function useMemo(factory, deps) {
|
|
113
|
-
if (!currentRender)
|
|
114
|
-
throw new Error("useMemo must be called within a render");
|
|
115
|
-
const memoIndex = stateIndices.get(currentRender);
|
|
116
|
-
if (!memos.has(currentRender)) {
|
|
117
|
-
memos.set(currentRender, []);
|
|
118
|
-
}
|
|
119
|
-
const componentMemos = memos.get(currentRender);
|
|
120
|
-
const prevMemo = componentMemos[memoIndex];
|
|
121
|
-
if (!prevMemo || deps && deps.some((dep, i) => !Object.is(dep, prevMemo.deps[i]))) {
|
|
122
|
-
const value = factory();
|
|
123
|
-
componentMemos[memoIndex] = { value, deps };
|
|
124
|
-
stateIndices.set(currentRender, memoIndex + 1);
|
|
125
|
-
return value;
|
|
126
|
-
}
|
|
127
|
-
stateIndices.set(currentRender, memoIndex + 1);
|
|
128
|
-
return prevMemo.value;
|
|
129
|
-
}
|
|
130
|
-
function useRef(initial) {
|
|
131
|
-
if (!currentRender)
|
|
132
|
-
throw new Error("useRef must be called within a render");
|
|
133
|
-
const refIndex = stateIndices.get(currentRender);
|
|
134
|
-
if (!refs.has(currentRender)) {
|
|
135
|
-
refs.set(currentRender, []);
|
|
136
|
-
}
|
|
137
|
-
const componentRefs = refs.get(currentRender);
|
|
138
|
-
if (refIndex >= componentRefs.length) {
|
|
139
|
-
const ref2 = { current: initial };
|
|
140
|
-
componentRefs.push(ref2);
|
|
141
|
-
stateIndices.set(currentRender, refIndex + 1);
|
|
142
|
-
return ref2;
|
|
143
|
-
}
|
|
144
|
-
const ref = componentRefs[refIndex];
|
|
145
|
-
stateIndices.set(currentRender, refIndex + 1);
|
|
146
|
-
return ref;
|
|
147
|
-
}
|
|
148
|
-
async function rerender(rendererId) {
|
|
149
|
-
try {
|
|
150
|
-
const componentEffects = effects.get(rendererId);
|
|
151
|
-
if (componentEffects) {
|
|
152
|
-
componentEffects.forEach((effect) => {
|
|
153
|
-
if (effect.cleanup)
|
|
154
|
-
effect.cleanup();
|
|
155
|
-
});
|
|
156
|
-
effects.set(rendererId, []);
|
|
157
|
-
}
|
|
158
|
-
if (globalRenderCallback && globalContainer && currentElement) {
|
|
159
|
-
await globalRenderCallback(currentElement, globalContainer);
|
|
160
|
-
}
|
|
161
|
-
} catch (error) {
|
|
162
|
-
console.error("Error during rerender:", error);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
function useErrorBoundary() {
|
|
166
|
-
const [error, setError] = useState(null);
|
|
167
|
-
return [error, () => setError(null)];
|
|
168
|
-
}
|
|
169
|
-
function createContext(defaultValue) {
|
|
170
|
-
const context = {
|
|
171
|
-
currentValue: defaultValue,
|
|
172
|
-
providers: /* @__PURE__ */ new Set()
|
|
173
|
-
};
|
|
174
|
-
return context;
|
|
175
|
-
}
|
|
176
|
-
function useContext(context) {
|
|
177
|
-
return context.currentValue;
|
|
178
|
-
}
|
|
179
|
-
function jsx(type, props) {
|
|
180
|
-
console.log("JSX Transform:", { type, props });
|
|
181
|
-
const processedProps = { ...props };
|
|
182
|
-
if (arguments.length > 2) {
|
|
183
|
-
processedProps.children = Array.prototype.slice.call(arguments, 2);
|
|
184
|
-
}
|
|
185
|
-
return { type, props: processedProps };
|
|
186
|
-
}
|
|
187
|
-
const Fragment = ({ children }) => children;
|
|
188
|
-
async function createElement(vnode) {
|
|
189
|
-
var _a;
|
|
190
|
-
console.log("Creating element from:", vnode);
|
|
191
|
-
if (vnode == null) {
|
|
192
|
-
return document.createTextNode("");
|
|
193
|
-
}
|
|
194
|
-
if (typeof vnode === "boolean") {
|
|
195
|
-
return document.createTextNode("");
|
|
196
|
-
}
|
|
197
|
-
if (typeof vnode === "number" || typeof vnode === "string") {
|
|
198
|
-
return document.createTextNode(String(vnode));
|
|
199
|
-
}
|
|
200
|
-
if (Array.isArray(vnode)) {
|
|
201
|
-
const fragment = document.createDocumentFragment();
|
|
202
|
-
for (const child of vnode) {
|
|
203
|
-
const node = await createElement(child);
|
|
204
|
-
fragment.appendChild(node);
|
|
205
|
-
}
|
|
206
|
-
return fragment;
|
|
207
|
-
}
|
|
208
|
-
if ("type" in vnode && vnode.props !== void 0) {
|
|
209
|
-
const { type, props } = vnode;
|
|
210
|
-
if (typeof type === "function") {
|
|
211
|
-
try {
|
|
212
|
-
const result = await type(props || {});
|
|
213
|
-
const node = await createElement(result);
|
|
214
|
-
if (node instanceof Element) {
|
|
215
|
-
node.setAttribute("data-component-id", type.name || type.toString());
|
|
216
|
-
}
|
|
217
|
-
return node;
|
|
218
|
-
} catch (error) {
|
|
219
|
-
console.error("Error rendering component:", error);
|
|
220
|
-
return document.createTextNode("");
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
const element = document.createElement(type);
|
|
224
|
-
for (const [key, value] of Object.entries(props || {})) {
|
|
225
|
-
if (key === "children")
|
|
226
|
-
continue;
|
|
227
|
-
if (key.startsWith("on") && typeof value === "function") {
|
|
228
|
-
const eventName = key.toLowerCase().slice(2);
|
|
229
|
-
const existingHandler = (_a = element.__events) == null ? void 0 : _a[eventName];
|
|
230
|
-
if (existingHandler) {
|
|
231
|
-
element.removeEventListener(eventName, existingHandler);
|
|
232
|
-
}
|
|
233
|
-
element.addEventListener(eventName, value);
|
|
234
|
-
if (!element.__events) {
|
|
235
|
-
element.__events = {};
|
|
236
|
-
}
|
|
237
|
-
element.__events[eventName] = value;
|
|
238
|
-
} else if (key === "style" && typeof value === "object") {
|
|
239
|
-
Object.assign(element.style, value);
|
|
240
|
-
} else if (key === "className") {
|
|
241
|
-
element.setAttribute("class", String(value));
|
|
242
|
-
} else if (key !== "key" && key !== "ref") {
|
|
243
|
-
element.setAttribute(key, String(value));
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
const children = props == null ? void 0 : props.children;
|
|
247
|
-
if (children != null) {
|
|
248
|
-
const childArray = Array.isArray(children) ? children.flat() : [children];
|
|
249
|
-
for (const child of childArray) {
|
|
250
|
-
const childNode = await createElement(child);
|
|
251
|
-
element.appendChild(childNode);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
return element;
|
|
255
|
-
}
|
|
256
|
-
return document.createTextNode(String(vnode));
|
|
257
|
-
}
|
|
258
|
-
let isHydrating = false;
|
|
259
|
-
async function hydrate(element, container) {
|
|
260
|
-
isHydrating = true;
|
|
261
|
-
try {
|
|
262
|
-
await render(element, container);
|
|
263
|
-
} finally {
|
|
264
|
-
isHydrating = false;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
async function render(element, container) {
|
|
268
|
-
console.log("Rendering to:", container.id);
|
|
269
|
-
batchUpdates(async () => {
|
|
270
|
-
const rendererId = prepareRender();
|
|
271
|
-
try {
|
|
272
|
-
setRenderCallback(render, element, container);
|
|
273
|
-
const domNode = await createElement(element);
|
|
274
|
-
if (!isHydrating) {
|
|
275
|
-
container.innerHTML = "";
|
|
276
|
-
}
|
|
277
|
-
container.appendChild(domNode);
|
|
278
|
-
} finally {
|
|
279
|
-
finishRender();
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
function renderToString(vnode) {
|
|
284
|
-
prepareRender();
|
|
285
|
-
const html = renderNodeToString(vnode);
|
|
286
|
-
finishRender();
|
|
287
|
-
return html;
|
|
288
|
-
}
|
|
289
|
-
function renderNodeToString(vnode) {
|
|
290
|
-
var _a, _b, _c;
|
|
291
|
-
if (vnode === null || vnode === void 0)
|
|
292
|
-
return "";
|
|
293
|
-
if (typeof vnode === "boolean")
|
|
294
|
-
return "";
|
|
295
|
-
if (typeof vnode === "number" || typeof vnode === "string")
|
|
296
|
-
return escapeHtml(String(vnode));
|
|
297
|
-
if (typeof vnode.type === "function") {
|
|
298
|
-
const Component2 = vnode.type;
|
|
299
|
-
const renderedNode = Component2(vnode.props || {});
|
|
300
|
-
return renderNodeToString(renderedNode);
|
|
301
|
-
}
|
|
302
|
-
if (typeof vnode.type === "string") {
|
|
303
|
-
const tag = vnode.type;
|
|
304
|
-
let attrs = "";
|
|
305
|
-
let children = "";
|
|
306
|
-
if (vnode.props) {
|
|
307
|
-
for (const [key, value] of Object.entries(vnode.props)) {
|
|
308
|
-
if (key === "children")
|
|
309
|
-
continue;
|
|
310
|
-
if (key.startsWith("on"))
|
|
311
|
-
continue;
|
|
312
|
-
if (key === "className") {
|
|
313
|
-
attrs += ` class="${escapeHtml(value)}"`;
|
|
314
|
-
continue;
|
|
315
|
-
}
|
|
316
|
-
if (typeof value === "string" || typeof value === "number") {
|
|
317
|
-
attrs += ` ${key}="${escapeHtml(String(value))}"`;
|
|
318
|
-
} else if (value === true) {
|
|
319
|
-
attrs += ` ${key}`;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
const childrenArray = ((_a = vnode.props) == null ? void 0 : _a.children) ? Array.isArray(vnode.props.children) ? vnode.props.children : [vnode.props.children] : [];
|
|
324
|
-
for (const child of childrenArray) {
|
|
325
|
-
children += renderNodeToString(child);
|
|
326
|
-
}
|
|
327
|
-
const selfClosing = [
|
|
328
|
-
"area",
|
|
329
|
-
"base",
|
|
330
|
-
"br",
|
|
331
|
-
"col",
|
|
332
|
-
"embed",
|
|
333
|
-
"hr",
|
|
334
|
-
"img",
|
|
335
|
-
"input",
|
|
336
|
-
"link",
|
|
337
|
-
"meta",
|
|
338
|
-
"param",
|
|
339
|
-
"source",
|
|
340
|
-
"track",
|
|
341
|
-
"wbr"
|
|
342
|
-
];
|
|
343
|
-
if (selfClosing.includes(tag)) {
|
|
344
|
-
return `<${tag}${attrs}/>`;
|
|
345
|
-
}
|
|
346
|
-
return `<${tag}${attrs}>${children}</${tag}>`;
|
|
347
|
-
}
|
|
348
|
-
if (vnode.type === Symbol.for("react.fragment")) {
|
|
349
|
-
let fragmentOutput = "";
|
|
350
|
-
const children = Array.isArray((_b = vnode.props) == null ? void 0 : _b.children) ? vnode.props.children : ((_c = vnode.props) == null ? void 0 : _c.children) ? [vnode.props.children] : [];
|
|
351
|
-
for (const child of children) {
|
|
352
|
-
fragmentOutput += renderNodeToString(child);
|
|
353
|
-
}
|
|
354
|
-
return fragmentOutput;
|
|
355
|
-
}
|
|
356
|
-
console.warn("Unknown vnode type:", vnode.type);
|
|
357
|
-
return "";
|
|
358
|
-
}
|
|
359
|
-
function escapeHtml(text) {
|
|
360
|
-
return text.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
361
|
-
}
|
|
362
|
-
const server = {
|
|
363
|
-
async getServer() {
|
|
364
|
-
throw new Error("Server module can only be used in Node.js environment");
|
|
365
|
-
}
|
|
366
|
-
};
|
|
367
|
-
exports2.Fragment = Fragment;
|
|
368
|
-
exports2.batchUpdates = batchUpdates;
|
|
369
|
-
exports2.createContext = createContext;
|
|
370
|
-
exports2.hydrate = hydrate;
|
|
371
|
-
exports2.jsx = jsx;
|
|
372
|
-
exports2.jsxs = jsx;
|
|
373
|
-
exports2.render = render;
|
|
374
|
-
exports2.renderToString = renderToString;
|
|
375
|
-
exports2.server = server;
|
|
376
|
-
exports2.useContext = useContext;
|
|
377
|
-
exports2.useEffect = useEffect;
|
|
378
|
-
exports2.useErrorBoundary = useErrorBoundary;
|
|
379
|
-
exports2.useMemo = useMemo;
|
|
380
|
-
exports2.useRef = useRef;
|
|
381
|
-
exports2.useState = useState;
|
|
382
|
-
Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
|
|
383
|
-
});
|
|
384
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
"use strict";var x=Object.defineProperty;var C=(r,e,t)=>e in r?x(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var u=(r,e,t)=>(C(r,typeof e!="symbol"?e+"":e,t),t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("./jsx-runtime.js"),i=require("./wasm.js"),c=require("./renderer.js"),n=require("./hooks-0728361a.cjs"),l=require("./server-renderer.js");function m(r,e){const t=Object.keys(r).filter(s=>s!=="children"),a=Object.keys(e).filter(s=>s!=="children");return t.length!==a.length?!1:t.every(s=>r[s]===e[s])}function p(r,e){return r==null||e==null?r!==e:typeof r!=typeof e?!0:typeof e=="string"||typeof e=="number"?r!==e:e.type!==r.type?!0:!m(r.props,e.props)}function h(r,e){return!m(r,e)}class f{constructor(e={}){u(this,"state",{});u(this,"props");u(this,"element",null);u(this,"_mounted",!1);this.props=e}componentDidMount(){}async setState(e){const t={...this.state};this.state={...t,...e},console.log(`${this.constructor.name} state updated:`,{prev:t,next:this.state}),await Promise.resolve(),this._mounted?await this.update():await this.update()}_replayEvents(e,t){const a=e.__events||{};Object.entries(a).forEach(([s,d])=>{t.addEventListener(s,d)}),t.__events=a}_deepCloneWithEvents(e){const t=e.cloneNode(!1),a=e.__events||{};return t.__events=a,Object.entries(a).forEach(([s,d])=>{t.addEventListener(s,d)}),Array.from(e.childNodes).forEach(s=>{s instanceof HTMLElement?t.appendChild(this._deepCloneWithEvents(s)):t.appendChild(s.cloneNode(!0))}),t}async update(){const e=this.render();if(!e)return document.createTextNode("");const t=await o.createElement(e);if(t instanceof HTMLElement)return this._updateElement(t);const a=document.createElement("div");return a.appendChild(t),this._updateElement(a)}async _updateElement(e){const t=this._deepCloneWithEvents(e);return t.__instance=this,this.element?this.element.parentNode&&(this.element.parentNode.replaceChild(t,this.element),this.element=t):(this.element=t,this._mounted||(this._mounted=!0,queueMicrotask(()=>this.componentDidMount()))),this.element}render(){throw new Error("Component must implement render() method")}}const y={async getServer(){throw new Error("Server module can only be used in Node.js environment")}},E=i.loadGoWasm,g=i.createTypedWasmFunction,v=i.goValues,_={loadGoWasm:i.loadGoWasm,createTypedWasmFunction:i.createTypedWasmFunction,goValues:i.goValues};let j=!1;const b={Fragment:o.Fragment,jsx:o.jsx,jsxs:o.jsx,createElement:o.createElement,render:c.render,hydrate:c.hydrate,useState:n.useState,useEffect:n.useEffect,useMemo:n.useMemo,useRef:n.useRef,useContext:n.useContext,useErrorBoundary:n.useErrorBoundary,createContext:n.createContext,renderToString:l.renderToString,batchUpdates:n.batchUpdates,server:y,loadGoWasm:E,createTypedWasmFunction:g,goValues:v,wasm:_,Component:f,diff:p,shouldComponentUpdate:h};exports.Fragment=o.Fragment;exports.createElement=o.createElement;exports.jsx=o.jsx;exports.jsxDEV=o.jsx;exports.jsxs=o.jsx;exports.hydrate=c.hydrate;exports.render=c.render;exports.batchUpdates=n.batchUpdates;exports.createContext=n.createContext;exports.finishRender=n.finishRender;exports.getIsBatching=n.getIsBatching;Object.defineProperty(exports,"isBatching",{enumerable:!0,get:()=>n.isBatching});exports.prepareRender=n.prepareRender;exports.setRenderCallback=n.setRenderCallback;exports.useContext=n.useContext;exports.useEffect=n.useEffect;exports.useErrorBoundary=n.useErrorBoundary;exports.useMemo=n.useMemo;exports.useRef=n.useRef;exports.useState=n.useState;exports.renderToString=l.renderToString;exports.Component=f;exports.createTypedWasmFunction=g;exports.default=b;exports.diff=p;exports.goValues=v;exports.isHydrating=j;exports.loadGoWasm=E;exports.server=y;exports.shouldComponentUpdate=h;exports.wasm=_;
|