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