Skip to content

Commit

Permalink
Merge pull request #2 from glooca/master
Browse files Browse the repository at this point in the history
Crc leading zero fix for streams
  • Loading branch information
fuxingZhang committed Jan 15, 2022
2 parents bfdfd88 + 461bd82 commit 208b8b4
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
4 changes: 2 additions & 2 deletions mod.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export function crc32(arr: Uint8Array | string): string {
crc = (crc >>> 8) ^ temp;
}

return numberToHex(crc ^ -1).padStart(8, "0");
return numberToHex(crc ^ -1);
}

export class Crc32Stream {
Expand Down Expand Up @@ -69,7 +69,7 @@ export class Crc32Stream {
}

export function numberToHex(n: number): string {
return (n >>> 0).toString(16);
return (n >>> 0).toString(16).padStart(8, "0");
}

export function hexToUint8Array(str: string): Uint8Array {
Expand Down
6 changes: 4 additions & 2 deletions test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ Deno.test("Crc32Stream", () => {
const crc32Stream = new Crc32Stream();
crc32Stream.append("d"); // 98dd4acc === crc32("d")
crc32Stream.append("e"); // 7d90298b === crc32("de")
crc32Stream.append("n"); // 21f6953 === crc32("den")
crc32Stream.append("n"); // 021f6953 === crc32("den")
assertEquals(crc32Stream.crc32, "021f6953");
assertEquals(crc32Stream.append("o"), crc32_deno);
assertEquals(crc32Stream.crc32, crc32_deno);
assertEquals(crc32Stream.crc32, crc32_deno);
Expand All @@ -35,7 +36,8 @@ Deno.test("Crc32Stream", () => {

crc32Stream.append("d"); // 98dd4acc === crc32("d")
crc32Stream.append("e"); // 7d90298b === crc32("de")
crc32Stream.append("n"); // 21f6953 === crc32("den")
crc32Stream.append("n"); // 021f6953 === crc32("den")
assertEquals(crc32Stream.crc32, "021f6953");
assertEquals(crc32Stream.append("o"), crc32_deno);
assertEquals(crc32Stream.crc32, crc32_deno);
assertEquals(crc32Stream.crc32, crc32_deno);
Expand Down

0 comments on commit 208b8b4

Please sign in to comment.