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