Add api-extractor and add required exports

This commit is contained in:
Vanilagy
2024-11-25 21:18:44 +01:00
parent b51b2b1b45
commit 78505bca82
23 changed files with 1423 additions and 491 deletions
+12 -4
View File
@@ -1,20 +1,25 @@
import { Output } from "./output";
import { ArrayBufferTargetWriter, ChunkedStreamTargetWriter, FileSystemWritableFileStreamTargetWriter, StreamTargetWriter, Writer } from "./writer";
/** @public */
export abstract class Target {
output: Output | null = null;
abstract createWriter(): Writer;
/** @internal */
abstract _createWriter(): Writer;
}
/** @public */
export class ArrayBufferTarget extends Target {
buffer: ArrayBuffer | null = null;
createWriter() {
/** @internal */
_createWriter() {
return new ArrayBufferTargetWriter(this);
}
}
/** @public */
export class StreamTarget extends Target {
constructor(public options: {
onData?: (data: Uint8Array, position: number) => void,
@@ -48,11 +53,13 @@ export class StreamTarget extends Target {
}
}
createWriter() {
/** @internal */
_createWriter() {
return this.options.chunked ? new ChunkedStreamTargetWriter(this) : new StreamTargetWriter(this);
}
}
/** @public */
export class FileSystemWritableFileStreamTarget extends Target {
constructor(
public stream: FileSystemWritableFileStream,
@@ -73,7 +80,8 @@ export class FileSystemWritableFileStreamTarget extends Target {
}
}
createWriter() {
/** @internal */
_createWriter() {
return new FileSystemWritableFileStreamTargetWriter(this);
}
}