Class: JSONAPISource<QO, TO, QB, TB>
Source for accessing a JSON API compliant RESTful API with a network fetch request.
If a single transform or query requires more than one fetch request,
requests will be performed sequentially and resolved together. From the
perspective of Orbit, these operations will all succeed or fail together. The
maxRequestsPerTransform
and maxRequestsPerQuery
settings allow limits to be
set on this behavior. These settings should be set to 1
if your client/server
configuration is unable to resolve partially successful transforms / queries.
Type parameters​
Name | Type |
---|---|
QO | extends JSONAPIQueryOptions = JSONAPIQueryOptions |
TO | extends JSONAPITransformOptions = JSONAPITransformOptions |
QB | RecordQueryBuilder |
TB | RecordTransformBuilder |
Hierarchy​
RecordSource
<QO
,TO
,QB
,TB
>RecordPullable
<JSONAPIResponse
[]>RecordPushable
<JSONAPIResponse
[]>RecordQueryable
<JSONAPIResponse
[],QB
,QO
>RecordUpdatable
<JSONAPIResponse
[],TB
,TO
>↳
JSONAPISource
Implements​
RecordPullable
<JSONAPIResponse
[]>RecordPushable
<JSONAPIResponse
[]>RecordQueryable
<JSONAPIResponse
[],QB
,QO
>RecordUpdatable
<JSONAPIResponse
[],TB
,TO
>
Constructors​
constructor​
• new JSONAPISource<QO
, TO
, QB
, TB
>(settings
)
Type parameters​
Name | Type |
---|---|
QO | extends JSONAPIQueryOptions = JSONAPIQueryOptions |
TO | extends JSONAPITransformOptions = JSONAPITransformOptions |
QB | RecordQueryBuilder <string , RecordIdentity > |
TB | RecordTransformBuilder <string , RecordIdentity , UninitializedRecord > |
Parameters​
Name | Type |
---|---|
settings | JSONAPISourceSettings <QO , TO , QB , TB > |
Inherited from​
RecordSource<QO, TO, QB, TB>.constructor
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:161
Properties​
requestProcessor​
• requestProcessor: JSONAPIRequestProcessor
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:159
Accessors​
activated​
• get
activated(): Promise
<void
>
Returns​
Promise
<void
>
Inherited from​
RecordSource.activated
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:54
bucket​
• get
bucket(): undefined
| Bucket
<unknown
>
Returns​
undefined
| Bucket
<unknown
>
Inherited from​
RecordSource.bucket
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:37
defaultQueryOptions​
• get
defaultQueryOptions(): undefined
| DefaultRequestOptions
<QueryOptions
>
Returns​
undefined
| DefaultRequestOptions
<QueryOptions
>
Inherited from​
RecordSource.defaultQueryOptions
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:43
• set
defaultQueryOptions(options
): void
Parameters​
Name | Type |
---|---|
options | undefined | DefaultRequestOptions <QueryOptions > |
Returns​
void
Inherited from​
RecordSource.defaultQueryOptions
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:44
defaultTransformOptions​
• get
defaultTransformOptions(): undefined
| DefaultRequestOptions
<TransformOptions
>
Returns​
undefined
| DefaultRequestOptions
<TransformOptions
>
Inherited from​
RecordSource.defaultTransformOptions
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:45
• set
defaultTransformOptions(options
): void
Parameters​
Name | Type |
---|---|
options | undefined | DefaultRequestOptions <TransformOptions > |
Returns​
void
Inherited from​
RecordSource.defaultTransformOptions
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:46
keyMap​
• get
keyMap(): undefined
| RecordKeyMap
Returns​
undefined
| RecordKeyMap
Inherited from​
RecordSource.keyMap
Defined in​
packages/@orbit/records/dist/modules/record-source.d.ts:57
maxRequestsPerQuery​
• get
maxRequestsPerQuery(): undefined
| number
Deprecated in favor of defaultQueryOptions.maxRequests
deprecated
since v0.17, remove in v0.18
Returns​
undefined
| number
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:263
• set
maxRequestsPerQuery(val
): void
Deprecated in favor of defaultQueryOptions.maxRequests
deprecated
since v0.17, remove in v0.18
Parameters​
Name | Type |
---|---|
val | undefined | number |
Returns​
void
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:275
maxRequestsPerTransform​
• get
maxRequestsPerTransform(): undefined
| number
Deprecated in favor of defaultTransformOptions.maxRequests
deprecated
since v0.17, remove in v0.18
Returns​
undefined
| number
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:236
• set
maxRequestsPerTransform(val
): void
Deprecated in favor of defaultTransformOptions.maxRequests
deprecated
since v0.17, remove in v0.18
Parameters​
Name | Type |
---|---|
val | undefined | number |
Returns​
void
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:248
name​
• get
name(): undefined
| string
Returns​
undefined
| string
Inherited from​
RecordSource.name
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:36
queryBuilder​
• get
queryBuilder(): QB
Returns​
QB
Inherited from​
RecordSource.queryBuilder
Defined in​
packages/@orbit/records/dist/modules/record-source.d.ts:59
requestQueue​
• get
requestQueue(): TaskQueue
<string
, unknown
, unknown
, unknown
>
Returns​
TaskQueue
<string
, unknown
, unknown
, unknown
>
Inherited from​
RecordSource.requestQueue
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:39
schema​
• get
schema(): RecordSchema
Returns​
RecordSchema
Inherited from​
RecordSource.schema
Defined in​
packages/@orbit/records/dist/modules/record-source.d.ts:56
syncQueue​
• get
syncQueue(): TaskQueue
<string
, unknown
, unknown
, unknown
>
Returns​
TaskQueue
<string
, unknown
, unknown
, unknown
>
Inherited from​
RecordSource.syncQueue
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:40
transformBuilder​
• get
transformBuilder(): TB
Returns​
TB
Inherited from​
RecordSource.transformBuilder
Defined in​
packages/@orbit/records/dist/modules/record-source.d.ts:60
transformLog​
• get
transformLog(): Log
Returns​
Log
Inherited from​
RecordSource.transformLog
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:38
validatorFor​
• get
validatorFor(): undefined
| ValidatorForFn
<StandardValidator
| StandardRecordValidator
>
Returns​
undefined
| ValidatorForFn
<StandardValidator
| StandardRecordValidator
>
Inherited from​
RecordSource.validatorFor
Defined in​
packages/@orbit/records/dist/modules/record-source.d.ts:58
Methods​
_pull​
â–¸ _pull(query
): Promise
<FullResponse
<undefined
, JSONAPIResponse
[], RecordOperation
>>
Parameters​
Name | Type |
---|---|
query | RecordQuery |
Returns​
Promise
<FullResponse
<undefined
, JSONAPIResponse
[], RecordOperation
>>
Inherited from​
RecordPullable._pull
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:319
_push​
â–¸ _push(transform
): Promise
<FullResponse
<undefined
, JSONAPIResponse
[], RecordOperation
>>
Parameters​
Name | Type |
---|---|
transform | RecordTransform |
Returns​
Promise
<FullResponse
<undefined
, JSONAPIResponse
[], RecordOperation
>>
Inherited from​
RecordPushable._push
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:289
_query​
â–¸ _query(query
): Promise
<FullResponse
<RecordQueryResult
<InitializedRecord
>, JSONAPIResponse
[], RecordOperation
>>
Parameters​
Name | Type |
---|---|
query | RecordQuery |
Returns​
Promise
<FullResponse
<RecordQueryResult
<InitializedRecord
>, JSONAPIResponse
[], RecordOperation
>>
Inherited from​
RecordQueryable._query
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:345
_update​
â–¸ _update(transform
): Promise
<FullResponse
<RecordTransformResult
<InitializedRecord
>, JSONAPIResponse
[], RecordOperation
>>
Parameters​
Name | Type |
---|---|
transform | RecordTransform |
Returns​
Promise
<FullResponse
<RecordTransformResult
<InitializedRecord
>, JSONAPIResponse
[], RecordOperation
>>
Inherited from​
RecordUpdatable._update
Defined in​
packages/@orbit/jsonapi/src/jsonapi-source.ts:376
activate​
â–¸ activate(): Promise
<void
>
Returns​
Promise
<void
>
Inherited from​
RecordSource.activate
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:55
deactivate​
â–¸ deactivate(): Promise
<void
>
Returns​
Promise
<void
>
Inherited from​
RecordSource.deactivate
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:56
emit​
â–¸ emit(event
, ...args
): void
Parameters​
Name | Type |
---|---|
event | Event |
...args | unknown [] |
Returns​
void
Inherited from​
RecordSource.emit
Defined in​
packages/@orbit/core/dist/modules/evented.d.ts:23
getQueryOptions​
â–¸ getQueryOptions(query
, expression?
): undefined
| QO
Parameters​
Name | Type |
---|---|
query | Query <QueryExpression > |
expression? | QueryExpression |
Returns​
undefined
| QO
Inherited from​
RecordSource.getQueryOptions
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:47
getTransformOptions​
â–¸ getTransformOptions(transform
, operation?
): undefined
| TO
Parameters​
Name | Type |
---|---|
transform | Transform <Operation > |
operation? | Operation |
Returns​
undefined
| TO
Inherited from​
RecordSource.getTransformOptions
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:48
listeners​
â–¸ listeners(event
): Listener
[]
Parameters​
Name | Type |
---|---|
event | Event |
Returns​
Listener
[]
Inherited from​
RecordSource.listeners
Defined in​
packages/@orbit/core/dist/modules/evented.d.ts:24
off​
â–¸ off(event
, listener?
): void
Parameters​
Name | Type |
---|---|
event | Event |
listener? | Listener |
Returns​
void
Inherited from​
RecordSource.off
Defined in​
packages/@orbit/core/dist/modules/evented.d.ts:21
on​
â–¸ on(event
, listener
): () => void
Parameters​
Name | Type |
---|---|
event | Event |
listener | Listener |
Returns​
fn
â–¸ (): void
Returns​
void
Inherited from​
RecordSource.on
Defined in​
packages/@orbit/core/dist/modules/evented.d.ts:20
one​
â–¸ one(event
, listener
): () => void
Parameters​
Name | Type |
---|---|
event | Event |
listener | Listener |
Returns​
fn
â–¸ (): void
Returns​
void
Inherited from​
RecordSource.one
Defined in​
packages/@orbit/core/dist/modules/evented.d.ts:22
perform​
â–¸ perform(task
): Promise
<unknown
>
Parameters​
Name | Type |
---|---|
task | Task <string , unknown , unknown > |
Returns​
Promise
<unknown
>
Inherited from​
RecordSource.perform
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:49
pull​
â–¸ pull<RequestOperation
>(queryOrExpressions
, options?
, id?
): Promise
<Transform
<RequestOperation
>[]>
The pull
method accepts a query or expression(s) and returns a promise
that resolves to an array of Transform
instances that represent the
changeset that resulted from applying the query. In other words, a pull
request retrieves the results of a query in Transform
form.
Type parameters​
Name | Type |
---|---|
RequestOperation | extends RecordOperation = RecordOperation |
Parameters​
Name | Type |
---|---|
queryOrExpressions | QueryOrExpressions <RecordQueryExpression , RecordQueryBuilder <string , RecordIdentity >> |
options? | DefaultRequestOptions <RequestOptions > |
id? | string |
Returns​
Promise
<Transform
<RequestOperation
>[]>
Inherited from​
RecordPullable.pull
Defined in​
packages/@orbit/data/dist/modules/source-interfaces/pullable.d.ts:25
â–¸ pull<RequestData
, RequestDetails
, RequestOperation
>(queryOrExpressions
, options?
, id?
): Promise
<FullResponse
<RequestData
, RequestDetails
, RequestOperation
>>
Type parameters​
Name | Type |
---|---|
RequestData | extends RecordQueryResult <InitializedRecord > = RecordQueryResult <InitializedRecord > |
RequestDetails | extends JSONAPIResponse [] = JSONAPIResponse [] |
RequestOperation | extends RecordOperation = RecordOperation |
Parameters​
Name | Type |
---|---|
queryOrExpressions | QueryOrExpressions <RecordQueryExpression , RecordQueryBuilder <string , RecordIdentity >> |
options? | FullRequestOptions <RequestOptions > |
id? | string |
Returns​
Promise
<FullResponse
<RequestData
, RequestDetails
, RequestOperation
>>
Inherited from​
RecordPullable.pull
Defined in​
packages/@orbit/data/dist/modules/source-interfaces/pullable.d.ts:26
push​
â–¸ push<RequestOperation
>(transformOrOperations
, options?
, id?
): Promise
<Transform
<RequestOperation
>[]>
The push
method accepts a Transform
instance as an argument and returns
a promise that resolves to an array of Transform
instances that are
applied as a result. In other words, push
captures the direct results
and side effects of applying a Transform
to a source.
Type parameters​
Name | Type |
---|---|
RequestOperation | extends RecordOperation = RecordOperation |
Parameters​
Name | Type |
---|---|
transformOrOperations | TransformOrOperations <RecordOperation , RecordTransformBuilder <string , RecordIdentity , UninitializedRecord >> |
options? | DefaultRequestOptions <RequestOptions > |
id? | string |
Returns​
Promise
<Transform
<RequestOperation
>[]>
Inherited from​
RecordPushable.push
Defined in​
packages/@orbit/data/dist/modules/source-interfaces/pushable.d.ts:23
â–¸ push<RequestData
, RequestDetails
, RequestOperation
>(transformOrOperations
, options
, id?
): Promise
<FullResponse
<RequestData
, RequestDetails
, RequestOperation
>>
Type parameters​
Name | Type |
---|---|
RequestData | extends RecordTransformResult <InitializedRecord > = RecordTransformResult <InitializedRecord > |
RequestDetails | extends JSONAPIResponse [] = JSONAPIResponse [] |
RequestOperation | extends RecordOperation = RecordOperation |
Parameters​
Name | Type |
---|---|
transformOrOperations | TransformOrOperations <RecordOperation , RecordTransformBuilder <string , RecordIdentity , UninitializedRecord >> |
options | FullRequestOptions <RequestOptions > |
id? | string |
Returns​
Promise
<FullResponse
<RequestData
, RequestDetails
, RequestOperation
>>
Inherited from​
RecordPushable.push
Defined in​
packages/@orbit/data/dist/modules/source-interfaces/pushable.d.ts:24
query​
â–¸ query<RequestData
>(queryOrExpressions
, options?
, id?
): Promise
<RequestData
>
Type parameters​
Name | Type |
---|---|
RequestData | extends RecordQueryResult <InitializedRecord > = RecordQueryResult <InitializedRecord > |
Parameters​
Name | Type |
---|---|
queryOrExpressions | QueryOrExpressions <RecordQueryExpression , QB > |
options? | DefaultRequestOptions <QO > |
id? | string |
Returns​
Promise
<RequestData
>
Inherited from​
RecordQueryable.query
Defined in​
packages/@orbit/data/dist/modules/queryable.d.ts:7
â–¸ query<RequestData
, RequestDetails
, RequestOperation
>(queryOrExpressions
, options
, id?
): Promise
<FullResponse
<RequestData
, RequestDetails
, RequestOperation
>>
Type parameters​
Name | Type |
---|---|
RequestData | extends RecordQueryResult <InitializedRecord > = RecordQueryResult <InitializedRecord > |
RequestDetails | extends JSONAPIResponse [] = JSONAPIResponse [] |
RequestOperation | extends RecordOperation = RecordOperation |
Parameters​
Name | Type |
---|---|
queryOrExpressions | QueryOrExpressions <RecordQueryExpression , QB > |
options | FullRequestOptions <QO > |
id? | string |
Returns​
Promise
<FullResponse
<RequestData
, RequestDetails
, RequestOperation
>>
Inherited from​
RecordQueryable.query
Defined in​
packages/@orbit/data/dist/modules/queryable.d.ts:8
transformed​
â–¸ transformed(transforms
): Promise
<void
>
Notifies listeners that this source has been transformed by emitting the
transform
event.
Resolves when any promises returned to event listeners are resolved.
Also, adds an entry to the Source's transformLog
for each transform.
Parameters​
Name | Type |
---|---|
transforms | Transform <Operation >[] |
Returns​
Promise
<void
>
Inherited from​
RecordSource.transformed
Defined in​
packages/@orbit/data/dist/modules/source.d.ts:65
update​
â–¸ update<RequestData
>(transformOrOperations
, options?
, id?
): Promise
<RequestData
>
Type parameters​
Name | Type |
---|---|
RequestData | extends RecordTransformResult <InitializedRecord > = RecordTransformResult <InitializedRecord > |
Parameters​
Name | Type |
---|---|
transformOrOperations | TransformOrOperations <RecordOperation , TB > |
options? | DefaultRequestOptions <TO > |
id? | string |
Returns​
Promise
<RequestData
>
Inherited from​
RecordUpdatable.update
Defined in​
packages/@orbit/data/dist/modules/updatable.d.ts:6
â–¸ update<RequestData
, RequestDetails
, RequestOperation
>(transformOrOperations
, options
, id?
): Promise
<FullResponse
<RequestData
, RequestDetails
, RequestOperation
>>
Type parameters​
Name | Type |
---|---|
RequestData | extends RecordTransformResult <InitializedRecord > = RecordTransformResult <InitializedRecord > |
RequestDetails | extends JSONAPIResponse [] = JSONAPIResponse [] |
RequestOperation | extends RecordOperation = RecordOperation |
Parameters​
Name | Type |
---|---|
transformOrOperations | TransformOrOperations <RecordOperation , TB > |
options | FullRequestOptions <TO > |
id? | string |
Returns​
Promise
<FullResponse
<RequestData
, RequestDetails
, RequestOperation
>>
Inherited from​
RecordUpdatable.update
Defined in​
packages/@orbit/data/dist/modules/updatable.d.ts:7
upgrade​
â–¸ upgrade(): Promise
<void
>
Upgrade source as part of a schema upgrade.
Returns​
Promise
<void
>
Inherited from​
RecordSource.upgrade
Defined in​
packages/@orbit/records/dist/modules/record-source.d.ts:64