starboard-observable
Version:
Observable-like cell support in Starboard Notebook
33 lines (25 loc) • 960 B
text/typescript
// Note(@gzuidhof): These typings are very incomplete.
export type ObservableModule = {
define(): any;
};
export type ObservableObserver = any;
export interface CompiledObservableCell {
define(module: ObservableModule, observer?: ObservableObserver): void;
redefine(module: ObservableModule, observer?: ObservableObserver): Promise<void>;
}
export type ObservableInterpreter = {
new (params: { module: ObservableModule; observer: ObservableObserver } & any): ObservableInterpreter;
cell(code: string, module: null | ObservableModule, observer?: ObservableObserver): Promise<any>;
};
export type ObservableCompiler = {
cell(contents: string): Promise<CompiledObservableCell>;
module(source: string): ObservableModule;
};
export type ObservableVariable = {
delete(): void;
_observer: any;
};
export type ObservableRuntime = {
module(define?: any, observer?: any): ObservableModule;
dispose(): any;
};