ziex 0.1.0-dev.1458 → 0.1.0-dev.1466

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/index.js CHANGED
@@ -1,9 +1,14 @@
1
+ // src/wasm/constants.ts
2
+ var CallbackType_FetchSuccess = 1;
3
+ var CallbackType_FetchError = 2;
4
+ var CallbackType_Timeout = 3;
5
+ var CallbackType_Interval = 4;
6
+
1
7
  // src/wasm/wasi.ts
2
8
  var decoder = new TextDecoder();
3
9
  var encoder = new TextEncoder();
4
10
  var ZxWasiBridge = class {
5
11
  #alloc;
6
- #fetchCompleteHandler;
7
12
  #memory;
8
13
  #cb;
9
14
  #intervals = /* @__PURE__ */ new Map();
@@ -13,7 +18,6 @@ var ZxWasiBridge = class {
13
18
  constructor(exports) {
14
19
  this.#memory = exports.memory;
15
20
  this.#alloc = exports.__zx_alloc;
16
- this.#fetchCompleteHandler = exports.__zx_fetch_complete;
17
21
  this.#cb = exports.__zx_cb;
18
22
  }
19
23
  #view() {
@@ -38,6 +42,9 @@ var ZxWasiBridge = class {
38
42
  if (start + data.length > view.byteLength) return;
39
43
  view.set(data, start);
40
44
  }
45
+ #invoke(type, id, a = 0n, b = 0n, c = 0n) {
46
+ this.#cb?.(type, id, a, b, c);
47
+ }
41
48
  log(level, ptr, len) {
42
49
  const msg = decoder.decode(this.#view().subarray(ptr, ptr + len));
43
50
  switch (level) {
@@ -90,13 +97,14 @@ var ZxWasiBridge = class {
90
97
  const encoded = typeof body === "string" ? encoder.encode(body) : body;
91
98
  const ptr = this.#alloc(encoded.length);
92
99
  this.#writeBytes(ptr, encoded);
93
- this.#fetchCompleteHandler(fetchId, status, ptr, encoded.length, isError ? 1 : 0);
100
+ const type = isError ? CallbackType_FetchError : CallbackType_FetchSuccess;
101
+ this.#invoke(type, fetchId, BigInt(status), BigInt(ptr), BigInt(encoded.length));
94
102
  }
95
103
  setTimeout(callbackId, delayMs) {
96
- setTimeout(() => this.#cb?.(3, callbackId, 0n), delayMs);
104
+ setTimeout(() => this.#invoke(CallbackType_Timeout, callbackId), delayMs);
97
105
  }
98
106
  setInterval(callbackId, intervalMs) {
99
- const handle = setInterval(() => this.#cb?.(4, callbackId, 0n), intervalMs);
107
+ const handle = setInterval(() => this.#invoke(CallbackType_Interval, callbackId), intervalMs);
100
108
  this.#intervals.set(callbackId, handle);
101
109
  }
102
110
  clearInterval(callbackId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ziex",
3
- "version": "0.1.0-dev.1458",
3
+ "version": "0.1.0-dev.1466",
4
4
  "types": "index.d.ts",
5
5
  "description": "Ziex is a framework for building web applications with Zig.",
6
6
  "main": "index.js",
@@ -40,7 +40,7 @@
40
40
  "license": "MIT",
41
41
  "scripts": {},
42
42
  "dependencies": {
43
- "@ziex/cli": "0.1.0-dev.1458"
43
+ "@ziex/cli": "0.1.0-dev.1466"
44
44
  },
45
45
  "module": "index.js"
46
46
  }