@arcjet/redact-wasm 1.7.0 → 1.8.0
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/{_virtual → dist/_virtual/_./wasm}/arcjet_analyze_bindings_redact.component.core.js +7 -37
- package/dist/_virtual/_./wasm/arcjet_analyze_bindings_redact.component.core2.js +12 -0
- package/dist/_virtual/_./wasm/arcjet_analyze_bindings_redact.component.core3.js +12 -0
- package/dist/edge-light.d.ts +9 -0
- package/dist/edge-light.js +24 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.js +37 -0
- package/dist/wasm/arcjet_analyze_bindings_redact.component.d.ts +45 -0
- package/dist/wasm/arcjet_analyze_bindings_redact.component.js +273 -0
- package/dist/wasm/interfaces/arcjet-redact-custom-redact.d.ts +24 -0
- package/dist/wasm.d.ts +52 -0
- package/dist/workerd.d.ts +9 -0
- package/dist/workerd.js +24 -0
- package/package.json +41 -40
- package/_virtual/arcjet_analyze_bindings_redact.component.core2.js +0 -42
- package/_virtual/arcjet_analyze_bindings_redact.component.core3.js +0 -42
- package/edge-light.d.ts +0 -6
- package/edge-light.js +0 -34
- package/index.d.ts +0 -33
- package/index.js +0 -50
- package/wasm/arcjet_analyze_bindings_redact.component.d.ts +0 -53
- package/wasm/arcjet_analyze_bindings_redact.component.js +0 -334
- package/wasm/arcjet_analyze_bindings_redact.component.wasm +0 -0
- package/wasm/interfaces/arcjet-redact-custom-redact.d.ts +0 -21
- package/workerd.d.ts +0 -6
- package/workerd.js +0 -34
- /package/{wasm → dist/wasm}/arcjet_analyze_bindings_redact.component.core.wasm +0 -0
- /package/{wasm → dist/wasm}/arcjet_analyze_bindings_redact.component.core2.wasm +0 -0
- /package/{wasm → dist/wasm}/arcjet_analyze_bindings_redact.component.core3.wasm +0 -0
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
function instantiate(getCoreModule, imports, instantiateCore = WebAssembly.instantiate) {
|
|
2
|
-
|
|
3
|
-
let dv = new DataView(new ArrayBuffer());
|
|
4
|
-
const dataView = mem => dv.buffer === mem.buffer ? dv : dv = new DataView(mem.buffer);
|
|
5
|
-
|
|
6
|
-
function toUint32(val) {
|
|
7
|
-
return val >>> 0;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const utf8Decoder = new TextDecoder();
|
|
11
|
-
|
|
12
|
-
const utf8Encoder = new TextEncoder();
|
|
13
|
-
|
|
14
|
-
let utf8EncodedLen = 0;
|
|
15
|
-
function utf8Encode(s, realloc, memory) {
|
|
16
|
-
if (typeof s !== 'string') throw new TypeError('expected a string');
|
|
17
|
-
if (s.length === 0) {
|
|
18
|
-
utf8EncodedLen = 0;
|
|
19
|
-
return 1;
|
|
20
|
-
}
|
|
21
|
-
let buf = utf8Encoder.encode(s);
|
|
22
|
-
let ptr = realloc(0, 0, 1, buf.length);
|
|
23
|
-
new Uint8Array(memory.buffer).set(buf, ptr);
|
|
24
|
-
utf8EncodedLen = buf.length;
|
|
25
|
-
return ptr;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const module0 = getCoreModule('arcjet_analyze_bindings_redact.component.core.wasm');
|
|
30
|
-
const module1 = getCoreModule('arcjet_analyze_bindings_redact.component.core2.wasm');
|
|
31
|
-
const module2 = getCoreModule('arcjet_analyze_bindings_redact.component.core3.wasm');
|
|
32
|
-
|
|
33
|
-
const { detectSensitiveInfo, redactSensitiveInfo } = imports['arcjet:redact/custom-redact'];
|
|
34
|
-
let gen = (function* init () {
|
|
35
|
-
let exports0;
|
|
36
|
-
let exports1;
|
|
37
|
-
let memory0;
|
|
38
|
-
let realloc0;
|
|
39
|
-
|
|
40
|
-
function trampoline0(arg0, arg1, arg2) {
|
|
41
|
-
var len1 = arg1;
|
|
42
|
-
var base1 = arg0;
|
|
43
|
-
var result1 = [];
|
|
44
|
-
for (let i = 0; i < len1; i++) {
|
|
45
|
-
const base = base1 + i * 8;
|
|
46
|
-
var ptr0 = dataView(memory0).getInt32(base + 0, true);
|
|
47
|
-
var len0 = dataView(memory0).getInt32(base + 4, true);
|
|
48
|
-
var result0 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr0, len0));
|
|
49
|
-
result1.push(result0);
|
|
50
|
-
}
|
|
51
|
-
const ret = detectSensitiveInfo(result1);
|
|
52
|
-
var vec5 = ret;
|
|
53
|
-
var len5 = vec5.length;
|
|
54
|
-
var result5 = realloc0(0, 0, 4, len5 * 16);
|
|
55
|
-
for (let i = 0; i < vec5.length; i++) {
|
|
56
|
-
const e = vec5[i];
|
|
57
|
-
const base = result5 + i * 16;var variant4 = e;
|
|
58
|
-
if (variant4 === null || variant4=== undefined) {
|
|
59
|
-
dataView(memory0).setInt8(base + 0, 0, true);
|
|
60
|
-
} else {
|
|
61
|
-
const e = variant4;
|
|
62
|
-
dataView(memory0).setInt8(base + 0, 1, true);
|
|
63
|
-
var variant3 = e;
|
|
64
|
-
switch (variant3.tag) {
|
|
65
|
-
case 'email': {
|
|
66
|
-
dataView(memory0).setInt8(base + 4, 0, true);
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
case 'phone-number': {
|
|
70
|
-
dataView(memory0).setInt8(base + 4, 1, true);
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
case 'ip-address': {
|
|
74
|
-
dataView(memory0).setInt8(base + 4, 2, true);
|
|
75
|
-
break;
|
|
76
|
-
}
|
|
77
|
-
case 'credit-card-number': {
|
|
78
|
-
dataView(memory0).setInt8(base + 4, 3, true);
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
case 'custom': {
|
|
82
|
-
const e = variant3.val;
|
|
83
|
-
dataView(memory0).setInt8(base + 4, 4, true);
|
|
84
|
-
var ptr2 = utf8Encode(e, realloc0, memory0);
|
|
85
|
-
var len2 = utf8EncodedLen;
|
|
86
|
-
dataView(memory0).setInt32(base + 12, len2, true);
|
|
87
|
-
dataView(memory0).setInt32(base + 8, ptr2, true);
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
default: {
|
|
91
|
-
throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant3.tag)}\` (received \`${variant3}\`) specified for \`SensitiveInfoEntity\``);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
dataView(memory0).setInt32(arg2 + 4, len5, true);
|
|
97
|
-
dataView(memory0).setInt32(arg2 + 0, result5, true);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
function trampoline1(arg0, arg1, arg2, arg3, arg4, arg5) {
|
|
101
|
-
let variant1;
|
|
102
|
-
switch (arg0) {
|
|
103
|
-
case 0: {
|
|
104
|
-
variant1= {
|
|
105
|
-
tag: 'email',
|
|
106
|
-
};
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
case 1: {
|
|
110
|
-
variant1= {
|
|
111
|
-
tag: 'phone-number',
|
|
112
|
-
};
|
|
113
|
-
break;
|
|
114
|
-
}
|
|
115
|
-
case 2: {
|
|
116
|
-
variant1= {
|
|
117
|
-
tag: 'ip-address',
|
|
118
|
-
};
|
|
119
|
-
break;
|
|
120
|
-
}
|
|
121
|
-
case 3: {
|
|
122
|
-
variant1= {
|
|
123
|
-
tag: 'credit-card-number',
|
|
124
|
-
};
|
|
125
|
-
break;
|
|
126
|
-
}
|
|
127
|
-
case 4: {
|
|
128
|
-
var ptr0 = arg1;
|
|
129
|
-
var len0 = arg2;
|
|
130
|
-
var result0 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr0, len0));
|
|
131
|
-
variant1= {
|
|
132
|
-
tag: 'custom',
|
|
133
|
-
val: result0
|
|
134
|
-
};
|
|
135
|
-
break;
|
|
136
|
-
}
|
|
137
|
-
default: {
|
|
138
|
-
throw new TypeError('invalid variant discriminant for SensitiveInfoEntity');
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
var ptr2 = arg3;
|
|
142
|
-
var len2 = arg4;
|
|
143
|
-
var result2 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr2, len2));
|
|
144
|
-
const ret = redactSensitiveInfo(variant1, result2);
|
|
145
|
-
var variant4 = ret;
|
|
146
|
-
if (variant4 === null || variant4=== undefined) {
|
|
147
|
-
dataView(memory0).setInt8(arg5 + 0, 0, true);
|
|
148
|
-
} else {
|
|
149
|
-
const e = variant4;
|
|
150
|
-
dataView(memory0).setInt8(arg5 + 0, 1, true);
|
|
151
|
-
var ptr3 = utf8Encode(e, realloc0, memory0);
|
|
152
|
-
var len3 = utf8EncodedLen;
|
|
153
|
-
dataView(memory0).setInt32(arg5 + 8, len3, true);
|
|
154
|
-
dataView(memory0).setInt32(arg5 + 4, ptr3, true);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
let exports2;
|
|
158
|
-
let postReturn0;
|
|
159
|
-
Promise.all([module0, module1, module2]).catch(() => {});
|
|
160
|
-
({ exports: exports0 } = yield instantiateCore(yield module1));
|
|
161
|
-
({ exports: exports1 } = yield instantiateCore(yield module0, {
|
|
162
|
-
'arcjet:redact/custom-redact': {
|
|
163
|
-
'detect-sensitive-info': exports0['0'],
|
|
164
|
-
'redact-sensitive-info': exports0['1'],
|
|
165
|
-
},
|
|
166
|
-
}));
|
|
167
|
-
memory0 = exports1.memory;
|
|
168
|
-
realloc0 = exports1.cabi_realloc;
|
|
169
|
-
({ exports: exports2 } = yield instantiateCore(yield module2, {
|
|
170
|
-
'': {
|
|
171
|
-
$imports: exports0.$imports,
|
|
172
|
-
'0': trampoline0,
|
|
173
|
-
'1': trampoline1,
|
|
174
|
-
},
|
|
175
|
-
}));
|
|
176
|
-
postReturn0 = exports1.cabi_post_redact;
|
|
177
|
-
|
|
178
|
-
function redact(arg0, arg1) {
|
|
179
|
-
var ptr0 = utf8Encode(arg0, realloc0, memory0);
|
|
180
|
-
var len0 = utf8EncodedLen;
|
|
181
|
-
var {entities: v1_0, contextWindowSize: v1_1, skipCustomDetect: v1_2, skipCustomRedact: v1_3 } = arg1;
|
|
182
|
-
var variant5 = v1_0;
|
|
183
|
-
let variant5_0;
|
|
184
|
-
let variant5_1;
|
|
185
|
-
let variant5_2;
|
|
186
|
-
if (variant5 === null || variant5=== undefined) {
|
|
187
|
-
variant5_0 = 0;
|
|
188
|
-
variant5_1 = 0;
|
|
189
|
-
variant5_2 = 0;
|
|
190
|
-
} else {
|
|
191
|
-
const e = variant5;
|
|
192
|
-
var vec4 = e;
|
|
193
|
-
var len4 = vec4.length;
|
|
194
|
-
var result4 = realloc0(0, 0, 4, len4 * 12);
|
|
195
|
-
for (let i = 0; i < vec4.length; i++) {
|
|
196
|
-
const e = vec4[i];
|
|
197
|
-
const base = result4 + i * 12;var variant3 = e;
|
|
198
|
-
switch (variant3.tag) {
|
|
199
|
-
case 'email': {
|
|
200
|
-
dataView(memory0).setInt8(base + 0, 0, true);
|
|
201
|
-
break;
|
|
202
|
-
}
|
|
203
|
-
case 'phone-number': {
|
|
204
|
-
dataView(memory0).setInt8(base + 0, 1, true);
|
|
205
|
-
break;
|
|
206
|
-
}
|
|
207
|
-
case 'ip-address': {
|
|
208
|
-
dataView(memory0).setInt8(base + 0, 2, true);
|
|
209
|
-
break;
|
|
210
|
-
}
|
|
211
|
-
case 'credit-card-number': {
|
|
212
|
-
dataView(memory0).setInt8(base + 0, 3, true);
|
|
213
|
-
break;
|
|
214
|
-
}
|
|
215
|
-
case 'custom': {
|
|
216
|
-
const e = variant3.val;
|
|
217
|
-
dataView(memory0).setInt8(base + 0, 4, true);
|
|
218
|
-
var ptr2 = utf8Encode(e, realloc0, memory0);
|
|
219
|
-
var len2 = utf8EncodedLen;
|
|
220
|
-
dataView(memory0).setInt32(base + 8, len2, true);
|
|
221
|
-
dataView(memory0).setInt32(base + 4, ptr2, true);
|
|
222
|
-
break;
|
|
223
|
-
}
|
|
224
|
-
default: {
|
|
225
|
-
throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant3.tag)}\` (received \`${variant3}\`) specified for \`SensitiveInfoEntity\``);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
variant5_0 = 1;
|
|
230
|
-
variant5_1 = result4;
|
|
231
|
-
variant5_2 = len4;
|
|
232
|
-
}
|
|
233
|
-
var variant6 = v1_1;
|
|
234
|
-
let variant6_0;
|
|
235
|
-
let variant6_1;
|
|
236
|
-
if (variant6 === null || variant6=== undefined) {
|
|
237
|
-
variant6_0 = 0;
|
|
238
|
-
variant6_1 = 0;
|
|
239
|
-
} else {
|
|
240
|
-
const e = variant6;
|
|
241
|
-
variant6_0 = 1;
|
|
242
|
-
variant6_1 = toUint32(e);
|
|
243
|
-
}
|
|
244
|
-
const ret = exports1.redact(ptr0, len0, variant5_0, variant5_1, variant5_2, variant6_0, variant6_1, v1_2 ? 1 : 0, v1_3 ? 1 : 0);
|
|
245
|
-
var len11 = dataView(memory0).getInt32(ret + 4, true);
|
|
246
|
-
var base11 = dataView(memory0).getInt32(ret + 0, true);
|
|
247
|
-
var result11 = [];
|
|
248
|
-
for (let i = 0; i < len11; i++) {
|
|
249
|
-
const base = base11 + i * 36;
|
|
250
|
-
var ptr7 = dataView(memory0).getInt32(base + 0, true);
|
|
251
|
-
var len7 = dataView(memory0).getInt32(base + 4, true);
|
|
252
|
-
var result7 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr7, len7));
|
|
253
|
-
var ptr8 = dataView(memory0).getInt32(base + 8, true);
|
|
254
|
-
var len8 = dataView(memory0).getInt32(base + 12, true);
|
|
255
|
-
var result8 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr8, len8));
|
|
256
|
-
let variant10;
|
|
257
|
-
switch (dataView(memory0).getUint8(base + 24, true)) {
|
|
258
|
-
case 0: {
|
|
259
|
-
variant10= {
|
|
260
|
-
tag: 'email',
|
|
261
|
-
};
|
|
262
|
-
break;
|
|
263
|
-
}
|
|
264
|
-
case 1: {
|
|
265
|
-
variant10= {
|
|
266
|
-
tag: 'phone-number',
|
|
267
|
-
};
|
|
268
|
-
break;
|
|
269
|
-
}
|
|
270
|
-
case 2: {
|
|
271
|
-
variant10= {
|
|
272
|
-
tag: 'ip-address',
|
|
273
|
-
};
|
|
274
|
-
break;
|
|
275
|
-
}
|
|
276
|
-
case 3: {
|
|
277
|
-
variant10= {
|
|
278
|
-
tag: 'credit-card-number',
|
|
279
|
-
};
|
|
280
|
-
break;
|
|
281
|
-
}
|
|
282
|
-
case 4: {
|
|
283
|
-
var ptr9 = dataView(memory0).getInt32(base + 28, true);
|
|
284
|
-
var len9 = dataView(memory0).getInt32(base + 32, true);
|
|
285
|
-
var result9 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr9, len9));
|
|
286
|
-
variant10= {
|
|
287
|
-
tag: 'custom',
|
|
288
|
-
val: result9
|
|
289
|
-
};
|
|
290
|
-
break;
|
|
291
|
-
}
|
|
292
|
-
default: {
|
|
293
|
-
throw new TypeError('invalid variant discriminant for SensitiveInfoEntity');
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
result11.push({
|
|
297
|
-
original: result7,
|
|
298
|
-
redacted: result8,
|
|
299
|
-
start: dataView(memory0).getInt32(base + 16, true) >>> 0,
|
|
300
|
-
end: dataView(memory0).getInt32(base + 20, true) >>> 0,
|
|
301
|
-
identifiedType: variant10,
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
const retVal = result11;
|
|
305
|
-
postReturn0(ret);
|
|
306
|
-
return retVal;
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
return { redact, };
|
|
310
|
-
})();
|
|
311
|
-
let promise, resolve, reject;
|
|
312
|
-
function runNext (value) {
|
|
313
|
-
try {
|
|
314
|
-
let done;
|
|
315
|
-
do {
|
|
316
|
-
({ value, done } = gen.next(value));
|
|
317
|
-
} while (!(value instanceof Promise) && !done);
|
|
318
|
-
if (done) {
|
|
319
|
-
if (resolve) resolve(value);
|
|
320
|
-
else return value;
|
|
321
|
-
}
|
|
322
|
-
if (!promise) promise = new Promise((_resolve, _reject) => (resolve = _resolve, reject = _reject));
|
|
323
|
-
value.then(nextVal => done ? resolve() : runNext(nextVal), reject);
|
|
324
|
-
}
|
|
325
|
-
catch (e) {
|
|
326
|
-
if (reject) reject(e);
|
|
327
|
-
else throw e;
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
const maybeSyncReturn = runNext(null);
|
|
331
|
-
return promise || maybeSyncReturn;
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
export { instantiate };
|
|
Binary file
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export namespace ArcjetRedactCustomRedact {
|
|
2
|
-
export function detectSensitiveInfo(tokens: Array<string>): Array<SensitiveInfoEntity | undefined>;
|
|
3
|
-
export function redactSensitiveInfo(entityType: SensitiveInfoEntity, plaintext: string): string | undefined;
|
|
4
|
-
}
|
|
5
|
-
export type SensitiveInfoEntity = SensitiveInfoEntityEmail | SensitiveInfoEntityPhoneNumber | SensitiveInfoEntityIpAddress | SensitiveInfoEntityCreditCardNumber | SensitiveInfoEntityCustom;
|
|
6
|
-
export interface SensitiveInfoEntityEmail {
|
|
7
|
-
tag: 'email',
|
|
8
|
-
}
|
|
9
|
-
export interface SensitiveInfoEntityPhoneNumber {
|
|
10
|
-
tag: 'phone-number',
|
|
11
|
-
}
|
|
12
|
-
export interface SensitiveInfoEntityIpAddress {
|
|
13
|
-
tag: 'ip-address',
|
|
14
|
-
}
|
|
15
|
-
export interface SensitiveInfoEntityCreditCardNumber {
|
|
16
|
-
tag: 'credit-card-number',
|
|
17
|
-
}
|
|
18
|
-
export interface SensitiveInfoEntityCustom {
|
|
19
|
-
tag: 'custom',
|
|
20
|
-
val: string,
|
|
21
|
-
}
|
package/workerd.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { RedactedSensitiveInfoEntity, RedactSensitiveInfoConfig, SensitiveInfoEntity } from "./wasm/arcjet_analyze_bindings_redact.component.js";
|
|
2
|
-
import type { ArcjetRedactCustomRedact } from "./wasm/interfaces/arcjet-redact-custom-redact.js";
|
|
3
|
-
export declare function initializeWasm(detect: CustomDetect, replace: CustomRedact): Promise<import("./wasm/arcjet_analyze_bindings_redact.component.js").Root | undefined>;
|
|
4
|
-
type CustomDetect = typeof ArcjetRedactCustomRedact.detectSensitiveInfo;
|
|
5
|
-
type CustomRedact = typeof ArcjetRedactCustomRedact.redactSensitiveInfo;
|
|
6
|
-
export { type CustomDetect, type CustomRedact, type RedactedSensitiveInfoEntity, type RedactSensitiveInfoConfig, type SensitiveInfoEntity, };
|
package/workerd.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { instantiate } from './wasm/arcjet_analyze_bindings_redact.component.js';
|
|
2
|
-
import componentCoreWasm from './wasm/arcjet_analyze_bindings_redact.component.core.wasm';
|
|
3
|
-
import componentCore2Wasm from './wasm/arcjet_analyze_bindings_redact.component.core2.wasm';
|
|
4
|
-
import componentCore3Wasm from './wasm/arcjet_analyze_bindings_redact.component.core3.wasm';
|
|
5
|
-
|
|
6
|
-
async function moduleFromPath(path) {
|
|
7
|
-
if (path === "arcjet_analyze_bindings_redact.component.core.wasm") {
|
|
8
|
-
return componentCoreWasm;
|
|
9
|
-
}
|
|
10
|
-
if (path === "arcjet_analyze_bindings_redact.component.core2.wasm") {
|
|
11
|
-
return componentCore2Wasm;
|
|
12
|
-
}
|
|
13
|
-
if (path === "arcjet_analyze_bindings_redact.component.core3.wasm") {
|
|
14
|
-
return componentCore3Wasm;
|
|
15
|
-
}
|
|
16
|
-
throw new Error(`Unknown path: ${path}`);
|
|
17
|
-
}
|
|
18
|
-
async function initializeWasm(detect, replace) {
|
|
19
|
-
const coreImports = {
|
|
20
|
-
"arcjet:redact/custom-redact": {
|
|
21
|
-
detectSensitiveInfo: detect,
|
|
22
|
-
redactSensitiveInfo: replace,
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
try {
|
|
26
|
-
// Await the instantiation to catch the failure
|
|
27
|
-
return await instantiate(moduleFromPath, coreImports);
|
|
28
|
-
}
|
|
29
|
-
catch {
|
|
30
|
-
console.debug("WebAssembly is not supported in this runtime");
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export { initializeWasm };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|