Skip to content

Commit 1b3706a

Browse files
committed
address some PR comments
1 parent f2db90e commit 1b3706a

File tree

3 files changed

+16
-25
lines changed

3 files changed

+16
-25
lines changed

lib/getHashDigest.ts

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Hash } from "crypto";
1+
import type { Hash } from "crypto";
22

33
const baseEncodeTables = {
44
26: "abcdefghijklmnopqrstuvwxyz",
@@ -11,16 +11,8 @@ const baseEncodeTables = {
1111
64: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_",
1212
};
1313

14-
type DigestTypes =
15-
| "base26"
16-
| "base32"
17-
| "base36"
18-
| "base49"
19-
| "base52"
20-
| "base58"
21-
| "base62"
22-
| "base64";
23-
type BaseEncodings = 26 | 32 | 36 | 49 | 52 | 58 | 62 | 64;
14+
type BaseEncoding = keyof typeof baseEncodeTables;
15+
type DigestType = `base${BaseEncoding}`;
2416

2517
/**
2618
* @param {Uint32Array} uint32Array Treated as a long base-0x100000000 number, little endian
@@ -39,10 +31,10 @@ function divmod32(uint32Array: Uint32Array, divisor: number): number {
3931

4032
function encodeBufferToBase(
4133
buffer: Buffer,
42-
base: BaseEncodings | number,
34+
base: BaseEncoding,
4335
length: number
4436
) {
45-
const encodeTable = baseEncodeTables[base as keyof typeof baseEncodeTables];
37+
const encodeTable = baseEncodeTables[base];
4638

4739
if (!encodeTable) {
4840
throw new Error("Unknown encoding base" + base);
@@ -78,7 +70,7 @@ let BulkUpdateDecorator: typeof import("./hash/BulkUpdateDecorator").default;
7870
export default function getHashDigest(
7971
buffer: Buffer,
8072
algorithm: string | "xxhash64" | "md4" | "native-md4",
81-
digestType: DigestTypes | string,
73+
digestType: DigestType | string,
8274
maxLength: number
8375
) {
8476
algorithm = algorithm || "xxhash64";
@@ -142,13 +134,11 @@ export default function getHashDigest(
142134
digestType === "base58" ||
143135
digestType === "base62"
144136
) {
145-
const digestTypeToDigest: number = digestType.substr(
146-
4
147-
) as unknown as number;
137+
const digestTypeToDigest = Number(digestType.substr(4));
148138

149139
return encodeBufferToBase(
150140
hash.digest() as Buffer,
151-
digestTypeToDigest,
141+
digestTypeToDigest as BaseEncoding,
152142
maxLength
153143
);
154144
} else {

lib/index.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import isUrlRequest from "./isUrlRequest";
2-
import urlToRequest from "./urlToRequest";
3-
import getHashDigest from "./getHashDigest";
4-
import interpolateName from "./interpolateName";
5-
6-
export { urlToRequest, getHashDigest, interpolateName, isUrlRequest };
1+
export { default as isUrlRequest } from "./isUrlRequest";
2+
export { default as urlToRequest } from "./urlToRequest";
3+
export { default as getHashDigest } from "./getHashDigest";
4+
export { default as interpolateName } from "./interpolateName";

lib/urlToRequest.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
const NATIVE_WIN_32_PATH_REGEXP = /^[A-Z]:[/\\]|^\\\\/i;
33
const MODULE_REQUEST_REGEXP = /^[^?]*~/;
44
const ROOT_RELATIVE_URL_REGEXP = /^\//;
5+
const TILDE_ROOTS_MODULE_REQUEST_REGEXP = /([^~/])$/;
56

67
export default function urlToRequest(
78
url: string,
@@ -28,7 +29,9 @@ export default function urlToRequest(
2829
case "string":
2930
// special case: `~` roots convert to module request
3031
if (MODULE_REQUEST_REGEXP.test(root)) {
31-
request = root.replace(/([^~/])$/, "$1/") + url.slice(1);
32+
request =
33+
root.replace(TILDE_ROOTS_MODULE_REQUEST_REGEXP, "$1/") +
34+
url.slice(1);
3235
} else {
3336
request = root + url;
3437
}

0 commit comments

Comments
 (0)