@dineug/erd-editor
Version:
Entity-Relationship Diagram Editor
24 lines (23 loc) • 1.05 kB
TypeScript
import { Subject } from 'rxjs';
import { Actions } from '../engine/actions';
import { EngineContext, InjectEngineContext } from '../engine/context';
import { RxStore, RxStoreOptions } from '../engine/rx-store';
import { Ctx } from '../internal-types';
import { Emitter } from '../utils/emitter';
import { KeyBindingMap, KeyBindingName } from '../utils/keyboard-shortcut';
export type AppContext = EngineContext & {
actions: Actions;
store: RxStore;
keyBindingMap: KeyBindingMap;
shortcut$: Subject<{
type: KeyBindingName;
event: KeyboardEvent;
}>;
keydown$: Subject<KeyboardEvent>;
emitter: Emitter;
};
export type InjectAppContext = InjectEngineContext;
export declare function createAppContext(ctx: InjectAppContext, options?: RxStoreOptions): AppContext;
export declare const appContext: import('@dineug/r-html').Context<AppContext>;
export declare const useAppContext: (ctx: Ctx, fallback?: AppContext) => import('@dineug/r-html').Ref<AppContext>;
export declare function appDestroy(app: AppContext): void;