-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathvectorizer.wasi-browser.js
More file actions
78 lines (72 loc) · 2.9 KB
/
Copy pathvectorizer.wasi-browser.js
File metadata and controls
78 lines (72 loc) · 2.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import {
createOnMessage as __wasmCreateOnMessageForFsProxy,
getDefaultContext as __emnapiGetDefaultContext,
instantiateNapiModuleSync as __emnapiInstantiateNapiModuleSync,
WASI as __WASI,
} from '@napi-rs/wasm-runtime';
const __wasi = new __WASI({
version: 'preview1',
});
const __wasmUrl = new URL('./vectorizer.wasm32-wasi.wasm', import.meta.url).href;
const __emnapiContext = __emnapiGetDefaultContext();
const __sharedMemory = new WebAssembly.Memory({
initial: 4000,
maximum: 65536,
shared: true,
});
const __wasmFile = await fetch(__wasmUrl).then((res) => res.arrayBuffer());
const {
instance: __napiInstance,
module: __wasiModule,
napiModule: __napiModule,
} = __emnapiInstantiateNapiModuleSync(__wasmFile, {
context: __emnapiContext,
asyncWorkPoolSize: 4,
wasi: __wasi,
onCreateWorker() {
const worker = new Worker(new URL('./wasi-worker-browser.mjs', import.meta.url), {
type: 'module',
});
return worker;
},
overwriteImports(importObject) {
importObject.env = {
...importObject.env,
...importObject.napi,
...importObject.emnapi,
memory: __sharedMemory,
};
return importObject;
},
beforeInit({ instance }) {
for (const name of Object.keys(instance.exports)) {
if (name.startsWith('__napi_register__')) {
instance.exports[name]();
}
}
},
});
export default __napiModule.exports;
export const SvgFile = __napiModule.exports.SvgFile;
export const JsSvgFile = __napiModule.exports.JsSvgFile;
export const colorExistsInImage = __napiModule.exports.colorExistsInImage;
export const colorExistsInImageSync = __napiModule.exports.colorExistsInImageSync;
export const ColorMode = __napiModule.exports.ColorMode;
export const findUnusedColorInImage = __napiModule.exports.findUnusedColorInImage;
export const findUnusedColorInImageSync = __napiModule.exports.findUnusedColorInImageSync;
export const Hierarchical = __napiModule.exports.Hierarchical;
export const optimize = __napiModule.exports.optimize;
export const OptimizePreset = __napiModule.exports.OptimizePreset;
export const JsOptimizePreset = __napiModule.exports.JsOptimizePreset;
export const optimizeSync = __napiModule.exports.optimizeSync;
export const PathSimplifyMode = __napiModule.exports.PathSimplifyMode;
export const JsPathSimplifyMode = __napiModule.exports.JsPathSimplifyMode;
export const Preset = __napiModule.exports.Preset;
export const readImage = __napiModule.exports.readImage;
export const readImageSync = __napiModule.exports.readImageSync;
export const vectorize = __napiModule.exports.vectorize;
export const vectorizeRaw = __napiModule.exports.vectorizeRaw;
export const vectorizeRawSync = __napiModule.exports.vectorizeRawSync;
export const vectorizeRawToCallback = __napiModule.exports.vectorizeRawToCallback;
export const vectorizeSync = __napiModule.exports.vectorizeSync;
export const vectorizeToCallback = __napiModule.exports.vectorizeToCallback;