From 983bf0fde6bc8910b49d42adeaa4aa3653bc228b Mon Sep 17 00:00:00 2001 From: "a.kudelko" Date: Fri, 6 Jun 2025 10:24:16 +0000 Subject: [PATCH] Update hublib web by a.kudelko at 2025-06-06T10:24:15 --- hublib.d.ts | 97 +++++++++++++++++++ hublib.js | 228 ++++++++++++++++++++++++++++++++++++++++++++ hublib_bg.wasm | Bin 0 -> 84100 bytes hublib_bg.wasm.d.ts | 70 ++++++++++++++ package.json | 15 +++ 5 files changed, 410 insertions(+) create mode 100644 hublib.d.ts create mode 100644 hublib.js create mode 100644 hublib_bg.wasm create mode 100644 hublib_bg.wasm.d.ts create mode 100644 package.json diff --git a/hublib.d.ts b/hublib.d.ts new file mode 100644 index 0000000..77f0d12 --- /dev/null +++ b/hublib.d.ts @@ -0,0 +1,97 @@ +/* tslint:disable */ +/* eslint-disable */ +export function get_secret_value(http_time: string, user_agent: string, url: string): string; + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly ffi_hublib_uniffi_contract_version: () => number; + readonly ffi_hublib_rustbuffer_alloc: (a: number, b: bigint, c: number) => void; + readonly ffi_hublib_rustbuffer_from_bytes: (a: number, b: number, c: number, d: number) => void; + readonly ffi_hublib_rustbuffer_free: (a: bigint, b: bigint, c: number, d: number, e: number) => void; + readonly ffi_hublib_rustbuffer_reserve: (a: number, b: bigint, c: bigint, d: number, e: number, f: bigint, g: number) => void; + readonly ffi_hublib_rust_future_poll_u8: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_u8: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_u8: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_u8: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_i8: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_i8: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_i8: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_i8: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_u16: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_u16: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_u16: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_u16: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_i16: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_i16: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_i16: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_i16: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_u32: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_u32: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_u32: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_u32: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_i32: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_i32: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_i32: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_i32: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_u64: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_u64: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_u64: (a: bigint, b: number) => bigint; + readonly ffi_hublib_rust_future_free_u64: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_i64: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_i64: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_i64: (a: bigint, b: number) => bigint; + readonly ffi_hublib_rust_future_free_i64: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_f32: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_f32: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_f32: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_f32: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_f64: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_f64: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_f64: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_f64: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_pointer: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_pointer: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_pointer: (a: bigint, b: number) => number; + readonly ffi_hublib_rust_future_free_pointer: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_rust_buffer: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_rust_buffer: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_rust_buffer: (a: number, b: bigint, c: number) => void; + readonly ffi_hublib_rust_future_free_rust_buffer: (a: bigint) => void; + readonly ffi_hublib_rust_future_poll_void: (a: bigint, b: number, c: bigint) => void; + readonly ffi_hublib_rust_future_cancel_void: (a: bigint) => void; + readonly ffi_hublib_rust_future_complete_void: (a: bigint, b: number) => void; + readonly ffi_hublib_rust_future_free_void: (a: bigint) => void; + readonly uniffi_hublib_fn_func_get_secret_value: (a: number, b: bigint, c: bigint, d: number, e: number, f: bigint, g: bigint, h: number, i: number, j: bigint, k: bigint, l: number, m: number, n: number) => void; + readonly uniffi_hublib_checksum_func_get_secret_value: () => number; + readonly get_secret_value: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number]; + readonly uniffi_hublib_fn_func_recreate_secret_value: (a: number, b: bigint, c: bigint, d: number, e: number, f: bigint, g: bigint, h: number, i: number, j: bigint, k: bigint, l: number, m: number, n: bigint, o: bigint, p: number, q: number, r: number) => void; + readonly uniffi_hublib_checksum_func_recreate_secret_value: () => number; + readonly __wbindgen_export_0: WebAssembly.Table; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/hublib.js b/hublib.js new file mode 100644 index 0000000..61dfb2e --- /dev/null +++ b/hublib.js @@ -0,0 +1,228 @@ +let wasm; + +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(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +let WASM_VECTOR_LEN = 0; + +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; + getUint8ArrayMemory0().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 = getUint8ArrayMemory0(); + + 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 = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} +/** + * @param {string} http_time + * @param {string} user_agent + * @param {string} url + * @returns {string} + */ +export function get_secret_value(http_time, user_agent, url) { + let deferred4_0; + let deferred4_1; + try { + const ptr0 = passStringToWasm0(http_time, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(user_agent, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ptr2 = passStringToWasm0(url, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len2 = WASM_VECTOR_LEN; + const ret = wasm.get_secret_value(ptr0, len0, ptr1, len1, ptr2, len2); + deferred4_0 = ret[0]; + deferred4_1 = ret[1]; + return getStringFromWasm0(ret[0], ret[1]); + } finally { + wasm.__wbindgen_free(deferred4_0, deferred4_1, 1); + } +} + +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.__wbg_getTime_46267b1c24877e30 = function(arg0) { + const ret = arg0.getTime(); + return ret; + }; + imports.wbg.__wbg_new0_f788a2397c7ca929 = function() { + const ret = new Date(); + return ret; + }; + imports.wbg.__wbindgen_init_externref_table = function() { + const table = wasm.__wbindgen_export_0; + const offset = table.grow(4); + table.set(0, undefined); + table.set(offset + 0, undefined); + table.set(offset + 1, null); + table.set(offset + 2, true); + table.set(offset + 3, false); + ; + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined') { + if (Object.getPrototypeOf(module) === Object.prototype) { + ({module} = module) + } else { + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + } + } + + 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(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined') { + if (Object.getPrototypeOf(module_or_path) === Object.prototype) { + ({module_or_path} = module_or_path) + } else { + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + } + } + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('hublib_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/hublib_bg.wasm b/hublib_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7bbc31d8d90f2663a7979927d180ed2f552e5459 GIT binary patch literal 84100 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
1niIbg2P#sa#r|Bk22iRr9#VQ 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 literal 0 HcmV?d00001 diff --git a/hublib_bg.wasm.d.ts b/hublib_bg.wasm.d.ts new file mode 100644 index 0000000..e578956 --- /dev/null +++ b/hublib_bg.wasm.d.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export const ffi_hublib_uniffi_contract_version: () => number; +export const ffi_hublib_rustbuffer_alloc: (a: number, b: bigint, c: number) => void; +export const ffi_hublib_rustbuffer_from_bytes: (a: number, b: number, c: number, d: number) => void; +export const ffi_hublib_rustbuffer_free: (a: bigint, b: bigint, c: number, d: number, e: number) => void; +export const ffi_hublib_rustbuffer_reserve: (a: number, b: bigint, c: bigint, d: number, e: number, f: bigint, g: number) => void; +export const ffi_hublib_rust_future_poll_u8: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_u8: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_u8: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_u8: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_i8: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_i8: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_i8: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_i8: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_u16: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_u16: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_u16: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_u16: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_i16: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_i16: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_i16: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_i16: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_u32: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_u32: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_u32: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_u32: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_i32: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_i32: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_i32: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_i32: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_u64: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_u64: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_u64: (a: bigint, b: number) => bigint; +export const ffi_hublib_rust_future_free_u64: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_i64: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_i64: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_i64: (a: bigint, b: number) => bigint; +export const ffi_hublib_rust_future_free_i64: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_f32: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_f32: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_f32: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_f32: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_f64: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_f64: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_f64: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_f64: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_pointer: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_pointer: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_pointer: (a: bigint, b: number) => number; +export const ffi_hublib_rust_future_free_pointer: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_rust_buffer: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_rust_buffer: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_rust_buffer: (a: number, b: bigint, c: number) => void; +export const ffi_hublib_rust_future_free_rust_buffer: (a: bigint) => void; +export const ffi_hublib_rust_future_poll_void: (a: bigint, b: number, c: bigint) => void; +export const ffi_hublib_rust_future_cancel_void: (a: bigint) => void; +export const ffi_hublib_rust_future_complete_void: (a: bigint, b: number) => void; +export const ffi_hublib_rust_future_free_void: (a: bigint) => void; +export const uniffi_hublib_fn_func_get_secret_value: (a: number, b: bigint, c: bigint, d: number, e: number, f: bigint, g: bigint, h: number, i: number, j: bigint, k: bigint, l: number, m: number, n: number) => void; +export const uniffi_hublib_checksum_func_get_secret_value: () => number; +export const get_secret_value: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number]; +export const uniffi_hublib_fn_func_recreate_secret_value: (a: number, b: bigint, c: bigint, d: number, e: number, f: bigint, g: bigint, h: number, i: number, j: bigint, k: bigint, l: number, m: number, n: bigint, o: bigint, p: number, q: number, r: number) => void; +export const uniffi_hublib_checksum_func_recreate_secret_value: () => number; +export const __wbindgen_export_0: WebAssembly.Table; +export const __wbindgen_malloc: (a: number, b: number) => number; +export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; +export const __wbindgen_free: (a: number, b: number, c: number) => void; +export const __wbindgen_start: () => void; diff --git a/package.json b/package.json new file mode 100644 index 0000000..a55712e --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "hublib", + "type": "module", + "version": "0.1.0", + "files": [ + "hublib_bg.wasm", + "hublib.js", + "hublib.d.ts" + ], + "main": "hublib.js", + "types": "hublib.d.ts", + "sideEffects": [ + "./snippets/*" + ] +} \ No newline at end of file