summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/_brotli.js
diff options
context:
space:
mode:
authorKenta Moriuchi <moriken@kimamass.com>2024-01-11 07:37:25 +0900
committerGitHub <noreply@github.com>2024-01-10 15:37:25 -0700
commit515a34b4de222e35c7ade1b92614d746e73d4c2e (patch)
tree8284201fc826a33f12597959a8a8be14e0f524bd /ext/node/polyfills/_brotli.js
parentd4893eb51a01c5a692d8ca74a3b8ff95c5fd1d9f (diff)
refactor: use `core.ensureFastOps()` (#21888)
Diffstat (limited to 'ext/node/polyfills/_brotli.js')
-rw-r--r--ext/node/polyfills/_brotli.js34
1 files changed, 21 insertions, 13 deletions
diff --git a/ext/node/polyfills/_brotli.js b/ext/node/polyfills/_brotli.js
index bdde3cc40..26628dde9 100644
--- a/ext/node/polyfills/_brotli.js
+++ b/ext/node/polyfills/_brotli.js
@@ -3,15 +3,23 @@
// TODO(petamoriken): enable prefer-primordials for node polyfills
// deno-lint-ignore-file prefer-primordials
+import { core } from "ext:core/mod.js";
+const {
+ op_brotli_compress,
+ op_brotli_compress_async,
+ op_brotli_compress_stream,
+ op_brotli_compress_stream_end,
+ op_brotli_decompress,
+ op_brotli_decompress_async,
+ op_brotli_decompress_stream,
+ op_create_brotli_compress,
+ op_create_brotli_decompress,
+} = core.ensureFastOps();
+
import { zlib as constants } from "ext:deno_node/internal_binding/constants.ts";
import { TextEncoder } from "ext:deno_web/08_text_encoding.js";
import { Transform } from "node:stream";
import { Buffer } from "node:buffer";
-const { core } = globalThis.__bootstrap;
-const { ops } = core;
-const {
- op_brotli_compress_async,
-} = core.ensureFastOps();
const enc = new TextEncoder();
const toU8 = (input) => {
@@ -44,7 +52,7 @@ export class BrotliDecompress extends Transform {
transform(chunk, _encoding, callback) {
const input = toU8(chunk);
const output = new Uint8Array(1024);
- const avail = ops.op_brotli_decompress_stream(context, input, output);
+ const avail = op_brotli_decompress_stream(context, input, output);
this.push(output.slice(0, avail));
callback();
},
@@ -54,7 +62,7 @@ export class BrotliDecompress extends Transform {
},
});
- this.#context = ops.op_create_brotli_decompress();
+ this.#context = op_create_brotli_decompress();
const context = this.#context;
}
}
@@ -68,20 +76,20 @@ export class BrotliCompress extends Transform {
transform(chunk, _encoding, callback) {
const input = toU8(chunk);
const output = new Uint8Array(brotliMaxCompressedSize(input.length));
- const avail = ops.op_brotli_compress_stream(context, input, output);
+ const avail = op_brotli_compress_stream(context, input, output);
this.push(output.slice(0, avail));
callback();
},
flush(callback) {
const output = new Uint8Array(1024);
- const avail = ops.op_brotli_compress_stream_end(context, output);
+ const avail = op_brotli_compress_stream_end(context, output);
this.push(output.slice(0, avail));
callback();
},
});
const params = Object.values(options?.params ?? {});
- this.#context = ops.op_create_brotli_compress(params);
+ this.#context = op_create_brotli_compress(params);
const context = this.#context;
}
}
@@ -138,17 +146,17 @@ export function brotliCompressSync(
const output = new Uint8Array(brotliMaxCompressedSize(buf.length));
const { quality, lgwin, mode } = oneOffCompressOptions(options);
- const len = ops.op_brotli_compress(buf, output, quality, lgwin, mode);
+ const len = op_brotli_compress(buf, output, quality, lgwin, mode);
return Buffer.from(output.subarray(0, len));
}
export function brotliDecompress(input) {
const buf = toU8(input);
- return ops.op_brotli_decompress_async(buf)
+ return op_brotli_decompress_async(buf)
.then((result) => callback(null, Buffer.from(result)))
.catch((err) => callback(err));
}
export function brotliDecompressSync(input) {
- return Buffer.from(ops.op_brotli_decompress(toU8(input)));
+ return Buffer.from(op_brotli_decompress(toU8(input)));
}