@forestadmin/datasource-toolkit
Version:
21 lines • 1.2 kB
TypeScript
import { Caller } from '../interfaces/caller';
import { Chart } from '../interfaces/chart';
import { Collection, DataSource } from '../interfaces/collection';
import { DataSourceSchema } from '../interfaces/schema';
type CollectionDecoratorConstructor<CollectionDecorator extends Collection> = {
new (c: Collection, d: DataSource): CollectionDecorator;
};
export default class DataSourceDecorator<CollectionDecorator extends Collection = Collection> implements DataSource<CollectionDecorator> {
protected readonly childDataSource: DataSource;
private readonly CollectionDecoratorCtor;
private readonly decorators;
get schema(): DataSourceSchema;
get nativeQueryConnections(): Record<string, unknown>;
get collections(): CollectionDecorator[];
constructor(childDataSource: DataSource, CollectionDecoratorCtor: CollectionDecoratorConstructor<CollectionDecorator>);
getCollection(name: string): CollectionDecorator;
renderChart(caller: Caller, name: string): Promise<Chart>;
executeNativeQuery(connectionName: string, query: string, contextVariables: Record<string, unknown>): Promise<unknown>;
}
export {};
//# sourceMappingURL=datasource-decorator.d.ts.map