UNPKG

@orbit/jsonapi

Version:

JSON:API support for Orbit.

33 lines (32 loc) 966 B
import { Dict } from '@orbit/utils'; import { Link } from '@orbit/records'; export interface ResourceIdentity { id: string; type: string; } export interface ResourceHasOneRelationship { data?: ResourceIdentity | null; meta?: Dict<unknown>; links?: Dict<Link>; } export interface ResourceHasManyRelationship { data?: ResourceIdentity[]; meta?: Dict<unknown>; links?: Dict<Link>; } export declare type ResourceRelationship = ResourceHasOneRelationship | ResourceHasManyRelationship; export interface Resource { id?: string; type: string; attributes?: Dict<unknown>; relationships?: Dict<ResourceRelationship>; meta?: Dict<unknown>; links?: Dict<Link>; } export declare type PrimaryResourceData = Resource | Resource[] | ResourceIdentity | ResourceIdentity[] | null; export interface ResourceDocument { data: PrimaryResourceData; included?: Resource[]; links?: Dict<Link>; meta?: Dict<unknown>; }