Current section
Files
Jump to
Current section
Files
src/gossamer/writable_stream/writer.ffi.mjs
// src/utils/result.ts
import { Result$Error, Result$Ok } from "../../../prelude.mjs";
function toResult(value) {
return value === null || value === void 0 ? Result$Error(void 0) : Result$Ok(value);
}
toResult.fromThrows = function(throws) {
try {
return Result$Ok(throws());
} catch (error) {
return Result$Error(
error instanceof Error ? error.message : String(error)
);
}
};
toResult.fromPromise = function(promise) {
return promise.then(
(value) => Result$Ok(value),
(error) => Result$Error(error instanceof Error ? error.message : String(error))
);
};
// src/gossamer/writable_stream/writer.ffi.ts
var closed = (writer) => {
return toResult.fromPromise(writer.closed.then(() => void 0));
};
var desired_size = (writer) => {
return toResult(writer.desiredSize);
};
var ready = (writer) => {
return toResult.fromPromise(writer.ready.then(() => void 0));
};
var abort = (writer, reason) => {
return toResult.fromPromise(writer.abort(reason).then(() => void 0));
};
var close = (writer) => {
return toResult.fromPromise(writer.close().then(() => void 0));
};
var release_lock = (writer) => {
return toResult.fromThrows(() => {
writer.releaseLock();
return writer;
});
};
var write = (writer, chunk) => {
return toResult.fromPromise(writer.write(chunk).then(() => void 0));
};
export {
abort,
close,
closed,
desired_size,
ready,
release_lock,
write
};