From 23df06b67fa8e52e8e1834bf8aa34469473e245e Mon Sep 17 00:00:00 2001 From: Mathias Beaulieu-Duncan Date: Tue, 3 Sep 2024 04:32:10 -0400 Subject: [PATCH] fix some types and simplified back IDataSource generics --- projects/data/package.json | 2 +- .../src/lib/abstractions/command.abstraction.ts | 2 +- .../lib/abstractions/data-source.abstraction.ts | 16 ++++++++-------- projects/data/src/lib/data-source.ts | 10 +++++----- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/projects/data/package.json b/projects/data/package.json index 6542660..b694e19 100644 --- a/projects/data/package.json +++ b/projects/data/package.json @@ -1,6 +1,6 @@ { "name": "@openharbor/data", - "version": "1.0.0-alpha.2", + "version": "1.0.0-alpha.4", "repository": "https://git.openharbor.io/Open-Harbor/ts-data", "license": "MIT", "peerDependencies": { diff --git a/projects/data/src/lib/abstractions/command.abstraction.ts b/projects/data/src/lib/abstractions/command.abstraction.ts index 330db8c..9b8e29c 100644 --- a/projects/data/src/lib/abstractions/command.abstraction.ts +++ b/projects/data/src/lib/abstractions/command.abstraction.ts @@ -10,6 +10,6 @@ export interface ICommandAdapter { export interface IResolveCommandModelEvent { command: string; - model: TModel; + model: Partial; params?: any; } diff --git a/projects/data/src/lib/abstractions/data-source.abstraction.ts b/projects/data/src/lib/abstractions/data-source.abstraction.ts index f1dd334..2339c4f 100644 --- a/projects/data/src/lib/abstractions/data-source.abstraction.ts +++ b/projects/data/src/lib/abstractions/data-source.abstraction.ts @@ -11,12 +11,12 @@ import { ISort } from './query.abstraction'; -export interface IDataSource +export interface IDataSource { resolveCommandModelByName(event: IResolveCommandModelEvent) : Observable; executeCommandByName(name: string, command: TCommand) : Observable; - query(query: TQuery): Subscription; - executeQuery(query: TQuery): Observable>; + query(query: TQuery): Subscription; + executeQuery(query: TQuery): Observable>; refresh(): Subscription; resolveIdField(model: TModel) : TModel[keyof TModel]; clear(): void; @@ -40,21 +40,21 @@ export interface IDataSource page: number; } -export interface IDataSourceOptions{ - transport: IDataSourceTransportOptions; +export interface IDataSourceOptions{ + transport: IDataSourceTransportOptions; idField?: keyof TResult; resolveIdField?: (model: TResult) => TResult[keyof TResult]; defaultCriteria: IQueryCriteria; } -export interface IDataSourceTransportOptions { - query: IDataSourceQueryAdapterOptions; +export interface IDataSourceTransportOptions { + query: IDataSourceQueryAdapterOptions; commands: { [name: string]: IDataSourceCommandAdapterOptions; }; } -export interface IDataSourceQueryAdapterOptions { +export interface IDataSourceQueryAdapterOptions { adapter: IAdvanceQueryAdapter; } diff --git a/projects/data/src/lib/data-source.ts b/projects/data/src/lib/data-source.ts index aca7ea7..1764876 100644 --- a/projects/data/src/lib/data-source.ts +++ b/projects/data/src/lib/data-source.ts @@ -21,7 +21,7 @@ import { import {ICommand, IResolveCommandModelEvent} from './abstractions/command.abstraction'; -export class DataSource implements IDataSource +export class DataSource implements IDataSource { data?: IQueryExecutionResult & IQueryExecutionGroupResult; @@ -79,7 +79,7 @@ export class DataSource implem return this._notifyMessage$; } - constructor(public options: IDataSourceOptions) { + constructor(public options: IDataSourceOptions) { this._initCriteria(); } @@ -191,7 +191,7 @@ export class DataSource implem private _query() : Observable & IQueryExecutionGroupResult> { return new Observable & IQueryExecutionGroupResult>((o: Observer & IQueryExecutionGroupResult>) => { this._loadingSubject.next(true); - this.options.transport.query.adapter.handle(this._criteria as TQuery) + this.options.transport.query.adapter.handle(this._criteria) .pipe( finalize(() => { o.complete(); @@ -220,7 +220,7 @@ export class DataSource implem }); } - query(query: TQuery) { + query(query: TQuery) { this._criteria.page = query.page === undefined ? this._criteria.page:query.page; this._criteria.pageSize = query.pageSize === undefined ? this._criteria.pageSize: query.pageSize; this._criteria.filters = query.filters || this._criteria.filters; @@ -230,7 +230,7 @@ export class DataSource implem return this.refresh(); } - executeQuery(query: TQuery): Observable>{ + executeQuery(query: TQuery): Observable>{ return this.options.transport.query.adapter.handle(query); }