# Function RxapDataSource

- RxapDataSource<Metadata extends BaseDataSourceMetadata>(
  dataSourceIdOrMetadata: string | Metadata,
  className?: string,
  packageName?: string,
  ): (
  target: Constructor<
  BaseDataSource<any, BaseDataSourceMetadata, BaseDataSourceViewer<any>>,
  >,
  ) => void

  #### Type Parameters

  - Metadata extends BaseDataSourceMetadata

  #### Parameters

  - dataSourceIdOrMetadata: string | Metadata
  - className: string = 'BaseDataSource'
  - packageName: string = '@rxap/data-source'

  #### Returns (
  target: Constructor<
  BaseDataSource<any, BaseDataSourceMetadata, BaseDataSourceViewer<any>>,
  >,
  ) => void

  - Defined in packages/angular/data-source/src/lib/base.data-source.ts:331