@flighthq/compression 0.5.1-next.1556.ff9e615 → 0.5.1-next.1629.669e7c5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/compression`. The `@
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/compression@0.5.1-next.1556.ff9e615](https://github.com/flighthq/flight/tree/ff9e615c3b9df79b718bc750dc04e1cb5f39e5cd/packages/compression)
17
- - [License](https://github.com/flighthq/flight/blob/ff9e615c3b9df79b718bc750dc04e1cb5f39e5cd/LICENSE.md)
16
+ - [Source for @flighthq/compression@0.5.1-next.1629.669e7c5](https://github.com/flighthq/flight/tree/669e7c57b5177f4dba43dd9e861db543c4d72d2d/packages/compression)
17
+ - [License](https://github.com/flighthq/flight/blob/669e7c57b5177f4dba43dd9e861db543c4d72d2d/LICENSE.md)
@@ -1,3 +1,5 @@
1
+ import type { HostCompressDeflateCapability } from '@flighthq/types/contract';
1
2
  export declare function compressDeflate(bytes: Readonly<Uint8Array>): Uint8Array;
2
3
  export declare function compressDeflateZlib(bytes: Readonly<Uint8Array>): Uint8Array;
4
+ export declare const sdkHostCompressDeflate: HostCompressDeflateCapability;
3
5
  //# sourceMappingURL=compress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAeA,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAIvE;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAa3E"}
1
+ {"version":3,"file":"compress.d.ts","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAkB9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAIvE;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAa3E;AAID,eAAO,MAAM,sBAAsB,EAAE,6BAIpC,CAAC"}
package/dist/compress.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { CompressionFraming } from '@flighthq/types/contract';
1
2
  import { computeAdler32, DISTANCE_BASE, DISTANCE_EXTRA, LENGTH_BASE, LENGTH_EXTRA } from './deflateFormat';
2
3
  // Dependency-free, synchronous RFC 1951 (DEFLATE) and RFC 1950 (zlib) encoding, in its own module so a
3
4
  // bundle that only reads compressed bytes never carries an encoder and vice versa. Written from the
@@ -9,7 +10,7 @@ import { computeAdler32, DISTANCE_BASE, DISTANCE_EXTRA, LENGTH_BASE, LENGTH_EXTR
9
10
  // containers worth compressing. When the encoded block would be larger than the bytes themselves — which
10
11
  // is what incompressible input does — stored blocks are emitted instead, so compressing never meaningfully
11
12
  // grows a payload. Output is a pure function of the input: no timestamps, no heuristics that vary.
12
- // Raw RFC 1951: the DEFLATE stream alone, with no wrapper. This is the framing `inflateDeflate` reads as
13
+ // Raw RFC 1951: the DEFLATE stream alone, with no wrapper. This is the framing `decompressDeflate` reads as
13
14
  // CompressionFraming.Raw.
14
15
  export function compressDeflate(bytes) {
15
16
  const input = bytes;
@@ -17,7 +18,7 @@ export function compressDeflate(bytes) {
17
18
  return huffman.length <= storedLength(input.length) ? huffman : encodeStoredBlocks(input);
18
19
  }
19
20
  // RFC 1950: a two-byte header, the same DEFLATE stream, and an Adler-32 of the UNCOMPRESSED bytes, in
20
- // big-endian order. This is the framing `inflateDeflate` reads as CompressionFraming.Rfc1950.
21
+ // big-endian order. This is the framing `decompressDeflate` reads as CompressionFraming.Rfc1950.
21
22
  export function compressDeflateZlib(bytes) {
22
23
  const deflated = compressDeflate(bytes);
23
24
  const out = new Uint8Array(ZLIB_HEADER_BYTES + deflated.length + ZLIB_TRAILER_BYTES);
@@ -32,6 +33,13 @@ export function compressDeflateZlib(bytes) {
32
33
  out[trailer + 3] = checksum & 0xff;
33
34
  return out;
34
35
  }
36
+ // The deflate compress slot Flight itself can fill, ready to drop into a Host's `compress` group.
37
+ // Dispatches on framing to the matching encoder. Named for the Host slot it fills.
38
+ export const sdkHostCompressDeflate = {
39
+ compress(bytes, framing) {
40
+ return framing === CompressionFraming.Rfc1950 ? compressDeflateZlib(bytes) : compressDeflate(bytes);
41
+ },
42
+ };
35
43
  // Bit order is the format's, not one convention throughout: block headers and extra bits are packed
36
44
  // least-significant-bit first, while a Huffman code is packed most-significant-bit first. Mixing the two
37
45
  // up produces a stream that still decodes for short inputs and fails on long ones.
@@ -1 +1 @@
1
- {"version":3,"file":"compress.js","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compress.js","sourceRoot":"","sources":["../src/compress.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export * from './compress';
2
- export * from './decompressor';
3
2
  export * from './deflate';
4
3
  export * from './deflateFormat';
5
4
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
package/dist/contract.js CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from './compress';
2
- export * from './decompressor';
3
2
  export * from './deflate';
4
3
  export * from './deflateFormat';
5
4
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
package/dist/deflate.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Decompressor } from '@flighthq/types/contract';
2
- export declare const inflateDeflate: Decompressor;
3
- export declare function registerDeflateDecompressor(): void;
1
+ import type { Decompressor, HostDecompressDeflateCapability } from '@flighthq/types/contract';
2
+ export declare const decompressDeflate: Decompressor;
3
+ export declare const sdkHostDecompressDeflate: HostDecompressDeflateCapability;
4
4
  //# sourceMappingURL=deflate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deflate.d.ts","sourceRoot":"","sources":["../src/deflate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAiB7D,eAAO,MAAM,cAAc,EAAE,YAoB5B,CAAC;AAKF,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
1
+ {"version":3,"file":"deflate.d.ts","sourceRoot":"","sources":["../src/deflate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAgB9F,eAAO,MAAM,iBAAiB,EAAE,YAoB/B,CAAC;AAMF,eAAO,MAAM,wBAAwB,EAAE,+BAAmE,CAAC"}
package/dist/deflate.js CHANGED
@@ -1,18 +1,17 @@
1
- import { Compression, CompressionFraming } from '@flighthq/types/contract';
2
- import { registerDecompressor } from './decompressor';
1
+ import { CompressionFraming } from '@flighthq/types/contract';
3
2
  import { computeAdler32, DISTANCE_BASE, DISTANCE_EXTRA, LENGTH_BASE, LENGTH_EXTRA } from './deflateFormat';
4
3
  // Dependency-free, synchronous RFC 1951 (DEFLATE) and RFC 1950 (zlib) decoding. Kept in its own module so
5
- // the registry stays tree-shakable: a bundle that never calls `registerDeflateDecompressor` pays nothing
6
- // for this Huffman decoder. Sync because inflate is a straight-line state machine, which keeps every
7
- // synchronous parser that resolves through the registry synchronous too; a host with a faster native or
8
- // wasm codec registers that instead.
4
+ // this stays tree-shakable: a bundle that never references `sdkHostDecompressDeflate` pays nothing for
5
+ // this Huffman decoder. Sync because inflate is a straight-line state machine, which keeps every
6
+ // synchronous parser that takes a decompress slot synchronous too; a host with a faster native or wasm
7
+ // codec supplies that slot instead.
9
8
  //
10
9
  // Real containers mix the two framings — SWF's `CWS` body and Away3D's `ByteArray.compress()` are zlib
11
10
  // (a 2-byte header, the DEFLATE stream, an Adler-32), while other producers emit the bare stream. The
12
11
  // caller supplies that container-owned fact explicitly because the first raw bytes can also form a valid
13
12
  // zlib header. A nonzero `uncompressedLength` is a ceiling enforced while bytes are written; callers
14
13
  // without one pass 0 and retain the package-wide safety cap.
15
- export const inflateDeflate = (compressed, uncompressedLength, framing) => {
14
+ export const decompressDeflate = (compressed, uncompressedLength, framing) => {
16
15
  const input = compressed;
17
16
  let start = 0;
18
17
  let end = input.length;
@@ -38,12 +37,11 @@ export const inflateDeflate = (compressed, uncompressedLength, framing) => {
38
37
  return null;
39
38
  }
40
39
  };
41
- // Registers `inflateDeflate` for `Compression.Deflate`, which is what lets every consumer read a
42
- // zlib-or-raw compressed body. Opt-in, so the codec is only bundled when a caller asks for it.
43
- // Idempotent; last registration wins.
44
- export function registerDeflateDecompressor() {
45
- registerDecompressor(Compression.Deflate, inflateDeflate);
46
- }
40
+ // The deflate slot Flight itself can fill, ready to drop into a Host's `decompress` group. A caller
41
+ // that wants the portable decoder passes this; a host with a native or wasm codec supplies its own
42
+ // slot instead and never bundles this module. Named for the Host slot it fills rather than for the
43
+ // registry it used to feed.
44
+ export const sdkHostDecompressDeflate = { decompress: decompressDeflate };
47
45
  // The order in which the 19 code-length-code lengths are written in a dynamic-Huffman block header.
48
46
  const CODE_LENGTH_ORDER = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
49
47
  // An LSB-first bit reader over the DEFLATE stream, plus the growable output buffer. Throwing on overrun
@@ -1 +1 @@
1
- {"version":3,"file":"deflate.js","sourceRoot":"","sources":["../src/deflate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deflate.js","sourceRoot":"","sources":["../src/deflate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from './compress';
2
- export * from './decompressor';
3
2
  export * from './deflate';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
1
  export * from './compress';
2
- export * from './decompressor';
3
2
  export * from './deflate';
4
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/compression",
3
- "version": "0.5.1-next.1556.ff9e615",
3
+ "version": "0.5.1-next.1629.669e7c5",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,7 +38,7 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/types": "0.5.1-next.1556.ff9e615"
41
+ "@flighthq/types": "0.5.1-next.1629.669e7c5"
42
42
  },
43
43
  "devDependencies": {
44
44
  "typescript": "^5.3.0"
@@ -1,27 +1,27 @@
1
1
  import { CompressionFraming } from '@flighthq/types/contract';
2
2
 
3
- import { compressDeflate, compressDeflateZlib } from './compress';
4
- import { inflateDeflate } from './deflate';
3
+ import { compressDeflate, compressDeflateZlib, sdkHostCompressDeflate } from './compress';
4
+ import { decompressDeflate } from './deflate';
5
5
 
6
- // Every round trip is checked through inflateDeflate, which was written independently of this encoder
6
+ // Every round trip is checked through decompressDeflate, which was written independently of this encoder
7
7
  // and is already pinned by its own tests. A compressor checked against its own decoder would agree with
8
8
  // itself about a stream neither reads correctly; this one has to satisfy a reader it did not author.
9
9
  describe('compressDeflate', () => {
10
10
  it('round-trips an empty input as a raw stream', () => {
11
11
  const compressed = compressDeflate(new Uint8Array(0));
12
- expect(inflateDeflate(compressed, 0, CompressionFraming.Raw)).toEqual(new Uint8Array(0));
12
+ expect(decompressDeflate(compressed, 0, CompressionFraming.Raw)).toEqual(new Uint8Array(0));
13
13
  });
14
14
 
15
15
  it('round-trips text through the raw framing', () => {
16
16
  const bytes = new TextEncoder().encode('the quick brown fox jumps over the lazy dog');
17
17
  const compressed = compressDeflate(bytes);
18
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
18
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
19
19
  });
20
20
 
21
21
  it('round-trips highly repetitive text and actually shrinks it', () => {
22
22
  const bytes = new TextEncoder().encode('abcabcabc'.repeat(400));
23
23
  const compressed = compressDeflate(bytes);
24
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
24
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
25
25
  // A "compress" function that never shrinks anything would satisfy every round-trip assertion above.
26
26
  expect(compressed.length).toBeLessThan(bytes.length / 4);
27
27
  });
@@ -36,7 +36,7 @@ describe('compressDeflate', () => {
36
36
  bytes[i] = seed & 0xff;
37
37
  }
38
38
  const compressed = compressDeflate(bytes);
39
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
39
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
40
40
  expect(compressed.length).toBeLessThanOrEqual(bytes.length + 16);
41
41
  });
42
42
 
@@ -44,7 +44,7 @@ describe('compressDeflate', () => {
44
44
  const bytes = new Uint8Array(70_000);
45
45
  for (let i = 0; i < bytes.length; i++) bytes[i] = i & 0xff;
46
46
  const compressed = compressDeflate(bytes);
47
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
47
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
48
48
  });
49
49
 
50
50
  it('round-trips every byte value, so no literal is mis-coded', () => {
@@ -53,7 +53,7 @@ describe('compressDeflate', () => {
53
53
  const bytes = new Uint8Array(256);
54
54
  for (let i = 0; i < 256; i++) bytes[i] = i;
55
55
  const compressed = compressDeflate(bytes);
56
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
56
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
57
57
  });
58
58
 
59
59
  it('round-trips a deterministic sweep of shapes a fixed corpus would miss', () => {
@@ -73,9 +73,9 @@ describe('compressDeflate', () => {
73
73
  const alphabet = 1 + (length % 7);
74
74
  for (let i = 0; i < length; i++) bytes[i] = next() % alphabet;
75
75
  const raw = compressDeflate(bytes);
76
- expect(inflateDeflate(raw, length, CompressionFraming.Raw)).toEqual(bytes);
76
+ expect(decompressDeflate(raw, length, CompressionFraming.Raw)).toEqual(bytes);
77
77
  const wrapped = compressDeflateZlib(bytes);
78
- expect(inflateDeflate(wrapped, length, CompressionFraming.Rfc1950)).toEqual(bytes);
78
+ expect(decompressDeflate(wrapped, length, CompressionFraming.Rfc1950)).toEqual(bytes);
79
79
  }
80
80
  });
81
81
 
@@ -84,7 +84,7 @@ describe('compressDeflate', () => {
84
84
  // extra bits. An input built only from short repeats never reaches it.
85
85
  const bytes = new Uint8Array(2048).fill(7);
86
86
  const compressed = compressDeflate(bytes);
87
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
87
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
88
88
  });
89
89
 
90
90
  it('round-trips a repeat at the far edge of the window', () => {
@@ -92,7 +92,7 @@ describe('compressDeflate', () => {
92
92
  for (let i = 0; i < bytes.length; i++) bytes[i] = (i * 31) & 0xff;
93
93
  bytes.set(bytes.subarray(0, 64), bytes.length - 64);
94
94
  const compressed = compressDeflate(bytes);
95
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
95
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
96
96
  });
97
97
 
98
98
  it('produces the same bytes for the same input', () => {
@@ -103,7 +103,7 @@ describe('compressDeflate', () => {
103
103
  it('emits no zlib wrapper, so the zlib reader refuses it', () => {
104
104
  const bytes = new TextEncoder().encode('raw means raw'.repeat(20));
105
105
  const compressed = compressDeflate(bytes);
106
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Rfc1950)).toBeNull();
106
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Rfc1950)).toBeNull();
107
107
  });
108
108
 
109
109
  it('does not mutate the input it was given', () => {
@@ -117,20 +117,20 @@ describe('compressDeflate', () => {
117
117
  describe('compressDeflateZlib', () => {
118
118
  it('round-trips an empty input through the zlib framing', () => {
119
119
  const compressed = compressDeflateZlib(new Uint8Array(0));
120
- expect(inflateDeflate(compressed, 0, CompressionFraming.Rfc1950)).toEqual(new Uint8Array(0));
120
+ expect(decompressDeflate(compressed, 0, CompressionFraming.Rfc1950)).toEqual(new Uint8Array(0));
121
121
  });
122
122
 
123
123
  it('round-trips text through the zlib framing', () => {
124
124
  const bytes = new TextEncoder().encode('the quick brown fox jumps over the lazy dog');
125
125
  const compressed = compressDeflateZlib(bytes);
126
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Rfc1950)).toEqual(bytes);
126
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Rfc1950)).toEqual(bytes);
127
127
  });
128
128
 
129
129
  it('round-trips binary bytes through the zlib framing', () => {
130
130
  const bytes = new Uint8Array(1024);
131
131
  for (let i = 0; i < bytes.length; i++) bytes[i] = (i * 37) & 0xff;
132
132
  const compressed = compressDeflateZlib(bytes);
133
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Rfc1950)).toEqual(bytes);
133
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Rfc1950)).toEqual(bytes);
134
134
  });
135
135
 
136
136
  it('wraps the same raw stream in a header and an Adler-32 trailer', () => {
@@ -158,7 +158,7 @@ describe('compressDeflateZlib', () => {
158
158
  // stream would still be self-consistent, so only a corrupted payload can tell the two apart.
159
159
  const bytes = new TextEncoder().encode('checksum me'.repeat(30));
160
160
  const compressed = compressDeflateZlib(bytes);
161
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Rfc1950)).toEqual(bytes);
161
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Rfc1950)).toEqual(bytes);
162
162
  const trailer = compressed.subarray(compressed.length - 4);
163
163
  expect(trailer).not.toEqual(new Uint8Array([0, 0, 0, 0]));
164
164
  });
@@ -166,7 +166,7 @@ describe('compressDeflateZlib', () => {
166
166
  it('emits a wrapper, so the raw reader does not read it back unchanged', () => {
167
167
  const bytes = new TextEncoder().encode('zlib means zlib'.repeat(20));
168
168
  const compressed = compressDeflateZlib(bytes);
169
- expect(inflateDeflate(compressed, bytes.length, CompressionFraming.Raw)).not.toEqual(bytes);
169
+ expect(decompressDeflate(compressed, bytes.length, CompressionFraming.Raw)).not.toEqual(bytes);
170
170
  });
171
171
 
172
172
  it('produces the same bytes for the same input', () => {
@@ -174,3 +174,27 @@ describe('compressDeflateZlib', () => {
174
174
  expect(compressDeflateZlib(bytes)).toEqual(compressDeflateZlib(bytes));
175
175
  });
176
176
  });
177
+
178
+ describe('sdkHostCompressDeflate', () => {
179
+ it('is a ready-made deflate slot carrying the portable encoder', () => {
180
+ expect(sdkHostCompressDeflate.compress).toBeTypeOf('function');
181
+ });
182
+
183
+ it('dispatches Raw framing to compressDeflate', () => {
184
+ const bytes = new TextEncoder().encode('slot raw framing'.repeat(10));
185
+ expect(sdkHostCompressDeflate.compress(bytes, CompressionFraming.Raw)).toEqual(compressDeflate(bytes));
186
+ });
187
+
188
+ it('dispatches Rfc1950 framing to compressDeflateZlib', () => {
189
+ const bytes = new TextEncoder().encode('slot zlib framing'.repeat(10));
190
+ expect(sdkHostCompressDeflate.compress(bytes, CompressionFraming.Rfc1950)).toEqual(compressDeflateZlib(bytes));
191
+ });
192
+
193
+ it('round-trips through decompressDeflate for both framings', () => {
194
+ const bytes = new TextEncoder().encode('round trip through the slot'.repeat(8));
195
+ const raw = sdkHostCompressDeflate.compress(bytes, CompressionFraming.Raw);
196
+ expect(decompressDeflate(raw, bytes.length, CompressionFraming.Raw)).toEqual(bytes);
197
+ const zlib = sdkHostCompressDeflate.compress(bytes, CompressionFraming.Rfc1950);
198
+ expect(decompressDeflate(zlib, bytes.length, CompressionFraming.Rfc1950)).toEqual(bytes);
199
+ });
200
+ });
@@ -1,7 +1,6 @@
1
1
  import { Compression, CompressionFraming } from '@flighthq/types/contract';
2
2
 
3
- import { getDecompressor, unregisterDecompressor } from './decompressor';
4
- import { inflateDeflate, registerDeflateDecompressor } from './deflate';
3
+ import { decompressDeflate, sdkHostDecompressDeflate } from './deflate';
5
4
 
6
5
  // The compressed fixtures below are precomputed with Node's zlib and embedded as base64 rather than
7
6
  // generated at test time: `scene-formats` is a browser-clean package whose build carries no `@types/node`,
@@ -216,9 +215,9 @@ function createRawStoredStreamStartingWithZlibHeader(): { payload: Uint8Array; s
216
215
  return { payload, stream };
217
216
  }
218
217
 
219
- describe('inflateDeflate', () => {
218
+ describe('decompressDeflate', () => {
220
219
  it('round-trips empty input', () => {
221
- expect(inflateDeflate(decodeBase64(FIXTURES.EMPTY), 0, CompressionFraming.Rfc1950)).toEqual(new Uint8Array(0));
220
+ expect(decompressDeflate(decodeBase64(FIXTURES.EMPTY), 0, CompressionFraming.Rfc1950)).toEqual(new Uint8Array(0));
222
221
  });
223
222
 
224
223
  it('keeps inflating a stream whose expansion ratio is large but bounded', () => {
@@ -228,36 +227,36 @@ describe('inflateDeflate', () => {
228
227
  // fixture is 124 bytes expanding 528x to 64 KB, and must still round-trip byte for byte.
229
228
  const source = new Uint8Array(64 * 1024);
230
229
  for (let i = 0; i < source.length; i++) source[i] = i % 7;
231
- expect(inflateDeflate(decodeBase64(FIXTURES.HIGH_RATIO), 0, CompressionFraming.Rfc1950)).toEqual(source);
230
+ expect(decompressDeflate(decodeBase64(FIXTURES.HIGH_RATIO), 0, CompressionFraming.Rfc1950)).toEqual(source);
232
231
  });
233
232
 
234
233
  it('stops expansion at the container-declared output bound', () => {
235
234
  const compressed = decodeBase64(FIXTURES.HIGH_RATIO);
236
- expect(inflateDeflate(compressed, 64 * 1024, CompressionFraming.Rfc1950)).toHaveLength(64 * 1024);
237
- expect(inflateDeflate(compressed, 64 * 1024 - 1, CompressionFraming.Rfc1950)).toBeNull();
235
+ expect(decompressDeflate(compressed, 64 * 1024, CompressionFraming.Rfc1950)).toHaveLength(64 * 1024);
236
+ expect(decompressDeflate(compressed, 64 * 1024 - 1, CompressionFraming.Rfc1950)).toBeNull();
238
237
  });
239
238
 
240
239
  it('round-trips a short literal run (zlib-wrapped)', () => {
241
- expect(inflateDeflate(decodeBase64(FIXTURES.LITERAL), 0, CompressionFraming.Rfc1950)).toEqual(
240
+ expect(decompressDeflate(decodeBase64(FIXTURES.LITERAL), 0, CompressionFraming.Rfc1950)).toEqual(
242
241
  encode('flighthq scene-formats'),
243
242
  );
244
243
  });
245
244
 
246
245
  it('round-trips a headerless raw DEFLATE stream when explicitly requested', () => {
247
- expect(inflateDeflate(decodeBase64(FIXTURES.RAW_LITERAL), 0, CompressionFraming.Raw)).toEqual(
246
+ expect(decompressDeflate(decodeBase64(FIXTURES.RAW_LITERAL), 0, CompressionFraming.Raw)).toEqual(
248
247
  encode('flighthq scene-formats'),
249
248
  );
250
249
  });
251
250
 
252
251
  it('does not mistake a valid raw stream beginning 78 9c for zlib framing', () => {
253
252
  const { payload, stream } = createRawStoredStreamStartingWithZlibHeader();
254
- expect(inflateDeflate(stream, payload.length, CompressionFraming.Raw)).toEqual(payload);
255
- expect(inflateDeflate(stream, payload.length, CompressionFraming.Rfc1950)).toBeNull();
253
+ expect(decompressDeflate(stream, payload.length, CompressionFraming.Raw)).toEqual(payload);
254
+ expect(decompressDeflate(stream, payload.length, CompressionFraming.Rfc1950)).toBeNull();
256
255
  });
257
256
 
258
257
  it('round-trips highly repetitive data through back-references and grows the output buffer', () => {
259
258
  // 5400 bytes out — past the 1024-byte initial buffer, exercising the grow path.
260
- expect(inflateDeflate(decodeBase64(FIXTURES.REPETITIVE), 0, CompressionFraming.Rfc1950)).toEqual(
259
+ expect(decompressDeflate(decodeBase64(FIXTURES.REPETITIVE), 0, CompressionFraming.Rfc1950)).toEqual(
261
260
  encode('abcABC123'.repeat(600)),
262
261
  );
263
262
  });
@@ -265,87 +264,91 @@ describe('inflateDeflate', () => {
265
264
  it('round-trips prose through a genuine dynamic-Huffman block', () => {
266
265
  // Verified offline that zlib emits BTYPE=2 (dynamic Huffman) for this input, exercising the
267
266
  // dynamic literal/length + distance code-length decode path.
268
- expect(inflateDeflate(decodeBase64(FIXTURES.LOREM), 0, CompressionFraming.Rfc1950)).toEqual(
267
+ expect(decompressDeflate(decodeBase64(FIXTURES.LOREM), 0, CompressionFraming.Rfc1950)).toEqual(
269
268
  encode(LOREM.repeat(12)),
270
269
  );
271
270
  });
272
271
 
273
272
  it('round-trips a stored (level 0) block', () => {
274
- expect(inflateDeflate(decodeBase64(FIXTURES.STORED_L0), 0, CompressionFraming.Rfc1950)).toEqual(
273
+ expect(decompressDeflate(decodeBase64(FIXTURES.STORED_L0), 0, CompressionFraming.Rfc1950)).toEqual(
275
274
  encode('the quick brown fox jumps over the lazy dog'),
276
275
  );
277
276
  });
278
277
 
279
278
  it('returns null on a truncated stream rather than throwing', () => {
280
- expect(inflateDeflate(decodeBase64(FIXTURES.REPETITIVE).subarray(0, 6), 0, CompressionFraming.Rfc1950)).toBeNull();
279
+ expect(
280
+ decompressDeflate(decodeBase64(FIXTURES.REPETITIVE).subarray(0, 6), 0, CompressionFraming.Rfc1950),
281
+ ).toBeNull();
281
282
  });
282
283
 
283
284
  it('returns null on a corrupt (invalid block type) stream', () => {
284
285
  // 0x78 0x9c is a valid zlib header; 0xff 0xff after it decodes an invalid block type.
285
286
  expect(
286
- inflateDeflate(new Uint8Array([0x78, 0x9c, 0xff, 0xff, 0, 0, 0, 0]), 0, CompressionFraming.Rfc1950),
287
+ decompressDeflate(new Uint8Array([0x78, 0x9c, 0xff, 0xff, 0, 0, 0, 0]), 0, CompressionFraming.Rfc1950),
287
288
  ).toBeNull();
288
289
  });
289
290
 
290
291
  it('rejects undersized zlib wrappers and unknown framing values', () => {
291
- expect(inflateDeflate(new Uint8Array([0x78, 0x9c, 0, 0, 0]), 0, CompressionFraming.Rfc1950)).toBeNull();
292
- expect(inflateDeflate(decodeBase64(FIXTURES.RAW_LITERAL), 0, 'Unknown' as never)).toBeNull();
292
+ expect(decompressDeflate(new Uint8Array([0x78, 0x9c, 0, 0, 0]), 0, CompressionFraming.Rfc1950)).toBeNull();
293
+ expect(decompressDeflate(decodeBase64(FIXTURES.RAW_LITERAL), 0, 'Unknown' as never)).toBeNull();
293
294
  });
294
295
 
295
296
  it('rejects truncated stored-block headers and payloads', () => {
296
- expect(inflateDeflate(new Uint8Array([0x01, 0, 0]), 0, CompressionFraming.Raw)).toBeNull();
297
- expect(inflateDeflate(new Uint8Array([0x01, 0x02, 0, 0xfd, 0xff, 0x41]), 0, CompressionFraming.Raw)).toBeNull();
297
+ expect(decompressDeflate(new Uint8Array([0x01, 0, 0]), 0, CompressionFraming.Raw)).toBeNull();
298
+ expect(decompressDeflate(new Uint8Array([0x01, 0x02, 0, 0xfd, 0xff, 0x41]), 0, CompressionFraming.Raw)).toBeNull();
298
299
  });
299
300
 
300
301
  it('rejects reserved fixed length symbols and back-references before the output', () => {
301
- expect(inflateDeflate(createFixedBackReferenceStream(286), 0, CompressionFraming.Raw)).toBeNull();
302
- expect(inflateDeflate(createFixedBackReferenceStream(257, 0), 0, CompressionFraming.Raw)).toBeNull();
302
+ expect(decompressDeflate(createFixedBackReferenceStream(286), 0, CompressionFraming.Raw)).toBeNull();
303
+ expect(decompressDeflate(createFixedBackReferenceStream(257, 0), 0, CompressionFraming.Raw)).toBeNull();
303
304
  });
304
305
 
305
306
  it('rejects a reserved dynamic distance symbol', () => {
306
- expect(inflateDeflate(createReservedDynamicDistanceStream(), 0, CompressionFraming.Raw)).toBeNull();
307
+ expect(decompressDeflate(createReservedDynamicDistanceStream(), 0, CompressionFraming.Raw)).toBeNull();
307
308
  });
308
309
 
309
310
  it('rejects a missing or corrupt zlib Adler-32 trailer', () => {
310
311
  const valid = decodeBase64(FIXTURES.LITERAL);
311
312
  const corrupt = valid.slice();
312
313
  corrupt[corrupt.length - 1] ^= 1;
313
- expect(inflateDeflate(valid.subarray(0, valid.length - 4), 0, CompressionFraming.Rfc1950)).toBeNull();
314
- expect(inflateDeflate(corrupt, 0, CompressionFraming.Rfc1950)).toBeNull();
314
+ expect(decompressDeflate(valid.subarray(0, valid.length - 4), 0, CompressionFraming.Rfc1950)).toBeNull();
315
+ expect(decompressDeflate(corrupt, 0, CompressionFraming.Rfc1950)).toBeNull();
315
316
  });
316
317
 
317
318
  it('rejects illegal zlib methods, window sizes, check bits, and preset dictionaries', () => {
318
319
  const illegalMethod = decodeBase64(FIXTURES.LITERAL);
319
320
  illegalMethod[0] = 0x77;
320
321
  illegalMethod[1] = 0x09; // FCHECK-valid for CM=7, so only the forbidden compression method rejects it.
321
- expect(inflateDeflate(illegalMethod, 0, CompressionFraming.Rfc1950)).toBeNull();
322
+ expect(decompressDeflate(illegalMethod, 0, CompressionFraming.Rfc1950)).toBeNull();
322
323
 
323
324
  const illegalWindow = decodeBase64(FIXTURES.LITERAL);
324
325
  illegalWindow[0] = 0xf8;
325
326
  illegalWindow[1] = 0x00;
326
- expect(inflateDeflate(illegalWindow, 0, CompressionFraming.Rfc1950)).toBeNull();
327
+ expect(decompressDeflate(illegalWindow, 0, CompressionFraming.Rfc1950)).toBeNull();
327
328
 
328
329
  const illegalCheck = decodeBase64(FIXTURES.LITERAL);
329
330
  illegalCheck[1] ^= 1;
330
- expect(inflateDeflate(illegalCheck, 0, CompressionFraming.Rfc1950)).toBeNull();
331
+ expect(decompressDeflate(illegalCheck, 0, CompressionFraming.Rfc1950)).toBeNull();
331
332
 
332
333
  const presetDictionary = decodeBase64(FIXTURES.LITERAL);
333
334
  presetDictionary[1] = 0xbb;
334
- expect(inflateDeflate(presetDictionary, 0, CompressionFraming.Rfc1950)).toBeNull();
335
+ expect(decompressDeflate(presetDictionary, 0, CompressionFraming.Rfc1950)).toBeNull();
335
336
  });
336
337
 
337
338
  it('rejects a dynamic code-length repeat that exceeds the declared table', () => {
338
- expect(inflateDeflate(decodeHex('05c0050900000000a0ffaf15'), 0, CompressionFraming.Raw)).toEqual(new Uint8Array());
339
- expect(inflateDeflate(decodeHex('05c0050900000000a0ffaf0d'), 0, CompressionFraming.Raw)).toBeNull();
339
+ expect(decompressDeflate(decodeHex('05c0050900000000a0ffaf15'), 0, CompressionFraming.Raw)).toEqual(
340
+ new Uint8Array(),
341
+ );
342
+ expect(decompressDeflate(decodeHex('05c0050900000000a0ffaf0d'), 0, CompressionFraming.Raw)).toBeNull();
340
343
  });
341
344
 
342
345
  it.each([16, 17, 18] as const)('rejects dynamic repeat symbol %i when it exceeds the declared table', (symbol) => {
343
- expect(inflateDeflate(createDynamicRepeatOverflowStream(symbol), 0, CompressionFraming.Raw)).toBeNull();
346
+ expect(decompressDeflate(createDynamicRepeatOverflowStream(symbol), 0, CompressionFraming.Raw)).toBeNull();
344
347
  });
345
348
 
346
349
  it('accepts every dynamic repeat form when it ends inside the declared table', () => {
347
350
  for (const symbol of [16, 17, 18] as const) {
348
- expect(inflateDeflate(createValidDynamicRepeatStream(symbol), 0, CompressionFraming.Raw)).toEqual(
351
+ expect(decompressDeflate(createValidDynamicRepeatStream(symbol), 0, CompressionFraming.Raw)).toEqual(
349
352
  new Uint8Array(),
350
353
  );
351
354
  }
@@ -364,30 +367,29 @@ describe('inflateDeflate', () => {
364
367
  ]),
365
368
  );
366
369
  pushCanonicalCode(bits, 3, 2);
367
- expect(inflateDeflate(packDeflateBits(bits), 0, CompressionFraming.Raw)).toBeNull();
370
+ expect(decompressDeflate(packDeflateBits(bits), 0, CompressionFraming.Raw)).toBeNull();
368
371
  });
369
372
 
370
373
  it('rejects forbidden dynamic literal counts without rejecting the maximum valid count', () => {
371
- expect(inflateDeflate(decodeHex('edc0210900000000a0ffaf5d22'), 0, CompressionFraming.Raw)).toEqual(
374
+ expect(decompressDeflate(decodeHex('edc0210900000000a0ffaf5d22'), 0, CompressionFraming.Raw)).toEqual(
372
375
  new Uint8Array(),
373
376
  );
374
- expect(inflateDeflate(decodeHex('f5c0210900000000a0ffaf7d22'), 0, CompressionFraming.Raw)).toBeNull();
375
- expect(inflateDeflate(decodeHex('fdc0210900000000a0ffaf9d22'), 0, CompressionFraming.Raw)).toBeNull();
377
+ expect(decompressDeflate(decodeHex('f5c0210900000000a0ffaf7d22'), 0, CompressionFraming.Raw)).toBeNull();
378
+ expect(decompressDeflate(decodeHex('fdc0210900000000a0ffaf9d22'), 0, CompressionFraming.Raw)).toBeNull();
376
379
  });
377
380
  });
378
381
 
379
- describe('registerDeflateDecompressor', () => {
380
- afterEach(() => unregisterDecompressor(Compression.Deflate));
381
-
382
- it('puts the inflater in the shared registry every consumer resolves through', () => {
383
- expect(getDecompressor(Compression.Deflate)).toBeNull();
384
-
385
- registerDeflateDecompressor();
382
+ describe('sdkHostDecompressDeflate', () => {
383
+ it('is a ready-made deflate slot carrying the portable inflater', () => {
384
+ // What a caller drops into a Host's decompress group when it wants Flight's own decoder rather
385
+ // than a native or wasm one. There is no registration step and no import-order dependence: the
386
+ // slot IS the value.
387
+ expect(sdkHostDecompressDeflate.decompress).toBe(decompressDeflate);
388
+ });
386
389
 
387
- // One registration is what every container format reads through — none of them owns its own registry.
388
- expect(getDecompressor(Compression.Deflate)).toBe(inflateDeflate);
389
- expect(
390
- getDecompressor(Compression.Deflate)?.(decodeBase64(FIXTURES.LITERAL), 0, CompressionFraming.Rfc1950),
391
- ).toEqual(encode('flighthq scene-formats'));
390
+ it('inflates through the slot exactly as the bare function does', () => {
391
+ expect(sdkHostDecompressDeflate.decompress(decodeBase64(FIXTURES.LITERAL), 0, CompressionFraming.Rfc1950)).toEqual(
392
+ encode('flighthq scene-formats'),
393
+ );
392
394
  });
393
395
  });
@@ -1,6 +0,0 @@
1
- import type { Compression, Decompressor } from '@flighthq/types/contract';
2
- export declare function getDecompressor(compression: Compression): Decompressor | null;
3
- export declare function hasDecompressor(compression: Compression): boolean;
4
- export declare function registerDecompressor(compression: Compression, decompress: Decompressor): void;
5
- export declare function unregisterDecompressor(compression: Compression): void;
6
- //# sourceMappingURL=decompressor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decompressor.d.ts","sourceRoot":"","sources":["../src/decompressor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAU1E,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,IAAI,CAE7E;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAEjE;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,GAAG,IAAI,CAE7F;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAErE"}
@@ -1,22 +0,0 @@
1
- // The one registry every container format resolves through. A caller registers an algorithm once and
2
- // every consumer that carries a compressed body — SWF's `CWS`/`ZWS`, AWD2's compressed blocks, anything
3
- // added later — can read it, rather than each format owning a private registry keyed by its own
4
- // vocabulary and asking the caller to register the same function twice.
5
- //
6
- // It starts empty and is only ever filled by an explicit `register*` call, so importing a codec module
7
- // registers nothing and a build that never decompresses pays for no codec. Registration is
8
- // last-write-wins, which is what lets a host replace a portable decoder with a native or wasm one.
9
- export function getDecompressor(compression) {
10
- return _decompressors.get(compression) ?? null;
11
- }
12
- export function hasDecompressor(compression) {
13
- return _decompressors.has(compression);
14
- }
15
- export function registerDecompressor(compression, decompress) {
16
- _decompressors.set(compression, decompress);
17
- }
18
- export function unregisterDecompressor(compression) {
19
- _decompressors.delete(compression);
20
- }
21
- const _decompressors = new Map();
22
- //# sourceMappingURL=decompressor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decompressor.js","sourceRoot":"","sources":["../src/decompressor.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,wGAAwG;AACxG,gGAAgG;AAChG,wEAAwE;AACxE,EAAE;AACF,uGAAuG;AACvG,2FAA2F;AAC3F,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,WAAwB;IACtD,OAAO,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAwB;IACtD,OAAO,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,WAAwB,EAAE,UAAwB;IACrF,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAwB;IAC7D,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC"}
@@ -1,58 +0,0 @@
1
- import { Compression } from '@flighthq/types/contract';
2
-
3
- import { getDecompressor, hasDecompressor, registerDecompressor, unregisterDecompressor } from './decompressor';
4
-
5
- describe('getDecompressor', () => {
6
- it('reports nothing registered rather than throwing', () => {
7
- expect(getDecompressor(Compression.Deflate)).toBeNull();
8
- expect(getDecompressor(Compression.Lzma)).toBeNull();
9
- });
10
- });
11
-
12
- describe('hasDecompressor', () => {
13
- afterEach(() => unregisterDecompressor(Compression.Lzma));
14
-
15
- it('answers without handing back the implementation', () => {
16
- expect(hasDecompressor(Compression.Lzma)).toBe(false);
17
- registerDecompressor(Compression.Lzma, () => null);
18
- expect(hasDecompressor(Compression.Lzma)).toBe(true);
19
- });
20
- });
21
-
22
- describe('registerDecompressor', () => {
23
- afterEach(() => {
24
- unregisterDecompressor(Compression.Deflate);
25
- unregisterDecompressor(Compression.Lzma);
26
- });
27
-
28
- it('registers per algorithm, last write winning', () => {
29
- const first = (): Uint8Array => new Uint8Array([1]);
30
- const second = (): Uint8Array => new Uint8Array([2]);
31
-
32
- registerDecompressor(Compression.Deflate, first);
33
- expect(getDecompressor(Compression.Deflate)).toBe(first);
34
- // A host replacing a portable decoder with a native or wasm one relies on last-write-wins.
35
- registerDecompressor(Compression.Deflate, second);
36
- expect(getDecompressor(Compression.Deflate)).toBe(second);
37
- // Registering one algorithm leaves the others alone.
38
- expect(getDecompressor(Compression.Lzma)).toBeNull();
39
- });
40
-
41
- it('serves every consumer from the one registration', () => {
42
- const decompress = (): Uint8Array => new Uint8Array([7]);
43
- registerDecompressor(Compression.Deflate, decompress);
44
-
45
- // Whatever container asks — a SWF body, an AWD2 block — resolves the same implementation.
46
- expect(getDecompressor(Compression.Deflate)).toBe(decompress);
47
- expect(getDecompressor(Compression.Deflate)).toBe(getDecompressor(Compression.Deflate));
48
- });
49
- });
50
-
51
- describe('unregisterDecompressor', () => {
52
- it('removes a registration and is safe when none exists', () => {
53
- registerDecompressor(Compression.Deflate, () => new Uint8Array());
54
- unregisterDecompressor(Compression.Deflate);
55
- expect(getDecompressor(Compression.Deflate)).toBeNull();
56
- expect(() => unregisterDecompressor(Compression.Deflate)).not.toThrow();
57
- });
58
- });