UNPKG

@reactodia/workspace

Version:

Reactodia Workspace -- library for visual interaction with graphs in a form of a diagram.

65 lines 2.33 kB
import * as Rdf from './rdf/rdfModel'; export type ElementIri = string & { readonly __iriBrand?: 'element'; }; export type ElementTypeIri = string & { readonly __iriBrand?: 'elementType'; }; export type LinkTypeIri = string & { readonly __iriBrand?: 'linkType'; }; export type PropertyTypeIri = string & { readonly __iriBrand?: 'propertyType'; }; export type LinkDirection = 'in' | 'out'; export interface ElementTypeGraph { readonly elementTypes: ReadonlyArray<ElementTypeModel>; readonly subtypeOf: ReadonlyArray<SubtypeEdge>; } export type SubtypeEdge = readonly [derived: ElementTypeIri, base: ElementTypeIri]; export interface ElementModel { readonly id: ElementIri; readonly types: ReadonlyArray<ElementTypeIri>; readonly properties: { readonly [id: string]: ReadonlyArray<Rdf.NamedNode | Rdf.Literal>; }; } export interface LinkKey { readonly linkTypeId: LinkTypeIri; readonly sourceId: ElementIri; readonly targetId: ElementIri; } export interface LinkModel { readonly linkTypeId: LinkTypeIri; readonly sourceId: ElementIri; readonly targetId: ElementIri; readonly properties: { readonly [id: string]: ReadonlyArray<Rdf.NamedNode | Rdf.Literal>; }; } export interface ElementTypeModel { readonly id: ElementTypeIri; readonly label: ReadonlyArray<Rdf.Literal>; readonly count?: number; } export interface LinkTypeModel { readonly id: LinkTypeIri; readonly label: ReadonlyArray<Rdf.Literal>; readonly count?: number; } export interface PropertyTypeModel { readonly id: PropertyTypeIri; readonly label: ReadonlyArray<Rdf.Literal>; } export declare function isEncodedBlank(iri: string): boolean; export declare function hashSubtypeEdge(edge: SubtypeEdge): number; export declare function equalSubtypeEdges(a: SubtypeEdge, b: SubtypeEdge): boolean; export declare function equalLinks(left: LinkKey, right: LinkKey): boolean; export declare function hashLink(link: LinkKey): number; export declare function equalElements(a: ElementModel, b: ElementModel): boolean; export declare function equalProperties(a: { readonly [id: string]: ReadonlyArray<Rdf.NamedNode | Rdf.Literal>; }, b: { readonly [id: string]: ReadonlyArray<Rdf.NamedNode | Rdf.Literal>; }): boolean; //# sourceMappingURL=model.d.ts.map