From 62e8f054e24b5e580b728c4f97cfc3d30d5ba77f Mon Sep 17 00:00:00 2001 From: Lino Le Van <11367844+lino-levan@users.noreply.github.com> Date: Sat, 11 Nov 2023 06:14:23 -0800 Subject: [PATCH] chore: modernize module (#3) --- .github/workflows/checks.yml | 6 +- CHANGELOG.md | 4 +- Cargo.lock | 109 +++++++++++------------------------ Cargo.toml | 3 +- README.md | 90 +++++++++++++++-------------- deno.jsonc | 7 +++ mod.ts | 6 +- scripts/build.ts | 41 +++++++------ src/lib.rs | 4 -- test.ts | 11 ++-- wasm.js | 3 +- 11 files changed, 126 insertions(+), 158 deletions(-) create mode 100644 deno.jsonc diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 49818df..9056d52 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -10,7 +10,7 @@ jobs: uses: actions/checkout@v2 - name: Setup latest deno version - uses: denolib/setup-deno@v2 + uses: denoland/setup-deno@v1 with: deno-version: v1.x @@ -18,7 +18,7 @@ jobs: run: deno fmt --check - name: Run deno lint - run: deno lint --unstable + run: deno lint - name: Run deno test - run: deno test + run: deno task test diff --git a/CHANGELOG.md b/CHANGELOG.md index 216e273..961c58e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,8 @@ All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog], -and this project adheres to [Semantic Versioning]. +The format is based on [Keep a Changelog], and this project adheres to +[Semantic Versioning]. ## [0.1.2] - 2020-08-30 diff --git a/Cargo.lock b/Cargo.lock index 8716210..c3c22b7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "bumpalo" version = "3.3.0" @@ -12,34 +14,27 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + [[package]] name = "deno_lz4" version = "0.1.3" dependencies = [ "lz4-compression", "wasm-bindgen", - "wee_alloc", ] -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49" - [[package]] name = "log" version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7" dependencies = [ - "cfg-if", + "cfg-if 0.1.10", ] [[package]] @@ -49,65 +44,65 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "761104bf97f13a3caf47d822498a0760a10d00d220148bac2669f63fc3bb8270" [[package]] -name = "memory_units" -version = "0.4.0" +name = "once_cell" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "proc-macro2" -version = "1.0.17" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1502d12e458c49a4c9cbff560d0fe0060c252bc29799ed94ca2ed4bb665a0101" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ - "unicode-xid", + "unicode-ident", ] [[package]] name = "quote" -version = "1.0.6" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a21852a652ad6f610c9510194f398ff6f8692e334fd1145fed931f7fbe44ea" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] [[package]] name = "syn" -version = "1.0.27" +version = "2.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef781e621ee763a2a40721a8861ec519cb76966aee03bb5d00adb6a31dc1c1de" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" dependencies = [ "proc-macro2", "quote", - "unicode-xid", + "unicode-ident", ] [[package]] -name = "unicode-xid" -version = "0.2.0" +name = "unicode-ident" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" [[package]] name = "wasm-bindgen" -version = "0.2.67" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0563a9a4b071746dd5aedbc3a28c6fe9be4586fb3fbadb67c400d4f53c6b16c" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ - "cfg-if", + "cfg-if 1.0.0", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.67" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc71e4c5efa60fb9e74160e89b93353bc24059999c0ae0fb03affc39770310b0" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", - "lazy_static", "log", + "once_cell", "proc-macro2", "quote", "syn", @@ -116,9 +111,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.67" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97c57cefa5fa80e2ba15641578b44d36e7a64279bc5ed43c6dbaf329457a2ed2" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -126,9 +121,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.67" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841a6d1c35c6f596ccea1f82504a192a60378f64b3bb0261904ad8f2f5657556" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", @@ -139,40 +134,6 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.67" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93b162580e34310e5931c4b792560108b10fd14d64915d7fff8ff00180e70092" - -[[package]] -name = "wee_alloc" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb3b5a6b2bb17cb6ad44a2e68a43e8d2722c997da10e928665c72ec6c0a0b8e" -dependencies = [ - "cfg-if", - "libc", - "memory_units", - "winapi", -] - -[[package]] -name = "winapi" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" diff --git a/Cargo.toml b/Cargo.toml index c4c45c0..ef262c1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,8 +13,7 @@ crate-type = ["cdylib"] [dependencies] lz4-compression = "0.7.0" -wasm-bindgen = "0.2.67" -wee_alloc = { version = "0.4.5", optional = true } +wasm-bindgen = "0.2.88" [profile.release] lto = true diff --git a/README.md b/README.md index 30da8e0..6a5c369 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,48 @@ -# deno_lz4 - -[![stars](https://img.shields.io/github/stars/denosaurs/deno_lz4)](https://github.com/denosaurs/deno_lz4/stargazers) -[![workflow](https://img.shields.io/github/workflow/status/denosaurs/deno_lz4/ci)](https://github.com/denosaurs/deno_lz4/actions) -[![releases](https://img.shields.io/github/v/release/denosaurs/deno_lz4)](https://github.com/denosaurs/deno_lz4/releases/latest/) -[![deno version](https://img.shields.io/badge/deno-^1.0.2-informational)](https://github.com/denoland/deno) -[![deno doc](https://img.shields.io/badge/deno-doc-informational)](https://doc.deno.land/https/deno.land/x/deno_lz4/mod.ts) -[![Discord](https://img.shields.io/discord/713043818806509608)](https://discord.gg/shHG8vg) -[![license](https://img.shields.io/github/license/denosaurs/deno_lz4)](https://github.com/denosaurs/deno_lz4/blob/master/LICENSE) -[![issues](https://img.shields.io/github/issues/denosaurs/deno_lz4)](https://github.com/denosaurs/deno_lz4/issues) - -This module provides [lz4](https://en.wikipedia.org/wiki/LZ4_(compression_algorithm)) support for deno and the web by providing [simple bindings](src/lib.rs) using [lz4-compression](https://github.com/johannesvollmer/lz4-compression-rs) compiled to webassembly. - -## Usage - -### Compression - -```ts -import { compress } from "https://deno.land/x/lz4/mod.ts"; -const text = new TextEncoder().encode("X".repeat(64)); -console.log(text.length); // 64 Bytes -console.log(compress(text).length); // 6 Bytes -``` - -### Decompression - -```ts -import { decompress } from "https://deno.land/x/lz4/mod.ts"; -const compressed = Uint8Array.from([ 31, 88, 1, 0, 44, 0 ]); -console.log(compressed.length); // 6 Bytes -console.log(decompress(compressed).length); // 64 Bytes -``` - -## Other - -### Contribution - -Pull request, issues and feedback are very welcome. Code style is formatted with `deno fmt` and commit messages are done following [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec. - -### Licence - -Copyright 2020-present, the denosaurs team. All rights reserved. MIT license. +# deno_lz4 + +[![stars](https://img.shields.io/github/stars/denosaurs/deno_lz4)](https://github.com/denosaurs/deno_lz4/stargazers) +[![workflow](https://img.shields.io/github/actions/workflow/status/denosaurs/deno_lz4/checks.yml?branch=master)](https://github.com/denosaurs/deno_lz4/actions) +[![releases](https://img.shields.io/github/v/release/denosaurs/deno_lz4)](https://github.com/denosaurs/deno_lz4/releases/latest/) +[![deno version](https://img.shields.io/badge/deno-^1.0.2-informational)](https://github.com/denoland/deno) +[![deno doc](https://img.shields.io/badge/deno-doc-informational)](https://doc.deno.land/https/deno.land/x/deno_lz4/mod.ts) +[![Discord](https://img.shields.io/discord/713043818806509608)](https://discord.gg/shHG8vg) +[![license](https://img.shields.io/github/license/denosaurs/deno_lz4)](https://github.com/denosaurs/deno_lz4/blob/master/LICENSE) +[![issues](https://img.shields.io/github/issues/denosaurs/deno_lz4)](https://github.com/denosaurs/deno_lz4/issues) + +This module provides +[lz4](https://en.wikipedia.org/wiki/LZ4_(compression_algorithm)) support for +deno and the web by providing [simple bindings](src/lib.rs) using +[lz4-compression](https://github.com/johannesvollmer/lz4-compression-rs) +compiled to webassembly. + +## Usage + +### Compression + +```ts +import { compress } from "https://deno.land/x/lz4/mod.ts"; +const text = new TextEncoder().encode("X".repeat(64)); +console.log(text.length); // 64 Bytes +console.log(compress(text).length); // 6 Bytes +``` + +### Decompression + +```ts +import { decompress } from "https://deno.land/x/lz4/mod.ts"; +const compressed = Uint8Array.from([31, 88, 1, 0, 44, 0]); +console.log(compressed.length); // 6 Bytes +console.log(decompress(compressed).length); // 64 Bytes +``` + +## Other + +### Contribution + +Pull request, issues and feedback are very welcome. Code style is formatted with +`deno fmt` and commit messages are done following +[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec. + +### Licence + +Copyright 2020-present, the denosaurs team. All rights reserved. MIT license. diff --git a/deno.jsonc b/deno.jsonc new file mode 100644 index 0000000..5013b2a --- /dev/null +++ b/deno.jsonc @@ -0,0 +1,7 @@ +{ + "tasks": { + "test": "deno test", + "build": "deno run -A ./scripts/build.ts" + }, + "lock": false +} diff --git a/mod.ts b/mod.ts index f3c6333..8fe2752 100644 --- a/mod.ts +++ b/mod.ts @@ -1,10 +1,6 @@ // Copyright 2020-present the denosaurs team. All rights reserved. MIT license. -import init, { - source, - lz4_compress, - lz4_decompress, -} from "./wasm.js"; +import init, { lz4_compress, lz4_decompress, source } from "./wasm.js"; await init(source); diff --git a/scripts/build.ts b/scripts/build.ts index 0023a70..eabeb0c 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -1,33 +1,30 @@ -import { encode } from "https://deno.land/std@0.67.0/encoding/base64.ts"; -import { minify } from "https://jspm.dev/terser@5.2.1"; +import { encodeBase64 } from "https://deno.land/std@0.206.0/encoding/base64.ts"; +import { minify } from "https://esm.sh/terser@5.24.0"; const name = "deno_lz4"; const encoder = new TextEncoder(); -async function requires(...executables: string[]) { +function requires(...executables: string[]) { const where = Deno.build.os === "windows" ? "where" : "which"; for (const executable of executables) { - const process = Deno.run({ - cmd: [where, executable], - stderr: "null", - stdin: "null", - stdout: "null", - }); - - if (!(await process.status()).success) { + const command = new Deno.Command(where); + const { success } = command.outputSync(); + + if (success) { err(`Could not find required build tool ${executable}`); } } } -async function run(msg: string, cmd: string[]) { +function run(msg: string, cmd: string[]) { log(msg); - const process = Deno.run({ cmd }); + const command = new Deno.Command(cmd[0], { args: cmd.slice(1) }); + const { success } = command.outputSync(); - if (!(await process.status()).success) { + if (success) { err(`${msg} failed`); } } @@ -41,22 +38,24 @@ function err(text: string): never { return Deno.exit(1); } -await requires("rustup", "rustc", "cargo", "wasm-pack", "wasm-opt"); +requires("rustup", "rustc", "cargo", "wasm-pack", "wasm-opt"); if (!(await Deno.stat("Cargo.toml")).isFile) { err(`the build script should be executed in the "${name}" root`); } -await run( +run( "building using wasm-pack", ["wasm-pack", "build", "--target", "web", "--release"], ); const wasm = await Deno.readFile(`pkg/${name}_bg.wasm`); -const encoded = encode(wasm); +const encoded = encodeBase64(wasm); log( - `encoded wasm using base64, size increase: ${encoded.length - - wasm.length} bytes`, + `encoded wasm using base64, size increase: ${ + encoded.length - + wasm.length + } bytes`, ); log("inlining wasm in js"); @@ -69,7 +68,7 @@ log("minifying js"); const output = await minify(`${source}${init}`, { mangle: { module: true }, output: { - preamble: "//deno-fmt-ignore-file", + preamble: "// deno-lint-ignore-file\n//deno-fmt-ignore-file", }, }); @@ -77,7 +76,7 @@ if (output.error) { err(`encountered error when minifying: ${output.error}`); } -const reduction = new Blob([(`${source}${init}`)]).size - +const reduction = new Blob([`${source}${init}`]).size - new Blob([output.code]).size; log(`minified js, size reduction: ${reduction} bytes`); diff --git a/src/lib.rs b/src/lib.rs index 6d5433e..94b615b 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -4,10 +4,6 @@ use lz4_compression::prelude::compress; use lz4_compression::prelude::decompress; use wasm_bindgen::prelude::wasm_bindgen; -#[cfg(feature = "wee_alloc")] -#[global_allocator] -static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; - #[wasm_bindgen] pub fn lz4_compress(input: &[u8]) -> Vec<u8> { compress(input) diff --git a/test.ts b/test.ts index a5268d4..f8d063a 100644 --- a/test.ts +++ b/test.ts @@ -3,7 +3,7 @@ import { assertEquals, assertThrows, -} from "https://deno.land/std@0.67.0/testing/asserts.ts"; +} from "https://deno.land/std@0.206.0/assert/mod.ts"; import { compress, decompress } from "./mod.ts"; @@ -15,9 +15,12 @@ Deno.test({ name: "compress", fn: () => { // empty - assertEquals(compress(encode("")), [0]); + assertEquals(compress(encode("")), Uint8Array.from([0])); // 'X' x64 times - assertEquals(compress(encode("X".repeat(64))), [31, 88, 1, 0, 44, 0]); + assertEquals( + compress(encode("X".repeat(64))), + Uint8Array.from([31, 88, 1, 0, 44, 0]), + ); }, }); @@ -25,7 +28,7 @@ Deno.test({ name: "decompress", fn: () => { // empty - assertEquals(decompress(Uint8Array.from([0])), []); + assertEquals(decompress(Uint8Array.from([0])), Uint8Array.from([])); // 'X' x64 times assertEquals( decompress(Uint8Array.from([31, 88, 1, 0, 44, 0])), diff --git a/wasm.js b/wasm.js index ee6e28d..daf387e 100644 --- a/wasm.js +++ b/wasm.js @@ -1,2 +1,3 @@ +// deno-lint-ignore-file //deno-fmt-ignore-file -export const source=Uint8Array.from(atob("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IANNG0UEQEGIjMAAIAM2AgALQYyMwABB/x82AgBB+IvAACAFNgIAQfSLwAAgAzYCAEHgiMAAQdSIwAA2AgBB6IjAAEHciMAANgIAQdyIwABB1IjAADYCAEHwiMAAQeSIwAA2AgBB5IjAAEHciMAANgIAQfiIwABB7IjAADYCAEHsiMAAQeSIwAA2AgBBgInAAEH0iMAANgIAQfSIwABB7IjAADYCAEGIicAAQfyIwAA2AgBB/IjAAEH0iMAANgIAQZCJwABBhInAADYCAEGEicAAQfyIwAA2AgBBmInAAEGMicAANgIAQYyJwABBhInAADYCAEGAjMAAQQA2AgBBoInAAEGUicAANgIAQZSJwABBjInAADYCAEGcicAAQZSJwAA2AgBBqInAAEGcicAANgIAQaSJwABBnInAADYCAEGwicAAQaSJwAA2AgBBrInAAEGkicAANgIAQbiJwABBrInAADYCAEG0icAAQayJwAA2AgBBwInAAEG0icAANgIAQbyJwABBtInAADYCAEHIicAAQbyJwAA2AgBBxInAAEG8icAANgIAQdCJwABBxInAADYCAEHMicAAQcSJwAA2AgBB2InAAEHMicAANgIAQdSJwABBzInAADYCAEHgicAAQdSJwAA2AgBB6InAAEHcicAANgIAQdyJwABB1InAADYCAEHwicAAQeSJwAA2AgBB5InAAEHcicAANgIAQfiJwABB7InAADYCAEHsicAAQeSJwAA2AgBBgIrAAEH0icAANgIAQfSJwABB7InAADYCAEGIisAAQfyJwAA2AgBB/InAAEH0icAANgIAQZCKwABBhIrAADYCAEGEisAAQfyJwAA2AgBBmIrAAEGMisAANgIAQYyKwABBhIrAADYCAEGgisAAQZSKwAA2AgBBlIrAAEGMisAANgIAQaiKwABBnIrAADYCAEGcisAAQZSKwAA2AgBBsIrAAEGkisAANgIAQaSKwABBnIrAADYCAEG4isAAQayKwAA2AgBBrIrAAEGkisAANgIAQcCKwABBtIrAADYCAEG0isAAQayKwAA2AgBByIrAAEG8isAANgIAQbyKwABBtIrAADYCAEHQisAAQcSKwAA2AgBBxIrAAEG8isAANgIAQdiKwABBzIrAADYCAEHMisAAQcSKwAA2AgBB6IvAACADNgIAQdSKwABBzIrAADYC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HCEBIAAoAhghAANAIANBf2oiA0UEQEEADwsgACAFIAEoAhARAABFDQALQQEPCyADDwsgACgCGCABIAIgAEEcaigCACgCDBEBAAu/BgEEfyAAIAFqIQICQAJAAkACQAJAIABBBGooAgAiA0EBcQ0AIANBA3FFDQEgACgCACIDIAFqIQEgACADayIAQeSLwAAoAgBGBEAgAigCBEEDcUEDRw0BQdyLwAAgATYCACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAIgATYCAA8LIAAgAxAJCwJAIAJBBGooAgAiA0ECcQRAIAJBBGogA0F+cTYCACAAIAFBAXI2AgQgACABaiABNgIADAELAkAgAkHoi8AAKAIARwRAQeSLwAAoAgAgAkYNASACIANBeHEiAhAJIAAgASACaiIBQQFyNgIEIAAgAWogATYCACAAQeSLwAAoAgBHDQJB3IvAACABNgIADwtB6IvAACAANgIAQeCLwABB4IvAACgCACABaiIBNgIAIAAgAUEBcjYCBCAAQeSLwAAoAgBHDQJB3IvAAEEANgIAQeSLwABBADYCAA8LQeSLwAAgADYCAEHci8AAQdyLwAAoAgAgAWoiATYCACAAIAFBAXI2AgQgACABaiABNgIADwsgAUGAAkkNAyAAQgA3AhAgAEEcagJ/QQAgAUEIdiIDRQ0AGkEfIAFB////B0sNABogAUEGIANnIgJrQR9xdkEBcSACQQF0a0E+agsiAjYCACACQQJ0QdyKwABqIQMCQAJAQdCIwAAoAgAiBEEBIAJBH3F0IgVxBEAgAygCACIDQQRqKAIAQXhxIAFHDQEgAyECDAILQdCIwAAgBCAFcjYCACADIAA2AgAMBAsgAUEAQRkgAkEBdmtBH3EgAkEfRht0IQQDQCADIARBHXZBBHFqQRBqIgUoAgAiAkUNAyAEQQF0IQQgAiEDIAJBBGooAgBBeHEgAUcNAAsLIAIoAggiASAANgIMIAIgADYCCCAAQRhqQQA2AgAgACACNgIMIAAgATYCCAsPCyAFIAA2AgALIABBGGogAzYCACAAIAA2AgwgACAANgIIDwsgAUEDdiICQQN0QdSIwABqIQECf0HMiMAAKAIAIgNBASACdCICcQRAIAEoAggMAQtBzIjAACACIANyNgIAIAELIQIgASAANgIIIAIgADYCDCAAIAE2Agwg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QTBrIgIkACACIAE2AgQgAiAANgIAIAJBHGpBAjYCACACQSxqQQI2AgAgAkICNwIMIAJB6IDAADYCCCACQQI2AiQgAiACQSBqNgIYIAIgAjYCKCACIAJBBGo2AiAgAkEIakHohcAAEBYAC30BAn9BASEAQciIwABByIjAACgCAEEBajYCAAJAAkBBkIzAACgCAEEBRwRAQZCMwABCgYCAgBA3AwAMAQtBlIzAAEGUjMAAKAIAQQFqIgA2AgAgAEECSw0BC0GYjMAAKAIAIgFBf0wNAEGYjMAAIAE2AgAgAEEBSw0AAAsAC0oAAn8gAUGAgMQARwRAQQEgACgCGCABIABBHGooAgAoAhARAAANARoLIAJFBEBBAA8LIAAoAhggAkEAIABBHGooAgAoAgwRAQALC0cBAX8jAEEgayIDJAAgA0EUakEANgIAIANBoIjAADYCECADQgE3AgQgAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACEBYAC0ABAX8gAUEcaigCACgCDCECIAEoAhghASAALQAAQQFGBEAgAUHehsAAQRogAhEBAA8LIAFB+IbAAEENIAIRAQALMwEBfyACBEAgACEDA0AgAyABLQAAOgAAIAFBAWohASADQQFqIQMgAkF/aiICDQALCyAACyoAAkAgAEF8Sw0AIABFBEBBBA8LIAAgAEF9SUECdBAeIgBFDQAgAA8LAAtKAQF/IwBBEGsiAiQAIAIgATYCDCACIAA2AgggAkH4gMAANgIEIAJBoIjAADYCACACKAIIRQRAQfOHwABBK0GgiMAAEBIACxAQAAslAQF/QYCAASEBA0AgAEH/AToAACAAQQFqIQAgAUF/aiIBDQALCxQAIAAoAgAgASAAKAIEKAIMEQAACxAAIAEgACgCACAAKAIEEAMLCwAgAQRAIAAQAgsLCAAgACABEAULEQBBrIDAAEERQcCAwAAQEgALCwAgADUCACABEAoLGQACfyABQQlPBEAgASAAEAgMAQsgABAACwsNAEKtqduM/5imovgACwMAAQsDAAELC9EIAQBBgIDAAAvHCAUAAAABAAAAAQAAAAYAAABzcmNcbGliLnJzAAAQABAACgAAABIAAAAVAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAABQABAAFwAAABcCAAAFAAAAc3JjL2xpYmFsbG9jL3Jhd192ZWMucnMAiAAQACAAAACoABAAEgAAAAUAAAAAAAAAAQAAAAcAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5AACUARAABgAAAJoBEAAiAAAAaW5kZXggIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMwBEAAWAAAA4gEQAA0AAABzbGljZSBpbmRleCBzdGFydHMgYXQgIGJ1dCBlbmRzIGF0IAAgBBAAAAAAAAACEAACAAAAOiBUcmllZCB0byBzaHJpbmsgdG8gYSBsYXJnZXIgY2FwYWNpdHkAAIUDEABuAAAACgAAAAkAAABYAhAAZAAAAHYAAAAcAAAAWAIQAGQAAAD8AAAALAAAAEM6XFVzZXJzXGVsaWFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzXGx6NC1jb21wcmVzc2lvbi0wLjcuMFxzcmNcY29tcHJlc3MucnNjYWxsZWQgYFJlc3VsdDo6dW53cmFwKClgIG9uIGFuIGBFcnJgIHZhbHVlAPgCEABmAAAATwAAABUAAABDOlxVc2Vyc1xlbGlhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGdpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyM1xsejQtY29tcHJlc3Npb24tMC43LjBcc3JjXGRlY29tcHJlc3MucnNJbnZhbGlkRGVkdXBsaWNhdGlvbk9mZnNldFVuZXhwZWN0ZWRFbmRDOlxVc2Vyc1xlbGlhc1wucnVzdHVwXHRvb2xjaGFpbnNcc3RhYmxlLXg4Nl82NC1wYy13aW5kb3dzLW1zdmNcbGliL3J1c3RsaWIvc3JjL3J1c3Rcc3JjL2xpYmNvcmUvbWFjcm9zL21vZC5yc2NhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWUAADAEEAAXAAAAtAEAAB4AAABzcmMvbGlic3RkL3Bhbmlja2luZy5ycwB7CXByb2R1Y2VycwIIbGFuZ3VhZ2UBBFJ1c3QADHByb2Nlc3NlZC1ieQMFcnVzdGMdMS40Ni4wICgwNDQ4OGFmZTMgMjAyMC0wOC0yNCkGd2FscnVzBjAuMTguMAx3YXNtLWJpbmRnZW4SMC4yLjY3ICg3YmFkY2QzYWQp"),A=>A.charCodeAt(0));let A,I=null;function g(){return null!==I&&I.buffer===A.memory.buffer||(I=new Uint8Array(A.memory.buffer)),I}let B=0;function C(A,I){const C=I(1*A.length);return g().set(A,C/1),B=A.length,C}let Q=null;function E(){return null!==Q&&Q.buffer===A.memory.buffer||(Q=new Int32Array(A.memory.buffer)),Q}function i(A,I){return g().subarray(A/1,A/1+I)}export function lz4_compress(I){try{const o=A.__wbindgen_export_0.value-16;A.__wbindgen_export_0.value=o;var g=C(I,A.__wbindgen_malloc),Q=B;A.lz4_compress(o,g,Q);var D=E()[o/4+0],w=E()[o/4+1],N=i(D,w).slice();return A.__wbindgen_free(D,1*w),N}finally{A.__wbindgen_export_0.value+=16}}export function lz4_decompress(I){try{const o=A.__wbindgen_export_0.value-16;A.__wbindgen_export_0.value=o;var g=C(I,A.__wbindgen_malloc),Q=B;A.lz4_decompress(o,g,Q);var D=E()[o/4+0],w=E()[o/4+1],N=i(D,w).slice();return A.__wbindgen_free(D,1*w),N}finally{A.__wbindgen_export_0.value+=16}}async function D(A,I){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,I)}catch(I){if("application/wasm"==A.headers.get("Content-Type"))throw I;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",I)}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,I)}{const g=await WebAssembly.instantiate(A,I);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}async function w(I){void 0===I&&(I=import.meta.url.replace(/\.js$/,"_bg.wasm"));("string"==typeof I||"function"==typeof Request&&I instanceof Request||"function"==typeof URL&&I instanceof URL)&&(I=fetch(I));const{instance:g,module:B}=await D(await I,{});return A=g.exports,w.__wbindgen_wasm_module=B,A}export default w; \ No newline at end of file +export const source=Uint8Array.from(atob("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D2pB/wE6AAAgDUGBfmoiDUH+AU0NAgwACwsgDCAPQbSGwAAQFAALAkAgCSACKAIERw0AIAIgCRAOIAIoAgghCQsgAiAJQQFqIg82AgggAigCACIQIAlqIA06AAALAkACQAJAIAcgC2oiCSALSQ0AIAkgAUsNAQJAIAIoAgQgD2sgC08NACACIA8gCxANIAIoAgAhECACKAIIIQ8LIBAgD2ogCiALECQaIAIgDyALaiILNgIIAkAgDg0AAkAgCyACKAIEIglHDQAgAiALEA4gAigCBCEJIAIoAgghCwsgAiALQQFqIgc2AgggAigCACIPIAtqIBQ6AAACQCAHIAlHDQAgAiAJEA4gAigCACEPIAIoAgghBwsgAiAHQQFqIgs2AgggDyAHaiAIOgAAIAwhByATQQ9JDQQgE0FxaiIJQf8BSQ0DA0ACQAJAIAsgAigCBEYNACALIQcMAQsgAiALEA4gAigCACEPIAIoAgghBwsgAiAHQQFqIgs2AgggDyAHakH/AToAACAJQYF+aiIJQf4BTQ0EDAALCyADQZCAAWokAA8LIAcgCUHEhsAAEBQACyAJIAFBxIbAABATAAsCQCALIAIoAgRHDQAgAiALEA4gAigCCCELCyACIAtBAWo2AgggAigCACALaiAJOgAAIAwhBwwACwukCAEFfyAAQXhqIgEgAEF8aigCACICQXhxIgBqIQMCQAJAIAJBAXENACACQQNxRQ0BIAEoAgAiAiAAaiEAAkAgASACayIBQQAoAoSLQEcNACADKAIEQQNxQQNHDQFBACAANgL8ikAgAyADKAIEQX5xNgIEIAEgAEEBcjYCBCADIAA2AgAPCyABIAIQCQsCQAJAAkACQAJAAkACQAJAIAMoAgQiAkECcQ0AIANBACgCiItARg0CIANBACgChItARg0HIAMgAkF4cSICEAkgASACIABqIgBBAXI2AgQgASAAaiAANgIAIAFBACgChItARw0BQQAgADYC/IpADwsgAyACQX5xNgIEIAEgAEEBcjYCBCABIABqIAA2AgALIABBgAJJDQRBHyEDAkAgAEH///8HSw0AIABBBiAAQQh2ZyIDa3ZBAXEgA0EBdGtBPmohAwsgAUIANwIQIAEgAzYCHCADQQJ0QdyHwABqIQJBACgC+IpAIgRBASADdCIFcQ0BQQAgBCAFcjYC+IpAIAIg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b21wcmVzcy5ycwDIAhAAawAAAHYAAAAmAAAAyAIQAGsAAAD8AAAANgAAAFVuZXhwZWN0ZWRFbmRJbnZhbGlkRGVkdXBsaWNhdGlvbk9mZnNldABjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlbGlicmFyeS9zdGQvc3JjL3Bhbmlja2luZy5ycwCnAxAAHAAAAFQCAAAeAAAAAOWPgIAABG5hbWUB2o+AgAAoADpkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjptYWxsb2M6Omg0MTNiMWU0OGQyMmEwNzg3ATI8JlQgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoYTA4ZDAwNmQzMjg1OTkwZQI7bHo0X2NvbXByZXNzaW9uOjpjb21wcmVzczo6Y29tcHJlc3NfaW50bzo6aGE5NmZhNzAzMGEwOTI4NzYDOGRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46OmZyZWU6Omg0MGU5OGEzYzc0NjU5OTkxBE5jb3JlOjpmbXQ6Om51bTo6aW1wOjo8aW1wbCBjb3JlOjpmbXQ6OkRpc3BsYXkgZm9yIHUzMj46OmZtdDo6aDA1YjVhYjExYjE2NmVmOGEFQWRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46OmRpc3Bvc2VfY2h1bms6OmhjNGRmYWViYzc2MjE2YTFjBg5fX3J1c3RfcmVhbGxvYwcObHo0X2RlY29tcHJlc3MIPGRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46Om1lbWFsaWduOjpoNDRkMWU4MjI1NTgwZDhhZglAZGxtYWxsb2M6OmRsbWFsbG9jOjpEbG1hbGxvYzxBPjo6dW5saW5rX2NodW5rOjpoMDQ2YzE3ZTJmOTFiYzhjYgoxY29tcGlsZXJfYnVpbHRpbnM6Om1lbTo6bWVtY3B5OjpoOGRhMDQ3ZGI5NGQ5OGZkYgtGZGxtYWxsb2M6OmRsbWFsbG9jOjpEbG1hbGxvYzxBPjo6aW5zZXJ0X2xhcmdlX2NodW5rOjpoZWI2YTU0ZDQ1ZDdlMTEwZAwMbHo0X2NvbXByZXNzDU5hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnJlc2VydmU6OmRvX3Jlc2VydmVfYW5kX2hhbmRsZTo6aGU3ZDg0NzU0NmJhZGYwNmUOQGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6cmVzZXJ2ZV9mb3JfcHVzaDo6aDBjNmRhZjYxMzc4ZjdhNGIPMWNvbXBpbGVyX2J1aWx0aW5zOjptZW06Om1lbXNldDo6aDA0NDBhZTY4NmM1ZTE4ODkQLmFsbG9jOjpyYXdfdmVjOjpmaW5pc2hfZ3Jvdzo6aDcwMmYwMWRjOWQ4ZDViODQRLmNvcmU6OnJlc3VsdDo6dW53cmFwX2ZhaWxlZDo6aDY5Zjk2ZTJhYjk3ZGVhNDQSNmNvcmU6OnBhbmlja2luZzo6cGFuaWNfYm91bmRzX2NoZWNrOjpoMmQ5MWJmMzNkMGI1NzY1MxM/Y29yZTo6c2xpY2U6OmluZGV4OjpzbGljZV9lbmRfaW5kZXhfbGVuX2ZhaWw6OmhjNGU2YmE2MmUxZjEyMmI4FD1jb3JlOjpzbGljZTo6aW5kZXg6OnNsaWNlX2luZGV4X29yZGVyX2ZhaWw6OmhiMDcyZTk2NWVhOTI0Nzk3FTdzdGQ6OnBhbmlja2luZzo6cnVzdF9wYW5pY193aXRoX2hvb2s6OmhmNDJkYTk1ZmE2NmJlNzFiFhFfX3diaW5kZ2VuX21hbGxvYxcpY29yZTo6cGFuaWNraW5nOjpwYW5pYzo6aGYyM2JmZmM1MmRjYmZhNjcYQ2NvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWRfaW50ZWdyYWw6OndyaXRlX3ByZWZpeDo6aDQ0MmM2YmFiNzQ3NTNhZmMZNGFsbG9jOjpyYXdfdmVjOjpjYXBhY2l0eV9vdmVyZmxvdzo6aGJkYjVlZTUzMWY0Y2I0NDUaLWNvcmU6OnBhbmlja2luZzo6cGFuaWNfZm10OjpoNThiNDIwODA5NzNhZDQyZhtDc3RkOjpwYW5pY2tpbmc6OmJlZ2luX3BhbmljX2hhbmRsZXI6Ont7Y2xvc3VyZX19OjpoNDZhZDU0MjhjMGM1Njc4YhxQPGx6NF9jb21wcmVzc2lvbjo6ZGVjb21wcmVzczo6RXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDUxMzNmNWE0YzlmNjM5ZmEdEXJ1c3RfYmVnaW5fdW53aW5kHjA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGU3MmRhNjBlMDgwYjNmYzQfMTxUIGFzIGNvcmU6OmFueTo6QW55Pjo6dHlwZV9pZDo6aDk0YzBhYTM0OWRhYTA0YjMgD19fd2JpbmRnZW5fZnJlZSEfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlciJJc3RkOjpzeXNfY29tbW9uOjpiYWNrdHJhY2U6Ol9fcnVzdF9lbmRfc2hvcnRfYmFja3RyYWNlOjpoMjYwZGRmYWEyM2QxM2NlOSMGbWVtc2V0JAZtZW1jcHklCnJ1c3RfcGFuaWMmT2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxsejRfY29tcHJlc3Npb246OmRlY29tcHJlc3M6OkVycm9yPjo6aDA5ZWZjM2MyZGI3YTY2NjQnPWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpmbXQ6OkVycm9yPjo6aDMzMWMwN2JiMmVlY2YzNjIA94CAgAAJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0YyUxLjc1LjAtbmlnaHRseSAoMWMwNWQ1MGM4IDIwMjMtMTAtMjEpBndhbHJ1cwYwLjE5LjAMd2FzbS1iaW5kZ2VuBjAuMi44OACsgICAAA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0"),(A=>A.charCodeAt(0)));let A,I=null;function g(){return null!==I&&0!==I.byteLength||(I=new Uint8Array(A.memory.buffer)),I}let Q=0;function C(A,I){const C=I(1*A.length,1)>>>0;return g().set(A,C/1),Q=A.length,C}let B=null;function E(){return null!==B&&0!==B.byteLength||(B=new Int32Array(A.memory.buffer)),B}function D(A,I){return A>>>=0,g().subarray(A/1,A/1+I)}export function lz4_compress(I){try{const N=A.__wbindgen_add_to_stack_pointer(-16),o=C(I,A.__wbindgen_malloc),Y=Q;A.lz4_compress(N,o,Y);var g=E()[N/4+0],B=E()[N/4+1],i=D(g,B).slice();return A.__wbindgen_free(g,1*B,1),i}finally{A.__wbindgen_add_to_stack_pointer(16)}}export function lz4_decompress(I){try{const N=A.__wbindgen_add_to_stack_pointer(-16),o=C(I,A.__wbindgen_malloc),Y=Q;A.lz4_decompress(N,o,Y);var g=E()[N/4+0],B=E()[N/4+1],i=D(g,B).slice();return A.__wbindgen_free(g,1*B,1),i}finally{A.__wbindgen_add_to_stack_pointer(16)}}async function i(A,I){if("function"==typeof Response&&A instanceof Response){if("function"==typeof WebAssembly.instantiateStreaming)try{return await WebAssembly.instantiateStreaming(A,I)}catch(I){if("application/wasm"==A.headers.get("Content-Type"))throw I;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",I)}const g=await A.arrayBuffer();return await WebAssembly.instantiate(g,I)}{const g=await WebAssembly.instantiate(A,I);return g instanceof WebAssembly.Instance?{instance:g,module:A}:g}}function N(){const A={wbg:{}};return A}function o(A,I){}function Y(g,Q){return A=g.exports,G.__wbindgen_wasm_module=Q,B=null,I=null,A}function F(I){if(void 0!==A)return A;const g=N();o(g),I instanceof WebAssembly.Module||(I=new WebAssembly.Module(I));return Y(new WebAssembly.Instance(I,g),I)}async function G(I){if(void 0!==A)return A;void 0===I&&(I=new URL("deno_lz4_bg.wasm",import.meta.url));const g=N();("string"==typeof I||"function"==typeof Request&&I instanceof Request||"function"==typeof URL&&I instanceof URL)&&(I=fetch(I)),o(g);const{instance:Q,module:C}=await i(await I,g);return Y(Q,C)}export{F as initSync};export default G; \ No newline at end of file