Skip to main content

Class: ObjectDeserializer<AdapterData, Resource, Extract, Data>

object.ObjectDeserializer

Type parameters

NameType
AdapterDataAdapterData
ResourceResource
Extractextends ObjectExtractedData<Resource> = ObjectExtractedData<Resource>
Dataextends DeserializedData = DeserializedData

Hierarchy

Implements

Constructors

constructor

new ObjectDeserializer<AdapterData, Resource, Extract, Data>(config?)

Type parameters

NameType
AdapterDataAdapterData
ResourceResource
Extractextends ObjectExtractedData<Resource> = ObjectExtractedData<Resource>
Dataextends DeserializedData = DeserializedData

Parameters

NameType
config?ObjectDeserializerConfig

Defined in

src/object/objectDeserializer.ts:41

Properties

NON_IDENTIFIED_LOCAL_ID

Static Protected NON_IDENTIFIED_LOCAL_ID: string = '__non_identified__'

Defined in

src/object/objectDeserializer.ts:39

Methods

configure

configure(config?, override?): void

Parameters

NameTypeDefault value
config?ObjectDeserializerConfigundefined
overridebooleantrue

Returns

void

Defined in

src/object/objectDeserializer.ts:45


deserialize

deserialize(data, context): Promise<Data>

Parameters

NameType
dataAdapterData
contextObject

Returns

Promise<Data>

Implementation of

DeserializerI.deserialize

Defined in

src/object/objectDeserializer.ts:49


deserializeAttributeValue

Protected deserializeAttributeValue(_instance, def, rawValue, _context): Promise<unknown>

Parameters

NameType
_instanceModelInstance
defModelAttribute
rawValueunknown
_contextObject

Returns

Promise<unknown>

Defined in

src/object/objectDeserializer.ts:432


deserializeRelationValue

Protected deserializeRelationValue(extractedData, instancesMap, instance, def, rawValue, context): Promise<undefined | null | ModelInstance | Resource | { $MODEL_TYPE: "instance" ; $loaded: Dictionary<true> ; $model: ModelClass<any> ; $original: ModelSnapshot<any> ; $raw: any ; $values: Partial<ModelValues<any>> ; exists: boolean } & ModelDefinitionWritableValues<any> & Readonly<Pick<ModelDefinitionProperties<any>, string>> & ModelDefinitionDescriptors<any>[]>

Parameters

NameType
extractedDataExtract
instancesMapdefault<string, ModelIdType, Promise<ModelInstance>>
instanceModelInstance
defModelRelation
rawValueOptional<Resource | Resource[]>
contextObject

Returns

Promise<undefined | null | ModelInstance | Resource | { $MODEL_TYPE: "instance" ; $loaded: Dictionary<true> ; $model: ModelClass<any> ; $original: ModelSnapshot<any> ; $raw: any ; $values: Partial<ModelValues<any>> ; exists: boolean } & ModelDefinitionWritableValues<any> & Readonly<Pick<ModelDefinitionProperties<any>, string>> & ModelDefinitionDescriptors<any>[]>

Defined in

src/object/objectDeserializer.ts:443


deserializeResource

Protected deserializeResource(extractedData, instancesMap, resource, context, parent?, relation?): Promise<ModelInstance>

Parameters

NameType
extractedDataExtract
instancesMapdefault<string, ModelIdType, Promise<ModelInstance>>
resourceResource
contextObject
parent?ModelInstance
relation?ModelRelation

Returns

Promise<ModelInstance>

Defined in

src/object/objectDeserializer.ts:119


deserializeResourceOnInstance

Protected deserializeResourceOnInstance(extractedData, instancesMap, resource, identifier, instance, context): Promise<ModelInstance>

Parameters

NameType
extractedDataExtract
instancesMapdefault<string, ModelIdType, Promise<ModelInstance>>
resourceResource
identifierObjectNormalizedIdentifier
instanceModelInstance
contextObject

Returns

Promise<ModelInstance>

Defined in

src/object/objectDeserializer.ts:156


extractAttributeValue

Protected extractAttributeValue(_extractedData, resource, serializedKey, context): Promise<unknown>

Parameters

NameType
_extractedDataExtract
resourceResource
serializedKeystring
contextObject

Returns

Promise<unknown>

Defined in

src/object/objectDeserializer.ts:338


extractData

Protected Abstract extractData(data, context): Promise<Extract>

Parameters

NameType
dataAdapterData
contextObject

Returns

Promise<Extract>

Defined in

src/object/objectDeserializer.ts:74


extractIdentifier

Protected extractIdentifier(resource, context, parent?, relation?): Promise<ObjectNormalizedIdentifier>

Parameters

NameType
resourceResource
contextObject
parent?ModelInstance
relation?ModelRelation

Returns

Promise<ObjectNormalizedIdentifier>

Defined in

src/object/objectDeserializer.ts:218


extractLocalId

Protected extractLocalId(_resource, identifier, _context): Promise<ModelIdType>

Parameters

NameType
_resourceResource
identifierObjectNormalizedIdentifier
_contextObject

Returns

Promise<ModelIdType>

Defined in

src/object/objectDeserializer.ts:248


extractOptionalIdentifier

