mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
refactor: Move bin ops to deno_core and unify logic with json ops (#9457)
This commit moves implementation of bin ops to "deno_core" crates as well as unifying logic between bin ops and json ops to reuse as much code as possible (both in Rust and JavaScript).
This commit is contained in:
parent
0d26a82ea9
commit
1251c89321
16 changed files with 410 additions and 606 deletions
|
@ -6,8 +6,8 @@
|
|||
"use strict";
|
||||
|
||||
((window) => {
|
||||
const core = window.Deno.core;
|
||||
const DEFAULT_BUFFER_SIZE = 32 * 1024;
|
||||
const { bufferOpSync, bufferOpAsync } = window.__bootstrap.dispatchBuffer;
|
||||
// Seek whence values.
|
||||
// https://golang.org/pkg/io/#pkg-constants
|
||||
const SeekMode = {
|
||||
|
@ -81,7 +81,7 @@
|
|||
return 0;
|
||||
}
|
||||
|
||||
const nread = bufferOpSync("op_read_sync", rid, buffer);
|
||||
const nread = core.binOpSync("op_read_sync", rid, buffer);
|
||||
if (nread < 0) {
|
||||
throw new Error("read error");
|
||||
}
|
||||
|
@ -97,7 +97,7 @@
|
|||
return 0;
|
||||
}
|
||||
|
||||
const nread = await bufferOpAsync("op_read_async", rid, buffer);
|
||||
const nread = await core.binOpAsync("op_read_async", rid, buffer);
|
||||
if (nread < 0) {
|
||||
throw new Error("read error");
|
||||
}
|
||||
|
@ -106,7 +106,7 @@
|
|||
}
|
||||
|
||||
function writeSync(rid, data) {
|
||||
const result = bufferOpSync("op_write_sync", rid, data);
|
||||
const result = core.binOpSync("op_write_sync", rid, data);
|
||||
if (result < 0) {
|
||||
throw new Error("write error");
|
||||
}
|
||||
|
@ -115,7 +115,7 @@
|
|||
}
|
||||
|
||||
async function write(rid, data) {
|
||||
const result = await bufferOpAsync("op_write_async", rid, data);
|
||||
const result = await core.binOpAsync("op_write_async", rid, data);
|
||||
if (result < 0) {
|
||||
throw new Error("write error");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue