Class: ObjectDeserializer<AdapterData, Resource, Extract, Data>
object.ObjectDeserializer
Type parameters
Name | Type |
---|---|
AdapterData | AdapterData |
Resource | Resource |
Extract | extends ObjectExtractedData <Resource > = ObjectExtractedData <Resource > |
Data | extends DeserializedData = DeserializedData |
Hierarchy
ObjectDeserializer
Implements
DeserializerI
<AdapterData
,Data
>
Constructors
constructor
• new ObjectDeserializer<AdapterData
, Resource
, Extract
, Data
>(config?
)
Type parameters
Name | Type |
---|---|
AdapterData | AdapterData |
Resource | Resource |
Extract | extends ObjectExtractedData <Resource > = ObjectExtractedData <Resource > |
Data | extends DeserializedData = DeserializedData |
Parameters
Name | Type |
---|---|
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
Name | Type | Default value |
---|---|---|
config? | ObjectDeserializerConfig | undefined |
override | boolean | true |
Returns
void
Defined in
src/object/objectDeserializer.ts:45
deserialize
▸ deserialize(data
, context
): Promise
<Data
>
Parameters
Name | Type |
---|---|
data | AdapterData |
context | Object |
Returns
Promise
<Data
>
Implementation of
DeserializerI.deserialize
Defined in
src/object/objectDeserializer.ts:49
deserializeAttributeValue
▸ Protected
deserializeAttributeValue(_instance
, def
, rawValue
, _context
): Promise
<unknown
>
Parameters
Name | Type |
---|---|
_instance | ModelInstance |
def | ModelAttribute |
rawValue | unknown |
_context | Object |
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
Name | Type |
---|---|
extractedData | Extract |
instancesMap | default <string , ModelIdType , Promise <ModelInstance >> |
instance | ModelInstance |
def | ModelRelation |
rawValue | Optional <Resource | Resource []> |
context | Object |
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
Name | Type |
---|---|
extractedData | Extract |
instancesMap | default <string , ModelIdType , Promise <ModelInstance >> |
resource | Resource |
context | Object |
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
Name | Type |
---|---|
extractedData | Extract |
instancesMap | default <string , ModelIdType , Promise <ModelInstance >> |
resource | Resource |
identifier | ObjectNormalizedIdentifier |
instance | ModelInstance |
context | Object |
Returns
Promise
<ModelInstance
>
Defined in
src/object/objectDeserializer.ts:156
extractAttributeValue
▸ Protected
extractAttributeValue(_extractedData
, resource
, serializedKey
, context
): Promise
<unknown
>
Parameters
Name | Type |
---|---|
_extractedData | Extract |
resource | Resource |
serializedKey | string |
context | Object |
Returns
Promise
<unknown
>
Defined in
src/object/objectDeserializer.ts:338
extractData
▸ Protected
Abstract
extractData(data
, context
): Promise
<Extract
>
Parameters
Name | Type |
---|---|
data | AdapterData |
context | Object |
Returns
Promise
<Extract
>
Defined in
src/object/objectDeserializer.ts:74
extractIdentifier
▸ Protected
extractIdentifier(resource
, context
, parent?
, relation?
): Promise
<ObjectNormalizedIdentifier
>
Parameters
Name | Type |
---|---|
resource | Resource |
context | Object |
parent? | ModelInstance |
relation? | ModelRelation |
Returns
Promise
<ObjectNormalizedIdentifier
>
Defined in
src/object/objectDeserializer.ts:218
extractLocalId
▸ Protected
extractLocalId(_resource
, identifier
, _context
): Promise
<ModelIdType
>
Parameters
Name | Type |
---|---|
_resource | Resource |
identifier | ObjectNormalizedIdentifier |
_context | Object |
Returns
Promise
<ModelIdType
>
Defined in
src/object/objectDeserializer.ts:248
extractOptionalIdentifier
▸ Protected
Abstract
extractOptionalIdentifier(resource
, context
, parent?
, relation?
): Promise
<ObjectOptionalIdentifier
>
Parameters
Name | Type |
---|---|
resource | Resource |
context | Object |
parent? | ModelInstance |
relation? | ModelRelation |
Returns
Promise
<ObjectOptionalIdentifier
>
Defined in
src/object/objectDeserializer.ts:76
extractPropValue
▸ Protected
extractPropValue(_resource
, _serializedKey
, _context
): Promise
<unknown
>
Parameters
Name | Type |
---|---|
_resource | Resource |
_serializedKey | string |
_context | Object |
Returns
Promise
<unknown
>
Defined in
src/object/objectDeserializer.ts:328
extractRelationValue
▸ Protected
extractRelationValue(_extractedData
, resource
, serializedKey
, context
): Promise
<Optional
<Resource
| Resource
[]>>
Parameters
Name | Type |
---|---|
_extractedData | Extract |
resource | Resource |
serializedKey | string |
context | Object |
Returns
Promise
<Optional
<Resource
| Resource
[]>>
Defined in
src/object/objectDeserializer.ts:347
findInstance
▸ Protected
findInstance(_resource
, identifier
, context
): Promise
<null
| ModelInstance
>
Parameters
Name | Type |
---|---|
_resource | Resource |
identifier | ObjectNormalizedIdentifier |
context | Object |
Returns
Promise
<null
| ModelInstance
>
Defined in
src/object/objectDeserializer.ts:265
findOrMakeInstance
▸ Protected
findOrMakeInstance(resource
, identifier
, context
): Promise
<ModelInstance
>
Parameters
Name | Type |
---|---|
resource | Resource |
identifier | ObjectNormalizedIdentifier |
context | Object |
Returns
Promise
<ModelInstance
>
Defined in
src/object/objectDeserializer.ts:256
hydrateAttributeInInstance
▸ Protected
hydrateAttributeInInstance(instance
, def
, value
): Promise
<void
>
Parameters
Name | Type |
---|---|
instance | ModelInstance |
def | ModelAttribute |
value | unknown |
Returns
Promise
<void
>
Defined in
src/object/objectDeserializer.ts:369
hydratePropInInstance
▸ Protected
hydratePropInInstance(instance
, def
, value
): void
Parameters
Name | Type |
---|---|
instance | ModelInstance |
def | ModelRelation | ModelAttribute |
value | unknown |
Returns
void
Defined in
src/object/objectDeserializer.ts:360
hydrateRelationInInstance
▸ Protected
hydrateRelationInInstance(instance
, def
, value
): Promise
<void
>
Parameters
Name | Type |
---|---|
instance | ModelInstance |
def | ModelRelation |
value | unknown |
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
Name | Type |
---|---|
instances | ModelInstance [] |
extractedData | Extract |
Returns
Promise
<Data
>
Defined in
src/object/objectDeserializer.ts:69
makeInstance
▸ Protected
makeInstance(_resource
, identifier
, context
): Promise
<ModelInstance
>
Parameters
Name | Type |
---|---|
_resource | Resource |
identifier | ObjectNormalizedIdentifier |
context | Object |
Returns
Promise
<ModelInstance
>
Defined in
src/object/objectDeserializer.ts:283
prepareInstancesMap
▸ Protected
prepareInstancesMap(extractedData
, instancesMap
, context
): Promise
<void
>
Parameters
Name | Type |
---|---|
extractedData | Extract |
instancesMap | default <string , ModelIdType , Promise <ModelInstance >> |
context | Object |
Returns
Promise
<void
>
Defined in
src/object/objectDeserializer.ts:87
releaseInstance
▸ Protected
releaseInstance(resource
, instance
, context
): Promise
<void
>
Parameters
Name | Type |
---|---|
resource | Resource |
instance | ModelInstance |
context | Object |
Returns
Promise
<void
>
Defined in
src/object/objectDeserializer.ts:306
serializeAttributeKey
▸ Protected
serializeAttributeKey(instance
, def
, _context
): Promise
<string
>
Parameters
Name | Type |
---|---|
instance | ModelInstance |
def | ModelAttribute |
_context | Object |
Returns
Promise
<string
>
Defined in
src/object/objectDeserializer.ts:388
serializeRelationKey
▸ Protected
serializeRelationKey(instance
, def
, _context
): Promise
<string
>
Parameters
Name | Type |
---|---|
instance | ModelInstance |
def | ModelRelation |
_context | Object |
Returns
Promise
<string
>
Defined in
src/object/objectDeserializer.ts:396
shouldDeserializeAttribute
▸ Protected
shouldDeserializeAttribute(instance
, def
, rawValue
, context
): Promise
<boolean
>
Parameters
Name | Type |
---|---|
instance | ModelInstance |
def | ModelAttribute |
rawValue | unknown |
context | Object |
Returns
Promise
<boolean
>
Defined in
src/object/objectDeserializer.ts:404
shouldDeserializeProp
▸ Protected
shouldDeserializeProp(_instance
, def
, rawValue
, _context
): Promise
<boolean
>
Parameters
Name | Type |
---|---|
_instance | ModelInstance |
def | ModelRelation | ModelAttribute |
rawValue | unknown |
_context | Object |
Returns
Promise
<boolean
>
Defined in
src/object/objectDeserializer.ts:422
shouldDeserializeRelation
▸ Protected
shouldDeserializeRelation(instance
, def
, rawValue
, context
): Promise
<boolean
>
Parameters
Name | Type |
---|---|
instance | ModelInstance |
def | ModelRelation |
rawValue | unknown |
context | Object |
Returns
Promise
<boolean
>
Defined in
src/object/objectDeserializer.ts:413