@bytecodealliance/preview2-shim 0.17.1 → 0.17.3

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.
Files changed (67) hide show
  1. package/lib/browser/cli.js +91 -94
  2. package/lib/browser/clocks.js +30 -29
  3. package/lib/browser/filesystem.js +298 -251
  4. package/lib/browser/http.js +129 -128
  5. package/lib/browser/index.js +8 -16
  6. package/lib/browser/io.js +143 -135
  7. package/lib/browser/random.js +44 -42
  8. package/lib/browser/sockets.js +68 -166
  9. package/lib/common/instantiation.js +127 -0
  10. package/lib/io/calls.js +7 -5
  11. package/lib/io/worker-http.js +175 -157
  12. package/lib/io/worker-io.js +402 -386
  13. package/lib/io/worker-socket-tcp.js +271 -219
  14. package/lib/io/worker-socket-udp.js +494 -429
  15. package/lib/io/worker-sockets.js +276 -262
  16. package/lib/io/worker-thread.js +946 -815
  17. package/lib/nodejs/cli.js +64 -63
  18. package/lib/nodejs/clocks.js +51 -45
  19. package/lib/nodejs/filesystem.js +788 -654
  20. package/lib/nodejs/http.js +693 -617
  21. package/lib/nodejs/index.js +8 -16
  22. package/lib/nodejs/random.js +32 -28
  23. package/lib/nodejs/sockets.js +538 -474
  24. package/lib/synckit/index.js +94 -85
  25. package/package.json +9 -5
  26. package/types/cli.d.ts +11 -23
  27. package/types/clocks.d.ts +2 -5
  28. package/types/filesystem.d.ts +2 -5
  29. package/types/http.d.ts +3 -7
  30. package/types/index.d.ts +6 -15
  31. package/types/instantiation.d.ts +112 -0
  32. package/types/interfaces/wasi-cli-environment.d.ts +21 -22
  33. package/types/interfaces/wasi-cli-exit.d.ts +5 -6
  34. package/types/interfaces/wasi-cli-run.d.ts +5 -6
  35. package/types/interfaces/wasi-cli-stderr.d.ts +3 -5
  36. package/types/interfaces/wasi-cli-stdin.d.ts +3 -5
  37. package/types/interfaces/wasi-cli-stdout.d.ts +3 -5
  38. package/types/interfaces/wasi-cli-terminal-input.d.ts +5 -3
  39. package/types/interfaces/wasi-cli-terminal-output.d.ts +5 -3
  40. package/types/interfaces/wasi-cli-terminal-stderr.d.ts +7 -9
  41. package/types/interfaces/wasi-cli-terminal-stdin.d.ts +7 -9
  42. package/types/interfaces/wasi-cli-terminal-stdout.d.ts +7 -9
  43. package/types/interfaces/wasi-clocks-monotonic-clock.d.ts +24 -26
  44. package/types/interfaces/wasi-clocks-wall-clock.d.ts +23 -24
  45. package/types/interfaces/wasi-filesystem-preopens.d.ts +6 -8
  46. package/types/interfaces/wasi-filesystem-types.d.ts +34 -33
  47. package/types/interfaces/wasi-http-incoming-handler.d.ts +16 -19
  48. package/types/interfaces/wasi-http-outgoing-handler.d.ts +18 -23
  49. package/types/interfaces/wasi-http-types.d.ts +49 -38
  50. package/types/interfaces/wasi-io-error.d.ts +5 -3
  51. package/types/interfaces/wasi-io-poll.d.ts +27 -25
  52. package/types/interfaces/wasi-io-streams.d.ts +24 -21
  53. package/types/interfaces/wasi-random-insecure-seed.d.ts +21 -22
  54. package/types/interfaces/wasi-random-insecure.d.ts +19 -20
  55. package/types/interfaces/wasi-random-random.d.ts +23 -24
  56. package/types/interfaces/wasi-sockets-instance-network.d.ts +6 -8
  57. package/types/interfaces/wasi-sockets-ip-name-lookup.d.ts +32 -34
  58. package/types/interfaces/wasi-sockets-network.d.ts +5 -3
  59. package/types/interfaces/wasi-sockets-tcp-create-socket.d.ts +28 -33
  60. package/types/interfaces/wasi-sockets-tcp.d.ts +17 -23
  61. package/types/interfaces/wasi-sockets-udp-create-socket.d.ts +28 -33
  62. package/types/interfaces/wasi-sockets-udp.d.ts +20 -17
  63. package/types/io.d.ts +3 -7
  64. package/types/random.d.ts +3 -7
  65. package/types/sockets.d.ts +7 -15
  66. package/types/wasi-cli-command.d.ts +29 -29
  67. package/types/wasi-http-proxy.d.ts +13 -13
