A class containing utility functions for use with jsonapi-vuex
Note - an instance of this class is exported as utils
from jsonapi-vuex
,
so it does not need to be used directly.
Methods
# static Utils#addJvHelpers(obj) → {object}
Add helper functions and getters to a restructured object
Parameters:
Name | Type | Description |
---|---|---|
obj |
object | An object to assign helpers to |
A copy of the object with added helper functions/getters
# static Utils#cleanPatch(patch, state, jvProps) → {object}
A function that cleans up a patch object, so that it doesn't introduce unexpected changes when sent to the API.
It removes any attributes which are unchanged from the store, to minimise accidental reversions.
It also strips out any of links, relationships and meta from _jv
- See Configuration
Parameters:
Name | Type | Default | Description |
---|---|---|---|
patch |
object | A restructured object to be cleaned |
|
state |
object | {} | Vuex state object (for patch comparison) |
jvProps |
array | '[]' | _jv Properties to be kept |
A cleaned copy of the patch object
# static Utils#deepCopy(obj) → {object}
Deep copy a normalised object, then re-add helper nethods
Parameters:
Name | Type | Description |
---|---|---|
obj |
object | An object to be deep copied |
A deep copied object, with Helper functions added
# static Utils#getTypeId(data, encode) → {array}
Get the type, id and relationships from a restructured object
Parameters:
Name | Type | Default | Description |
---|---|---|---|
data |
object | A restructured object |
|
encode |
boolean | true | url-encode the returned values |
An array (optionally) containing type, id and rels
# static Utils#getURL(data) → {string}
Return the URL path (links.self) or construct from type/id
Parameters:
Name | Type | Description |
---|---|---|
data |
object | A restructured object |
The record's URL path
# static Utils#jsonapiToNorm(data) → {object}
Convert JSONAPI record(s) to restructured data
Parameters:
Name | Type | Description |
---|---|---|
data |
object | The |
Restructured data
# static Utils#normToJsonapi(record) → {object}
Convert one or more restructured records to jsonapi
Parameters:
Name | Type | Description |
---|---|---|
record |
object | A restructured record to be convert to JSONAPI |
JSONAPI record
# static Utils#normToStore(record) → {object}
Convert one or more restructured records to nested (type & id) 'store' object
Parameters:
Name | Type | Description |
---|---|---|
record |
object | A restructured record to be convert to JSONAPI |
Structured 'store' object