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