UNPKG

@n0safe/indirectus

Version:
44 lines 1.52 kB
import type { DirectusField, DirectusRelation } from "./schema"; export type RelationshipReference = { collection: string; pk: string; }; export type OneToMany = { type: "o2m"; collection: string; field: string; many: true; ref: RelationshipReference; }; export type ManyToOne = { type: "m2o"; collection: string; field: string; many: false; ref: RelationshipReference; }; export type AnyToOne = { type: "a2o"; collection: string; field: string; refs: RelationshipReference[]; }; export type Unmapped = { type: "unmapped"; collection: string; }; export type Relationship = Unmapped | OneToMany | ManyToOne | AnyToOne | null; export declare class UnmappedRelationship extends Error { readonly collection: string; constructor(collection: string); } export declare function isRelationship(relationship?: Relationship): relationship is Exclude<Relationship, null>; export declare function isOneToMany(relationship?: Relationship): relationship is OneToMany; export declare function isUnmapped(relationship?: Relationship): relationship is Unmapped; export declare function isManyToOne(relationship?: Relationship): relationship is ManyToOne; export declare function isAnyToOne(relationship?: Relationship): relationship is AnyToOne; export declare function getRelationship(fields: DirectusField[], relations: DirectusRelation[], context: { collection: string; field: string; }): Relationship; //# sourceMappingURL=relationships.d.ts.map