mirror of
https://github.com/swc-project/swc.git
synced 2024-12-23 13:51:19 +03:00
275 lines
149 KiB
TypeScript
275 lines
149 KiB
TypeScript
|
// Loaded from https://deno.land/std/hash/_wasm/wasm.js
|
||
|
|
||
|
|
||
|
// deno-lint-ignore-file
|
||
|
//deno-fmt-ignore-file
|
||
|
//deno-lint-ignore-file
|
||
|
import * as base64 from "../../encoding/base64.ts";
|
||
|
export const source = base64.decode(
|
||
|
"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
|
||
|
);
|
||
|
let wasm;
|
||
|
|
||
|
let cachedTextDecoder = new TextDecoder("utf-8", {
|
||
|
ignoreBOM: true,
|
||
|
fatal: true,
|
||
|
});
|
||
|
|
||
|
cachedTextDecoder.decode();
|
||
|
|
||
|
let cachegetUint8Memory0 = null;
|
||
|
function getUint8Memory0() {
|
||
|
if (
|
||
|
cachegetUint8Memory0 === null ||
|
||
|
cachegetUint8Memory0.buffer !== wasm.memory.buffer
|
||
|
) {
|
||
|
cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer);
|
||
|
}
|
||
|
return cachegetUint8Memory0;
|
||
|
}
|
||
|
|
||
|
function getStringFromWasm0(ptr, len) {
|
||
|
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
|
||
|
}
|
||
|
|
||
|
const heap = new Array(32).fill(undefined);
|
||
|
|
||
|
heap.push(undefined, null, true, false);
|
||
|
|
||
|
let heap_next = heap.length;
|
||
|
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
function getObject(idx) {
|
||
|
return heap[idx];
|
||
|
}
|
||
|
|
||
|
function dropObject(idx) {
|
||
|
if (idx < 36) 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 cachedTextEncoder = new TextEncoder("utf-8");
|
||
|
|
||
|
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);
|
||
|
getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
|
||
|
WASM_VECTOR_LEN = buf.length;
|
||
|
return ptr;
|
||
|
}
|
||
|
|
||
|
let len = arg.length;
|
||
|
let ptr = malloc(len);
|
||
|
|
||
|
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);
|
||
|
const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
|
||
|
const ret = encodeString(arg, view);
|
||
|
|
||
|
offset += ret.written;
|
||
|
}
|
||
|
|
||
|
WASM_VECTOR_LEN = offset;
|
||
|
return ptr;
|
||
|
}
|
||
|
/**
|
||
|
* @param {string} algorithm
|
||
|
* @returns {DenoHash}
|
||
|
*/
|
||
|
export function create_hash(algorithm) {
|
||
|
var ptr0 = passStringToWasm0(
|
||
|
algorithm,
|
||
|
wasm.__wbindgen_malloc,
|
||
|
wasm.__wbindgen_realloc,
|
||
|
);
|
||
|
var len0 = WASM_VECTOR_LEN;
|
||
|
var ret = wasm.create_hash(ptr0, len0);
|
||
|
return DenoHash.__wrap(ret);
|
||
|
}
|
||
|
|
||
|
function _assertClass(instance, klass) {
|
||
|
if (!(instance instanceof klass)) {
|
||
|
throw new Error(`expected instance of ${klass.name}`);
|
||
|
}
|
||
|
return instance.ptr;
|
||
|
}
|
||
|
|
||
|
function passArray8ToWasm0(arg, malloc) {
|
||
|
const ptr = malloc(arg.length * 1);
|
||
|
getUint8Memory0().set(arg, ptr / 1);
|
||
|
WASM_VECTOR_LEN = arg.length;
|
||
|
return ptr;
|
||
|
}
|
||
|
/**
|
||
|
* @param {DenoHash} hash
|
||
|
* @param {Uint8Array} data
|
||
|
*/
|
||
|
export function update_hash(hash, data) {
|
||
|
_assertClass(hash, DenoHash);
|
||
|
var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_malloc);
|
||
|
var len0 = WASM_VECTOR_LEN;
|
||
|
wasm.update_hash(hash.ptr, ptr0, len0);
|
||
|
}
|
||
|
|
||
|
let cachegetInt32Memory0 = null;
|
||
|
function getInt32Memory0() {
|
||
|
if (
|
||
|
cachegetInt32Memory0 === null ||
|
||
|
cachegetInt32Memory0.buffer !== wasm.memory.buffer
|
||
|
) {
|
||
|
cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer);
|
||
|
}
|
||
|
return cachegetInt32Memory0;
|
||
|
}
|
||
|
|
||
|
function getArrayU8FromWasm0(ptr, len) {
|
||
|
return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
|
||
|
}
|
||
|
/**
|
||
|
* @param {DenoHash} hash
|
||
|
* @returns {Uint8Array}
|
||
|
*/
|
||
|
export function digest_hash(hash) {
|
||
|
try {
|
||
|
const retptr = wasm.__wbindgen_export_2.value - 16;
|
||
|
wasm.__wbindgen_export_2.value = retptr;
|
||
|
_assertClass(hash, DenoHash);
|
||
|
wasm.digest_hash(retptr, hash.ptr);
|
||
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
||
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
||
|
var v0 = getArrayU8FromWasm0(r0, r1).slice();
|
||
|
wasm.__wbindgen_free(r0, r1 * 1);
|
||
|
return v0;
|
||
|
} finally {
|
||
|
wasm.__wbindgen_export_2.value += 16;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
*/
|
||
|
export class DenoHash {
|
||
|
static __wrap(ptr) {
|
||
|
const obj = Object.create(DenoHash.prototype);
|
||
|
obj.ptr = ptr;
|
||
|
|
||
|
return obj;
|
||
|
}
|
||
|
|
||
|
free() {
|
||
|
const ptr = this.ptr;
|
||
|
this.ptr = 0;
|
||
|
|
||
|
wasm.__wbg_denohash_free(ptr);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
async function 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;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
async function init(input) {
|
||
|
if (typeof input === "undefined") {
|
||
|
input = import.meta.url.replace(/\.js$/, "_bg.wasm");
|
||
|
}
|
||
|
const imports = {};
|
||
|
imports.wbg = {};
|
||
|
imports.wbg.__wbindgen_string_new = function (arg0, arg1) {
|
||
|
var ret = getStringFromWasm0(arg0, arg1);
|
||
|
return addHeapObject(ret);
|
||
|
};
|
||
|
imports.wbg.__wbindgen_throw = function (arg0, arg1) {
|
||
|
throw new Error(getStringFromWasm0(arg0, arg1));
|
||
|
};
|
||
|
imports.wbg.__wbindgen_rethrow = function (arg0) {
|
||
|
throw takeObject(arg0);
|
||
|
};
|
||
|
|
||
|
if (
|
||
|
typeof input === "string" ||
|
||
|
(typeof Request === "function" && input instanceof Request) ||
|
||
|
(typeof URL === "function" && input instanceof URL)
|
||
|
) {
|
||
|
input = fetch(input);
|
||
|
}
|
||
|
|
||
|
const { instance, module } = await load(await input, imports);
|
||
|
|
||
|
wasm = instance.exports;
|
||
|
init.__wbindgen_wasm_module = module;
|
||
|
|
||
|
return wasm;
|
||
|
}
|
||
|
|
||
|
export default init;
|