diff --git a/implementations/javascript/packages/core/src/bytes.ts b/implementations/javascript/packages/core/src/bytes.ts index daa3a08..6acafba 100644 --- a/implementations/javascript/packages/core/src/bytes.ts +++ b/implementations/javascript/packages/core/src/bytes.ts @@ -160,6 +160,11 @@ export class Bytes implements Preservable { return nibbles.join(''); } + valueOf(): string { + // Defined mostly in order to get lexicographic comparison to "work reliably" + return this.toHex(); + } + [PreserveOn](encoder: Encoder) { encoder.state.emitbyte(Tag.ByteString); encoder.state.varint(this.length); diff --git a/implementations/javascript/packages/core/test/reader.test.ts b/implementations/javascript/packages/core/test/reader.test.ts index 3a6e1a3..43bfcba 100644 --- a/implementations/javascript/packages/core/test/reader.test.ts +++ b/implementations/javascript/packages/core/test/reader.test.ts @@ -26,6 +26,8 @@ describe('reading common test suite', () => { includeAnnotations: true, canonical: true, })); + // console.log('original', new Bytes(samples_bin).toHex()); + // console.log('reencoded', new Bytes(bs).toHex()); expect(bs).toEqual(new Uint8Array(samples_bin)); });