UNPKG

@orbit/jsonapi

Version:

JSON:API support for Orbit.

32 lines (31 loc) 2.01 kB
import { RecordSchema, RecordKeyMap } from '@orbit/records'; import { BaseSerializer, SerializerForFn, StringSerializer } from '@orbit/serializers'; import { JSONAPIResourceIdentitySerializer } from './jsonapi-resource-identity-serializer'; import { JSONAPIResourceSerializer } from './jsonapi-resource-serializer'; import { JSONAPIAtomicOperationSerializer } from './jsonapi-atomic-operation-serializer'; import { JSONAPIResourceFieldSerializer } from './jsonapi-resource-field-serializer'; import { JSONAPIAtomicOperationsDocumentSerializer } from './jsonapi-atomic-operations-document-serializer'; import { JSONAPIAtomicResultsDocumentSerializer } from './jsonapi-atomic-results-document-serializer'; import { JSONAPIDocumentSerializer } from './jsonapi-document-serializer'; export declare abstract class JSONAPIBaseSerializer<From, To, SerializationOptions, DeserializationOptions> extends BaseSerializer<From, To, SerializationOptions, DeserializationOptions> { serializerFor: SerializerForFn; protected _schema: RecordSchema; protected _keyMap?: RecordKeyMap; constructor(settings: { serializerFor: SerializerForFn; serializationOptions?: SerializationOptions; deserializationOptions?: DeserializationOptions; schema: RecordSchema; keyMap?: RecordKeyMap; }); get schema(): RecordSchema; get keyMap(): RecordKeyMap | undefined; protected get resourceSerializer(): JSONAPIResourceSerializer; protected get documentSerializer(): JSONAPIDocumentSerializer; protected get identitySerializer(): JSONAPIResourceIdentitySerializer; protected get typeSerializer(): StringSerializer; protected get fieldSerializer(): JSONAPIResourceFieldSerializer; protected get atomicOperationSerializer(): JSONAPIAtomicOperationSerializer; protected get atomicOperationsDocumentSerializer(): JSONAPIAtomicOperationsDocumentSerializer; protected get atomicResultsDocumentSerializer(): JSONAPIAtomicResultsDocumentSerializer; }