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