Current section

Files

Jump to
gossamer src gossamer transform_stream.ffi.mjs
Raw

src/gossamer/transform_stream.ffi.mjs

// src/gossamer/transform_stream.ffi.ts
import * as $transformStream from "./transform_stream.mjs";
import { toArray } from "../utils/list.ffi.mjs";
import { toResult } from "../utils/result.ffi.mjs";
function toTransformer(options) {
const result = {};
for (const option of options) {
if ($transformStream.Transformer$isStart(option)) {
result.start = $transformStream.Transformer$Start$0(option);
} else if ($transformStream.Transformer$isTransform(option)) {
result.transform = $transformStream.Transformer$Transform$0(option);
} else if ($transformStream.Transformer$isFlush(option)) {
result.flush = $transformStream.Transformer$Flush$0(option);
} else if ($transformStream.Transformer$isCancel(option)) {
result.cancel = $transformStream.Transformer$Cancel$0(option);
}
}
return result;
}
var new_ = (transformer) => {
return toResult.fromThrows(
() => new TransformStream(toTransformer(toArray(transformer)))
);
};
var from_transform = (transform) => {
return new TransformStream({ transform });
};
var readable = (stream) => {
return stream.readable;
};
var writable = (stream) => {
return stream.writable;
};
export {
from_transform,
new_,
readable,
writable
};