@micro-frame/marko
Version:
A Marko tag for building SSR friendly micro frontends.
22 lines (21 loc) • 772 B
TypeScript
type InvalidateHandler = (newSrc: string) => void;
export type StreamWritable = AsyncIterator<string> & {
write(data: string): void;
error(reason: unknown): void;
end(): void;
};
export declare class StreamSource {
private readonly _slots;
private _invalidateHandlers;
private _closed;
private getOrCreateSlot;
run(parserIterator: AsyncIterator<string[]>): Promise<void>;
slot(id: string): StreamWritable | undefined;
close(err?: Error): void;
onInvalidate(handler: InvalidateHandler): void;
offInvalidate(handler: InvalidateHandler): void;
invalidate(newSrc: string): void;
}
export declare function getSource(name: string, out?: any): StreamSource;
export declare function createWritable(): StreamWritable;
export {};