mirror of
https://github.com/denoland/std.git
synced 2024-11-21 20:50:22 +00:00
BREAKING(encoding/varint): remove deprecated APIs (#3282)
This commit is contained in:
parent
01907e045f
commit
d02b577c69
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@ -102,7 +102,7 @@ jobs:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
matrix:
|
||||
module: [ { name: crypto, path: ./crypto/_wasm }, { name: varint, path: ./encoding/varint/_wasm } ]
|
||||
module: [ crypto/_wasm ]
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v3
|
||||
@ -117,10 +117,10 @@ jobs:
|
||||
run: |-
|
||||
set -o errexit
|
||||
shopt -s inherit_errexit
|
||||
declare modifications="$(git diff --name-only HEAD~ -- ${{ matrix.module.path }})"
|
||||
declare modifications="$(git diff --name-only HEAD~ -- ${{ matrix.module }})"
|
||||
declare modified="$([[ "$modifications" ]] && echo true || echo false)"
|
||||
echo "modified=$modified" >> $GITHUB_OUTPUT
|
||||
echo "${{ matrix.module.name }} WASM source modified in this commit? $modified"
|
||||
echo "${{ matrix.module }} WASM source modified in this commit? $modified"
|
||||
echo "$modifications"
|
||||
|
||||
- name: Set up Deno
|
||||
@ -138,4 +138,4 @@ jobs:
|
||||
|
||||
- name: Rebuild Wasm and verify it hasn't changed
|
||||
if: success() && steps.source.outputs.modified == 'true'
|
||||
run: deno task build:${{ matrix.module.name }} --check
|
||||
run: deno task build:${{ matrix.module }} --check
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,5 +4,4 @@
|
||||
.vim
|
||||
**/cov/
|
||||
/crypto/_wasm/target
|
||||
/encoding/varint/_wasm/target
|
||||
deno.lock
|
||||
|
@ -90,7 +90,7 @@ Ensure there is a related issue and it is referenced in the PR text.
|
||||
|
||||
_About CI checks_:
|
||||
|
||||
We currently have 7 checks on CI. Each PR should pass all of these checks to be
|
||||
We currently have 6 checks on CI. Each PR should pass all of these checks to be
|
||||
accepted.
|
||||
|
||||
- test with Deno canary on Windows
|
||||
@ -98,7 +98,6 @@ accepted.
|
||||
- test with Deno canary on macOS
|
||||
- lint
|
||||
- wasm crypto check
|
||||
- wasm varint check
|
||||
- CLA
|
||||
|
||||
_For maintainers_:
|
||||
|
@ -16,7 +16,6 @@ const EXCLUDED_PATHS = [
|
||||
"http/_negotiation",
|
||||
"crypto/_wasm",
|
||||
"crypto/_fnv",
|
||||
"encoding/varint/_wasm",
|
||||
"encoding/_yaml",
|
||||
"encoing/_toml",
|
||||
"_tools",
|
||||
|
@ -8,7 +8,6 @@ const EXCLUDED_DIRS = [
|
||||
"**/fs/testdata",
|
||||
"**/http/testdata",
|
||||
"**/crypto/_wasm/target",
|
||||
"**/encoding/varint/_wasm/target",
|
||||
];
|
||||
|
||||
const ROOT = new URL("../", import.meta.url);
|
||||
|
@ -9,7 +9,6 @@
|
||||
"exclude": [
|
||||
".git",
|
||||
"crypto/_wasm/target",
|
||||
"encoding/varint/_wasm/target",
|
||||
"cov",
|
||||
"jsonc/testdata",
|
||||
"front_matter/testdata",
|
||||
@ -23,7 +22,6 @@
|
||||
"exclude": [
|
||||
".git",
|
||||
"crypto/_wasm/target",
|
||||
"encoding/varint/_wasm/target",
|
||||
"jsonc/testdata",
|
||||
"front_matter/testdata",
|
||||
"cov",
|
||||
@ -40,7 +38,6 @@
|
||||
"lint:check-assertions": "deno run --allow-read --allow-net ./_tools/check_assertions.ts",
|
||||
"lint": "deno lint && deno task fmt:licence-headers --check && deno task lint:deprecations && deno task lint:doc-imports && deno task lint:check-assertions",
|
||||
"build:crypto": "deno task --cwd crypto/_wasm wasmbuild",
|
||||
"build:varint": "deno task --cwd encoding/varint/_wasm wasmbuild",
|
||||
"wasmbuild": "deno run --unstable -A https://deno.land/x/wasmbuild@0.10.3/main.ts --js-ext mjs --sync"
|
||||
}
|
||||
}
|
||||
|
@ -7,8 +7,6 @@
|
||||
* @module
|
||||
*/
|
||||
|
||||
export * from "./varint/mod.ts";
|
||||
|
||||
// This implementation is a port of https://deno.land/x/varint@v2.0.0 by @keithamus
|
||||
// This module is browser compatible.
|
||||
|
||||
|
@ -1,4 +0,0 @@
|
||||
# Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
|
||||
max_width = 80
|
||||
tab_spaces = 2
|
||||
edition = "2018"
|
126
encoding/varint/_wasm/Cargo.lock
generated
126
encoding/varint/_wasm/Cargo.lock
generated
@ -1,126 +0,0 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "bumpalo"
|
||||
version = "3.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "deno_std_wasm_varint"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.15.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.39"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.95"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"wasm-bindgen-macro",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"log",
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.83"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
|
@ -1,17 +0,0 @@
|
||||
[package]
|
||||
name = "deno_std_wasm_varint"
|
||||
repository = "https://github.com/denoland/deno_std"
|
||||
authors = ["the Deno authors"]
|
||||
license = "MIT"
|
||||
version = "0.0.0"
|
||||
edition = "2021"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
opt-level = 3
|
||||
|
||||
[dependencies]
|
||||
wasm-bindgen = "0.2.83"
|
@ -1,401 +0,0 @@
|
||||
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
|
||||
// @generated file from wasmbuild -- do not edit
|
||||
// deno-lint-ignore-file
|
||||
// deno-fmt-ignore-file
|
||||
// source-hash: af20f8016433d2846e0f3c0999b2fbb7a648c299
|
||||
let wasm;
|
||||
|
||||
let cachedInt32Memory0 = new Int32Array();
|
||||
|
||||
function getInt32Memory0() {
|
||||
if (cachedInt32Memory0.byteLength === 0) {
|
||||
cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
|
||||
}
|
||||
return cachedInt32Memory0;
|
||||
}
|
||||
|
||||
let cachedUint8Memory0 = new Uint8Array();
|
||||
|
||||
function getUint8Memory0() {
|
||||
if (cachedUint8Memory0.byteLength === 0) {
|
||||
cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
|
||||
}
|
||||
return cachedUint8Memory0;
|
||||
}
|
||||
|
||||
function getArrayU8FromWasm0(ptr, len) {
|
||||
return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
|
||||
}
|
||||
/**
|
||||
* @param {number} val
|
||||
* @returns {Uint8Array}
|
||||
*/
|
||||
export function encode_u32(val) {
|
||||
try {
|
||||
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
||||
wasm.encode_u32(retptr, val);
|
||||
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_add_to_stack_pointer(16);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {bigint} val
|
||||
* @returns {Uint8Array}
|
||||
*/
|
||||
export function encode_u64(val) {
|
||||
try {
|
||||
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
||||
wasm.encode_u64(retptr, val);
|
||||
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_add_to_stack_pointer(16);
|
||||
}
|
||||
}
|
||||
|
||||
let WASM_VECTOR_LEN = 0;
|
||||
|
||||
function passArray8ToWasm0(arg, malloc) {
|
||||
const ptr = malloc(arg.length * 1);
|
||||
getUint8Memory0().set(arg, ptr / 1);
|
||||
WASM_VECTOR_LEN = arg.length;
|
||||
return ptr;
|
||||
}
|
||||
/**
|
||||
* @param {Uint8Array} buff
|
||||
* @returns {number}
|
||||
*/
|
||||
export function decode_u32(buff) {
|
||||
const ptr0 = passArray8ToWasm0(buff, wasm.__wbindgen_malloc);
|
||||
const len0 = WASM_VECTOR_LEN;
|
||||
const ret = wasm.decode_u32(ptr0, len0);
|
||||
return ret >>> 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Uint8Array} buff
|
||||
* @returns {bigint}
|
||||
*/
|
||||
export function decode_u64(buff) {
|
||||
const ptr0 = passArray8ToWasm0(buff, wasm.__wbindgen_malloc);
|
||||
const len0 = WASM_VECTOR_LEN;
|
||||
const ret = wasm.decode_u64(ptr0, len0);
|
||||
return BigInt.asUintN(64, ret);
|
||||
}
|
||||
|
||||
const imports = {
|
||||
__wbindgen_placeholder__: {},
|
||||
};
|
||||
|
||||
/** Instantiates an instance of the Wasm module returning its functions.
|
||||
* @remarks It is safe to call this multiple times and once successfully
|
||||
* loaded it will always return a reference to the same object.
|
||||
*/
|
||||
export function instantiate() {
|
||||
return instantiateWithInstance().exports;
|
||||
}
|
||||
|
||||
let instanceWithExports;
|
||||
|
||||
/** Instantiates an instance of the Wasm module along with its exports.
|
||||
* @remarks It is safe to call this multiple times and once successfully
|
||||
* loaded it will always return a reference to the same object.
|
||||
* @returns {{
|
||||
* instance: WebAssembly.Instance;
|
||||
* exports: { encode_u32: typeof encode_u32; encode_u64: typeof encode_u64; decode_u32: typeof decode_u32; decode_u64: typeof decode_u64 }
|
||||
* }}
|
||||
*/
|
||||
export function instantiateWithInstance() {
|
||||
if (instanceWithExports == null) {
|
||||
const instance = instantiateInstance();
|
||||
wasm = instance.exports;
|
||||
cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
|
||||
cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
|
||||
instanceWithExports = {
|
||||
instance,
|
||||
exports: { encode_u32, encode_u64, decode_u32, decode_u64 },
|
||||
};
|
||||
}
|
||||
return instanceWithExports;
|
||||
}
|
||||
|
||||
/** Gets if the Wasm module has been instantiated. */
|
||||
export function isInstantiated() {
|
||||
return instanceWithExports != null;
|
||||
}
|
||||
|
||||
function instantiateInstance() {
|
||||
const wasmBytes = base64decode(
|
||||
"\
|
||||
AGFzbQEAAAABvoCAgAALYAAAYAF/AGABfwF/YAF/AX5gAn9/AGACf38Bf2ACf38BfmADf39/AX9gBH\
|
||||
9/f38AYAR/f39/AX9gAn9+AAOfgICAAB4CAQQFBQcEAQQKBAgFBgQBAAkABAEBAQIEAgcDAAEEhYCA\
|
||||
gAABcAEEBAWDgICAAAEAEQaJgICAAAF/AUGAgMAACweGgYCAAAgGbWVtb3J5AgAKZW5jb2RlX3UzMg\
|
||||
AICmVuY29kZV91NjQACQpkZWNvZGVfdTMyAAwKZGVjb2RlX3U2NAANH19fd2JpbmRnZW5fYWRkX3Rv\
|
||||
X3N0YWNrX3BvaW50ZXIAGQ9fX3diaW5kZ2VuX2ZyZWUAGBFfX3diaW5kZ2VuX21hbGxvYwAXCYmAgI\
|
||||
AAAQBBAQsDBB0bCojfgIAAHtgjAgh/AX4CQAJAAkACQAJAIABB9QFJDQBBACEBIABBzf97Tw0EIABB\
|
||||
C2oiAEF4cSECQQAoAuSDQCIDRQ0DQQAhBAJAIAJBgAJJDQBBHyEEIAJB////B0sNACACQQYgAEEIdm\
|
||||
ciAGt2QQFxIABBAXRrQT5qIQQLQQAgAmshAQJAIARBAnRB8IXAAGooAgAiAEUNAEEAIQUgAkEAQRkg\
|
||||
BEEBdmtBH3EgBEEfRht0IQZBACEHA0ACQCAAKAIEQXhxIgggAkkNACAIIAJrIgggAU8NACAIIQEgAC\
|
||||
EHIAgNAEEAIQEgACEHDAQLIABBFGooAgAiCCAFIAggACAGQR12QQRxakEQaigCACIARxsgBSAIGyEF\
|
||||
IAZBAXQhBiAADQALAkAgBUUNACAFIQAMAwsgBw0DC0EAIQcgA0ECIAR0IgBBACAAa3JxIgBFDQMgAE\
|
||||
EAIABrcWhBAnRB8IXAAGooAgAiAA0BDAMLAkACQAJAAkACQEEAKALgg0AiBkEQIABBC2pBeHEgAEEL\
|
||||
SRsiAkEDdiIBdiIAQQNxDQAgAkEAKALwhkBNDQcgAA0BQQAoAuSDQCIARQ0HIABBACAAa3FoQQJ0Qf\
|
||||
CFwABqKAIAIgcoAgRBeHEhAQJAIAcoAhAiAA0AIAdBFGooAgAhAAsgASACayEFAkAgAEUNAANAIAAo\
|
||||
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\
|
||||
QEEAQZiEwAA2AqSEQEEAQZCEwAA2ApiEQEEAQaCEwAA2AqyEQEEAQZiEwAA2AqCEQEEAQQA2ApSHQE\
|
||||
EAQaiEwAA2ArSEQEEAQaCEwAA2AqiEQEEAQaiEwAA2ArCEQEEAQbCEwAA2AryEQEEAQbCEwAA2AriE\
|
||||
QEEAQbiEwAA2AsSEQEEAQbiEwAA2AsCEQEEAQcCEwAA2AsyEQEEAQcCEwAA2AsiEQEEAQciEwAA2At\
|
||||
SEQEEAQciEwAA2AtCEQEEAQdCEwAA2AtyEQEEAQdCEwAA2AtiEQEEAQdiEwAA2AuSEQEEAQdiEwAA2\
|
||||
AuCEQEEAQeCEwAA2AuyEQEEAQeCEwAA2AuiEQEEAQeiEwAA2AvSEQEEAQfCEwAA2AvyEQEEAQeiEwA\
|
||||
A2AvCEQEEAQfiEwAA2AoSFQEEAQfCEwAA2AviEQEEAQYCFwAA2AoyFQEEAQfiEwAA2AoCFQEEAQYiF\
|
||||
wAA2ApSFQEEAQYCFwAA2AoiFQEEAQZCFwAA2ApyFQEEAQYiFwAA2ApCFQEEAQZiFwAA2AqSFQEEAQZ\
|
||||
CFwAA2ApiFQEEAQaCFwAA2AqyFQEEAQZiFwAA2AqCFQEEAQaiFwAA2ArSFQEEAQaCFwAA2AqiFQEEA\
|
||||
QbCFwAA2AryFQEEAQaiFwAA2ArCFQEEAQbiFwAA2AsSFQEEAQbCFwAA2AriFQEEAQcCFwAA2AsyFQE\
|
||||
EAQbiFwAA2AsCFQEEAQciFwAA2AtSFQEEAQcCFwAA2AsiFQEEAQdCFwAA2AtyFQEEAQciFwAA2AtCF\
|
||||
QEEAQdiFwAA2AuSFQEEAQdCFwAA2AtiFQEEAQeCFwAA2AuyFQEEAQdiFwAA2AuCFQEEAIAY2AvyGQE\
|
||||
EAQeCFwAA2AuiFQEEAIAhBWGoiADYC9IZAIAYgAEEBcjYCBCAGIABqQSg2AgRBAEGAgIABNgKYh0AL\
|
||||
QQAhAUEAKAL0hkAiACACTQ0AQQAgACACayIBNgL0hkBBAEEAKAL8hkAiACACaiIFNgL8hkAgBSABQQ\
|
||||
FyNgIEIAAgAkEDcjYCBCAAQQhqDwsgAQuKDAEHfyAAQXhqIgEgAEF8aigCACICQXhxIgBqIQMCQAJA\
|
||||
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\
|
||||
aigCACECAkACQCABKAIEDgIAAAELIAINACAAKAIELQAQEA8ACyAAKAIELQAQEA8ACywBAX8jAEEQay\
|
||||
IBJAAgAUEIaiAAQQhqKAIANgIAIAEgACkCADcDACABEBUACycAAkAgAEH8////B0sNAAJAIAANAEEE\
|
||||
DwsgABAAIgBFDQAgAA8LAAsOAAJAIAFFDQAgABABCwsLACAAIwBqJAAjAAsKACAAIAEgAhAFCwwAQr\
|
||||
iJz5eJxtH4TAsDAAALAgALC+KDgIAAAQBBgIDAAAvYA3NyYy9saWIucnMAAAAAEAAKAAAAIwAAABAA\
|
||||
AABsaWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAAAA4ABAAEQAAAB\
|
||||
wAEAAcAAAABgIAAAUAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGlu\
|
||||
ZGV4IGlzIAAAZAAQACAAAACEABAAEgAAAAIAAAAAAAAAAQAAAAMAAAAwMDAxMDIwMzA0MDUwNjA3MD\
|
||||
gwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3\
|
||||
MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2Nj\
|
||||
Y3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5\
|
||||
Njk3OTg5OWNhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVsaWJyYXJ5L3\
|
||||
N0ZC9zcmMvcGFuaWNraW5nLnJzAKsBEAAcAAAARwIAAA8AAAAA8IqAgAAEbmFtZQHlioCAAB4AOmRs\
|
||||
bWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46Om1hbGxvYzo6aGE5NmZjZWZiYjQ0ZDZkYTUBOG\
|
||||
RsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46OmZyZWU6OmhhNDczN2I3Zjg0OTcwYWRkAkFk\
|
||||
bG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjpkaXNwb3NlX2NodW5rOjpoM2I2YzRlNzRmYT\
|
||||
hhYTA0YgMOX19ydXN0X3JlYWxsb2METmNvcmU6OmZtdDo6bnVtOjppbXA6OjxpbXBsIGNvcmU6OmZt\
|
||||
dDo6RGlzcGxheSBmb3IgdTMyPjo6Zm10OjpoYzUwYTFjOWI4MmViNDQ0NgUxY29tcGlsZXJfYnVpbH\
|
||||
RpbnM6Om1lbTo6bWVtY3B5OjpoNDVlYjUzNjAxZDlkNmJmMAZGZGxtYWxsb2M6OmRsbWFsbG9jOjpE\
|
||||
bG1hbGxvYzxBPjo6aW5zZXJ0X2xhcmdlX2NodW5rOjpoYjEyOTkwZjkyNTM4ZmJiZgdGZGxtYWxsb2\
|
||||
M6OmRsbWFsbG9jOjpEbG1hbGxvYzxBPjo6dW5saW5rX2xhcmdlX2NodW5rOjpoYmU4ZDM2YTlmNDA2\
|
||||
MGNlZQgKZW5jb2RlX3UzMgkKZW5jb2RlX3U2NApAYWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Oj\
|
||||
pyZXNlcnZlX2Zvcl9wdXNoOjpoNTIyMDQwZjNjNTllY2IyNQsuYWxsb2M6OnJhd192ZWM6OmZpbmlz\
|
||||
aF9ncm93OjpoMGNlNjZlOWRlMGQ5YjNiMQwKZGVjb2RlX3UzMg0KZGVjb2RlX3U2NA42Y29yZTo6cG\
|
||||
FuaWNraW5nOjpwYW5pY19ib3VuZHNfY2hlY2s6OmgxZmI3YTZkZjEwMzMxMjc5DzdzdGQ6OnBhbmlj\
|
||||
a2luZzo6cnVzdF9wYW5pY193aXRoX2hvb2s6Omg3MGEwZTE5NWY0ZGIyYTI5ECljb3JlOjpwYW5pY2\
|
||||
tpbmc6OnBhbmljOjpoOGFmMDQ2Mzk3YTJiZjY1ZBFDY29yZTo6Zm10OjpGb3JtYXR0ZXI6OnBhZF9p\
|
||||
bnRlZ3JhbDo6d3JpdGVfcHJlZml4OjpoNjBiMWI1MDNlNjZmMzJiMRI0YWxsb2M6OnJhd192ZWM6Om\
|
||||
NhcGFjaXR5X292ZXJmbG93OjpoNGIyNzVjYjNjMTBiMGE3OBMtY29yZTo6cGFuaWNraW5nOjpwYW5p\
|
||||
Y19mbXQ6Omg3NTFiZTgwNzc5ZDQyYjUzFBFydXN0X2JlZ2luX3Vud2luZBVDc3RkOjpwYW5pY2tpbm\
|
||||
c6OmJlZ2luX3BhbmljX2hhbmRsZXI6Ont7Y2xvc3VyZX19OjpoZGNmYzgxOWNlODM2ODI5ZRZJc3Rk\
|
||||
OjpzeXNfY29tbW9uOjpiYWNrdHJhY2U6Ol9fcnVzdF9lbmRfc2hvcnRfYmFja3RyYWNlOjpoNTNjYW\
|
||||
JhZmFiNWIwOWFkYRcRX193YmluZGdlbl9tYWxsb2MYD19fd2JpbmRnZW5fZnJlZRkfX193YmluZGdl\
|
||||
bl9hZGRfdG9fc3RhY2tfcG9pbnRlchoGbWVtY3B5GzE8VCBhcyBjb3JlOjphbnk6OkFueT46OnR5cG\
|
||||
VfaWQ6OmgxM2M3ODU5NjY4OGY2N2IyHApydXN0X3BhbmljHW9jb3JlOjpwdHI6OmRyb3BfaW5fcGxh\
|
||||
Y2U8JmNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjpjb3BpZWQ6OkNvcGllZDxjb3JlOjpzbGljZTo6aXRlcj\
|
||||
o6SXRlcjx1OD4+Pjo6aDA1ZmEwZjk3MWI0NmIwZTcA74CAgAAJcHJvZHVjZXJzAghsYW5ndWFnZQEE\
|
||||
UnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjY1LjAgKDg5N2UzNzU1MyAyMDIyLTExLTAyKQZ3YW\
|
||||
xydXMGMC4xOS4wDHdhc20tYmluZGdlbgYwLjIuODM=\
|
||||
",
|
||||
);
|
||||
const wasmModule = new WebAssembly.Module(wasmBytes);
|
||||
return new WebAssembly.Instance(wasmModule, imports);
|
||||
}
|
||||
|
||||
function base64decode(b64) {
|
||||
const binString = atob(b64);
|
||||
const size = binString.length;
|
||||
const bytes = new Uint8Array(size);
|
||||
for (let i = 0; i < size; i++) {
|
||||
bytes[i] = binString.charCodeAt(i);
|
||||
}
|
||||
return bytes;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
[toolchain]
|
||||
channel = "1.65.0"
|
||||
targets = ["wasm32-unknown-unknown"]
|
@ -1,45 +0,0 @@
|
||||
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
|
||||
use wasm_bindgen::prelude::*;
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn encode_u32(val: u32) -> Vec<u8> {
|
||||
encode_u64(val as u64)
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn encode_u64(mut val: u64) -> Vec<u8> {
|
||||
let mut buff = Vec::with_capacity(10);
|
||||
loop {
|
||||
// If MSB == 0
|
||||
if (val & !0x7F) == 0 {
|
||||
buff.push(val as u8);
|
||||
break;
|
||||
}
|
||||
buff.push((val & 0x7F | 0x80) as u8);
|
||||
val >>= 7;
|
||||
}
|
||||
|
||||
buff
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn decode_u32(buff: Vec<u8>) -> u32 {
|
||||
decode_u64(buff) as u32
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn decode_u64(buff: Vec<u8>) -> u64 {
|
||||
let mut value: u64 = 0;
|
||||
let mut length = 0;
|
||||
loop {
|
||||
let byte = buff[length] as u64;
|
||||
value |= (byte & 0x7F) << (7 * length);
|
||||
length += 1;
|
||||
|
||||
if byte & 0x80 != 0x80 {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
value
|
||||
}
|
@ -1,104 +0,0 @@
|
||||
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
|
||||
// This module is browser compatible.
|
||||
|
||||
/**
|
||||
* Functions for encoding typed integers in array buffers.
|
||||
*
|
||||
* @module
|
||||
*/
|
||||
|
||||
import { instantiate } from "./_wasm/lib/deno_std_wasm_varint.generated.mjs";
|
||||
|
||||
const U32MAX = 4_294_967_295;
|
||||
const U64MAX = 18_446_744_073_709_551_615n;
|
||||
|
||||
/**
|
||||
* @deprecated (will be removed after 0.181.0) Use `encode` from `std/encoding/varint.ts` instead.
|
||||
*
|
||||
* Encodes the given `number` into `Uint8Array` with LEB128. The number needs to be in the range of `0` and `0xffffffff`.
|
||||
* ```ts
|
||||
* import { encodeU32 } from "https://deno.land/std@$STD_VERSION/encoding/varint/mod.ts";
|
||||
*
|
||||
* const encodedValue = encodeU32(42);
|
||||
* // Do something with the encoded value
|
||||
* ```
|
||||
*/
|
||||
export function encodeU32(val: number): Uint8Array {
|
||||
if (!Number.isInteger(val)) throw new TypeError("Floats are not supported");
|
||||
if (val < 0) throw new RangeError("Signed integers are not supported");
|
||||
if (val > U32MAX) {
|
||||
throw new RangeError(
|
||||
`The given number exceeds the limit of unsigned integer: ${val}`,
|
||||
);
|
||||
}
|
||||
const wasm = instantiate();
|
||||
return wasm.encode_u32(val);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated (will be removed after 0.181.0) Use `encode()` from `std/encoding/varint.ts` instead.
|
||||
*
|
||||
* Encodes the given `BigInt` into `Uint8Array` with LEB128. The number needs to be in the range of `0` and `0xffffffffffffffff`.
|
||||
* ```ts
|
||||
* import { encodeU64 } from "https://deno.land/std@$STD_VERSION/encoding/varint/mod.ts";
|
||||
*
|
||||
* const encodedValue = encodeU64(42n);
|
||||
* // Do something with the encoded value
|
||||
* ```
|
||||
*/
|
||||
export function encodeU64(val: bigint): Uint8Array {
|
||||
if (val < 0) throw new RangeError("Signed integers are not supported");
|
||||
if (val > U64MAX) {
|
||||
throw new RangeError(
|
||||
`The given number exceeds the limit of unsigned long integer: ${val}`,
|
||||
);
|
||||
}
|
||||
const wasm = instantiate();
|
||||
return wasm.encode_u64(val);
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated (will be removed after 0.181.0) Use `decode32()` from `std/encoding/varint.ts` instead.
|
||||
*
|
||||
* Decodes the given `Uint8Array` into a `number` with LEB128.
|
||||
* ```ts
|
||||
* import { decodeU32 } from "https://deno.land/std@$STD_VERSION/encoding/varint/mod.ts";
|
||||
* const bytes = Uint8Array.from([221, 199, 1]);
|
||||
* const decodedValue = decodeU32(bytes);
|
||||
*
|
||||
* // Do something with the decoded value
|
||||
* console.log(decodedValue === 25565);
|
||||
* ```
|
||||
*/
|
||||
export function decodeU32(val: Uint8Array): number {
|
||||
if (val.length > 5) throw RangeError("Too many bytes");
|
||||
const wasm = instantiate();
|
||||
try {
|
||||
return wasm.decode_u32(val);
|
||||
} catch {
|
||||
throw new RangeError(`Bad varint: ${val}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated (will be removed after 0.181.0) Use `decode64()` from `std/encoding/varint.ts` instead.
|
||||
*
|
||||
* Decodes the given `Uint8Array` into a `BigInt` with LEB128.
|
||||
* ```ts
|
||||
* import { decodeU64 } from "https://deno.land/std@$STD_VERSION/encoding/varint/mod.ts";
|
||||
* const bytes = Uint8Array.from([221, 199, 1]);
|
||||
* const decodedValue = decodeU64(bytes);
|
||||
*
|
||||
* // Do something with the decoded value
|
||||
* console.log(decodedValue === 25565n);
|
||||
* ```
|
||||
*/
|
||||
export function decodeU64(val: Uint8Array): bigint {
|
||||
if (val.length > 10) throw RangeError("Too many bytes");
|
||||
const wasm = instantiate();
|
||||
try {
|
||||
return wasm.decode_u64(val);
|
||||
} catch {
|
||||
throw new RangeError(`Bad varint: ${val}`);
|
||||
}
|
||||
}
|
@ -1,103 +0,0 @@
|
||||
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
|
||||
import { decodeU32, decodeU64, encodeU32, encodeU64 } from "./mod.ts";
|
||||
import { assertEquals, assertThrows } from "../../testing/asserts.ts";
|
||||
|
||||
const U32MAX = 4_294_967_295;
|
||||
const U64MAX = 18_446_744_073_709_551_615n;
|
||||
|
||||
Deno.test({
|
||||
name: "VarInt encode",
|
||||
fn: function () {
|
||||
assertEquals(encodeU32(0), new Uint8Array([0]));
|
||||
assertEquals(encodeU32(1), new Uint8Array([1]));
|
||||
assertEquals(encodeU32(127), new Uint8Array([127]));
|
||||
assertEquals(encodeU32(128), new Uint8Array([128, 1]));
|
||||
assertEquals(encodeU32(255), new Uint8Array([255, 1]));
|
||||
assertEquals(encodeU32(25565), new Uint8Array([221, 199, 1]));
|
||||
assertEquals(encodeU32(2097151), new Uint8Array([255, 255, 127]));
|
||||
assertEquals(
|
||||
encodeU32(2147483647),
|
||||
new Uint8Array([255, 255, 255, 255, 7]),
|
||||
);
|
||||
|
||||
assertThrows(() => encodeU32(-1), RangeError, "Signed");
|
||||
assertThrows(() => encodeU32(U32MAX + 1), RangeError);
|
||||
assertThrows(() => encodeU32(1.1), TypeError);
|
||||
},
|
||||
});
|
||||
|
||||
Deno.test({
|
||||
name: "VarInt decode",
|
||||
fn: function () {
|
||||
assertEquals(decodeU32(new Uint8Array([0])), 0);
|
||||
assertEquals(decodeU32(new Uint8Array([1])), 1);
|
||||
assertEquals(decodeU32(new Uint8Array([127])), 127);
|
||||
assertEquals(decodeU32(new Uint8Array([128, 1])), 128);
|
||||
assertEquals(decodeU32(new Uint8Array([255, 1])), 255);
|
||||
assertEquals(decodeU32(new Uint8Array([221, 199, 1])), 25565);
|
||||
assertEquals(
|
||||
decodeU32(new Uint8Array([255, 255, 127])),
|
||||
2097151,
|
||||
);
|
||||
assertEquals(
|
||||
decodeU32(new Uint8Array([255, 255, 255, 255, 7])),
|
||||
2147483647,
|
||||
);
|
||||
assertThrows(() => decodeU32(new Uint8Array(6)), RangeError, "Too");
|
||||
assertThrows(
|
||||
() => decodeU32(new Uint8Array([255, 255])),
|
||||
RangeError,
|
||||
"Bad",
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
Deno.test({
|
||||
name: "VarLong encode",
|
||||
fn: function () {
|
||||
assertEquals(encodeU64(0n), new Uint8Array([0]));
|
||||
assertEquals(encodeU64(1n), new Uint8Array([1]));
|
||||
assertEquals(encodeU64(2n), new Uint8Array([2]));
|
||||
assertEquals(encodeU64(127n), new Uint8Array([127]));
|
||||
assertEquals(encodeU64(128n), new Uint8Array([128, 1]));
|
||||
assertEquals(encodeU64(255n), new Uint8Array([255, 1]));
|
||||
assertEquals(
|
||||
encodeU64(2147483647n),
|
||||
new Uint8Array([255, 255, 255, 255, 7]),
|
||||
);
|
||||
assertEquals(
|
||||
encodeU64(9223372036854775807n),
|
||||
new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255, 127]),
|
||||
);
|
||||
assertThrows(() => encodeU64(-1n), RangeError, "Signed");
|
||||
assertThrows(() => encodeU64(U64MAX + 1n), RangeError);
|
||||
},
|
||||
});
|
||||
|
||||
Deno.test({
|
||||
name: "VarLong decode",
|
||||
fn: function () {
|
||||
assertEquals(decodeU64(new Uint8Array([0])), 0n);
|
||||
assertEquals(decodeU64(new Uint8Array([1])), 1n);
|
||||
assertEquals(decodeU64(new Uint8Array([2])), 2n);
|
||||
assertEquals(decodeU64(new Uint8Array([127])), 127n);
|
||||
assertEquals(decodeU64(new Uint8Array([128, 1])), 128n);
|
||||
assertEquals(decodeU64(new Uint8Array([255, 1])), 255n);
|
||||
assertEquals(
|
||||
decodeU64(new Uint8Array([255, 255, 255, 255, 7])),
|
||||
2147483647n,
|
||||
);
|
||||
assertEquals(
|
||||
decodeU64(
|
||||
new Uint8Array([255, 255, 255, 255, 255, 255, 255, 255, 127]),
|
||||
),
|
||||
9223372036854775807n,
|
||||
);
|
||||
assertThrows(() => decodeU32(new Uint8Array(11)), RangeError, "Too");
|
||||
assertThrows(
|
||||
() => decodeU32(new Uint8Array([255, 255])),
|
||||
RangeError,
|
||||
"Bad",
|
||||
);
|
||||
},
|
||||
});
|
Loading…
Reference in New Issue
Block a user