Class: JsonApiDeserializer
jsonapi.JsonApiDeserializer
Deserializer implementation for JSON:API.
Hierarchy
ObjectDeserializer
<Response
,JsonApiNewResource
,JsonApiExtractedData
,JsonApiDeserializedData
>↳
JsonApiDeserializer
Constructors
constructor
• new JsonApiDeserializer(config?
)
Parameters
Name | Type |
---|---|
config? | ObjectDeserializerConfig |
Inherited from
ObjectDeserializer.constructor
Defined in
src/object/objectDeserializer.ts:41
Properties
NON_IDENTIFIED_LOCAL_ID
▪ Static
Protected
NON_IDENTIFIED_LOCAL_ID: string
= '__non_identified__'
Inherited from
ObjectDeserializer.NON_IDENTIFIED_LOCAL_ID
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
Inherited from
Defined in
src/object/objectDeserializer.ts:45
deserialize
▸ deserialize(data
, context
): Promise
<JsonApiDeserializedData
<ModelInstance
>>
Parameters
Name | Type |
---|---|
data | Response |
context | Object |
Returns
Promise
<JsonApiDeserializedData
<ModelInstance
>>
Inherited from
ObjectDeserializer.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
>
Inherited from
ObjectDeserializer.deserializeAttributeValue
Defined in
src/object/objectDeserializer.ts:432
deserializeRelationValue
▸ Protected
deserializeRelationValue(extractedData
, instancesMap
, instance
, def
, rawValue
, context
): Promise
<undefined
| null
| ModelInstance
| { $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
>[] | JsonApiNewResource
>
Parameters
Name | Type |
---|---|
extractedData | JsonApiExtractedData |
instancesMap | default <string , ModelIdType , Promise <ModelInstance >> |
instance | ModelInstance |
def | ModelRelation |
rawValue | Optional <JsonApiNewResource | JsonApiNewResource []> |
context | Object |
Returns
Promise
<undefined
| null
| ModelInstance
| { $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
>[] | JsonApiNewResource
>
Inherited from
ObjectDeserializer.deserializeRelationValue
Defined in
src/object/objectDeserializer.ts:443
deserializeResource
▸ Protected
deserializeResource(extractedData
, instancesMap
, resource
, context
, parent?
, relation?
): Promise
<ModelInstance
>
Parameters
Name | Type |
---|---|
extractedData | JsonApiExtractedData |
instancesMap | default <string , ModelIdType , Promise <ModelInstance >> |
resource | JsonApiNewResource |
context | Object |
parent? | ModelInstance |
relation? | ModelRelation |
Returns
Promise
<ModelInstance
>
Inherited from
ObjectDeserializer.deserializeResource
Defined in
src/object/objectDeserializer.ts:119
deserializeResourceOnInstance
▸ Protected
deserializeResourceOnInstance(extractedData
, instancesMap
, resource
, identifier
, instance
, context
): Promise
<ModelInstance
>
Parameters
Name | Type |
---|---|
extractedData | JsonApiExtractedData |
instancesMap | default <string , ModelIdType , Promise <ModelInstance >> |
resource | JsonApiNewResource |
identifier | ObjectNormalizedIdentifier |
instance | ModelInstance |
context | Object |
Returns
Promise
<ModelInstance
>
Inherited from
ObjectDeserializer.deserializeResourceOnInstance
Defined in
src/object/objectDeserializer.ts:156
extractAttributeValue
▸ Protected
extractAttributeValue(_extractedData
, resource
, serializedKey
): Promise
<unknown
>
Parameters
Name | Type |
---|---|
_extractedData | JsonApiExtractedData |
resource | JsonApiNewResource |
serializedKey | string |
Returns
Promise
<unknown
>
Inherit Doc
Overrides
ObjectDeserializer.extractAttributeValue
Defined in
src/jsonapi/jsonApiDeserializer.ts:68
extractData
▸ Protected
extractData(response
): Promise
<{ document
: JsonApiDocument
; included
: default
<string
, ModelIdType
, JsonApiResource
> ; resources
: undefined
| null
| JsonApiResource
| JsonApiNewResource
| JsonApiResource
[] = document.data; response
: Response
}>
Parameters
Name | Type |
---|---|
response | Response |
Returns
Promise
<{ document
: JsonApiDocument
; included
: default
<string
, ModelIdType
, JsonApiResource
> ; resources
: undefined
| null
| JsonApiResource
| JsonApiNewResource
| JsonApiResource
[] = document.data; response
: Response
}>
Inherit Doc
Overrides
ObjectDeserializer.extractData
Defined in
src/jsonapi/jsonApiDeserializer.ts:44
extractIdentifier
▸ Protected
extractIdentifier(resource
, context
, parent?
, relation?
): Promise
<ObjectNormalizedIdentifier
>
Parameters
Name | Type |
---|---|
resource | JsonApiNewResource |
context | Object |
parent? | ModelInstance |
relation? | ModelRelation |
Returns
Promise
<ObjectNormalizedIdentifier
>
Inherited from
ObjectDeserializer.extractIdentifier
Defined in
src/object/objectDeserializer.ts:218
extractIncluded
▸ Protected
extractIncluded(extractedData
, identifier
): JsonApiNewResource
Extract an included JSON:API resource from extracted data.
Parameters
Name | Type |
---|---|
extractedData | JsonApiExtractedData |
identifier | JsonApiResourceIdentifier |
Returns
Defined in
src/jsonapi/jsonApiDeserializer.ts:102
extractLocalId
▸ Protected
extractLocalId(_resource
, identifier
, _context
): Promise
<ModelIdType
>
Parameters
Name | Type |
---|---|
_resource | JsonApiNewResource |
identifier | ObjectNormalizedIdentifier |
_context | Object |
Returns
Promise
<ModelIdType
>
Inherited from
ObjectDeserializer.extractLocalId
Defined in
src/object/objectDeserializer.ts:248
extractOptionalIdentifier
▸ Protected
extractOptionalIdentifier(resource
): Promise
<JsonApiNewResource
>
Parameters
Name | Type |
---|---|
resource | JsonApiNewResource |
Returns
Promise
<JsonApiNewResource
>
Inherit Doc
Overrides
ObjectDeserializer.extractOptionalIdentifier
Defined in
src/jsonapi/jsonApiDeserializer.ts:61
extractPropValue
▸ Protected
extractPropValue(_resource
, _serializedKey
, _context
): Promise
<unknown
>
Parameters
Name | Type |
---|---|
_resource | JsonApiNewResource |
_serializedKey | string |
_context | Object |
Returns
Promise
<unknown
>
Inherited from
ObjectDeserializer.extractPropValue
Defined in
src/object/objectDeserializer.ts:328
extractRelationValue
▸ Protected
extractRelationValue(extractedData
, resource
, serializedKey
): Promise
<undefined
| null
| JsonApiNewResource
| JsonApiNewResource
[]>
Parameters
Name | Type |
---|---|
extractedData | JsonApiExtractedData |
resource | JsonApiNewResource |
serializedKey | string |
Returns
Promise
<undefined
| null
| JsonApiNewResource
| JsonApiNewResource
[]>
Inherit Doc
Overrides
ObjectDeserializer.extractRelationValue
Defined in
src/jsonapi/jsonApiDeserializer.ts:79
findInstance
▸ Protected
findInstance(_resource
, identifier
, context
): Promise
<null
| ModelInstance
>
Parameters
Name | Type |
---|---|
_resource | JsonApiNewResource |
identifier | ObjectNormalizedIdentifier |
context | Object |
Returns
Promise
<null
| ModelInstance
>
Inherited from
ObjectDeserializer.findInstance
Defined in
src/object/objectDeserializer.ts:265
findOrMakeInstance
▸ Protected
findOrMakeInstance(resource
, identifier
, context
): Promise
<ModelInstance
>
Parameters
Name | Type |
---|---|
resource | JsonApiNewResource |
identifier | ObjectNormalizedIdentifier |
context | Object |
Returns
Promise
<ModelInstance
>
Inherited from
ObjectDeserializer.findOrMakeInstance
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
>
Inherited from
ObjectDeserializer.hydrateAttributeInInstance
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
Inherited from
ObjectDeserializer.hydratePropInInstance
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
>
Inherited from
ObjectDeserializer.hydrateRelationInInstance
Defined in
src/object/objectDeserializer.ts:377
initInstancesMap
▸ Protected
initInstancesMap(): Promise
<default
<string
, ModelIdType
, Promise
<ModelInstance
>>>
Returns
Promise
<default
<string
, ModelIdType
, Promise
<ModelInstance
>>>
Inherited from
ObjectDeserializer.initInstancesMap
Defined in
src/object/objectDeserializer.ts:83
makeDeserializedData
▸ Protected
makeDeserializedData(instances
, extractedData
): Promise
<{ document
: JsonApiDocument
= extractedData.document; instances
: ModelInstance
[] ; response
: Response
= extractedData.response }>
Parameters
Name | Type |
---|---|
instances | ModelInstance [] |
extractedData | JsonApiExtractedData |
Returns
Promise
<{ document
: JsonApiDocument
= extractedData.document; instances
: ModelInstance
[] ; response
: Response
= extractedData.response }>
Inherit Doc
Overrides
ObjectDeserializer.makeDeserializedData
Defined in
src/jsonapi/jsonApiDeserializer.ts:30
makeInstance
▸ Protected
makeInstance(_resource
, identifier
, context
): Promise
<ModelInstance
>
Parameters
Name | Type |
---|---|
_resource | JsonApiNewResource |
identifier | ObjectNormalizedIdentifier |
context | Object |
Returns
Promise
<ModelInstance
>
Inherited from
ObjectDeserializer.makeInstance
Defined in
src/object/objectDeserializer.ts:283
prepareInstancesMap
▸ Protected
prepareInstancesMap(extractedData
, instancesMap
, context
): Promise
<void
>
Parameters
Name | Type |
---|---|
extractedData | JsonApiExtractedData |
instancesMap | default <string , ModelIdType , Promise <ModelInstance >> |
context | Object |
Returns
Promise
<void
>
Inherited from
ObjectDeserializer.prepareInstancesMap
Defined in
src/object/objectDeserializer.ts:87
releaseInstance
▸ Protected
releaseInstance(resource
, instance
, context
): Promise
<void
>
Parameters
Name | Type |
---|---|
resource | JsonApiNewResource |
instance | ModelInstance |
context | Object |
Returns
Promise
<void
>
Inherited from
ObjectDeserializer.releaseInstance
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
>
Inherited from
ObjectDeserializer.serializeAttributeKey
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
>
Inherited from
ObjectDeserializer.serializeRelationKey
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
>
Inherited from
ObjectDeserializer.shouldDeserializeAttribute
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
>
Inherited from
ObjectDeserializer.shouldDeserializeProp
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
>
Inherited from
ObjectDeserializer.shouldDeserializeRelation
Defined in
src/object/objectDeserializer.ts:413