Module: jsonapi
Namespaces
Classes
Enhancers
fields
▸ fields<C
, I
>(...fieldset
): (action
: Action
<C
>) => Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Select the given JSON:API fieldsets for the current context's model. The new fieldsets will be merged with the previous ones.
Type parameters
Name | Type |
---|---|
C | extends Object |
I | extends never |
Parameters
Name | Type |
---|---|
...fieldset | ArrayableVariadic <ModelKey <I >> |
Returns
fn
▸ (action
): Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Defined in
src/jsonapi/actions/context/enhancers/fields.ts:25
fieldsFor
▸ fieldsFor<C
, M
>(model
, ...fieldset
): (action
: Action
<C
>) => Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Select the given JSON:API fieldsets for the given model. The new fieldsets will be merged with the previous ones.
Type parameters
Name | Type |
---|---|
C | extends Object |
M | extends Model |
Parameters
Name | Type |
---|---|
model | M |
...fieldset | ArrayableVariadic <ModelKey <M >> |
Returns
fn
▸ (action
): Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Defined in
src/jsonapi/actions/context/enhancers/fieldsFor.ts:22
filterBy
▸ filterBy(key
, value?
): <C>(action
: Action
<C
>) => Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Filter the JSON:API resource by the given key and value. When key is an object, it will spread the object as a filter values map. The new filter will be merged with the previous ones.
Parameters
Name | Type |
---|---|
key | string | Dictionary |
value? | unknown |
Returns
fn
▸ <C
>(action
): Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Defined in
src/jsonapi/actions/context/enhancers/filterBy.ts:17
paginate
▸ paginate(page
): <C>(action
: Action
<C
>) => Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Paginate the JSON:API resource by the given params. JSON:API specification on pagination is agnostic, so page params may be anything used by your implementation.
Parameters
Name | Type |
---|---|
page | unknown |
Returns
fn
▸ <C
>(action
): Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Type parameters
Name | Type |
---|---|
C | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C > |
Returns
Promise
<Action
<Awaited
<C
> & { params
: {} }, {}>>
Defined in
src/jsonapi/actions/context/enhancers/paginate.ts:14
sortBy
▸ sortBy(keys
): <C, E>(action
: Action
<C
, E
>) => Promise
<void
>
Sort the JSON:API resource by the given keys and directions. The new sort will be merged with the previous ones. Sorts priority are kept.
Parameters
Name | Type |
---|---|
keys | Dictionary <SortDirection > |
Returns
fn
▸ <C
, E
>(action
): Promise
<void
>
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C , E > |
Returns
Promise
<void
>
Defined in
src/jsonapi/actions/context/enhancers/sortBy.ts:38
▸ sortBy(keys
, directions?
): <C, E>(action
: Action
<C
, E
>) => Promise
<void
>
Sort the JSON:API resource by the given keys and directions. The new sort will be merged with the previous ones. Sorts priority are kept.
Parameters
Name | Type |
---|---|
keys | Arrayable <string > |
directions? | Arrayable <SortDirection > |
Returns
fn
▸ <C
, E
>(action
): Promise
<void
>
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C , E > |
Returns
Promise
<void
>
Defined in
src/jsonapi/actions/context/enhancers/sortBy.ts:41
sortByAsc
▸ sortByAsc(...keys
): <C, E>(action
: Action
<C
, E
>) => Promise
<void
>
Shortcut for the sortBy function with an asc direction.
Parameters
Name | Type |
---|---|
...keys | ArrayableVariadic <string > |
Returns
fn
▸ <C
, E
>(action
): Promise
<void
>
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C , E > |
Returns
Promise
<void
>
Defined in
src/jsonapi/actions/context/enhancers/sortByAsc.ts:13
sortByDesc
▸ sortByDesc(...keys
): <C, E>(action
: Action
<C
, E
>) => Promise
<void
>
Shortcut for the sortBy function with a desc direction.
Parameters
Name | Type |
---|---|
...keys | ArrayableVariadic <string > |
Returns
fn
▸ <C
, E
>(action
): Promise
<void
>
Type parameters
Name | Type |
---|---|
C | extends Object |
E | extends Object |
Parameters
Name | Type |
---|---|
action | Action <C , E > |
Returns
Promise
<void
>
Defined in
src/jsonapi/actions/context/enhancers/sortByDesc.ts:13
Other
JsonApiAbstractResource
Ƭ JsonApiAbstractResource: Object
See
Type declaration
Name | Type |
---|---|
attributes? | JsonApiAttributes |
lid? | string |
links? | JsonApiLinks |
meta? | JsonApiMeta |
relationships? | JsonApiRelationships |
type | string |
Defined in
src/jsonapi/types.ts:52
JsonApiAttributes
Ƭ JsonApiAttributes: Dictionary
See
Defined in
src/jsonapi/types.ts:33
JsonApiDocument
Ƭ JsonApiDocument: Object
See
Type declaration
Name | Type |
---|---|
data? | JsonApiResource [] | JsonApiResource | JsonApiNewResource | null |
errors? | JsonApiError [] |
included? | JsonApiResource [] |
jsonapi? | { meta? : JsonApiMeta ; version? : string } |
jsonapi.meta? | JsonApiMeta |
jsonapi.version? | string |
links? | JsonApiLinks |
meta? | JsonApiMeta |
Defined in
src/jsonapi/types.ts:94
JsonApiError
Ƭ JsonApiError: Object
See
Type declaration
Name | Type |
---|---|
code? | string |
detail? | string |
meta? | JsonApiMeta |
source? | { header? : string ; parameter? : string ; pointer? : string } |
source.header? | string |
source.parameter? | string |
source.pointer? | string |
status? | string |
title? | string |
Defined in
src/jsonapi/types.ts:78
JsonApiLink
Ƭ JsonApiLink: { href
: string
; meta?
: JsonApiMeta
} | string
See
Defined in
src/jsonapi/types.ts:6
JsonApiLinks
Ƭ JsonApiLinks: Dictionary
<JsonApiLink
>
See
Defined in
src/jsonapi/types.ts:14
JsonApiMeta
Ƭ JsonApiMeta: Dictionary
<any
>
See
Defined in
src/jsonapi/types.ts:19
JsonApiNewResource
Ƭ JsonApiNewResource: JsonApiAbstractResource
& { id?
: string
}
See
Defined in
src/jsonapi/types.ts:71
JsonApiRelationship
Ƭ JsonApiRelationship: Object
See
Type declaration
Name | Type |
---|---|
data? | JsonApiResourceIdentifier [] | JsonApiResourceIdentifier | null |
links? | JsonApiLinks |
meta? | JsonApiMeta |
Defined in
src/jsonapi/types.ts:38
JsonApiRelationships
Ƭ JsonApiRelationships: Dictionary
<JsonApiRelationship
>
See
Defined in
src/jsonapi/types.ts:47
JsonApiResource
Ƭ JsonApiResource: JsonApiAbstractResource
& { id
: string
}
See
Defined in
src/jsonapi/types.ts:64
JsonApiResourceIdentifier
Ƭ JsonApiResourceIdentifier: Object
See
Type declaration
Name | Type |
---|---|
id | string |
lid? | string |
type | string |
Defined in
src/jsonapi/types.ts:24
usingDocument
▸ usingDocument<I
, DD
, D
>(data
): D
& { document
: JsonApiDocument
= data.deserialized.document }
Append the JSON:API document object to data object.
Use it as the parameter of allUsing
and oneUsing
runners.
Type parameters
Name | Type |
---|---|
I | extends ModelInstance |
DD | extends JsonApiDeserializedData <I > |
D | extends AllData <Response , DD , I > | OneData <Response , DD , I > |
Parameters
Name | Type |
---|---|
data | D |
Returns
D
& { document
: JsonApiDocument
= data.deserialized.document }
Defined in
src/jsonapi/actions/context/runners/usingDocument.ts:10