From f26c2447e2d62e4a309e3fb52d39e1c5973db9c2 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Sun, 18 Feb 2024 10:24:26 +1300 Subject: [PATCH] fix: inline `hyperdyperid` (#1000) --- package.json | 1 - src/json-joy/util/buffers/utf8/CachedUtf8Decoder.ts | 2 +- src/json-joy/util/buffers/utf8/randomU32.ts | 7 +++++++ yarn.lock | 5 ----- 4 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 src/json-joy/util/buffers/utf8/randomU32.ts diff --git a/package.json b/package.json index 1006ea51..f9c5a887 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,6 @@ } }, "dependencies": { - "hyperdyperid": "^1.2.0", "thingies": "^1.11.1", "tslib": "^2.0.0" }, diff --git a/src/json-joy/util/buffers/utf8/CachedUtf8Decoder.ts b/src/json-joy/util/buffers/utf8/CachedUtf8Decoder.ts index 4af0f9dd..f3c1af34 100644 --- a/src/json-joy/util/buffers/utf8/CachedUtf8Decoder.ts +++ b/src/json-joy/util/buffers/utf8/CachedUtf8Decoder.ts @@ -1,5 +1,5 @@ import decodeUtf8 from './decodeUtf8/v10'; -import {randomU32} from 'hyperdyperid/lib/randomU32'; +import {randomU32} from './randomU32'; class CacheItem { constructor(public readonly bytes: Uint8Array, public readonly value: string) {} diff --git a/src/json-joy/util/buffers/utf8/randomU32.ts b/src/json-joy/util/buffers/utf8/randomU32.ts new file mode 100644 index 00000000..1e289fa8 --- /dev/null +++ b/src/json-joy/util/buffers/utf8/randomU32.ts @@ -0,0 +1,7 @@ +let x = 1 + Math.round(Math.random() * ((-1>>>0)-1)); + +/** Generate a random 32-bit unsigned integer in the specified [min, max] range. */ +export function randomU32(min: number, max: number): number { + x ^= x << 13; x ^= x >>> 17; x ^= x << 5; + return (x >>> 0) % (max - min + 1) + min; +} diff --git a/yarn.lock b/yarn.lock index bda61bd9..03c31cc6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3533,11 +3533,6 @@ husky@^8.0.1: resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== -hyperdyperid@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b" - integrity sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A== - iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"