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