@rxap/data-source
Version:
Provides a set of classes and decorators for creating and managing data sources in Angular applications, including base classes, static data sources, observable data sources, and method data sources. It also includes a component for displaying data source
736 lines (371 loc) • 18.7 kB
Markdown
[**/data-source v19.1.0**](../README.md)
***
[/data-source](../globals.md) / BaseDataSource
# Class: BaseDataSource\<Data, Metadata, Viewer\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:62](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L62)
## Extends
- `BaseDefinition`\<`Metadata`\>
## Extended by
- [`MethodDataSource`](MethodDataSource.md)
- [`ObservableDataSource`](ObservableDataSource.md)
- [`PipeDataSource`](PipeDataSource.md)
- [`StaticDataSource`](StaticDataSource.md)
## Type Parameters
• **Data** = `any`
• **Metadata** *extends* [`BaseDataSourceMetadata`](../interfaces/BaseDataSourceMetadata.md) = [`BaseDataSourceMetadata`](../interfaces/BaseDataSourceMetadata.md)
• **Viewer** *extends* [`BaseDataSourceViewer`](../interfaces/BaseDataSourceViewer.md) = [`BaseDataSourceViewer`](../interfaces/BaseDataSourceViewer.md)
## Constructors
### new BaseDataSource()
> **new BaseDataSource**\<`Data`, `Metadata`, `Viewer`\>(`metadata`): [`BaseDataSource`](BaseDataSource.md)\<`Data`, `Metadata`, `Viewer`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:96](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L96)
#### Parameters
##### metadata
`null` | `Metadata`
#### Returns
[`BaseDataSource`](BaseDataSource.md)\<`Data`, `Metadata`, `Viewer`\>
#### Overrides
`BaseDefinition<Metadata>.constructor`
## Properties
### \_\_id
> **\_\_id**: `string`
Defined in: [packages/angular/definition/src/lib/definition.ts:61](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L61)
**`Internal`**
unique internal id
#### Inherited from
`BaseDefinition.__id`
***
### \_connectedViewer
> `protected` **\_connectedViewer**: `Map`\<`string`, `Observable`\<`Data`\>\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:78](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L78)
***
### \_connectedViewerTeardown
> `protected` **\_connectedViewerTeardown**: `Map`\<`string`, `TeardownLogic`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:79](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L79)
***
### \_data?
> `protected` `optional` **\_data**: `Data`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:104](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L104)
***
### \_data$
> `protected` **\_data$**: `Observable`\<`Data`\> = `EMPTY`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:83](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L83)
***
### \_initialised
> `protected` **\_initialised**: `boolean` = `false`
Defined in: [packages/angular/definition/src/lib/definition.ts:62](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L62)
#### Inherited from
`BaseDefinition._initialised`
***
### \_lastRefreshed
> `protected` **\_lastRefreshed**: `null` \| `Date` = `null`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:77](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L77)
***
### \_retry$
> `protected` **\_retry$**: `Subject`\<`void`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:90](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L90)
***
### \_viewerIds
> `protected` **\_viewerIds**: `Map`\<`Viewer`, `string`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:89](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L89)
a map of viewer to view id.
Allows to create a view id from the viewer object reference
***
### change$
> `readonly` **change$**: `Subject`\<`Data`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:67](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L67)
***
### destroyed$
> `readonly` **destroyed$**: `undefined` \| `Subject`\<`void`\>
Defined in: [packages/angular/definition/src/lib/definition.ts:48](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L48)
Emits if the data source is destroyed
#### Inherited from
`BaseDefinition.destroyed$`
***
### error$
> `readonly` **error$**: `ReplaySubject`\<`Error`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:73](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L73)
***
### hasError?
> `optional` **hasError**: `Signal`\<`boolean`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:94](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L94)
***
### hasError$
> `readonly` **hasError$**: `ToggleSubject`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:72](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L72)
***
### initialised$
> `readonly` **initialised$**: `undefined` \| `Subject`\<`void`\>
Defined in: [packages/angular/definition/src/lib/definition.ts:52](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L52)
Emits if the data source is initialised
#### Inherited from
`BaseDefinition.initialised$`
***
### interceptors
> `readonly` **interceptors**: `undefined` \| `Set`\<`Subject`\<`any`\>\>
Defined in: [packages/angular/definition/src/lib/definition.ts:53](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L53)
#### Inherited from
`BaseDefinition.interceptors`
***
### loading?
> `optional` **loading**: `Signal`\<`boolean`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:92](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L92)
***
### loading$
> **loading$**: `Observable`\<`boolean`\> = `EMPTY`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:71](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L71)
Indicates weather the data source is currently loading new data
***
### metadata
> **metadata**: `Metadata`
Defined in: [packages/angular/definition/src/lib/definition.ts:44](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L44)
#### Inherited from
`BaseDefinition.metadata`
***
### destroyed$
> `readonly` `static` **destroyed$**: `Subject`\<`BaseDefinition`\<`BaseDefinitionMetadata`\>\>
Defined in: [packages/angular/definition/src/lib/definition.ts:41](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L41)
Emits when a new Definition instance is initialised
#### Inherited from
`BaseDefinition.destroyed$`
***
### initialised$
> `readonly` `static` **initialised$**: `Subject`\<`BaseDefinition`\<`BaseDefinitionMetadata`\>\>
Defined in: [packages/angular/definition/src/lib/definition.ts:35](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L35)
Emits when a new Definition instance is initialised
#### Inherited from
`BaseDefinition.initialised$`
***
### instances
> `readonly` `static` **instances**: `Map`\<`string`, `BaseDefinition`\<`BaseDefinitionMetadata`\>\>
Defined in: [packages/angular/definition/src/lib/definition.ts:27](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L27)
A map of active Definition instances
#### Inherited from
`BaseDefinition.instances`
## Accessors
### data
#### Get Signature
> **get** **data**(): `undefined` \| `Data`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:106](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L106)
##### Returns
`undefined` \| `Data`
***
### hasConnections
#### Get Signature
> **get** **hasConnections**(): `boolean`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:110](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L110)
##### Returns
`boolean`
***
### id
#### Get Signature
> **get** **id**(): `string`
Defined in: [packages/angular/definition/src/lib/definition.ts:87](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L87)
##### Returns
`string`
#### Inherited from
`BaseDefinition.id`
***
### lastRefreshed
#### Get Signature
> **get** **lastRefreshed**(): `null` \| `Date`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:74](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L74)
##### Returns
`null` \| `Date`
## Methods
### \_connect()
> `protected` **\_connect**(`viewer`): `Observable`\<`Data`\> \| \[`Observable`\<`Data`\>, `TeardownLogic`\]
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:323](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L323)
#### Parameters
##### viewer
[`BaseDataSourceViewer`](../interfaces/BaseDataSourceViewer.md)
#### Returns
`Observable`\<`Data`\> \| \[`Observable`\<`Data`\>, `TeardownLogic`\]
***
### \_disconnect()
> `protected` **\_disconnect**(`viewerId`): `void`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:308](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L308)
#### Parameters
##### viewerId
`string`
#### Returns
`void`
***
### applyMetadata()
> **applyMetadata**(`partialMetadata`): `void`
Defined in: [packages/angular/definition/src/lib/definition.ts:111](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L111)
#### Parameters
##### partialMetadata
`Partial`\<`Metadata`\>
#### Returns
`void`
#### Inherited from
`BaseDefinition.applyMetadata`
***
### attach()
> **attach**(`viewerId`): `Observable`\<`Data`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:210](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L210)
#### Parameters
##### viewerId
`string`
#### Returns
`Observable`\<`Data`\>
***
### connect()
> **connect**(`viewerOrString`): `Observable`\<`Data`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:124](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L124)
#### Parameters
##### viewerOrString
`string` | `Viewer`
#### Returns
`Observable`\<`Data`\>
***
### derive()
> **derive**(`id`, `metadata`): [`BaseDataSource`](BaseDataSource.md)\<`any`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:270](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L270)
#### Parameters
##### id
`string`
##### metadata
`Partial`\<[`BaseDataSourceMetadata`](../interfaces/BaseDataSourceMetadata.md)\> = `...`
#### Returns
[`BaseDataSource`](BaseDataSource.md)\<`any`\>
***
### ~~destroy()~~
> **destroy**(): `void`
Defined in: [packages/angular/definition/src/lib/definition.ts:118](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L118)
#### Returns
`void`
#### Deprecated
use ngOnDestroy instead
#### Inherited from
`BaseDefinition.destroy`
***
### disconnect()
> **disconnect**(`viewerOrId`): `void`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:225](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L225)
#### Parameters
##### viewerOrId
`string` | `Viewer`
#### Returns
`void`
***
### genericRetryFunction()
> `protected` **genericRetryFunction**(`error`, `retryCount`): `Observable`\<`any`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:311](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L311)
#### Parameters
##### error
`any`
##### retryCount
`number`
#### Returns
`Observable`\<`any`\>
***
### getMetadata()
> **getMetadata**(): `null` \| `Metadata`
Defined in: [packages/angular/definition/src/lib/definition.ts:107](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L107)
#### Returns
`null` \| `Metadata`
#### Inherited from
`BaseDefinition.getMetadata`
***
### getViewerId()
> **getViewerId**(`viewer`): `string`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:114](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L114)
#### Parameters
##### viewer
`Viewer`
#### Returns
`string`
***
### handelError()
> `protected` **handelError**(`error`): `void`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:317](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L317)
#### Parameters
##### error
`any`
#### Returns
`void`
***
### init()
> **init**(): `void`
Defined in: [packages/angular/definition/src/lib/definition.ts:127](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L127)
#### Returns
`void`
#### Inherited from
`BaseDefinition.init`
***
### isConnected()
> **isConnected**(`viewerOrId`): `boolean`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:217](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L217)
#### Parameters
##### viewerOrId
`string` | `Viewer`
#### Returns
`boolean`
***
### ngOnDestroy()
> **ngOnDestroy**(): `void`
Defined in: [packages/angular/definition/src/lib/definition.ts:122](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L122)
A callback method that performs custom clean-up, invoked immediately
before a directive, pipe, or service instance is destroyed.
#### Returns
`void`
#### Inherited from
`BaseDefinition.ngOnDestroy`
***
### refresh()
> **refresh**(): `any`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:290](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L290)
#### Returns
`any`
***
### reset()
> **reset**(): `any`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:297](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L297)
#### Returns
`any`
***
### retry()
> **retry**(): `any`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:293](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L293)
#### Returns
`any`
***
### toJSON()
> **toJSON**(): `object`
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:280](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L280)
#### Returns
`object`
***
### toPromise()
> **toPromise**(`viewer`): `Promise`\<`Data`\>
Defined in: [packages/angular/data-source/src/lib/base.data-source.ts:264](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/data-source/src/lib/base.data-source.ts#L264)
Creates a connection to tha data source and converts the Observable into a
promise and then disconnects the viewer
#### Parameters
##### viewer
`Viewer`
#### Returns
`Promise`\<`Data`\>
***
### add()
> `static` **add**(`definition`): `void`
Defined in: [packages/angular/definition/src/lib/definition.ts:94](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L94)
#### Parameters
##### definition
`BaseDefinition`
#### Returns
`void`
#### Inherited from
`BaseDefinition.add`
***
### remove()
> `static` **remove**(`definition`): `void`
Defined in: [packages/angular/definition/src/lib/definition.ts:102](https://gitlab.com/rxap/packages/-/blob/3eebed1be2bbb37bc0d65959f8fecbb850c0b8aa/packages/angular/definition/src/lib/definition.ts#L102)
#### Parameters
##### definition
`BaseDefinition`
#### Returns
`void`
#### Inherited from
`BaseDefinition.remove`