From 60c5dd7a2ce9850a19dbada5497a7610ef9c4d48 Mon Sep 17 00:00:00 2001 From: Kieran Date: Fri, 22 Sep 2023 21:25:56 +0100 Subject: [PATCH] Commit system-wasm --- packages/system-wasm/package.json | 2 +- packages/system-wasm/pkg/README.md | 1 + packages/system-wasm/pkg/package.json | 14 + packages/system-wasm/pkg/system_wasm.d.ts | 65 ++ packages/system-wasm/pkg/system_wasm.js | 586 ++++++++++++++++++ packages/system-wasm/pkg/system_wasm_bg.wasm | Bin 0 -> 124629 bytes .../system-wasm/pkg/system_wasm_bg.wasm.d.ts | 12 + 7 files changed, 679 insertions(+), 1 deletion(-) create mode 100644 packages/system-wasm/pkg/README.md create mode 100644 packages/system-wasm/pkg/package.json create mode 100644 packages/system-wasm/pkg/system_wasm.d.ts create mode 100644 packages/system-wasm/pkg/system_wasm.js create mode 100644 packages/system-wasm/pkg/system_wasm_bg.wasm create mode 100644 packages/system-wasm/pkg/system_wasm_bg.wasm.d.ts diff --git a/packages/system-wasm/package.json b/packages/system-wasm/package.json index be57befa..8b9009d7 100644 --- a/packages/system-wasm/package.json +++ b/packages/system-wasm/package.json @@ -5,7 +5,7 @@ "author": "Kieran", "license": "MIT", "scripts": { - "build": "wasm-pack build -t web -s snort" + "build": "wasm-pack build -t web -s snort && rm -f pkg/.gitignore" }, "files": [ "pkg/system_wasm_bg.wasm", diff --git a/packages/system-wasm/pkg/README.md b/packages/system-wasm/pkg/README.md new file mode 100644 index 00000000..35c32495 --- /dev/null +++ b/packages/system-wasm/pkg/README.md @@ -0,0 +1 @@ +# system-wasm diff --git a/packages/system-wasm/pkg/package.json b/packages/system-wasm/pkg/package.json new file mode 100644 index 00000000..95566d0d --- /dev/null +++ b/packages/system-wasm/pkg/package.json @@ -0,0 +1,14 @@ +{ + "name": "@snort/system-wasm", + "version": "0.1.0", + "files": [ + "system_wasm_bg.wasm", + "system_wasm.js", + "system_wasm.d.ts" + ], + "module": "system_wasm.js", + "types": "system_wasm.d.ts", + "sideEffects": [ + "./snippets/*" + ] +} diff --git a/packages/system-wasm/pkg/system_wasm.d.ts b/packages/system-wasm/pkg/system_wasm.d.ts new file mode 100644 index 00000000..b1781e0d --- /dev/null +++ b/packages/system-wasm/pkg/system_wasm.d.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * @param {any} prev + * @param {any} next + * @returns {any} + */ +export function diff_filters(prev: any, next: any): any; +/** + * @param {any} val + * @returns {any} + */ +export function expand_filter(val: any): any; +/** + * @param {any} prev + * @param {any} next + * @returns {any} + */ +export function get_diff(prev: any, next: any): any; +/** + * @param {any} val + * @returns {any} + */ +export function flat_merge(val: any): any; +/** + * @param {any} val + * @returns {any} + */ +export function compress(val: any): any; + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly diff_filters: (a: number, b: number, c: number) => void; + readonly expand_filter: (a: number, b: number) => void; + readonly get_diff: (a: number, b: number, c: number) => void; + readonly flat_merge: (a: number, b: number) => void; + readonly compress: (a: number, b: number) => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_exn_store: (a: number) => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** + * Instantiates the given `module`, which can either be bytes or + * a precompiled `WebAssembly.Module`. + * + * @param {SyncInitInput} module + * + * @returns {InitOutput} + */ +export function initSync(module: SyncInitInput): InitOutput; + +/** + * If `module_or_path` is {RequestInfo} or {URL}, makes a request and + * for everything else, calls `WebAssembly.instantiate` directly. + * + * @param {InitInput | Promise} module_or_path + * + * @returns {Promise} + */ +export default function __wbg_init(module_or_path?: InitInput | Promise): Promise; diff --git a/packages/system-wasm/pkg/system_wasm.js b/packages/system-wasm/pkg/system_wasm.js new file mode 100644 index 00000000..7b930b35 --- /dev/null +++ b/packages/system-wasm/pkg/system_wasm.js @@ -0,0 +1,586 @@ +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { + return heap[idx]; +} + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +let WASM_VECTOR_LEN = 0; + +let cachedUint8Memory0 = null; + +function getUint8Memory0() { + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +const cachedTextEncoder = + typeof TextEncoder !== "undefined" + ? new TextEncoder("utf-8") + : { + encode: () => { + throw Error("TextEncoder not available"); + }, + }; + +const encodeString = + typeof cachedTextEncoder.encodeInto === "function" + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); + } + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length, + }; + }; + +function passStringToWasm0(arg, malloc, realloc) { + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8Memory0() + .subarray(ptr, ptr + buf.length) + .set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8Memory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7f) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, (len = offset + arg.length * 3), 1) >>> 0; + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +const cachedTextDecoder = + typeof TextDecoder !== "undefined" + ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) + : { + decode: () => { + throw Error("TextDecoder not available"); + }, + }; + +if (typeof TextDecoder !== "undefined") { + cachedTextDecoder.decode(); +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +let cachedFloat64Memory0 = null; + +function getFloat64Memory0() { + if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { + cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); + } + return cachedFloat64Memory0; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == "number" || type == "boolean" || val == null) { + return `${val}`; + } + if (type == "string") { + return `"${val}"`; + } + if (type == "symbol") { + const description = val.description; + if (description == null) { + return "Symbol"; + } else { + return `Symbol(${description})`; + } + } + if (type == "function") { + const name = val.name; + if (typeof name == "string" && name.length > 0) { + return `Function(${name})`; + } else { + return "Function"; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = "["; + if (length > 0) { + debug += debugString(val[0]); + } + for (let i = 1; i < length; i++) { + debug += ", " + debugString(val[i]); + } + debug += "]"; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == "Object") { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return "Object(" + JSON.stringify(val) + ")"; + } catch (_) { + return "Object"; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +/** + * @param {any} prev + * @param {any} next + * @returns {any} + */ +export function diff_filters(prev, next) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.diff_filters(retptr, addHeapObject(prev), addHeapObject(next)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** + * @param {any} val + * @returns {any} + */ +export function expand_filter(val) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.expand_filter(retptr, addHeapObject(val)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** + * @param {any} prev + * @param {any} next + * @returns {any} + */ +export function get_diff(prev, next) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.get_diff(retptr, addHeapObject(prev), addHeapObject(next)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** + * @param {any} val + * @returns {any} + */ +export function flat_merge(val) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.flat_merge(retptr, addHeapObject(val)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** + * @param {any} val + * @returns {any} + */ +export function compress(val) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.compress(retptr, addHeapObject(val)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === "function" && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === "function") { + try { + return await WebAssembly.instantiateStreaming(module, imports); + } catch (e) { + if (module.headers.get("Content-Type") != "application/wasm") { + console.warn( + "`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", + e, + ); + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function (arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_string_get = function (arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === "string" ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbindgen_is_object = function (arg0) { + const val = getObject(arg0); + const ret = typeof val === "object" && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function (arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function (arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_error_new = function (arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_clone_ref = function (arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_jsval_loose_eq = function (arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_boolean_get = function (arg0) { + const v = getObject(arg0); + const ret = typeof v === "boolean" ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_number_get = function (arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === "number" ? obj : undefined; + getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); + }; + imports.wbg.__wbindgen_number_new = function (arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_string_new = function (arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_5e6d9547403deab8 = function (arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_841ac57cff3d672b = function (arg0, arg1, arg2) { + getObject(arg0)[takeObject(arg1)] = takeObject(arg2); + }; + imports.wbg.__wbg_get_44be0491f933a435 = function (arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_fff51ee6522a1a18 = function (arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_898a68150f225f2e = function () { + const ret = new Array(); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_function = function (arg0) { + const ret = typeof getObject(arg0) === "function"; + return ret; + }; + imports.wbg.__wbg_next_526fc47e980da008 = function (arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_ddb3312ca1c4e32a = function () { + return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_done_5c1f01fb660d73b5 = function (arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_1695675138684bd5 = function (arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_97f0c81209c6c35a = function () { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_97b561fb56f034b5 = function () { + return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_call_cb65541d95d71282 = function () { + return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments); + }; + imports.wbg.__wbg_new_b51585de1b234aff = function () { + const ret = new Object(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_502d29070ea18557 = function (arg0, arg1, arg2) { + getObject(arg0)[arg1 >>> 0] = takeObject(arg2); + }; + imports.wbg.__wbg_isArray_4c24b343cb13cfb1 = function (arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_39ac22089b74fddb = function (arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isSafeInteger_bb8e18dd21c97288 = function (arg0) { + const ret = Number.isSafeInteger(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_buffer_085ec1f694018c4f = function (arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_8125e318e6245eed = function (arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_5cf90238115182c3 = function (arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_72e2208bbc0efc61 = function (arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_d8d9cb2b8e8ac1d4 = function (arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbindgen_debug_string = function (arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }; + imports.wbg.__wbindgen_throw = function (arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function () { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, maybe_memory) {} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedFloat64Memory0 = null; + cachedInt32Memory0 = null; + cachedUint8Memory0 = null; + + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(input) { + if (wasm !== undefined) return wasm; + + if (typeof input === "undefined") { + input = new URL("system_wasm_bg.wasm", import.meta.url); + } + const imports = __wbg_get_imports(); + + if ( + typeof input === "string" || + (typeof Request === "function" && input instanceof Request) || + (typeof URL === "function" && input instanceof URL) + ) { + input = fetch(input); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await input, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/packages/system-wasm/pkg/system_wasm_bg.wasm b/packages/system-wasm/pkg/system_wasm_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..a5b7b22810444b442af8fd0d1915936fbbfd6f76 GIT binary patch literal 124629 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

=qK?}x!Hmc1e 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 z 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 RPB^m^NWC!e6ov2V`!~uoO)vle literal 0 HcmV?d00001 diff --git a/packages/system-wasm/pkg/system_wasm_bg.wasm.d.ts b/packages/system-wasm/pkg/system_wasm_bg.wasm.d.ts new file mode 100644 index 00000000..3071e5fd --- /dev/null +++ b/packages/system-wasm/pkg/system_wasm_bg.wasm.d.ts @@ -0,0 +1,12 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export function diff_filters(a: number, b: number, c: number): void; +export function expand_filter(a: number, b: number): void; +export function get_diff(a: number, b: number, c: number): void; +export function flat_merge(a: number, b: number): void; +export function compress(a: number, b: number): void; +export function __wbindgen_malloc(a: number, b: number): number; +export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; +export function __wbindgen_add_to_stack_pointer(a: number): number; +export function __wbindgen_exn_store(a: number): void;