import { ResourceObject, ResourceObjectOrObjects } from './resourceObjects'; import { Links, Meta, TopLevelJsonApi, TopLevelLinks } from './shared'; /** * A Response for sure containing data. */ export interface ResponseWithData { data: D; included?: ResourceObject[]; links?: TopLevelLinks; jsonapi?: TopLevelJsonApi; errors?: Error[]; meta?: Meta; } /** * A Response for sure containing Errors. */ export interface ResponseWithErrors { data?: D; included?: ResourceObject[]; links?: TopLevelLinks; jsonapi?: TopLevelJsonApi; errors: Error[]; meta?: Meta; } /** * A Response for sure containing top-level Meta data. */ export interface ResponseWithMetaData { data?: D; included?: ResourceObject[]; links?: TopLevelLinks; jsonapi?: TopLevelJsonApi; errors?: Error[]; meta: Meta; } /** * A Response from a JSON API-compliant server. */ export interface Response { data?: D; included?: ResourceObject[]; links?: TopLevelLinks; jsonapi?: TopLevelJsonApi; errors?: Error[]; meta?: Meta; } /** * An Error. */ export interface Error { id?: string; links?: Links; status?: string; code?: string; title?: string; detail?: string; source?: { pointer?: string; parameter?: string; }; meta?: Meta; }