UNPKG

@metadev/essential-core

Version:

Core SDK Metamodeling Framework. Essential

1 lines 2.05 kB
{"version":3,"sources":["../src/modelElement.ts"],"names":["ErrorType","VisitMode"],"mappings":"aAEYA,IAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,OAsBAC,CAAAA,CAAAA,SAAAA,EAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA","file":"modelElement.cjs","sourcesContent":["// ModelElement, Error definitions\r\n\r\nexport enum ErrorType {\r\n None = 0,\r\n Info = 1,\r\n Warning = 2,\r\n Error = 3\r\n}\r\nexport interface Location {\r\n filename: string;\r\n start: Position;\r\n end: Position;\r\n}\r\nexport interface Position {\r\n line: number;\r\n col: number;\r\n}\r\n\r\nexport interface IError {\r\n message: string;\r\n element?: ModelElement;\r\n type: ErrorType;\r\n location: Location;\r\n}\r\nexport enum VisitMode {\r\n PreOrder = 0,\r\n PostOrder = 1\r\n}\r\nexport interface MetaInfo {\r\n id: string;\r\n model?: Model;\r\n parent?: ModelElement;\r\n location?: Location;\r\n}\r\nexport interface ModelElement {\r\n _meta: MetaInfo;\r\n\r\n getId(): string;\r\n getTypeName(): string;\r\n toString(): string;\r\n toJson(): string;\r\n toEssential(): string;\r\n validate(): IError[];\r\n visit(visitMode: VisitMode, action: (el: ModelElement) => void): void;\r\n\r\n // equality. to be overrided\r\n identity(): unknown;\r\n hashCodeElement(): number;\r\n\r\n // equality. generic\r\n hashCode(): number;\r\n sameConcept(b: ModelElement | null | undefined): boolean;\r\n equals(b: ModelElement): boolean;\r\n\r\n // mergeWith(b: ModelElement): void;\r\n // diffWith(b: ModelElement): Difference[];\r\n}\r\n\r\nexport interface Model extends ModelElement {\r\n modelName: string;\r\n version: string;\r\n}\r\n"]}