From eca1fd1b9cf14febef7583e69501b4ab85342dba Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Wed, 6 Oct 2021 14:16:48 +0300 Subject: [PATCH] add map each and query params to get method --- src/lib/services/generic.service.ts | 4 ++-- src/lib/utils/operators.ts | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/services/generic.service.ts b/src/lib/services/generic.service.ts index 45f84ae..408c389 100644 --- a/src/lib/services/generic.service.ts +++ b/src/lib/services/generic.service.ts @@ -31,11 +31,11 @@ export abstract class GenericService { return id ? this._getOne([id]) : this.getAll(); } - @Validate() - getAll(modelPath = this._defaultModelPath): Observable { + getAll(modelPath = this._defaultModelPath, queryParams?: List): Observable { return this._http.get(`/${encodeURI(modelPath)}`, { headers: HeadersConfiguration.getHeaders({ contentType: false }), observe: 'body', + params: this._queryParams(queryParams), }); } diff --git a/src/lib/utils/operators.ts b/src/lib/utils/operators.ts index b6abbc4..c7580e9 100644 --- a/src/lib/utils/operators.ts +++ b/src/lib/utils/operators.ts @@ -9,5 +9,9 @@ export function any(predicate: (value: T, index: number) => boolean): Operato return map(entities => entities.some(predicate)); } +export function mapEach(predicate: (value: T, index: number) => R): OperatorFunction { + return map(entities => entities.map(predicate)); +} + export const toLengthValue = (entities: unknown[]): number => entities?.length ?? 0; export const getLength = pipe(map(toLengthValue), distinctUntilChanged());