@xyo-network/wasm 7.0.0 → 7.0.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.
@@ -36,12 +36,12 @@ export declare const WasmFeatureDetectors: {
36
36
  };
37
37
  export type WasmFeature = keyof typeof WasmFeatureDetectors;
38
38
  export declare class WasmSupport {
39
- protected desiredFeatures: WasmFeature[];
40
39
  private _allowWasm;
41
40
  private _featureSupport;
42
41
  private _forceWasm;
43
42
  private _isInitialized;
44
43
  private _isWasmFeatureSetSupported;
44
+ protected desiredFeatures: WasmFeature[];
45
45
  /**
46
46
  * Instance constructor for use where async instantiation
47
47
  * is not possible. Where possible, prefer the static
@@ -52,51 +52,52 @@ export declare class WasmSupport {
52
52
  */
53
53
  constructor(desiredFeatures: WasmFeature[]);
54
54
  /**
55
- * Is Wasm allowed
55
+ * Static creation & async initialization for use where
56
+ * async instantiation is possible
57
+ * @param desiredFeatures The desired feature set
58
+ * @returns An initialized instance of the class with detection
59
+ * for the desired feature set
60
+ */
61
+ static create(desiredFeatures: WasmFeature[]): Promise<WasmSupport>;
62
+ /**
63
+ * Is WebAssembly allowed
56
64
  */
57
65
  get allowWasm(): boolean;
58
66
  /**
59
- * Whether or not to allow WASM usage
67
+ * Whether or not to allow WebAssembly usage
60
68
  */
61
69
  set allowWasm(v: boolean);
62
70
  /**
63
- * Whether or not Wasm should be used based on the desired
71
+ * Whether or not WebAssembly should be used based on the desired
64
72
  * feature set, initialization state, or force-use settings
65
73
  */
66
74
  get canUseWasm(): boolean;
67
75
  /**
68
- * Returns a object containing a property for each desired wasm feature
76
+ * Returns a object containing a property for each desired WebAssembly feature
69
77
  * with a boolean value indicating whether or not the feature is supported
70
78
  */
71
79
  get featureSupport(): Readonly<Partial<Record<WasmFeature, boolean>>>;
72
80
  /**
73
- * Force use of Wasm
81
+ * Force use of WebAssembly
74
82
  */
75
83
  get forceWasm(): boolean;
76
84
  /**
77
- * Whether or not to force Wasm usage
85
+ * Whether or not to force WebAssembly usage
78
86
  */
79
87
  set forceWasm(v: boolean);
80
88
  /**
81
- * Whether or not Wasm is supported based
89
+ * Whether or not WebAssembly is supported based
82
90
  * on the desired feature set
83
91
  */
84
92
  get isDesiredFeatureSetSupported(): boolean;
85
93
  /**
86
- * Whether or not Wasm detection has been run
94
+ * Whether or not WebAssembly detection has been run
87
95
  * for the desired feature set
88
96
  */
89
97
  get isInitialized(): boolean;
98
+ protected detectDesiredFeatures(): Promise<void>;
90
99
  /**
91
- * Static creation & async initialization for use where
92
- * async instantiation is possible
93
- * @param desiredFeatures The desired feature set
94
- * @returns An initialized instance of the class with detection
95
- * for the desired feature set
96
- */
97
- static create(desiredFeatures: WasmFeature[]): Promise<WasmSupport>;
98
- /**
99
- * Checks for specific wasm features
100
+ * Checks for specific WebAssembly features
100
101
  * @param features The list of features to check for
101
102
  * @returns True if all the features are supported, false otherwise
102
103
  */
@@ -105,6 +106,5 @@ export declare class WasmSupport {
105
106
  * Does feature detection for the desired feature set
106
107
  */
107
108
  initialize(): Promise<void>;
108
- protected detectDesiredFeatures(): Promise<void>;
109
109
  }
110
110
  //# sourceMappingURL=WasmSupport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WasmSupport.d.ts","sourceRoot":"","sources":["../../src/WasmSupport.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,oBAAoB;;;;;;;;;;iGAoCiB,CAAC;;qEAkBvB,CAC5B;;;;;;;;4EAlBK,CAAE;;;;;iDAQJ,GAAC;;;;;;;;;;CA5BM,CAAA;AAIV,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,oBAAoB,CAAA;AAE3D,qBAAa,WAAW;IACtB,SAAS,CAAC,eAAe,EAAE,WAAW,EAAE,CAAA;IAExC,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,eAAe,CAA4C;IACnE,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,0BAA0B,CAAQ;IAE1C;;;;;;;OAOG;gBACS,eAAe,EAAE,WAAW,EAAE;IAI1C;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAEvB;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,OAAO,CASxB;IAED;;;OAGG;IACH,IAAI,cAAc,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAEpE;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAEvB;IAED;;;OAGG;IACH,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;;;;OAMG;WACU,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAMzE;;;;OAIG;IACG,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cAMjB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;CAOvD"}
1
+ {"version":3,"file":"WasmSupport.d.ts","sourceRoot":"","sources":["../../src/WasmSupport.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,oBAAoB;;;;;;;;;;iGAoCiB,CAAC;;qEAY9B,CAAE;;;;;;;;4EAXlB,CAAE;;;;;iDAQJ,GAAC;;;;;;;;;;CA5BM,CAAA;AAIV,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,oBAAoB,CAAA;AAE3D,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,eAAe,CAA4C;IACnE,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,0BAA0B,CAAQ;IAE1C,SAAS,CAAC,eAAe,EAAE,WAAW,EAAE,CAAA;IAExC;;;;;;;OAOG;gBACS,eAAe,EAAE,WAAW,EAAE;IAI1C;;;;;;OAMG;WACU,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAMzE;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAEvB;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,OAAO,CASxB;IAED;;;OAGG;IACH,IAAI,cAAc,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAEpE;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,EAEvB;IAED;;;OAGG;IACH,IAAI,4BAA4B,IAAI,OAAO,CAE1C;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;cAEe,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtD;;;;OAIG;IACG,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC"}
@@ -27,7 +27,8 @@ var threads = async () => {
27
27
  try {
28
28
  const sharedAvailable = typeof MessageChannel !== "undefined" && (() => {
29
29
  try {
30
- new MessageChannel().port1.postMessage(new SharedArrayBuffer(1));
30
+ const channel = new MessageChannel();
31
+ channel.port1.postMessage(new SharedArrayBuffer(1));
31
32
  return true;
32
33
  } catch {
33
34
  return false;
@@ -61,12 +62,12 @@ var WasmFeatureDetectors = {
61
62
  threads
62
63
  };
63
64
  var WasmSupport = class _WasmSupport {
64
- desiredFeatures;
65
65
  _allowWasm = true;
66
66
  _featureSupport = {};
67
67
  _forceWasm = false;
68
68
  _isInitialized = false;
69
69
  _isWasmFeatureSetSupported = false;
70
+ desiredFeatures;
70
71
  /**
71
72
  * Instance constructor for use where async instantiation
72
73
  * is not possible. Where possible, prefer the static
@@ -79,74 +80,81 @@ var WasmSupport = class _WasmSupport {
79
80
  this.desiredFeatures = desiredFeatures;
80
81
  }
81
82
  /**
82
- * Is Wasm allowed
83
+ * Static creation & async initialization for use where
84
+ * async instantiation is possible
85
+ * @param desiredFeatures The desired feature set
86
+ * @returns An initialized instance of the class with detection
87
+ * for the desired feature set
88
+ */
89
+ static async create(desiredFeatures) {
90
+ const instance = new _WasmSupport(desiredFeatures);
91
+ await instance.initialize();
92
+ return instance;
93
+ }
94
+ /**
95
+ * Is WebAssembly allowed
83
96
  */
84
97
  get allowWasm() {
85
98
  return this._allowWasm;
86
99
  }
87
100
  /**
88
- * Whether or not to allow WASM usage
101
+ * Whether or not to allow WebAssembly usage
89
102
  */
90
103
  set allowWasm(v) {
91
104
  this._allowWasm = v;
92
105
  }
93
106
  /**
94
- * Whether or not Wasm should be used based on the desired
107
+ * Whether or not WebAssembly should be used based on the desired
95
108
  * feature set, initialization state, or force-use settings
96
109
  */
97
110
  get canUseWasm() {
98
111
  return (
99
- // Just force WASM
112
+ // Just force WebAssembly
100
113
  this._forceWasm || this._allowWasm && !this._isInitialized || this._allowWasm && this._isInitialized && this._isWasmFeatureSetSupported
101
114
  );
102
115
  }
103
116
  /**
104
- * Returns a object containing a property for each desired wasm feature
117
+ * Returns a object containing a property for each desired WebAssembly feature
105
118
  * with a boolean value indicating whether or not the feature is supported
106
119
  */
107
120
  get featureSupport() {
108
121
  return { ...this._featureSupport };
109
122
  }
110
123
  /**
111
- * Force use of Wasm
124
+ * Force use of WebAssembly
112
125
  */
113
126
  get forceWasm() {
114
127
  return this._forceWasm;
115
128
  }
116
129
  /**
117
- * Whether or not to force Wasm usage
130
+ * Whether or not to force WebAssembly usage
118
131
  */
119
132
  set forceWasm(v) {
120
133
  this._forceWasm = v;
121
134
  }
122
135
  /**
123
- * Whether or not Wasm is supported based
136
+ * Whether or not WebAssembly is supported based
124
137
  * on the desired feature set
125
138
  */
126
139
  get isDesiredFeatureSetSupported() {
127
140
  return this._isWasmFeatureSetSupported;
128
141
  }
129
142
  /**
130
- * Whether or not Wasm detection has been run
143
+ * Whether or not WebAssembly detection has been run
131
144
  * for the desired feature set
132
145
  */
133
146
  get isInitialized() {
134
147
  return this._isInitialized;
135
148
  }
136
- /**
137
- * Static creation & async initialization for use where
138
- * async instantiation is possible
139
- * @param desiredFeatures The desired feature set
140
- * @returns An initialized instance of the class with detection
141
- * for the desired feature set
142
- */
143
- static async create(desiredFeatures) {
144
- const instance = new _WasmSupport(desiredFeatures);
145
- await instance.initialize();
146
- return instance;
149
+ async detectDesiredFeatures() {
150
+ for (const desiredFeature of this.desiredFeatures) {
151
+ const detector = WasmFeatureDetectors[desiredFeature];
152
+ this._featureSupport[desiredFeature] = isTruthy(await detector());
153
+ }
154
+ this._isWasmFeatureSetSupported = Object.values(this._featureSupport).every(Boolean);
147
155
  }
148
156
  /**
149
- * Checks for specific wasm features
157
+ * Checks for specific WebAssembly features
150
158
  * @param features The list of features to check for
151
159
  * @returns True if all the features are supported, false otherwise
152
160
  */
@@ -162,13 +170,6 @@ var WasmSupport = class _WasmSupport {
162
170
  await this.detectDesiredFeatures();
163
171
  this._isInitialized = true;
164
172
  }
165
- async detectDesiredFeatures() {
166
- for (const desiredFeature of this.desiredFeatures) {
167
- const detector = WasmFeatureDetectors[desiredFeature];
168
- this._featureSupport[desiredFeature] = isTruthy(await detector());
169
- }
170
- this._isWasmFeatureSetSupported = Object.values(this._featureSupport).every(Boolean);
171
- }
172
173
  };
173
174
  export {
174
175
  WasmFeatureDetectors,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/wasmFeatureDetect.ts", "../../src/WasmSupport.ts"],
4
- "sourcesContent": ["/*\n * Vendored from wasm-feature-detect (MIT, https://github.com/GoogleChromeLabs/wasm-feature-detect)\n * Each detector validates a small precompiled WASM module that exercises one feature.\n */\n\nconst validate = (bytes: number[]): Promise<boolean> => Promise.resolve(WebAssembly.validate(new Uint8Array(bytes)))\n\nexport const bigInt = async (): Promise<boolean> => {\n try {\n const mod = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 6, 1, 96, 1, 126, 1, 126, 3, 2, 1, 0, 7, 5, 1, 1, 98, 0, 0, 10, 6, 1, 4, 0, 32, 0, 11])\n const { instance } = await WebAssembly.instantiate(mod)\n const fn = instance.exports.b as (x: bigint) => bigint\n return fn(0n) === 0n\n } catch {\n return false\n }\n}\n\nexport const bulkMemory = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 5, 3, 1, 0, 1, 10, 14, 1, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11])\n\nexport const exceptions = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 8, 1, 6, 0, 6, 64, 25, 11, 11])\n\nexport const extendedConst = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 5, 3, 1, 0, 1, 11, 9, 1, 0, 65, 1, 65, 2, 106, 11, 0])\n\nexport const gc = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 95, 1, 120, 0])\n\nexport const memory64 = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 5, 3, 1, 4, 1])\n\nexport const multiValue = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 6, 1, 96, 0, 2, 127, 127, 3, 2, 1, 0, 10, 8, 1, 6, 0, 65, 0, 65, 0, 11])\n\nexport const mutableGlobals = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 2, 8, 1, 1, 97, 1, 98, 3, 127, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 5, 1, 1, 97, 3, 1])\n\nexport const relaxedSimd = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 15, 1, 13, 0, 65, 1, 253, 15, 65, 2, 253, 15, 253, 128, 2, 11])\n\nexport const saturatedFloatToInt = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 12, 1, 10, 0, 67, 0, 0, 0, 0, 252, 0, 26, 11])\n\nexport const signExtensions = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 8, 1, 6, 0, 65, 0, 192, 26, 11])\n\nexport const simd = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11])\n\nexport const streamingCompilation = (): Promise<boolean> => Promise.resolve('compileStreaming' in WebAssembly)\n\nexport const tailCall = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 6, 1, 4, 0, 18, 0, 11])\n\nexport const threads = async (): Promise<boolean> => {\n try {\n const sharedAvailable = typeof MessageChannel !== 'undefined'\n && (() => {\n try {\n new MessageChannel().port1.postMessage(new SharedArrayBuffer(1))\n return true\n } catch {\n return false\n }\n })()\n if (!sharedAvailable) return false\n return WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 5, 4, 1, 3, 1, 1, 10, 11, 1, 9, 0, 65, 0, 254, 16, 2, 0, 26, 11]))\n } catch {\n return false\n }\n}\n", "import {\n bigInt,\n bulkMemory,\n exceptions,\n extendedConst,\n gc,\n memory64,\n multiValue,\n mutableGlobals,\n relaxedSimd,\n saturatedFloatToInt,\n signExtensions,\n simd,\n streamingCompilation,\n tailCall,\n threads,\n} from './wasmFeatureDetect.ts'\n\nexport const WasmFeatureDetectors = {\n bigInt: bigInt,\n bulkMemory: bulkMemory,\n exceptions: exceptions,\n extendedConst: extendedConst,\n gc: gc,\n memory64: memory64,\n multiValue: multiValue,\n mutableGlobals: mutableGlobals,\n referenceTypes: () => Promise<boolean>,\n relaxedSimd: relaxedSimd,\n saturatedFloatToInt: saturatedFloatToInt,\n signExtensions: signExtensions,\n simd: simd,\n streamingCompilation: streamingCompilation,\n tailCall: tailCall,\n threads: threads,\n} as const\n\nimport { isTruthy } from '@xylabs/sdk-js'\n\nexport type WasmFeature = keyof typeof WasmFeatureDetectors\n\nexport class WasmSupport {\n protected desiredFeatures: WasmFeature[]\n\n private _allowWasm = true\n private _featureSupport: Partial<Record<WasmFeature, boolean>> = {}\n private _forceWasm = false\n private _isInitialized = false\n private _isWasmFeatureSetSupported = false\n\n /**\n * Instance constructor for use where async instantiation\n * is not possible. Where possible, prefer the static\n * create method over use of this constructor directly\n * as no initialization (feature detection) is able to\n * be done here\n * @param desiredFeatures The desired feature set\n */\n constructor(desiredFeatures: WasmFeature[]) {\n this.desiredFeatures = desiredFeatures\n }\n\n /**\n * Is Wasm allowed\n */\n get allowWasm(): boolean {\n return this._allowWasm\n }\n\n /**\n * Whether or not to allow WASM usage\n */\n set allowWasm(v: boolean) {\n this._allowWasm = v\n }\n\n /**\n * Whether or not Wasm should be used based on the desired\n * feature set, initialization state, or force-use settings\n */\n get canUseWasm(): boolean {\n return (\n // Just force WASM\n this._forceWasm\n // Or if we haven't checked be optimistic\n || (this._allowWasm && !this._isInitialized)\n // Or if we have checked and WASM is not supported, be realistic\n || (this._allowWasm && this._isInitialized && this._isWasmFeatureSetSupported)\n )\n }\n\n /**\n * Returns a object containing a property for each desired wasm feature\n * with a boolean value indicating whether or not the feature is supported\n */\n get featureSupport(): Readonly<Partial<Record<WasmFeature, boolean>>> {\n return { ...this._featureSupport }\n }\n\n /**\n * Force use of Wasm\n */\n get forceWasm(): boolean {\n return this._forceWasm\n }\n\n /**\n * Whether or not to force Wasm usage\n */\n set forceWasm(v: boolean) {\n this._forceWasm = v\n }\n\n /**\n * Whether or not Wasm is supported based\n * on the desired feature set\n */\n get isDesiredFeatureSetSupported(): boolean {\n return this._isWasmFeatureSetSupported\n }\n\n /**\n * Whether or not Wasm detection has been run\n * for the desired feature set\n */\n get isInitialized(): boolean {\n return this._isInitialized\n }\n\n /**\n * Static creation & async initialization for use where\n * async instantiation is possible\n * @param desiredFeatures The desired feature set\n * @returns An initialized instance of the class with detection\n * for the desired feature set\n */\n static async create(desiredFeatures: WasmFeature[]): Promise<WasmSupport> {\n const instance = new WasmSupport(desiredFeatures)\n await instance.initialize()\n return instance\n }\n\n /**\n * Checks for specific wasm features\n * @param features The list of features to check for\n * @returns True if all the features are supported, false otherwise\n */\n async featureCheck(features: WasmFeature[]): Promise<boolean> {\n const results = await Promise.all(features.map(feature => WasmFeatureDetectors[feature]).map(async detector => await detector()))\n return results.every(Boolean)\n }\n\n /**\n * Does feature detection for the desired feature set\n */\n async initialize(): Promise<void> {\n if (this._isInitialized) return\n await this.detectDesiredFeatures()\n this._isInitialized = true\n }\n\n protected async detectDesiredFeatures(): Promise<void> {\n for (const desiredFeature of this.desiredFeatures) {\n const detector = WasmFeatureDetectors[desiredFeature]\n this._featureSupport[desiredFeature] = isTruthy(await detector())\n }\n this._isWasmFeatureSetSupported = Object.values(this._featureSupport).every(Boolean)\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/*\n * Vendored from wasm-feature-detect (MIT, https://github.com/GoogleChromeLabs/wasm-feature-detect)\n * Each detector validates a small precompiled WebAssembly module that exercises one feature.\n */\n\nconst validate = (bytes: number[]): Promise<boolean> => Promise.resolve(WebAssembly.validate(new Uint8Array(bytes)))\n\nexport const bigInt = async (): Promise<boolean> => {\n try {\n const mod = new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 6, 1, 96, 1, 126, 1, 126, 3, 2, 1, 0, 7, 5, 1, 1, 98, 0, 0, 10, 6, 1, 4, 0, 32, 0, 11])\n const { instance } = await WebAssembly.instantiate(mod)\n const fn = instance.exports.b as (x: bigint) => bigint\n return fn(0n) === 0n\n } catch {\n return false\n }\n}\n\nexport const bulkMemory = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 5, 3, 1, 0, 1, 10, 14, 1, 12, 0, 65, 0, 65, 0, 65, 0, 252, 10, 0, 0, 11])\n\nexport const exceptions = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 8, 1, 6, 0, 6, 64, 25, 11, 11])\n\nexport const extendedConst = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 5, 3, 1, 0, 1, 11, 9, 1, 0, 65, 1, 65, 2, 106, 11, 0])\n\nexport const gc = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 95, 1, 120, 0])\n\nexport const memory64 = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 5, 3, 1, 4, 1])\n\nexport const multiValue = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 6, 1, 96, 0, 2, 127, 127, 3, 2, 1, 0, 10, 8, 1, 6, 0, 65, 0, 65, 0, 11])\n\nexport const mutableGlobals = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 2, 8, 1, 1, 97, 1, 98, 3, 127, 1, 6, 6, 1, 127, 1, 65, 0, 11, 7, 5, 1, 1, 97, 3, 1])\n\nexport const relaxedSimd = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 15, 1, 13, 0, 65, 1, 253, 15, 65, 2, 253, 15, 253, 128, 2, 11])\n\nexport const saturatedFloatToInt = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 12, 1, 10, 0, 67, 0, 0, 0, 0, 252, 0, 26, 11])\n\nexport const signExtensions = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 8, 1, 6, 0, 65, 0, 192, 26, 11])\n\nexport const simd = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 5, 1, 96, 0, 1, 123, 3, 2, 1, 0, 10, 10, 1, 8, 0, 65, 0, 253, 15, 253, 98, 11])\n\nexport const streamingCompilation = (): Promise<boolean> => Promise.resolve('compileStreaming' in WebAssembly)\n\nexport const tailCall = (): Promise<boolean> => validate([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 10, 6, 1, 4, 0, 18, 0, 11])\n\nexport const threads = async (): Promise<boolean> => {\n try {\n const sharedAvailable = typeof MessageChannel !== 'undefined'\n && (() => {\n try {\n const channel = new MessageChannel()\n channel.port1.postMessage(new SharedArrayBuffer(1))\n return true\n } catch {\n return false\n }\n })()\n if (!sharedAvailable) return false\n return WebAssembly.validate(new Uint8Array([0, 97, 115, 109, 1, 0, 0, 0, 1, 4, 1, 96, 0, 0, 3, 2, 1, 0, 5, 4, 1, 3, 1, 1, 10, 11, 1, 9, 0, 65, 0, 254, 16, 2, 0, 26, 11]))\n } catch {\n return false\n }\n}\n", "import {\n bigInt,\n bulkMemory,\n exceptions,\n extendedConst,\n gc,\n memory64,\n multiValue,\n mutableGlobals,\n relaxedSimd,\n saturatedFloatToInt,\n signExtensions,\n simd,\n streamingCompilation,\n tailCall,\n threads,\n} from './wasmFeatureDetect.ts'\n\nexport const WasmFeatureDetectors = {\n bigInt: bigInt,\n bulkMemory: bulkMemory,\n exceptions: exceptions,\n extendedConst: extendedConst,\n gc: gc,\n memory64: memory64,\n multiValue: multiValue,\n mutableGlobals: mutableGlobals,\n referenceTypes: () => Promise<boolean>,\n relaxedSimd: relaxedSimd,\n saturatedFloatToInt: saturatedFloatToInt,\n signExtensions: signExtensions,\n simd: simd,\n streamingCompilation: streamingCompilation,\n tailCall: tailCall,\n threads: threads,\n} as const\n\nimport { isTruthy } from '@xylabs/sdk-js'\n\nexport type WasmFeature = keyof typeof WasmFeatureDetectors\n\nexport class WasmSupport {\n private _allowWasm = true\n private _featureSupport: Partial<Record<WasmFeature, boolean>> = {}\n private _forceWasm = false\n private _isInitialized = false\n private _isWasmFeatureSetSupported = false\n\n protected desiredFeatures: WasmFeature[]\n\n /**\n * Instance constructor for use where async instantiation\n * is not possible. Where possible, prefer the static\n * create method over use of this constructor directly\n * as no initialization (feature detection) is able to\n * be done here\n * @param desiredFeatures The desired feature set\n */\n constructor(desiredFeatures: WasmFeature[]) {\n this.desiredFeatures = desiredFeatures\n }\n\n /**\n * Static creation & async initialization for use where\n * async instantiation is possible\n * @param desiredFeatures The desired feature set\n * @returns An initialized instance of the class with detection\n * for the desired feature set\n */\n static async create(desiredFeatures: WasmFeature[]): Promise<WasmSupport> {\n const instance = new WasmSupport(desiredFeatures)\n await instance.initialize()\n return instance\n }\n\n /**\n * Is WebAssembly allowed\n */\n get allowWasm(): boolean {\n return this._allowWasm\n }\n\n /**\n * Whether or not to allow WebAssembly usage\n */\n set allowWasm(v: boolean) {\n this._allowWasm = v\n }\n\n /**\n * Whether or not WebAssembly should be used based on the desired\n * feature set, initialization state, or force-use settings\n */\n get canUseWasm(): boolean {\n return (\n // Just force WebAssembly\n this._forceWasm\n // Or if we haven't checked be optimistic\n || (this._allowWasm && !this._isInitialized)\n // Or if we have checked and WebAssembly is not supported, be realistic\n || (this._allowWasm && this._isInitialized && this._isWasmFeatureSetSupported)\n )\n }\n\n /**\n * Returns a object containing a property for each desired WebAssembly feature\n * with a boolean value indicating whether or not the feature is supported\n */\n get featureSupport(): Readonly<Partial<Record<WasmFeature, boolean>>> {\n return { ...this._featureSupport }\n }\n\n /**\n * Force use of WebAssembly\n */\n get forceWasm(): boolean {\n return this._forceWasm\n }\n\n /**\n * Whether or not to force WebAssembly usage\n */\n set forceWasm(v: boolean) {\n this._forceWasm = v\n }\n\n /**\n * Whether or not WebAssembly is supported based\n * on the desired feature set\n */\n get isDesiredFeatureSetSupported(): boolean {\n return this._isWasmFeatureSetSupported\n }\n\n /**\n * Whether or not WebAssembly detection has been run\n * for the desired feature set\n */\n get isInitialized(): boolean {\n return this._isInitialized\n }\n\n protected async detectDesiredFeatures(): Promise<void> {\n for (const desiredFeature of this.desiredFeatures) {\n const detector = WasmFeatureDetectors[desiredFeature]\n this._featureSupport[desiredFeature] = isTruthy(await detector())\n }\n this._isWasmFeatureSetSupported = Object.values(this._featureSupport).every(Boolean)\n }\n\n /**\n * Checks for specific WebAssembly features\n * @param features The list of features to check for\n * @returns True if all the features are supported, false otherwise\n */\n async featureCheck(features: WasmFeature[]): Promise<boolean> {\n const results = await Promise.all(features.map(feature => WasmFeatureDetectors[feature]).map(async detector => await detector()))\n return results.every(Boolean)\n }\n\n /**\n * Does feature detection for the desired feature set\n */\n async initialize(): Promise<void> {\n if (this._isInitialized) return\n await this.detectDesiredFeatures()\n this._isInitialized = true\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wasmFeatureDetect.d.ts","sourceRoot":"","sources":["../../src/wasmFeatureDetect.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,OAAO,CAS9C,CAAA;AAED,eAAO,MAAM,UAAU,QAAO,OAAO,CAAC,OAAO,CAAoJ,CAAA;AAEjM,eAAO,MAAM,UAAU,QAAO,OAAO,CAAC,OAAO,CAA8G,CAAA;AAE3J,eAAO,MAAM,aAAa,QAAO,OAAO,CAAC,OAAO,CAAkG,CAAA;AAElJ,eAAO,MAAM,EAAE,QAAO,OAAO,CAAC,OAAO,CAAoE,CAAA;AAEzG,eAAO,MAAM,QAAQ,QAAO,OAAO,CAAC,OAAO,CAA2D,CAAA;AAEtG,eAAO,MAAM,UAAU,QAAO,OAAO,CAAC,OAAO,CAAuH,CAAA;AAEpK,eAAO,MAAM,cAAc,QAAO,OAAO,CAAC,OAAO,CAAgI,CAAA;AAEjL,eAAO,MAAM,WAAW,QAAO,OAAO,CAAC,OAAO,CAAmJ,CAAA;AAEjM,eAAO,MAAM,mBAAmB,QAAO,OAAO,CAAC,OAAO,CAA6H,CAAA;AAEnL,eAAO,MAAM,cAAc,QAAO,OAAO,CAAC,OAAO,CAA+G,CAAA;AAEhK,eAAO,MAAM,IAAI,QAAO,OAAO,CAAC,OAAO,CAA8H,CAAA;AAErK,eAAO,MAAM,oBAAoB,QAAO,OAAO,CAAC,OAAO,CAAuD,CAAA;AAE9G,eAAO,MAAM,QAAQ,QAAO,OAAO,CAAC,OAAO,CAAsG,CAAA;AAEjJ,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,OAAO,CAgB/C,CAAA"}
1
+ {"version":3,"file":"wasmFeatureDetect.d.ts","sourceRoot":"","sources":["../../src/wasmFeatureDetect.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM,QAAa,OAAO,CAAC,OAAO,CAS9C,CAAA;AAED,eAAO,MAAM,UAAU,QAAO,OAAO,CAAC,OAAO,CAAoJ,CAAA;AAEjM,eAAO,MAAM,UAAU,QAAO,OAAO,CAAC,OAAO,CAA8G,CAAA;AAE3J,eAAO,MAAM,aAAa,QAAO,OAAO,CAAC,OAAO,CAAkG,CAAA;AAElJ,eAAO,MAAM,EAAE,QAAO,OAAO,CAAC,OAAO,CAAoE,CAAA;AAEzG,eAAO,MAAM,QAAQ,QAAO,OAAO,CAAC,OAAO,CAA2D,CAAA;AAEtG,eAAO,MAAM,UAAU,QAAO,OAAO,CAAC,OAAO,CAAuH,CAAA;AAEpK,eAAO,MAAM,cAAc,QAAO,OAAO,CAAC,OAAO,CAAgI,CAAA;AAEjL,eAAO,MAAM,WAAW,QAAO,OAAO,CAAC,OAAO,CAAmJ,CAAA;AAEjM,eAAO,MAAM,mBAAmB,QAAO,OAAO,CAAC,OAAO,CAA6H,CAAA;AAEnL,eAAO,MAAM,cAAc,QAAO,OAAO,CAAC,OAAO,CAA+G,CAAA;AAEhK,eAAO,MAAM,IAAI,QAAO,OAAO,CAAC,OAAO,CAA8H,CAAA;AAErK,eAAO,MAAM,oBAAoB,QAAO,OAAO,CAAC,OAAO,CAAuD,CAAA;AAE9G,eAAO,MAAM,QAAQ,QAAO,OAAO,CAAC,OAAO,CAAsG,CAAA;AAEjJ,eAAO,MAAM,OAAO,QAAa,OAAO,CAAC,OAAO,CAiB/C,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/wasm",
3
- "version": "7.0.0",
3
+ "version": "7.0.3",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -36,13 +36,13 @@
36
36
  "devDependencies": {
37
37
  "@opentelemetry/api": "^1.9.1",
38
38
  "@opentelemetry/sdk-trace-base": "^2.8.0",
39
- "@xylabs/sdk-js": "^6.1.1",
40
- "@xylabs/tsconfig": "~8.1.20",
41
- "@xylabs/vitest-extended": "^6.1.1",
39
+ "@xylabs/sdk-js": "^6.1.4",
40
+ "@xylabs/tsconfig": "~8.3.0",
41
+ "@xylabs/vitest-extended": "^6.1.4",
42
42
  "async-mutex": "^0.5.0",
43
43
  "typescript": "~6.0.3",
44
- "vite": "^8.0.16",
45
- "vitest": "~4.1.8",
44
+ "vite": "^8.1.0",
45
+ "vitest": "~4.1.9",
46
46
  "zod": "^4.4.3"
47
47
  },
48
48
  "peerDependencies": {