@orbit/jsonapi
Version:
JSON:API support for Orbit.
32 lines (31 loc) • 2.01 kB
TypeScript
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;
}