Protected Abstract extractOptionalIdentifier(resource, context, parent?, relation?): Promise<ObjectOptionalIdentifier>

Parameters

NameType
resourceResource
contextObject
parent?ModelInstance
relation?ModelRelation

Returns

Promise<ObjectOptionalIdentifier>

Defined in

src/object/objectDeserializer.ts:76


extractPropValue

Protected extractPropValue(_resource, _serializedKey, _context): Promise<unknown>

Parameters

NameType
_resourceResource
_serializedKeystring
_contextObject

Returns

Promise<unknown>

Defined in

src/object/objectDeserializer.ts:328


extractRelationValue

Protected extractRelationValue(_extractedData, resource, serializedKey, context): Promise<Optional<Resource | Resource[]>>

Parameters

NameType
_extractedDataExtract
resourceResource
serializedKeystring
contextObject

Returns

Promise<Optional<Resource | Resource[]>>

Defined in

src/object/objectDeserializer.ts:347


findInstance

Protected findInstance(_resource, identifier, context): Promise<null | ModelInstance>

Parameters

NameType
_resourceResource
identifierObjectNormalizedIdentifier
contextObject

Returns

Promise<null | ModelInstance>

Defined in

src/object/objectDeserializer.ts:265


findOrMakeInstance

Protected findOrMakeInstance(resource, identifier, context): Promise<ModelInstance>

Parameters

NameType
resourceResource
identifierObjectNormalizedIdentifier
contextObject

Returns

Promise<ModelInstance>

Defined in

src/object/objectDeserializer.ts:256


hydrateAttributeInInstance

Protected hydrateAttributeInInstance(instance, def, value): Promise<void>

Parameters

NameType
instanceModelInstance
defModelAttribute
valueunknown

Returns

Promise<void>

Defined in

src/object/objectDeserializer.ts:369


hydratePropInInstance

Protected hydratePropInInstance(instance, def, value): void

Parameters

NameType
instanceModelInstance
defModelRelation | ModelAttribute
valueunknown

Returns

void

Defined in

src/object/objectDeserializer.ts:360


hydrateRelationInInstance

Protected hydrateRelationInInstance(instance, def, value): Promise<void>

Parameters

NameType
instanceModelInstance
defModelRelation
valueunknown

Returns

Promise<void>

Defined in

src/object/objectDeserializer.ts:377


initInstancesMap

Protected initInstancesMap(): Promise<default<string, ModelIdType, Promise<ModelInstance>>>

Returns

Promise<default<string, ModelIdType, Promise<ModelInstance>>>

Defined in

src/object/objectDeserializer.ts:83


makeDeserializedData

Protected Abstract makeDeserializedData(instances, extractedData): Promise<Data>

Parameters

NameType
instancesModelInstance[]
extractedDataExtract

Returns

Promise<Data>

Defined in

src/object/objectDeserializer.ts:69


makeInstance

Protected makeInstance(_resource, identifier, context): Promise<ModelInstance>

Parameters

NameType
_resourceResource
identifierObjectNormalizedIdentifier
contextObject

Returns

Promise<ModelInstance>

Defined in

src/object/objectDeserializer.ts:283


prepareInstancesMap

Protected prepareInstancesMap(extractedData, instancesMap, context): Promise<void>

Parameters

NameType
extractedDataExtract
instancesMapdefault<string, ModelIdType, Promise<ModelInstance>>
contextObject

Returns

Promise<void>

Defined in

src/object/objectDeserializer.ts:87


releaseInstance

Protected releaseInstance(resource, instance, context): Promise<void>

Parameters

NameType
resourceResource
instanceModelInstance
contextObject

Returns

Promise<void>

Defined in

src/object/objectDeserializer.ts:306


serializeAttributeKey

Protected serializeAttributeKey(instance, def, _context): Promise<string>

Parameters

NameType
instanceModelInstance
defModelAttribute
_contextObject

Returns

Promise<string>

Defined in

src/object/objectDeserializer.ts:388


serializeRelationKey

Protected serializeRelationKey(instance, def, _context): Promise<string>

Parameters

NameType
instanceModelInstance
defModelRelation
_contextObject

Returns

Promise<string>

Defined in

src/object/objectDeserializer.ts:396


shouldDeserializeAttribute

Protected shouldDeserializeAttribute(instance, def, rawValue, context): Promise<boolean>

Parameters

NameType
instanceModelInstance
defModelAttribute
rawValueunknown
contextObject

Returns

Promise<boolean>

Defined in

src/object/objectDeserializer.ts:404


shouldDeserializeProp

Protected shouldDeserializeProp(_instance, def, rawValue, _context): Promise<boolean>

Parameters

NameType
_instanceModelInstance
defModelRelation | ModelAttribute
rawValueunknown
_contextObject

Returns

Promise<boolean>

Defined in

src/object/objectDeserializer.ts:422


shouldDeserializeRelation

Protected shouldDeserializeRelation(instance, def, rawValue, context): Promise<boolean>

Parameters

NameType
instanceModelInstance
defModelRelation
rawValueunknown
contextObject

Returns

Promise<boolean>

Defined in

src/object/objectDeserializer.ts:413