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