Current section

Files

Jump to
gossamer src gossamer readable_stream byob_reader.ffi.mjs
Raw

src/gossamer/readable_stream/byob_reader.ffi.mjs

// src/gossamer/readable_stream/byob_reader.ffi.ts
import * as $byobReader from "./byob_reader.mjs";
import { toReadResult } from "./read_result.ffi.mjs";
import { toArray } from "../../utils/list.ffi.mjs";
import { toResult } from "../../utils/result.ffi.mjs";
function toByobReaderReadOptions(options) {
const result = {};
for (const option of toArray(options)) {
if ($byobReader.ByobReaderReadOption$isMin(option)) {
result.min = $byobReader.ByobReaderReadOption$Min$0(option);
}
}
return result;
}
var closed = (reader) => {
return toResult.fromPromise(reader.closed.then(() => void 0));
};
var cancel = (reader, reason) => {
return toResult.fromPromise(reader.cancel(reason).then(() => void 0));
};
var read = (reader, view, options) => {
return toResult.fromPromise(
reader.read(view, toByobReaderReadOptions(options)).then(toReadResult)
);
};
var release_lock = (reader) => {
return toResult.fromThrows(() => {
reader.releaseLock();
return reader;
});
};
export {
cancel,
closed,
read,
release_lock
};