@@ -1,17 +1,9 @@
1
- import * as clocks from "./clocks.js";
2
- import * as filesystem from "./filesystem.js";
3
- import * as http from "./http.js";
4
- import * as io from "./io.js";
5
- import * as random from "./random.js";
6
- import * as sockets from "./sockets.js";
7
- import * as cli from "./cli.js";
1
+ import * as clocks from './clocks.js';
2
+ import * as filesystem from './filesystem.js';
3
+ import * as http from './http.js';
4
+ import * as io from './io.js';
5
+ import * as random from './random.js';
6
+ import * as sockets from './sockets.js';
7
+ import * as cli from './cli.js';
8
8
 
9
- export {
10
- clocks,
11
- filesystem,
12
- http,
13
- io,
14
- random,
15
- sockets,
16
- cli
17
- }
9
+ export { clocks, filesystem, http, io, random, sockets, cli };
@@ -1,45 +1,49 @@
1
- import { randomBytes, randomFillSync } from "node:crypto";
1
+ import { randomBytes, randomFillSync } from 'node:crypto';
2
2
 
3
3
  export const insecure = {
4
- getInsecureRandomBytes: getRandomBytes,
5
- getInsecureRandomU64() {
6
- return new BigUint64Array(randomBytes(8).buffer)[0];
7
- },
4
+ getInsecureRandomBytes: getRandomBytes,
5
+ getInsecureRandomU64() {
6
+ return new BigUint64Array(randomBytes(8).buffer)[0];
7
+ },
8
8
  };
9
9
 
10
10
  let insecureSeedValue1, insecureSeedValue2;
11
11
 
12
12
  export const insecureSeed = {
13
- insecureSeed() {
14
- if (insecureSeedValue1 === undefined) {
15
- insecureSeedValue1 = random.getRandomU64();
16
- insecureSeedValue2 = random.getRandomU64();
17
- }
18
- return [insecureSeedValue1, insecureSeedValue2];
19
- },
13
+ insecureSeed() {
14
+ if (insecureSeedValue1 === undefined) {
15
+ insecureSeedValue1 = random.getRandomU64();
16
+ insecureSeedValue2 = random.getRandomU64();
17
+ }
18
+ return [insecureSeedValue1, insecureSeedValue2];
19
+ },
20
20
  };
21
21
 
22
22
  export const random = {
23
- getRandomBytes,
23
+ getRandomBytes,
24
24
 
25
- getRandomU64() {
26
- return new BigUint64Array(randomBytes(8).buffer)[0];
27
- },
25
+ getRandomU64() {
26
+ return new BigUint64Array(randomBytes(8).buffer)[0];
27
+ },
28
28
  };
29
29
 
30
30
  function getRandomBytes(len) {
31
- return randomBytes(Number(len));
31
+ return randomBytes(Number(len));
32
32
  }
33
33
 
34
- getRandomBytes[Symbol.for("cabiLower")] = ({ memory, realloc }) => {
35
- let buf32 = new Uint32Array(memory.buffer);
36
- return function randomBytes(len, retptr) {
37
- len = Number(len);
38
- const ptr = realloc(0, 0, 1, len);
39
- randomFillSync(memory.buffer, ptr, len);
40
- if (memory.buffer !== buf32.buffer) buf32 = new Uint32Array(memory.buffer);
41
- if (retptr % 4) throw new Error('wasi-io trap: retptr not aligned');
42
- buf32[retptr >> 2] = ptr;
43
- buf32[(retptr >> 2) + 1] = len;
44
- };
34
+ getRandomBytes[Symbol.for('cabiLower')] = ({ memory, realloc }) => {
35
+ let buf32 = new Uint32Array(memory.buffer);
36
+ return function randomBytes(len, retptr) {
37
+ len = Number(len);
38
+ const ptr = realloc(0, 0, 1, len);
39
+ randomFillSync(memory.buffer, ptr, len);
40
+ if (memory.buffer !== buf32.buffer) {
41
+ buf32 = new Uint32Array(memory.buffer);
42
+ }
43
+ if (retptr % 4) {
44
+ throw new Error('wasi-io trap: retptr not aligned');
45
+ }
46
+ buf32[retptr >> 2] = ptr;
47
+ buf32[(retptr >> 2) + 1] = len;
48
+ };
45
49
  };