baraqex 1.0.18 → 1.0.19

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/README.md ADDED
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=WasmLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WasmLoader.d.ts","sourceRoot":"","sources":["../../../src/frontend/components/WasmLoader.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=WasmLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WasmLoader.js","sourceRoot":"","sources":["../../../src/frontend/components/WasmLoader.tsx"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=useWasm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWasm.d.ts","sourceRoot":"","sources":["../../../src/frontend/hooks/useWasm.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=useWasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWasm.js","sourceRoot":"","sources":["../../../src/frontend/hooks/useWasm.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/frontend/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/frontend/index.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -4,5 +4,6 @@ export { safeJsonParse, generateToken, hashString, getPagination, sendSuccess, s
4
4
  export type { ServerConfig, User, DbConfig, MiddlewareFunction } from './server/types.js';
5
5
  export { renderToString as baraqexRenderToString, hydrate as baraqexHydrate } from './server-renderer.js';
6
6
  export { requestLogger, errorHandler, notFoundHandler, rateLimit } from './server/middleware.js';
7
- export { initNodeWasm, loadGoWasmFromFile, loadGoWasm } from './wasm.js';
7
+ export { loadGoWasm, callWasmFunction, isWasmReady, getWasmFunctions, useGoWasm } from './wasm.js';
8
+ export type { GoWasmOptions, GoWasmInstance } from './wasm.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAKjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG1G,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGjG,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AAKjC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG1F,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG1G,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGjG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnG,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ export { safeJsonParse, generateToken, hashString, getPagination, sendSuccess, s
8
8
  export { renderToString as baraqexRenderToString, hydrate as baraqexHydrate } from './server-renderer.js';
9
9
  // Export middleware functions
10
10
  export { requestLogger, errorHandler, notFoundHandler, rateLimit } from './server/middleware.js';
11
- // Export WASM utilities
12
- export { initNodeWasm, loadGoWasmFromFile, loadGoWasm } from './wasm.js';
11
+ // Export WASM functionality (browser-only functions)
12
+ export { loadGoWasm, callWasmFunction, isWasmReady, getWasmFunctions, useGoWasm } from './wasm.js';
13
13
  console.log('Baraqex - powered by Frontend Hamroun Framework with additional utilities');
14
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,cAAc,kBAAkB,CAAC;AAEjC,2CAA2C;AAE3C,gEAAgE;AAChE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,mBAAmB,CAAC;AAK3B,mCAAmC;AACnC,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE1G,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEjG,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAC,MAAM,WAAW,CAAC;AAExE,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,cAAc,kBAAkB,CAAC;AAEjC,2CAA2C;AAE3C,gEAAgE;AAChE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACT,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,YAAY,EACb,MAAM,mBAAmB,CAAC;AAK3B,mCAAmC;AACnC,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE1G,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEjG,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGnG,OAAO,CAAC,GAAG,CAAC,2EAA2E,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { GoWasmInstance, GoWasmOptions } from '../wasm';
1
+ import { GoWasmInstance, GoWasmOptions } from '../wasm.js';
2
2
  /**
3
3
  * Initialize the Node.js environment for running Go WASM modules
4
4
  */
@@ -7,4 +7,23 @@ export declare function initNodeWasm(): Promise<void>;
7
7
  * Load a Go WASM module from a file path for server-side usage
8
8
  */
9
9
  export declare function loadGoWasmFromFile(wasmFilePath: string, options?: GoWasmOptions): Promise<GoWasmInstance>;
10
+ /**
11
+ * Call a Go WASM function in Node.js environment
12
+ */
13
+ export declare function callWasmFunction(funcName: string, ...args: any[]): any;
14
+ /**
15
+ * Check if Go WASM is ready in Node.js
16
+ */
17
+ export declare function isWasmReady(): boolean;
18
+ /**
19
+ * Get all available Go WASM functions in Node.js
20
+ */
21
+ export declare function getWasmFunctions(): string[];
22
+ declare global {
23
+ var Go: new () => {
24
+ importObject: any;
25
+ run: (instance: WebAssembly.Instance) => void;
26
+ };
27
+ }
28
+ export type { GoWasmInstance, GoWasmOptions };
10
29
  //# sourceMappingURL=wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../src/server/wasm.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAKxD;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBlD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CA0dzB"}
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../src/server/wasm.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAK3D;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAclD;AAuED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CA6EzB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAOtE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAKrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAK3C;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,EAAE,EAAE,UAAU;QAChB,YAAY,EAAE,GAAG,CAAC;QAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC;KAC/C,CAAC;CACH;AAED,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
@@ -1,7 +1,10 @@
1
1
  /**
2
2
  * Server-side Go WASM integration for Node.js
3
+ * Uses the standard Go WASM runtime (wasm_exec.js)
3
4
  */
4
5
  import fs from 'fs/promises';
6
+ import path from 'path';
7
+ import { pathToFileURL } from 'url';
5
8
  // Global flag to ensure we only initialize WASM once
6
9
  let initialized = false;
7
10
  /**
@@ -11,7 +14,6 @@ export async function initNodeWasm() {
11
14
  if (initialized)
12
15
  return;
13
16
  try {
14
- // Check if node requires WASM flags
15
17
  // Global WASM environment setup for Node.js
16
18
  globalThis.TextEncoder = globalThis.TextEncoder || TextEncoder;
17
19
  globalThis.TextDecoder = globalThis.TextDecoder || TextDecoder;
@@ -24,443 +26,127 @@ export async function initNodeWasm() {
24
26
  }
25
27
  }
26
28
  /**
27
- * Load a Go WASM module from a file path for server-side usage
29
+ * Load Go WASM runtime from wasm_exec.js file
28
30
  */
29
- export async function loadGoWasmFromFile(wasmFilePath, options = {}) {
30
- try {
31
- // Initialize Node.js WASM environment
32
- await initNodeWasm();
33
- // Create a proper Go runtime that matches what Go WASM expects
34
- const Go = class {
35
- constructor() {
36
- this.importObject = {
37
- gojs: {
38
- // Memory management
39
- 'runtime.wasmExit': (sp) => {
40
- const code = new DataView(this.mem.buffer).getInt32(sp + 8, true);
41
- process.exit(code);
42
- },
43
- 'runtime.wasmWrite': (sp) => {
44
- const fd = new DataView(this.mem.buffer).getInt32(sp + 8, true);
45
- const p = new DataView(this.mem.buffer).getInt32(sp + 16, true);
46
- const n = new DataView(this.mem.buffer).getInt32(sp + 24, true);
47
- if (fd === 1) { // stdout
48
- process.stdout.write(new Uint8Array(this.mem.buffer, p, n));
49
- }
50
- else if (fd === 2) { // stderr
51
- process.stderr.write(new Uint8Array(this.mem.buffer, p, n));
52
- }
53
- },
54
- 'runtime.resetMemoryDataView': () => {
55
- this.mem = this.inst?.exports.mem;
56
- },
57
- 'runtime.nanotime1': (sp) => {
58
- const nsec = Date.now() * 1000000;
59
- new DataView(this.mem.buffer).setBigInt64(sp + 8, BigInt(nsec), true);
60
- },
61
- 'runtime.walltime': (sp) => {
62
- const msec = Date.now();
63
- const sec = Math.floor(msec / 1000);
64
- const nsec = (msec % 1000) * 1000000;
65
- new DataView(this.mem.buffer).setBigInt64(sp + 8, BigInt(sec), true);
66
- new DataView(this.mem.buffer).setInt32(sp + 16, nsec, true);
67
- },
68
- 'runtime.scheduleTimeoutEvent': (sp) => {
69
- const id = this._nextCallbackTimeoutID++;
70
- const delay = new DataView(this.mem.buffer).getBigInt64(sp + 8, true);
71
- setTimeout(() => {
72
- this._resume();
73
- }, Number(delay));
74
- new DataView(this.mem.buffer).setInt32(sp + 16, id, true);
75
- },
76
- 'runtime.clearTimeoutEvent': (sp) => {
77
- // Simplified implementation
78
- },
79
- 'runtime.getRandomData': (sp) => {
80
- const buf = new DataView(this.mem.buffer).getInt32(sp + 8, true);
81
- const len = new DataView(this.mem.buffer).getInt32(sp + 16, true);
82
- crypto.getRandomValues(new Uint8Array(this.mem.buffer, buf, len));
83
- },
84
- // JavaScript interop
85
- 'syscall/js.finalizeRef': () => { },
86
- 'syscall/js.stringVal': (sp) => {
87
- const s = this._loadString(new DataView(this.mem.buffer).getInt32(sp + 8, true));
88
- this._storeValue(sp + 16, s);
89
- },
90
- 'syscall/js.valueGet': (sp) => {
91
- try {
92
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
93
- const p = this._loadString(new DataView(this.mem.buffer).getInt32(sp + 16, true));
94
- // Ensure v is a valid object before using Reflect.get
95
- if (v === null || v === undefined) {
96
- console.warn(`[WASM] valueGet called on null/undefined object for property: ${p}`);
97
- this._storeValue(sp + 24, undefined);
98
- return;
99
- }
100
- if (typeof v !== 'object' && typeof v !== 'function') {
101
- console.warn(`[WASM] valueGet called on non-object (${typeof v}) for property: ${p}`);
102
- this._storeValue(sp + 24, undefined);
103
- return;
104
- }
105
- const result = Reflect.get(v, p);
106
- this._storeValue(sp + 24, result);
107
- }
108
- catch (error) {
109
- console.warn(`[WASM] Error in valueGet:`, error);
110
- this._storeValue(sp + 24, undefined);
111
- }
112
- },
113
- 'syscall/js.valueSet': (sp) => {
114
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
115
- const p = this._loadString(new DataView(this.mem.buffer).getInt32(sp + 16, true));
116
- const x = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 24, true));
117
- Reflect.set(v, p, x);
118
- },
119
- 'syscall/js.valueDelete': (sp) => {
120
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
121
- const p = this._loadString(new DataView(this.mem.buffer).getInt32(sp + 16, true));
122
- Reflect.deleteProperty(v, p);
123
- },
124
- 'syscall/js.valueIndex': (sp) => {
125
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
126
- const i = new DataView(this.mem.buffer).getInt32(sp + 16, true);
127
- this._storeValue(sp + 20, Reflect.get(v, i));
128
- },
129
- 'syscall/js.valueSetIndex': (sp) => {
130
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
131
- const i = new DataView(this.mem.buffer).getInt32(sp + 16, true);
132
- const x = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 20, true));
133
- Reflect.set(v, i, x);
134
- },
135
- 'syscall/js.valueCall': (sp) => {
136
- try {
137
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
138
- const m = this._loadString(new DataView(this.mem.buffer).getInt32(sp + 16, true));
139
- const args = this._loadSliceOfValues(new DataView(this.mem.buffer).getInt32(sp + 24, true));
140
- const result = Reflect.apply(v[m], v, args);
141
- this._storeValue(sp + 40, result);
142
- new DataView(this.mem.buffer).setUint8(sp + 48, 1);
143
- }
144
- catch (err) {
145
- this._storeValue(sp + 40, err);
146
- new DataView(this.mem.buffer).setUint8(sp + 48, 0);
147
- }
148
- },
149
- 'syscall/js.valueInvoke': (sp) => {
150
- try {
151
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
152
- const args = this._loadSliceOfValues(new DataView(this.mem.buffer).getInt32(sp + 16, true));
153
- const result = Reflect.apply(v, undefined, args);
154
- this._storeValue(sp + 32, result);
155
- new DataView(this.mem.buffer).setUint8(sp + 40, 1);
156
- }
157
- catch (err) {
158
- this._storeValue(sp + 32, err);
159
- new DataView(this.mem.buffer).setUint8(sp + 40, 0);
160
- }
161
- },
162
- 'syscall/js.valueNew': (sp) => {
163
- try {
164
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
165
- const args = this._loadSliceOfValues(new DataView(this.mem.buffer).getInt32(sp + 16, true));
166
- const result = Reflect.construct(v, args);
167
- this._storeValue(sp + 32, result);
168
- new DataView(this.mem.buffer).setUint8(sp + 40, 1);
169
- }
170
- catch (err) {
171
- this._storeValue(sp + 32, err);
172
- new DataView(this.mem.buffer).setUint8(sp + 40, 0);
173
- }
174
- },
175
- 'syscall/js.valueLength': (sp) => {
176
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
177
- new DataView(this.mem.buffer).setInt32(sp + 16, parseInt(v.length), true);
178
- },
179
- 'syscall/js.valuePrepareString': (sp) => {
180
- const s = String(this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true)));
181
- const str = new TextEncoder().encode(s);
182
- this._storeValue(sp + 16, str);
183
- new DataView(this.mem.buffer).setInt32(sp + 24, str.length, true);
184
- },
185
- 'syscall/js.valueLoadString': (sp) => {
186
- const str = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
187
- new Uint8Array(this.mem.buffer, new DataView(this.mem.buffer).getInt32(sp + 16, true)).set(str);
188
- },
189
- 'syscall/js.valueInstanceOf': (sp) => {
190
- const v = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
191
- const t = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 16, true));
192
- new DataView(this.mem.buffer).setUint8(sp + 24, v instanceof t ? 1 : 0);
193
- },
194
- 'syscall/js.copyBytesToGo': (sp) => {
195
- const dst = new DataView(this.mem.buffer).getInt32(sp + 8, true);
196
- const src = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 16, true));
197
- new Uint8Array(this.mem.buffer, dst).set(src);
198
- new DataView(this.mem.buffer).setInt32(sp + 24, src.length, true);
199
- },
200
- 'syscall/js.copyBytesToJS': (sp) => {
201
- const dst = this._loadValue(new DataView(this.mem.buffer).getInt32(sp + 8, true));
202
- const src = new DataView(this.mem.buffer).getInt32(sp + 16, true);
203
- const len = new DataView(this.mem.buffer).getInt32(sp + 24, true);
204
- dst.set(new Uint8Array(this.mem.buffer, src, len));
205
- new DataView(this.mem.buffer).setInt32(sp + 32, len, true);
206
- },
207
- // Debug functions
208
- 'debug': (value) => {
209
- console.log('[Go WASM Debug]:', value);
210
- }
211
- }
212
- };
213
- this._nextCallbackTimeoutID = 1;
214
- this._values = [NaN, 0, null, true, false, global, this];
215
- this._goRefCounts = [];
216
- this._ids = new Map();
217
- this._idPool = [];
218
- }
219
- _storeValue(addr, v) {
220
- const nanHead = 0x7FF80000;
221
- if (typeof v === "number" && v !== 0) {
222
- if (isNaN(v)) {
223
- new DataView(this.mem.buffer).setUint32(addr + 4, nanHead, true);
224
- new DataView(this.mem.buffer).setUint32(addr, 0, true);
225
- return;
226
- }
227
- new DataView(this.mem.buffer).setFloat64(addr, v, true);
228
- return;
229
- }
230
- if (v === undefined) {
231
- new DataView(this.mem.buffer).setFloat64(addr, 0, true);
232
- return;
233
- }
234
- let id = this._ids.get(v);
235
- if (id === undefined) {
236
- id = this._idPool.pop();
237
- if (id === undefined) {
238
- id = this._values.length;
239
- }
240
- this._values[id] = v;
241
- this._goRefCounts[id] = 0;
242
- this._ids.set(v, id);
243
- }
244
- this._goRefCounts[id]++;
245
- let typeFlag = 0;
246
- switch (typeof v) {
247
- case "object":
248
- if (v !== null) {
249
- typeFlag = 1;
250
- }
251
- break;
252
- case "string":
253
- typeFlag = 2;
254
- break;
255
- case "symbol":
256
- typeFlag = 3;
257
- break;
258
- case "function":
259
- typeFlag = 4;
260
- break;
261
- }
262
- new DataView(this.mem.buffer).setUint32(addr + 4, nanHead | typeFlag, true);
263
- new DataView(this.mem.buffer).setUint32(addr, id, true);
264
- }
265
- _loadValue(addr) {
266
- try {
267
- // Validate address bounds
268
- if (addr < 0 || addr >= this.mem.buffer.byteLength - 8) {
269
- console.warn(`[WASM] Invalid _loadValue address: ${addr}`);
270
- return undefined;
271
- }
272
- const f = new DataView(this.mem.buffer).getFloat64(addr, true);
273
- if (f === 0) {
274
- return undefined;
275
- }
276
- if (!isNaN(f)) {
277
- return f;
278
- }
279
- const id = new DataView(this.mem.buffer).getUint32(addr, true);
280
- // Validate the ID is within bounds
281
- if (id < 0 || id >= this._values.length) {
282
- console.warn(`[WASM] Invalid value ID: ${id}, values length: ${this._values.length}`);
283
- return undefined;
284
- }
285
- return this._values[id];
286
- }
287
- catch (error) {
288
- console.warn(`[WASM] Error loading value at ${addr}:`, error);
289
- return undefined;
31
+ async function loadGoRuntime(goWasmPath) {
32
+ if (typeof global.Go === 'function') {
33
+ return global.Go;
34
+ }
35
+ // Try to find wasm_exec.js or wasm_exec.cjs
36
+ const possiblePaths = [
37
+ goWasmPath,
38
+ './wasm_exec.cjs',
39
+ './wasm_exec.js',
40
+ './public/wasm_exec.cjs',
41
+ './public/wasm_exec.js',
42
+ './src/wasm_exec.cjs',
43
+ './src/wasm_exec.js',
44
+ path.join(process.cwd(), 'wasm_exec.cjs'),
45
+ path.join(process.cwd(), 'wasm_exec.js'),
46
+ path.join(process.cwd(), 'public', 'wasm_exec.cjs'),
47
+ path.join(process.cwd(), 'public', 'wasm_exec.js'),
48
+ path.join(process.cwd(), 'src', 'wasm_exec.cjs'),
49
+ path.join(process.cwd(), 'src', 'wasm_exec.js')
50
+ ].filter(Boolean);
51
+ for (const wasmExecPath of possiblePaths) {
52
+ try {
53
+ const resolvedPath = path.resolve(wasmExecPath);
54
+ // Check if file exists using fs.stat instead of fs.access
55
+ try {
56
+ const stats = await fs.stat(resolvedPath);
57
+ if (!stats.isFile()) {
58
+ continue;
290
59
  }
291
60
  }
292
- _loadString(addr) {
293
- try {
294
- // Validate the address is within bounds
295
- if (addr < 0 || addr >= this.mem.buffer.byteLength - 8) {
296
- console.warn(`[WASM] Invalid string address: ${addr}, buffer size: ${this.mem.buffer.byteLength}`);
297
- return '';
298
- }
299
- const saddr = new DataView(this.mem.buffer).getInt32(addr + 0, true);
300
- const len = new DataView(this.mem.buffer).getInt32(addr + 8, true);
301
- // Validate string data address and length
302
- if (saddr < 0 || len < 0 || saddr + len > this.mem.buffer.byteLength) {
303
- console.warn(`[WASM] Invalid string data - addr: ${saddr}, len: ${len}, buffer size: ${this.mem.buffer.byteLength}`);
304
- return '';
305
- }
306
- return new TextDecoder("utf-8").decode(new DataView(this.mem.buffer, saddr, len));
307
- }
308
- catch (error) {
309
- console.warn(`[WASM] Error loading string at ${addr}:`, error);
310
- return '';
311
- }
61
+ catch (statError) {
62
+ continue; // File doesn't exist, try next path
312
63
  }
313
- _loadSliceOfValues(addr) {
314
- try {
315
- // Validate the address is within bounds
316
- if (addr < 0 || addr >= this.mem.buffer.byteLength - 16) {
317
- console.warn(`[WASM] Invalid slice address: ${addr}`);
318
- return [];
319
- }
320
- const array = new DataView(this.mem.buffer).getInt32(addr + 0, true);
321
- const len = new DataView(this.mem.buffer).getInt32(addr + 8, true);
322
- // Validate array parameters
323
- if (len < 0 || len > 1000) { // Reasonable limit
324
- console.warn(`[WASM] Invalid slice length: ${len}`);
325
- return [];
326
- }
327
- if (array < 0 || array + (len * 8) > this.mem.buffer.byteLength) {
328
- console.warn(`[WASM] Invalid slice data - addr: ${array}, len: ${len}`);
329
- return [];
330
- }
331
- const a = new Array(len);
332
- for (let i = 0; i < len; i++) {
333
- a[i] = this._loadValue(array + i * 8);
334
- }
335
- return a;
336
- }
337
- catch (error) {
338
- console.warn(`[WASM] Error loading slice at ${addr}:`, error);
339
- return [];
340
- }
64
+ // Load the Go runtime using dynamic import with file:// URL
65
+ const wasmExecUrl = pathToFileURL(resolvedPath).href;
66
+ // Clear global.Go to ensure fresh import
67
+ if (global.Go) {
68
+ delete global.Go;
341
69
  }
342
- _resume() {
343
- if (this.inst && this.inst.exports.resume) {
344
- try {
345
- this.inst.exports.resume();
346
- }
347
- catch (error) {
348
- console.warn('[WASM] Error resuming:', error);
349
- }
350
- }
70
+ // Import the module
71
+ await import(wasmExecUrl);
72
+ if (typeof global.Go === 'function') {
73
+ console.log(`[WASM] Loaded Go runtime from: ${resolvedPath}`);
74
+ return global.Go;
351
75
  }
352
- run(instance) {
353
- this.inst = instance;
354
- this.mem = instance.exports.mem;
355
- // Set up the global object with common browser APIs
356
- global.global = global;
357
- global.Object = Object;
358
- global.Array = Array;
359
- global.console = console;
360
- global.document = {
361
- createElement: (tag) => ({ tagName: tag, innerHTML: '', style: {} }),
362
- getElementById: () => null,
363
- querySelector: () => null
364
- };
365
- global.window = global;
366
- // Add required crypto for Go WASM
367
- if (!global.crypto) {
368
- global.crypto = {
369
- getRandomValues: (array) => {
370
- if (array && array instanceof Uint8Array) {
371
- for (let i = 0; i < array.length; i++) {
372
- array[i] = Math.floor(Math.random() * 256);
373
- }
374
- }
375
- return array;
376
- },
377
- subtle: {},
378
- randomUUID: () => {
379
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
380
- const r = Math.random() * 16 | 0;
381
- const v = c === 'x' ? r : (r & 0x3 | 0x8);
382
- return v.toString(16);
383
- });
384
- }
385
- };
386
- }
387
- if (options.debug) {
388
- console.log('[WASM] Go runtime initialized with proper imports');
389
- console.log('[WASM] Memory size:', this.mem.buffer.byteLength, 'bytes');
390
- }
391
- // Run the Go program with error handling
392
- try {
393
- if (instance.exports.run) {
394
- instance.exports.run();
395
- }
396
- }
397
- catch (error) {
398
- console.error('[WASM] Error running Go program:', error);
399
- throw error;
400
- }
76
+ else {
77
+ console.warn(`[WASM] File found but Go class not exported: ${resolvedPath}`);
401
78
  }
402
- };
79
+ }
80
+ catch (error) {
81
+ console.warn(`[WASM] Error loading from ${wasmExecPath}:`, error.message);
82
+ continue;
83
+ }
84
+ }
85
+ throw new Error('[WASM] Could not find wasm_exec.js. Please ensure you have the Go WASM runtime file available.\n' +
86
+ 'You can get it from: https://github.com/golang/go/blob/master/misc/wasm/wasm_exec.js\n' +
87
+ `Searched paths: ${possiblePaths.join(', ')}`);
88
+ }
89
+ /**
90
+ * Load a Go WASM module from a file path for server-side usage
91
+ */
92
+ export async function loadGoWasmFromFile(wasmFilePath, options = {}) {
93
+ try {
94
+ // Initialize Node.js WASM environment
95
+ await initNodeWasm();
96
+ if (options.debug) {
97
+ console.log('[WASM] Loading WASM from file:', wasmFilePath);
98
+ }
99
+ // Load the standard Go runtime
100
+ const GoRuntime = await loadGoRuntime(options.goWasmPath);
101
+ const go = new GoRuntime();
403
102
  // Load WASM binary
404
103
  const wasmBuffer = await fs.readFile(wasmFilePath);
405
104
  const wasmModule = await WebAssembly.compile(wasmBuffer);
406
- // Create Go instance
407
- const go = new Go();
408
- // Create imports object
105
+ // The standard wasm_exec.js provides imports under 'go' but some Go WASM modules expect 'gojs'
106
+ // Create imports object with both possible structures
107
+ const baseImports = go.importObject;
409
108
  const finalImportObject = {
410
- ...go.importObject,
109
+ ...baseImports,
110
+ // Add gojs mapping for compatibility
111
+ gojs: baseImports.go || {},
411
112
  ...options.importObject
412
113
  };
114
+ if (options.debug) {
115
+ console.log('[WASM] Available import modules:', Object.keys(finalImportObject));
116
+ console.log('[WASM] Go import functions:', Object.keys(finalImportObject.go || {}));
117
+ console.log('[WASM] Gojs import functions:', Object.keys(finalImportObject.gojs || {}));
118
+ }
413
119
  // Instantiate the WASM module
414
120
  const instance = await WebAssembly.instantiate(wasmModule, finalImportObject);
415
- // Initialize Go runtime
416
- go.run(instance);
417
- // Give the Go module more time to register global functions and handle initialization
121
+ // Initialize Go runtime (exactly like browser)
122
+ await go.run(instance);
123
+ // Give Go runtime time to initialize and register functions (like browser version)
418
124
  await new Promise(resolve => setTimeout(resolve, 1000));
419
- // Extract exported functions
420
- const exports = instance.exports;
125
+ // Extract exported functions from global scope (like browser version)
421
126
  const functions = {};
422
- // Generate wrapper functions for all exports that are functions
423
- for (const key in exports) {
424
- if (typeof exports[key] === 'function') {
425
- const exportedFunc = exports[key];
426
- functions[key] = (...args) => exportedFunc(...args);
427
- if (options.debug) {
428
- const originalFn = functions[key];
429
- functions[key] = (...args) => {
430
- console.log(`[WASM] Calling ${key}(${args.join(', ')})`);
431
- const result = originalFn(...args);
432
- console.log(`[WASM] ${key} returned:`, result);
433
- return result;
434
- };
435
- }
436
- }
437
- }
438
- // Also capture global functions exported by Go
439
- for (const key in global) {
440
- if (key.startsWith('go') && typeof global[key] === 'function') {
441
- const globalFunc = global[key];
442
- functions[key] = (...args) => globalFunc(...args);
127
+ // Look for Go functions in global scope
128
+ const globalObj = global;
129
+ for (const key in globalObj) {
130
+ if (typeof globalObj[key] === 'function' && key.startsWith('go')) {
131
+ functions[key] = globalObj[key];
443
132
  if (options.debug) {
444
- const originalFn = functions[key];
445
- functions[key] = (...args) => {
446
- console.log(`[WASM] Calling global ${key}(${args.join(', ')})`);
447
- const result = originalFn(...args);
448
- console.log(`[WASM] ${key} returned:`, result);
449
- return result;
450
- };
133
+ console.log(`[WASM] Found function: ${key}`);
451
134
  }
452
135
  }
453
136
  }
454
137
  const wasmInstance = {
455
138
  instance,
456
139
  module: wasmModule,
457
- exports,
140
+ exports: instance.exports,
458
141
  functions
459
142
  };
460
143
  // Run onLoad callback if provided
461
144
  if (options.onLoad) {
462
145
  options.onLoad(wasmInstance);
463
146
  }
147
+ if (options.debug) {
148
+ console.log(`[WASM] Module loaded successfully with ${Object.keys(functions).length} functions`);
149
+ }
464
150
  return wasmInstance;
465
151
  }
466
152
  catch (error) {
@@ -468,4 +154,28 @@ export async function loadGoWasmFromFile(wasmFilePath, options = {}) {
468
154
  throw error;
469
155
  }
470
156
  }
157
+ /**
158
+ * Call a Go WASM function in Node.js environment
159
+ */
160
+ export function callWasmFunction(funcName, ...args) {
161
+ const func = global[funcName];
162
+ if (typeof func !== 'function') {
163
+ throw new Error(`Function ${funcName} not found. Make sure the WASM module is loaded.`);
164
+ }
165
+ return func(...args);
166
+ }
167
+ /**
168
+ * Check if Go WASM is ready in Node.js
169
+ */
170
+ export function isWasmReady() {
171
+ const globalObj = global;
172
+ return Object.keys(globalObj).some(key => key.startsWith('go') && typeof globalObj[key] === 'function');
173
+ }
174
+ /**
175
+ * Get all available Go WASM functions in Node.js
176
+ */
177
+ export function getWasmFunctions() {
178
+ const globalObj = global;
179
+ return Object.keys(globalObj).filter(key => key.startsWith('go') && typeof globalObj[key] === 'function');
180
+ }
471
181
  //# sourceMappingURL=wasm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../src/server/wasm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../src/server/wasm.ts"],"names":[],"mappings":"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"}
package/dist/wasm.d.ts CHANGED
@@ -1,18 +1,51 @@
1
1
  /**
2
- * WASM type definitions and utilities
2
+ * WebAssembly integration for Frontend Hamroun
3
+ * Works in both browser and Node.js environments
3
4
  */
4
5
  export interface GoWasmOptions {
5
6
  debug?: boolean;
6
7
  goWasmPath?: string;
7
- importObject?: Record<string, any>;
8
+ importObject?: any;
8
9
  onLoad?: (instance: GoWasmInstance) => void;
9
10
  }
10
11
  export interface GoWasmInstance {
11
12
  instance: WebAssembly.Instance;
12
13
  module: WebAssembly.Module;
13
- exports: WebAssembly.Instance['exports'];
14
+ exports: WebAssembly.Exports;
14
15
  functions: Record<string, Function>;
15
16
  }
17
+ /**
18
+ * Load Go WASM module in the browser (like your working frontend code)
19
+ */
16
20
  export declare function loadGoWasm(wasmUrl: string, options?: GoWasmOptions): Promise<GoWasmInstance>;
17
- export { initNodeWasm, loadGoWasmFromFile } from './server/wasm.js';
21
+ /**
22
+ * Call a Go WASM function (like your frontend code's callWasmFunction)
23
+ */
24
+ export declare function callWasmFunction(funcName: string, ...args: any[]): any;
25
+ /**
26
+ * Check if Go WASM is ready (like your frontend code's wasmReady state)
27
+ */
28
+ export declare function isWasmReady(): boolean;
29
+ /**
30
+ * Get all available Go WASM functions
31
+ */
32
+ export declare function getWasmFunctions(): string[];
33
+ /**
34
+ * Hook for React components (like your frontend code's useEffect pattern)
35
+ */
36
+ export declare function useGoWasm(wasmUrl: string, options?: GoWasmOptions): {
37
+ loadWasm: () => Promise<GoWasmInstance>;
38
+ callFunction: typeof callWasmFunction;
39
+ isReady: typeof isWasmReady;
40
+ getFunctions: typeof getWasmFunctions;
41
+ };
42
+ declare global {
43
+ interface Window {
44
+ Go: new () => {
45
+ importObject: any;
46
+ run: (instance: WebAssembly.Instance) => void;
47
+ };
48
+ [key: string]: any;
49
+ }
50
+ }
18
51
  //# sourceMappingURL=wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../src/wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACrC;AAGD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAsDzB;AAGD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../src/wasm.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC;IAC/B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAwEzB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAWtE;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CASrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAQ3C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;;;;;EAarE;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,EAAE,EAAE,UAAU;YACZ,YAAY,EAAE,GAAG,CAAC;YAClB,GAAG,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,KAAK,IAAI,CAAC;SAC/C,CAAC;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;CACF"}
package/dist/wasm.js CHANGED
@@ -1,50 +1,114 @@
1
1
  /**
2
- * WASM type definitions and utilities
2
+ * WebAssembly integration for Frontend Hamroun
3
+ * Works in both browser and Node.js environments
4
+ */
5
+ /**
6
+ * Load Go WASM module in the browser (like your working frontend code)
3
7
  */
4
- // Browser-side WASM utilities
5
8
  export async function loadGoWasm(wasmUrl, options = {}) {
6
9
  if (typeof window === 'undefined') {
7
- throw new Error('loadGoWasm is for browser use only. Use loadGoWasmFromFile for Node.js');
10
+ throw new Error('loadGoWasm() is for browser use only. Use loadGoWasmFromFile() in Node.js.');
8
11
  }
9
12
  try {
10
- // Load Go runtime
11
- const goScript = document.createElement('script');
12
- goScript.src = options.goWasmPath || '/wasm_exec.js';
13
- document.head.appendChild(goScript);
14
- await new Promise((resolve, reject) => {
15
- goScript.onload = resolve;
16
- goScript.onerror = reject;
17
- });
18
- // Initialize Go
13
+ // Check if Go WASM runtime is available (like your frontend code)
14
+ if (!window.Go) {
15
+ throw new Error('Go WASM runtime not available. Make sure wasm_exec.js is loaded.');
16
+ }
17
+ if (options.debug) {
18
+ console.log('[WASM] Loading WASM from:', wasmUrl);
19
+ }
20
+ // Fetch the WASM file (exactly like your frontend code)
21
+ const response = await fetch(wasmUrl);
22
+ if (!response.ok) {
23
+ throw new Error(`Failed to fetch WASM file: ${response.status}`);
24
+ }
25
+ const wasmBytes = await response.arrayBuffer();
26
+ // Initialize Go runtime (exactly like your frontend code)
19
27
  const go = new window.Go();
20
- // Load WASM
21
- const wasmModule = await WebAssembly.instantiateStreaming(fetch(wasmUrl), { ...go.importObject, ...options.importObject });
22
- // Run Go
28
+ const wasmModule = await WebAssembly.instantiate(wasmBytes, go.importObject);
29
+ // Run the Go program (exactly like your frontend code)
23
30
  go.run(wasmModule.instance);
24
- // Extract functions
31
+ // Wait a bit for Go functions to be registered (like your frontend code)
32
+ await new Promise(resolve => setTimeout(resolve, 100));
33
+ if (options.debug) {
34
+ console.log('[WASM] Go program started, checking for registered functions...');
35
+ }
36
+ // Extract exported functions from global scope (like your frontend code)
25
37
  const functions = {};
26
- const exports = wasmModule.instance.exports;
27
- for (const key in exports) {
28
- if (typeof exports[key] === 'function') {
29
- functions[key] = exports[key];
38
+ // Look for Go functions in global scope
39
+ for (const key in window) {
40
+ if (typeof window[key] === 'function' && key.startsWith('go')) {
41
+ functions[key] = window[key];
42
+ if (options.debug) {
43
+ console.log(`[WASM] Found function: ${key}`);
44
+ }
30
45
  }
31
46
  }
32
- const instance = {
47
+ const wasmInstance = {
33
48
  instance: wasmModule.instance,
34
- module: wasmModule.module,
35
- exports,
49
+ module: wasmModule,
50
+ exports: wasmModule.instance.exports,
36
51
  functions
37
52
  };
38
53
  if (options.onLoad) {
39
- options.onLoad(instance);
54
+ options.onLoad(wasmInstance);
55
+ }
56
+ if (options.debug) {
57
+ console.log(`[WASM] Module loaded successfully with ${Object.keys(functions).length} functions`);
40
58
  }
41
- return instance;
59
+ return wasmInstance;
42
60
  }
43
61
  catch (error) {
44
- console.error('[WASM] Failed to load Go WASM module:', error);
62
+ console.error('[WASM] Error loading Go WASM module:', error);
45
63
  throw error;
46
64
  }
47
65
  }
48
- // Re-export server WASM functions for convenience
49
- export { initNodeWasm, loadGoWasmFromFile } from './server/wasm.js';
66
+ /**
67
+ * Call a Go WASM function (like your frontend code's callWasmFunction)
68
+ */
69
+ export function callWasmFunction(funcName, ...args) {
70
+ if (typeof window === 'undefined') {
71
+ throw new Error('callWasmFunction() is for browser use only.');
72
+ }
73
+ const func = window[funcName];
74
+ if (typeof func !== 'function') {
75
+ throw new Error(`Function ${funcName} not found. Make sure the WASM module is loaded.`);
76
+ }
77
+ return func(...args);
78
+ }
79
+ /**
80
+ * Check if Go WASM is ready (like your frontend code's wasmReady state)
81
+ */
82
+ export function isWasmReady() {
83
+ if (typeof window === 'undefined') {
84
+ return false;
85
+ }
86
+ // Check if Go runtime is available and at least one Go function exists
87
+ return !!(window.Go && Object.keys(window).some(key => key.startsWith('go') && typeof window[key] === 'function'));
88
+ }
89
+ /**
90
+ * Get all available Go WASM functions
91
+ */
92
+ export function getWasmFunctions() {
93
+ if (typeof window === 'undefined') {
94
+ return [];
95
+ }
96
+ return Object.keys(window).filter(key => key.startsWith('go') && typeof window[key] === 'function');
97
+ }
98
+ /**
99
+ * Hook for React components (like your frontend code's useEffect pattern)
100
+ */
101
+ export function useGoWasm(wasmUrl, options = {}) {
102
+ if (typeof window === 'undefined') {
103
+ throw new Error('useGoWasm() is for browser use only.');
104
+ }
105
+ // This would need to be implemented as a React hook in frontend-hamroun
106
+ // For now, return the basic functionality
107
+ return {
108
+ loadWasm: () => loadGoWasm(wasmUrl, options),
109
+ callFunction: callWasmFunction,
110
+ isReady: isWasmReady,
111
+ getFunctions: getWasmFunctions
112
+ };
113
+ }
50
114
  //# sourceMappingURL=wasm.js.map
package/dist/wasm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../src/wasm.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,8BAA8B;AAC9B,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,UAAyB,EAAE;IAE3B,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,CAAC;QACH,kBAAkB;QAClB,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,eAAe,CAAC;QACrD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC;YAC1B,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,EAAE,GAAG,IAAK,MAAc,CAAC,EAAE,EAAE,CAAC;QAEpC,YAAY;QACZ,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,oBAAoB,CACvD,KAAK,CAAC,OAAO,CAAC,EACd,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAChD,CAAC;QAEF,SAAS;QACT,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE5B,oBAAoB;QACpB,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAE5C,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;gBACvC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAa,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAmB;YAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,OAAO;YACP,SAAS;SACV,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,kDAAkD;AAClD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../src/wasm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "baraqex",
3
- "version": "1.0.18",
3
+ "version": "1.0.19",
4
4
  "description": "A wrapper package for frontend-hamroun framework",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",