UNPKG

@eang/core

Version:

eang - model driven enterprise event processing

79 lines (78 loc) 2.52 kB
export interface DiagramViewport { scale: number; translateX: number; translateY: number; } export interface DiagramPoint { x: number; y: number; } export interface DiagramSize { width: number; height: number; } export interface DiagramObjOccurrencePort { x?: number; y?: number; side?: string; } export interface DiagramObjOccurrence { id: string; entityId: string; position: DiagramPoint; size?: DiagramSize; angle?: number; z?: number; shape?: string; style?: Record<string, unknown>; ports?: Record<string, DiagramObjOccurrencePort>; label?: string; } export interface DiagramCnxOccurrenceLabel { id: string; text: string; position?: number; } export interface DiagramCnxOccurrence { id: string; entityId?: string; sourceOccurrenceId: string; targetOccurrenceId: string; sourcePortId?: string; targetPortId?: string; vertices?: DiagramPoint[]; labels?: DiagramCnxOccurrenceLabel[]; style?: Record<string, unknown>; z?: number; } export interface DiagramTextOccurrence { id: string; text: string; position: DiagramPoint; size?: DiagramSize; style?: Record<string, unknown>; z?: number; } export interface DiagramOccurrences { objs: Record<string, DiagramObjOccurrence>; cnxs: Record<string, DiagramCnxOccurrence>; texts?: Record<string, DiagramTextOccurrence>; } export interface DiagramDocumentV1 extends Record<string, unknown> { version: 1; viewport: DiagramViewport; occurrences: DiagramOccurrences; order?: string[]; } export type DiagramDocument = DiagramDocumentV1; export type DiagramOccurrenceType = 'obj' | 'cnx' | 'text'; export interface DiagramPatchOperation { op: 'set_viewport' | 'put_obj_occurrence' | 'patch_obj_occurrence' | 'delete_obj_occurrence' | 'put_cnx_occurrence' | 'patch_cnx_occurrence' | 'delete_cnx_occurrence' | 'put_text_occurrence' | 'patch_text_occurrence' | 'delete_text_occurrence' | 'reorder'; occurrenceType?: DiagramOccurrenceType; occurrenceId?: string; value?: unknown; } export declare function createEmptyDiagramDocument(): DiagramDocumentV1; export declare function isDiagramDocument(value: unknown): value is DiagramDocument; export declare function applyDiagramPatch(document: DiagramDocument, patch: DiagramPatchOperation[]): DiagramDocument; export declare function applyDiagramPatchOperation(document: DiagramDocument, operation: DiagramPatchOperation): DiagramDocument;