UNPKG

nosql-constraints

Version:

Helpers to manage constrants (i.e. cascade delete) in a NoSQL database

25 lines (24 loc) 1.35 kB
import { type UnknownStringRecord } from 'typesafe-utilities'; import { IDiGraph } from 'ya-digraph-js'; import { DocumentSchemaAdapter } from '../adapter/schema'; import { Constraints } from './constraints.js'; import { Constraint, DocumentReference } from './types'; type _ConstraintVertex = DocumentReference<UnknownStringRecord>; type _ConstraintEdge = Constraint<UnknownStringRecord, UnknownStringRecord>; export declare class ConstraintsFactory { #private; get constraintsGraph(): IDiGraph<_ConstraintVertex, _ConstraintEdge>; addDocumentSchema(containerId: string, schema: DocumentSchemaAdapter): void; private findDocumentSchemaChunks; private validateDocumentReference; private findPropertySchemaChunksForProperty; private findDocumentSchemaChunksForProperty; private validateConstraint; private constructDocRefVertex; private constructAndFilterVertices; addConstraint<TReferencing extends UnknownStringRecord, TReferenced extends UnknownStringRecord>(referencing: DocumentReference<TReferencing>, constraint: Constraint<TReferencing, TReferenced>, referenced: DocumentReference<TReferenced>): void; addCompoundConstraint<TDoc extends UnknownStringRecord>(compound: DocumentReference<TDoc>, constraint: Constraint<TDoc, TDoc>): void; validate(): void; build(): Constraints; } export {};