@mgtd/pcf-wasm
Advanced tools
Comparing version 0.1.0 to 0.1.1
@@ -7,7 +7,6 @@ { | ||
], | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"files": [ | ||
"pcf_wasm_bg.wasm", | ||
"pcf_wasm.js", | ||
"pcf_wasm_bg.js", | ||
"pcf_wasm.d.ts" | ||
@@ -18,2 +17,2 @@ ], | ||
"sideEffects": false | ||
} | ||
} |
@@ -10,1 +10,22 @@ /* tslint:disable */ | ||
export function get_pc(board: BigInt, sequence: string, allow_hold?: boolean): string; | ||
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; | ||
export interface InitOutput { | ||
readonly memory: WebAssembly.Memory; | ||
readonly get_pc: (a: number, b: number, c: number, d: number, e: number, f: number) => void; | ||
readonly __wbindgen_add_to_stack_pointer: (a: number) => number; | ||
readonly __wbindgen_malloc: (a: number) => number; | ||
readonly __wbindgen_realloc: (a: number, b: number, c: number) => number; | ||
readonly __wbindgen_free: (a: number, b: number) => void; | ||
} | ||
/** | ||
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and | ||
* for everything else, calls `WebAssembly.instantiate` directly. | ||
* | ||
* @param {InitInput | Promise<InitInput>} module_or_path | ||
* | ||
* @returns {Promise<InitOutput>} | ||
*/ | ||
export default function init (module_or_path?: InitInput | Promise<InitInput>): Promise<InitOutput>; |
169
pcf_wasm.js
@@ -1,2 +0,167 @@ | ||
import * as wasm from "./pcf_wasm_bg.wasm"; | ||
export * from "./pcf_wasm_bg.js"; | ||
let wasm; | ||
const u32CvtShim = new Uint32Array(2); | ||
const uint64CvtShim = new BigUint64Array(u32CvtShim.buffer); | ||
let WASM_VECTOR_LEN = 0; | ||
let cachegetUint8Memory0 = null; | ||
function getUint8Memory0() { | ||
if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) { | ||
cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); | ||
} | ||
return cachegetUint8Memory0; | ||
} | ||
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; | ||
} | ||
function isLikeNone(x) { | ||
return x === undefined || x === null; | ||
} | ||
let cachegetInt32Memory0 = null; | ||
function getInt32Memory0() { | ||
if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) { | ||
cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer); | ||
} | ||
return cachegetInt32Memory0; | ||
} | ||
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); | ||
cachedTextDecoder.decode(); | ||
function getStringFromWasm0(ptr, len) { | ||
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); | ||
} | ||
/** | ||
* @param {BigInt} board | ||
* @param {string} sequence | ||
* @param {boolean | undefined} allow_hold | ||
* @returns {string} | ||
*/ | ||
export function get_pc(board, sequence, allow_hold) { | ||
try { | ||
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); | ||
uint64CvtShim[0] = board; | ||
const low0 = u32CvtShim[0]; | ||
const high0 = u32CvtShim[1]; | ||
var ptr1 = passStringToWasm0(sequence, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); | ||
var len1 = WASM_VECTOR_LEN; | ||
wasm.get_pc(retptr, low0, high0, ptr1, len1, isLikeNone(allow_hold) ? 0xFFFFFF : allow_hold ? 1 : 0); | ||
var r0 = getInt32Memory0()[retptr / 4 + 0]; | ||
var r1 = getInt32Memory0()[retptr / 4 + 1]; | ||
return getStringFromWasm0(r0, r1); | ||
} finally { | ||
wasm.__wbindgen_add_to_stack_pointer(16); | ||
wasm.__wbindgen_free(r0, r1); | ||
} | ||
} | ||
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 = new URL('pcf_wasm_bg.wasm', import.meta.url); | ||
} | ||
const imports = {}; | ||
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; | ||
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
90510
156
1
5
2