@verisoft/core 19.0.0-rc001 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +285 -1
- package/fesm2022/verisoft-core.mjs +3 -3
- package/fesm2022/verisoft-core.mjs.map +1 -1
- package/index.d.ts +135 -3
- package/package.json +5 -8
- package/lib/models/all-item.datasource.d.ts +0 -4
- package/lib/models/base-http.models.d.ts +0 -41
- package/lib/models/constants.d.ts +0 -3
- package/lib/models/datasource.model.d.ts +0 -8
- package/lib/models/environment.model.d.ts +0 -5
- package/lib/models/error-provider.model.d.ts +0 -11
- package/lib/models/event.models.d.ts +0 -5
- package/lib/models/index.d.ts +0 -7
- package/lib/services/base-http.service.d.ts +0 -21
- package/lib/services/error-provider.service.d.ts +0 -12
- package/lib/services/index.d.ts +0 -3
- package/lib/services/local-storage.service.d.ts +0 -5
- package/lib/utils/array.utils.d.ts +0 -5
- package/lib/utils/clear.utils.d.ts +0 -7
- package/lib/utils/data.utils.d.ts +0 -3
- package/lib/utils/date.utils.d.ts +0 -1
- package/lib/utils/index.d.ts +0 -6
- package/lib/utils/keyOrFn.utils.d.ts +0 -1
- package/lib/utils/object.utils.d.ts +0 -2
package/README.md
CHANGED
|
@@ -1,5 +1,289 @@
|
|
|
1
|
-
# core
|
|
1
|
+
# @verisoft/core
|
|
2
2
|
|
|
3
|
+
Core utilities and HTTP services for Verisoft Angular applications, providing foundational functionality for data access, HTTP communication, and utility operations.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @verisoft/core
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- **BaseHttpService**: Generic HTTP service with CRUD operations
|
|
14
|
+
- **HTTP Models**: Type-safe request/response models
|
|
15
|
+
- **Utility Functions**: Common operations for arrays, objects, dates, and data manipulation
|
|
16
|
+
- **Storage Services**: Local storage abstraction
|
|
17
|
+
- **Error Handling**: Centralized error provider service
|
|
18
|
+
|
|
19
|
+
## Core Services
|
|
20
|
+
|
|
21
|
+
### BaseHttpService
|
|
22
|
+
|
|
23
|
+
Generic HTTP service providing standardized CRUD operations for REST APIs.
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import { Injectable } from '@angular/core';
|
|
27
|
+
import { BaseHttpService } from '@verisoft/core';
|
|
28
|
+
|
|
29
|
+
@Injectable({ providedIn: 'root' })
|
|
30
|
+
export class UserService extends BaseHttpService<User> {
|
|
31
|
+
constructor() {
|
|
32
|
+
super('users'); // Base endpoint path
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Usage
|
|
37
|
+
export class UserComponent {
|
|
38
|
+
constructor(private userService: UserService) {}
|
|
39
|
+
|
|
40
|
+
loadUsers() {
|
|
41
|
+
this.userService.fetchList({ page: 1, size: 10 })
|
|
42
|
+
.subscribe(page => {
|
|
43
|
+
console.log(page.data); // User[]
|
|
44
|
+
console.log(page.total); // Total count
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
getUser(id: number) {
|
|
49
|
+
this.userService.get(id)
|
|
50
|
+
.subscribe(user => console.log(user));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
createUser(user: CreateUserDto) {
|
|
54
|
+
this.userService.post(user)
|
|
55
|
+
.subscribe(created => console.log(created));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
updateUser(id: number, user: UpdateUserDto) {
|
|
59
|
+
this.userService.put(id, user)
|
|
60
|
+
.subscribe(updated => console.log(updated));
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
deleteUser(id: number) {
|
|
64
|
+
this.userService.delete(id)
|
|
65
|
+
.subscribe(() => console.log('Deleted'));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### HTTP Models
|
|
71
|
+
|
|
72
|
+
Type-safe models for API communication:
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
import { RequestParams, Page, SortDirection } from '@verisoft/core';
|
|
76
|
+
|
|
77
|
+
interface UserFilter {
|
|
78
|
+
name?: string;
|
|
79
|
+
email?: string;
|
|
80
|
+
active?: boolean;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Request parameters with filtering and sorting
|
|
84
|
+
const params: RequestParams<UserFilter> = {
|
|
85
|
+
page: 1,
|
|
86
|
+
size: 20,
|
|
87
|
+
filter: {
|
|
88
|
+
active: true,
|
|
89
|
+
name: 'John'
|
|
90
|
+
},
|
|
91
|
+
sort: {
|
|
92
|
+
field: 'createdAt',
|
|
93
|
+
direction: SortDirection.DESC
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
// Response pagination
|
|
98
|
+
interface UserPage extends Page<User> {
|
|
99
|
+
data: User[];
|
|
100
|
+
total: number;
|
|
101
|
+
size: number;
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Utility Functions
|
|
106
|
+
|
|
107
|
+
Common utility operations for data manipulation:
|
|
108
|
+
|
|
109
|
+
```typescript
|
|
110
|
+
import {
|
|
111
|
+
ArrayUtils,
|
|
112
|
+
ObjectUtils,
|
|
113
|
+
DateUtils,
|
|
114
|
+
DataUtils,
|
|
115
|
+
ClearUtils
|
|
116
|
+
} from '@verisoft/core';
|
|
117
|
+
|
|
118
|
+
// Array utilities
|
|
119
|
+
const uniqueItems = ArrayUtils.unique([1, 2, 2, 3]);
|
|
120
|
+
const groupedData = ArrayUtils.groupBy(users, 'department');
|
|
121
|
+
|
|
122
|
+
// Object utilities
|
|
123
|
+
const merged = ObjectUtils.merge(obj1, obj2);
|
|
124
|
+
const cloned = ObjectUtils.deepClone(originalObject);
|
|
125
|
+
|
|
126
|
+
// Date utilities
|
|
127
|
+
const formatted = DateUtils.format(new Date(), 'DD/MM/YYYY');
|
|
128
|
+
const isValid = DateUtils.isValid('2023-12-31');
|
|
129
|
+
|
|
130
|
+
// Data utilities
|
|
131
|
+
const filtered = DataUtils.filterBy(items, 'status', 'active');
|
|
132
|
+
const sorted = DataUtils.sortBy(items, 'name');
|
|
133
|
+
|
|
134
|
+
// Clear utilities
|
|
135
|
+
const cleaned = ClearUtils.removeEmpty(objectWithNulls);
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Storage Services
|
|
139
|
+
|
|
140
|
+
Local storage abstraction with type safety:
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
import { LocalStorageService } from '@verisoft/core';
|
|
144
|
+
|
|
145
|
+
export class SettingsService {
|
|
146
|
+
constructor(private storage: LocalStorageService) {}
|
|
147
|
+
|
|
148
|
+
saveUserPreferences(prefs: UserPreferences) {
|
|
149
|
+
this.storage.setItem('userPrefs', prefs);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
getUserPreferences(): UserPreferences | null {
|
|
153
|
+
return this.storage.getItem<UserPreferences>('userPrefs');
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
clearPreferences() {
|
|
157
|
+
this.storage.removeItem('userPrefs');
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Error Handling
|
|
163
|
+
|
|
164
|
+
Centralized error provider for consistent error management:
|
|
165
|
+
|
|
166
|
+
```typescript
|
|
167
|
+
import { ErrorProviderService } from '@verisoft/core';
|
|
168
|
+
|
|
169
|
+
@Component({...})
|
|
170
|
+
export class MyComponent {
|
|
171
|
+
constructor(private errorProvider: ErrorProviderService) {}
|
|
172
|
+
|
|
173
|
+
handleApiError(error: any) {
|
|
174
|
+
this.errorProvider.handleError(error);
|
|
175
|
+
// Automatically handles common HTTP errors
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
## Configuration
|
|
181
|
+
|
|
182
|
+
### Base URL Configuration
|
|
183
|
+
|
|
184
|
+
Configure the base URL for HTTP services:
|
|
185
|
+
|
|
186
|
+
```typescript
|
|
187
|
+
import { BASE_URL_PATH } from '@verisoft/core';
|
|
188
|
+
|
|
189
|
+
@NgModule({
|
|
190
|
+
providers: [
|
|
191
|
+
{
|
|
192
|
+
provide: BASE_URL_PATH,
|
|
193
|
+
useValue: 'https://api.example.com/v1'
|
|
194
|
+
}
|
|
195
|
+
]
|
|
196
|
+
})
|
|
197
|
+
export class AppModule {}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Service Configuration
|
|
201
|
+
|
|
202
|
+
Customize BaseHttpService behavior:
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
@Injectable()
|
|
206
|
+
export class CustomUserService extends BaseHttpService<User> {
|
|
207
|
+
constructor() {
|
|
208
|
+
super('users', {
|
|
209
|
+
timeout: 10000,
|
|
210
|
+
retries: 3,
|
|
211
|
+
headers: {
|
|
212
|
+
'Custom-Header': 'value'
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Override default methods
|
|
218
|
+
protected override handleError(error: any) {
|
|
219
|
+
// Custom error handling
|
|
220
|
+
return super.handleError(error);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## Advanced Usage
|
|
226
|
+
|
|
227
|
+
### Custom Request Parameters
|
|
228
|
+
|
|
229
|
+
Extend request parameters for specific needs:
|
|
230
|
+
|
|
231
|
+
```typescript
|
|
232
|
+
interface CustomRequestParams<T> extends RequestParams<T> {
|
|
233
|
+
includeDeleted?: boolean;
|
|
234
|
+
expand?: string[];
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
class ExtendedService extends BaseHttpService<MyEntity> {
|
|
238
|
+
fetchWithOptions(params: CustomRequestParams<MyFilter>) {
|
|
239
|
+
return this.httpClient.get<Page<MyEntity>>(
|
|
240
|
+
this.buildUrl('', params)
|
|
241
|
+
);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Response Transformation
|
|
247
|
+
|
|
248
|
+
Transform API responses:
|
|
249
|
+
|
|
250
|
+
```typescript
|
|
251
|
+
class TransformingService extends BaseHttpService<User> {
|
|
252
|
+
fetchList(params: RequestParams<UserFilter>) {
|
|
253
|
+
return super.fetchList(params).pipe(
|
|
254
|
+
map(page => ({
|
|
255
|
+
...page,
|
|
256
|
+
data: page.data.map(user => ({
|
|
257
|
+
...user,
|
|
258
|
+
fullName: `${user.firstName} ${user.lastName}`
|
|
259
|
+
}))
|
|
260
|
+
}))
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## Best Practices
|
|
267
|
+
|
|
268
|
+
1. **Extend BaseHttpService**: Create specific services for each entity
|
|
269
|
+
2. **Use Type Safety**: Define proper interfaces for filters and DTOs
|
|
270
|
+
3. **Handle Errors**: Implement proper error handling strategies
|
|
271
|
+
4. **Cache Responses**: Consider implementing caching for frequently accessed data
|
|
272
|
+
5. **Test Services**: Write unit tests for service methods
|
|
273
|
+
|
|
274
|
+
## Dependencies
|
|
275
|
+
|
|
276
|
+
- `@angular/common/http`
|
|
277
|
+
- `rxjs`
|
|
278
|
+
- `moment` (for date utilities)
|
|
279
|
+
|
|
280
|
+
## Contributing
|
|
281
|
+
|
|
282
|
+
This library is part of the Verisoft framework ecosystem. Follow the established patterns and ensure compatibility with other @verisoft packages.
|
|
283
|
+
|
|
284
|
+
## Running unit tests
|
|
285
|
+
|
|
286
|
+
Run `nx test core` to execute the unit tests.
|
|
3
287
|
This library was generated with [Nx](https://nx.dev).
|
|
4
288
|
|
|
5
289
|
## Running unit tests
|
|
@@ -297,10 +297,10 @@ class LocalizableErrorProviderService {
|
|
|
297
297
|
const value = errors[key];
|
|
298
298
|
return { key, value };
|
|
299
299
|
}
|
|
300
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
301
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
300
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: LocalizableErrorProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
301
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: LocalizableErrorProviderService, providedIn: 'root' }); }
|
|
302
302
|
}
|
|
303
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
303
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.1", ngImport: i0, type: LocalizableErrorProviderService, decorators: [{
|
|
304
304
|
type: Injectable,
|
|
305
305
|
args: [{
|
|
306
306
|
providedIn: 'root'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verisoft-core.mjs","sources":["../../../../../src/libs/core/src/lib/models/constants.ts","../../../../../src/libs/core/src/lib/models/base-http.models.ts","../../../../../src/libs/core/src/lib/utils/clear.utils.ts","../../../../../src/libs/core/src/lib/services/base-http.service.ts","../../../../../src/libs/core/src/lib/models/datasource.model.ts","../../../../../src/libs/core/src/lib/models/error-provider.model.ts","../../../../../src/libs/core/src/lib/services/local-storage.service.ts","../../../../../src/libs/core/src/lib/services/error-provider.service.ts","../../../../../src/libs/core/src/lib/utils/keyOrFn.utils.ts","../../../../../src/libs/core/src/lib/utils/object.utils.ts","../../../../../src/libs/core/src/lib/utils/array.utils.ts","../../../../../src/libs/core/src/lib/utils/data.utils.ts","../../../../../src/libs/core/src/lib/utils/date.utils.ts","../../../../../src/libs/core/src/verisoft-core.ts"],"sourcesContent":["import { LazyLoadEvent } from './event.models';\r\n\r\nexport const DEFAULT_PAGE_SIZE = 50;\r\n\r\nexport const DEFAULT_LAZYLOAD_OPTIONS: LazyLoadEvent = {\r\n offset: 0,\r\n limit: DEFAULT_PAGE_SIZE,\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpParams, HttpResponse } from '@angular/common/http';\nimport { InjectionToken } from '@angular/core';\n\nexport const BASE_URL_PATH = new InjectionToken<string>('BASE_URL_PATH');\n\nexport function requestParamsToHttpParams<T>(\n requestParams: Partial<RequestParams<T>>,\n httpParams: HttpParams = new HttpParams()\n): HttpParams {\n if (requestParams.limit != undefined) {\n httpParams = httpParams.append('limit', requestParams.limit.toString());\n }\n\n if (requestParams.offset != undefined) {\n httpParams = httpParams.append('offset', requestParams.offset.toString());\n }\n\n if (requestParams.id != '' && requestParams.id != undefined) {\n httpParams = httpParams.append('id', requestParams.id as any);\n }\n\n httpParams = getFilter(requestParams, httpParams);\n httpParams = getSort(requestParams, httpParams);\n\n return httpParams;\n}\n\nfunction getFilter<T>(\n requestParams: Partial<RequestParams<any>>,\n httpParams: HttpParams\n): HttpParams {\n if (!requestParams.filter) {\n return httpParams;\n }\n Object.keys(requestParams?.filter).forEach((key) => {\n const value = requestParams.filter?.[key as keyof Partial<T>];\n if (value != undefined && !(typeof value === 'string' && value.trim() === \"\")) {\n if (Array.isArray(value)) {\n value.forEach((valueItem: any) => {\n httpParams = httpParams.append(\n 'Filter.' + key, valueItem\n );\n });\n } else {\n httpParams = httpParams.append('Filter.' + key, value);\n }\n }\n });\n return httpParams;\n}\n\nfunction getSort(\n requestParams: Partial<RequestParams<any>>,\n httpParams: HttpParams\n): HttpParams {\n if (!requestParams.sort) {\n return httpParams;\n }\n\n requestParams.sort?.forEach((sort) => {\n httpParams = httpParams\n .append('Sort.Field', sort.field)\n .append('Sort.Direction', sort.direction);\n });\n return httpParams;\n}\n\nexport function saveFile(response: HttpResponse<Blob>) {\n const fileName = response.headers\n .get('Content-Disposition')\n ?.split(';')[1]\n .split('=')[1];\n const blob: Blob = response.body as Blob;\n const a = document.createElement('a');\n a.download = fileName ?? 'undefined';\n a.href = window.URL.createObjectURL(blob);\n a.click();\n}\n\nexport enum SortDirection {\n asc = 'asc',\n desc = 'desc',\n}\n\nexport declare type SortDirectionType = keyof typeof SortDirection;\n\nexport declare interface Sort {\n field: string;\n direction: SortDirectionType;\n}\n\nexport interface RequestParams<T> extends AllDataRequestParams<T> {\n offset: number;\n limit: number;\n id?: string;\n}\n\nexport interface AllDataRequestParams<T> {\n filter?: Partial<T>;\n sort?: Sort[];\n}\n\nexport interface Page<T> {\n data: T[];\n total: number;\n limit: number;\n offset: number;\n}\n\nexport interface CustomExport<T> {\n sortDefinition?: Sort;\n filter?: Partial<T>;\n columnsToExport: ColumnExportSpecification[];\n}\n\nexport interface ColumnExportSpecification {\n name: string;\n header: string;\n}\n\nexport const DEFAULT_SEARCH_LIMIT = 50;\n\nexport const DEFAULT_SEARCH_PARAMS: RequestParams<any> = {\n offset: 0,\n limit: DEFAULT_SEARCH_LIMIT,\n id: '',\n};\n\nexport function normalizeRequest<T>(\n request: Partial<RequestParams<T>>,\n minLimit: number | undefined = undefined\n): RequestParams<T> {\n return {\n offset: request?.offset ?? 0,\n limit: !request?.limit\n ? DEFAULT_SEARCH_LIMIT\n : minLimit && request.limit < minLimit\n ? minLimit\n : request.limit,\n filter: request?.filter,\n sort: request?.sort,\n };\n}\n","export class ClearUtils {\n\n static recursiveObjectAttributesTransformation(obj: any): void {\n ClearUtils.recursiveObjectAttributesTraversal(\n obj,\n ClearUtils.transformEmptyStringToNullStringFn\n );\n }\n static recursiveObjectAttributesDeletation(obj: any): void {\n ClearUtils.recursiveObjectAttributesTraversal(\n obj,\n ClearUtils.deleteEmptyStringToNullStringFn\n );\n }\n\n static transformEmptyStringToNullStringFn(obj: any, key: string) {\n if (typeof obj[key] === 'string' && obj[key] === '') {\n obj[key] = null;\n }\n }\n static deleteEmptyStringToNullStringFn(obj: any, key: string) {\n if (obj[key] === '' || obj[key] === null || obj[key] === undefined) {\n delete obj[key]\n }\n }\n\n\n static recursiveObjectAttributesTraversal(\n obj: any,\n transformationFn: (obj: any, key: string) => void\n ) {\n if (\n obj === null ||\n transformationFn === null ||\n typeof transformationFn !== 'function'\n ) {\n return;\n }\n\n Object.keys(obj).forEach((key) => {\n transformationFn(obj, key);\n\n if (typeof obj[key] === 'object') {\n this.recursiveObjectAttributesTraversal(obj[key], transformationFn);\n\n if (!Object.keys(obj[key]).length) {\n delete obj[key];\n }\n }\n });\n }\n\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpClient } from '@angular/common/http';\nimport { map, Observable } from 'rxjs';\nimport {\n AllDataRequestParams,\n DEFAULT_SEARCH_PARAMS,\n Page,\n RequestParams,\n requestParamsToHttpParams,\n} from '../models/base-http.models';\nimport { LazyLoadEvent } from '../models/event.models';\nimport { ClearUtils } from '../utils/clear.utils';\n\nexport class BaseHttpService<T, TKey = number | string> {\n constructor(\n readonly http: HttpClient,\n readonly basePath: string,\n readonly entityName: string\n ) {\n this.basePath = basePath;\n }\n\n protected get apiPath() {\n return this.basePath ? this.basePath + this.entityName : this.entityName;\n }\n\n fetchList(requestParams: RequestParams<T>): Observable<Page<T>> {\n const params = requestParamsToHttpParams<T>(requestParams);\n return this.http.get<Page<T>>(this.apiPath, { params }).pipe(\n map((response: Page<T>) => {\n response.limit = requestParams.limit;\n return response;\n })\n );\n }\n\n getData$(\n entityName: keyof T,\n searchTerm?: string | undefined,\n lazyLoad?: LazyLoadEvent\n ): Observable<T[]> {\n const filter: Partial<T> = { [entityName]: searchTerm } as Partial<T>;\n const params = lazyLoad\n ? requestParamsToHttpParams<T>({\n ...DEFAULT_SEARCH_PARAMS,\n offset: lazyLoad.offset,\n limit: lazyLoad.limit,\n filter,\n })\n : requestParamsToHttpParams<T>({\n ...DEFAULT_SEARCH_PARAMS,\n filter,\n });\n\n return this.http.get<T[]>(this.apiPath, { params });\n }\n\n get(id: TKey): Observable<T> {\n const url = `${this.apiPath}/${id}`;\n return this.http.get<T>(url);\n }\n\n post(entity: Partial<T>): Observable<T> {\n return this.http.post<T>(this.apiPath, entity);\n }\n\n put(id: TKey, entity: Partial<T>): Observable<T> {\n const url = `${this.apiPath}/${id}`;\n return this.http.put<T>(url, entity);\n }\n\n delete(id: TKey): Observable<T> {\n const url = `${this.apiPath}/${id}`;\n return this.http.delete<T>(url);\n }\n\n export(requestParams: AllDataRequestParams<T>): Observable<Blob> {\n const httpParams = requestParamsToHttpParams<T>(requestParams);\n const url = `${this.apiPath}/export`;\n return this.http.get(url, { responseType: 'blob', params: httpParams });\n }\n\n removeRange(entity: string[]) {\n return this.http.delete(this.apiPath, {\n body: entity,\n });\n }\n\n createParams<T>(requestParams: RequestParams<T>): any {\n const sorter = this.createSorter(requestParams);\n const filter = JSON.parse(JSON.stringify(requestParams.filter));\n const transformedFilter = filter;\n ClearUtils.recursiveObjectAttributesDeletation(transformedFilter);\n return {\n paging: {\n offset: requestParams.offset,\n limit: requestParams.limit,\n },\n ...(sorter && { sorting: sorter }),\n ...(transformedFilter && { filter: transformedFilter }),\n };\n }\n\n private createSorter<T>(requestParams: RequestParams<T>) {\n if (requestParams?.sort?.length === 1) {\n const sorter = requestParams.sort[0];\n return {\n sortField: sorter.field,\n sortOrder: sorter.direction,\n };\n }\n return null;\n }\n}\n","import { HttpClient } from '@angular/common/http';\r\nimport { isObservable, map, Observable, of } from 'rxjs';\r\nimport { BaseHttpService } from '../services/base-http.service';\r\nimport { AllItemDatasource } from './all-item.datasource';\r\nimport { Page, RequestParams } from './base-http.models';\r\nimport { DEFAULT_PAGE_SIZE } from './constants';\r\n\r\nexport type DatasourceType<T> =\r\n | string\r\n | Observable<T[]>\r\n | Observable<Page<T>>\r\n | BaseHttpService<T>\r\n | T[]\r\n | Page<T>\r\n | AllItemDatasource<T>;\r\n\r\nexport type DataSourceFunctionType<T> = (\r\n requestParams: RequestParams<T>\r\n) => Observable<Page<T>>;\r\n\r\nexport function convertDatasource<T>(\r\n datasource: DatasourceType<T>,\r\n basePath: string,\r\n httpClient: HttpClient\r\n): DataSourceFunctionType<T> {\r\n if (!datasource) {\r\n throw new Error('Datasource is not defined');\r\n }\r\n\r\n if (typeof datasource === 'string') {\r\n const service = new BaseHttpService<T>(httpClient, basePath, datasource);\r\n return (requestParams: RequestParams<T>) =>\r\n service.fetchList(requestParams);\r\n }\r\n\r\n if (datasource instanceof BaseHttpService) {\r\n return (requestParams: RequestParams<T>) =>\r\n datasource.fetchList(requestParams);\r\n }\r\n\r\n if (isObservable(datasource)) {\r\n return () =>\r\n (datasource as Observable<Page<T> | T[]>).pipe(map(convertArrayToPage));\r\n }\r\n\r\n const allItemDatasource = <AllItemDatasource<T>>datasource;\r\n if (allItemDatasource.getData$) {\r\n return () =>\r\n allItemDatasource\r\n .getData$()\r\n .pipe(map((data) => convertArrayToPage(data)));\r\n }\r\n\r\n const page = <Page<T>>datasource;\r\n if (page.data) {\r\n return () => of(page);\r\n }\r\n\r\n if (Array.isArray(datasource)) {\r\n return () => of(convertArrayToPage(datasource));\r\n }\r\n\r\n throw new Error('Datasource is not supported');\r\n}\r\n\r\nfunction convertArrayToPage<T>(data: Page<T> | T[]): Page<T> {\r\n if (Array.isArray(data)) {\r\n return {\r\n data: data ?? [],\r\n total: data?.length ?? 0,\r\n limit: data?.length ?? DEFAULT_PAGE_SIZE,\r\n offset: 0,\r\n };\r\n }\r\n\r\n return data as Page<T>;\r\n}\r\n","import { InjectionToken } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { Observable } from 'rxjs';\n\nexport interface ErrorProvider {\n mapError(errors: ValidationErrors): Observable<string | undefined>;\n errors: Record<string, (value?: any) => string>;\n}\n\nexport const ERROR_PROVIDER_TOKEN\n = new InjectionToken<ErrorProvider>('ERROR_PROVIDER_TOKEN');\n\nexport enum CustomValidationCodes {}\n\nexport const ErrorMap: Record<string, (value?: any) => string> = {\n required: () => `VALIDATIONS.REQUIRED`,\n email: () => `VALIDATIONS.EMAIL`,\n minLength: () => 'VALIDATIONS.MIN_LENGTH',\n maxLength: () => 'VALIDATIONS.MAX_LENGTH',\n};\n","export class LocalStorageService {\n setItem(key: string, value: string) {\n localStorage.setItem(key, value);\n }\n\n getItem(key: string): string | null {\n return localStorage.getItem(key);\n }\n\n removeItem(key: string) {\n localStorage.removeItem(key);\n }\n}","import { inject, Injectable } from '@angular/core';\nimport { ValidationErrors } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable, of } from 'rxjs';\nimport { ErrorProvider, ErrorMap } from '../models/error-provider.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocalizableErrorProviderService implements ErrorProvider {\n private readonly translateService = inject(TranslateService);\n readonly errors: Record<string, (value?: any) => string> = ErrorMap;\n\n mapError(errors: ValidationErrors): Observable<string | undefined> {\n const error = this.getFirstValue(errors);\n if (!error || !error.key) {\n return of(undefined);\n }\n\n try {\n const value = this.errors[error.key](error.value);\n return this.translateService.get(value);\n } catch (_) {\n throw new Error(`Key \"${error.key}\" is not specified in the current error map!`);\n }\n }\n\n private getFirstValue(errors: ValidationErrors): { key: string; value: string } {\n const key = Object.keys(errors)[0];\n const value = errors[key];\n return { key, value };\n }\n}\n","export function keyOrFn(keyOrFn: ((row: any) => string | undefined) | string, row: any) {\n if (keyOrFn instanceof Function) {\n return keyOrFn(row);\n }\n else if (typeof keyOrFn === 'string') {\n const value = row[keyOrFn];\n if (value) {\n return value;\n }\n }\n else if (typeof keyOrFn === 'boolean') {\n return keyOrFn;\n }\n return '';\n}\n","export function sortBy<TEntity, TProperty>(\r\n items: TEntity[],\r\n selector: (item: TEntity) => TProperty,\r\n ascending = true\r\n): TEntity[] {\r\n return [...items].sort((item, other) => {\r\n const value = selector(item);\r\n const otherValue = selector(other);\r\n const direction = ascending ? 1 : -1;\r\n if (value == undefined && other == undefined) {\r\n return 0;\r\n }\r\n\r\n if (value == undefined) {\r\n return -1 * direction;\r\n }\r\n if (otherValue == undefined) {\r\n return 1 * direction;\r\n }\r\n\r\n if (value < otherValue) {\r\n return -1 * direction;\r\n }\r\n\r\n if (value > otherValue) {\r\n return 1 * direction;\r\n }\r\n\r\n return 0;\r\n });\r\n}\r\n\r\nexport function getValueByPath<T, TValue>(\r\n obj: T,\r\n path: string | undefined,\r\n): TValue | undefined {\r\n if (path == undefined || path == ''){\r\n return obj as unknown as TValue;\r\n }\r\n\r\n return path.split('.').reduce((acc, key) => {\r\n if (acc && typeof acc === 'object' && key in acc) {\r\n return (acc as Record<string, TValue>)[key];\r\n }\r\n return undefined;\r\n }, obj as unknown) as TValue;\r\n}\r\n","import { Sort } from \"../models\";\nimport { getValueByPath } from \"./object.utils\";\n\ntype ArrayIntersectionType = (string | number)[]\n\nexport function isArrayIntersected(\n array1: ArrayIntersectionType,\n array2: ArrayIntersectionType,\n) {\n const filteredArray = array1.filter(value => array2.includes(value));\n return filteredArray.length > 0;\n}\n\nexport function multiSort<T>(values: T[], sorts: Sort[]): T[] {\n return [...values].sort((a, b) => {\n for (const sort of sorts) {\n const { field, direction } = sort;\n const valueA = getValueByPath(a, field);\n const valueB = getValueByPath(b, field);\n\n if (valueA !== valueB) {\n if (isComparable(valueA) && isComparable(valueB)) {\n if (typeof valueA === 'string' && typeof valueB === 'string') {\n const baseCompare = valueA.localeCompare(valueB, undefined, {\n sensitivity: 'base',\n });\n\n if (baseCompare === 0) {\n return valueA < valueB ? -1 : valueA > valueB ? 1 : 0;\n }\n\n return direction === 'asc' ? baseCompare : -baseCompare;\n } else {\n if (valueA < valueB) {\n return direction === 'asc' ? -1 : 1;\n }\n if (valueA > valueB) {\n return direction === 'asc' ? 1 : -1;\n }\n }\n }\n }\n }\n\n return 0;\n });\n}\n\nfunction isComparable(value: unknown): value is string | number | Date {\n return typeof value === 'string'\n || typeof value === 'number'\n || typeof value === 'boolean'\n || value instanceof Date;\n}\n","import moment from 'moment';\n\nexport function transformData(data: any) {\n if (data) {\n if (moment.isMoment(data)) {\n return moment(data)\n .toDate()\n .toISOString();\n }\n else if (data instanceof Date) {\n return data.toISOString();\n }\n }\n return data;\n}\n\nexport function convertToDate(data: any) {\n if (data) {\n if (!isNaN(Date.parse(data))) {\n return new Date(data);\n }\n }\n return data;\n}\n\nexport function convertToDateTime(data: any) {\n if (data) {\n if (!isNaN(Date.parse(data))) {\n const date = new Date(data);\n return moment(date).format('DD.MM.yyyy HH:mm');\n }\n }\n return data;\n}\n","const czechDateFormat = new Intl.DateTimeFormat(\"cs-CZ\", {\n day: \"numeric\",\n month: \"numeric\",\n year: \"numeric\"\n});\n\nconst czechDateTimeFormat = new Intl.DateTimeFormat(\"cs-CZ\", {\n second: \"numeric\",\n minute: \"numeric\",\n hour: \"numeric\",\n day: \"numeric\",\n month: \"numeric\",\n year: \"numeric\"\n});\n\nexport function toCzechDateTimeString(value?: Date | string, time = false): string {\n if (!value) {\n return \"\";\n }\n\n if (typeof value === \"string\") {\n value = new Date(value);\n }\n\n if (time) {\n return czechDateTimeFormat.format(value);\n }\n\n return czechDateFormat.format(value);\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verisoft-core.mjs","sources":["../tmp-esm2022/lib/models/constants.js","../tmp-esm2022/lib/models/base-http.models.js","../tmp-esm2022/lib/utils/clear.utils.js","../tmp-esm2022/lib/services/base-http.service.js","../tmp-esm2022/lib/models/datasource.model.js","../tmp-esm2022/lib/models/error-provider.model.js","../tmp-esm2022/lib/services/local-storage.service.js","../tmp-esm2022/lib/services/error-provider.service.js","../tmp-esm2022/lib/utils/keyOrFn.utils.js","../tmp-esm2022/lib/utils/object.utils.js","../tmp-esm2022/lib/utils/array.utils.js","../tmp-esm2022/lib/utils/data.utils.js","../tmp-esm2022/lib/utils/date.utils.js","../tmp-esm2022/verisoft-core.js"],"sourcesContent":["export const DEFAULT_PAGE_SIZE = 50;\nexport const DEFAULT_LAZYLOAD_OPTIONS = {\n offset: 0,\n limit: DEFAULT_PAGE_SIZE,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvY29yZS9zcmMvbGliL21vZGVscy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxDQUFDO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFrQjtJQUNyRCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxpQkFBaUI7Q0FDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhenlMb2FkRXZlbnQgfSBmcm9tICcuL2V2ZW50Lm1vZGVscyc7XHJcblxyXG5leHBvcnQgY29uc3QgREVGQVVMVF9QQUdFX1NJWkUgPSA1MDtcclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xBWllMT0FEX09QVElPTlM6IExhenlMb2FkRXZlbnQgPSB7XHJcbiAgb2Zmc2V0OiAwLFxyXG4gIGxpbWl0OiBERUZBVUxUX1BBR0VfU0laRSxcclxufTtcclxuIl19","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpParams } from '@angular/common/http';\nimport { InjectionToken } from '@angular/core';\nexport const BASE_URL_PATH = new InjectionToken('BASE_URL_PATH');\nexport function requestParamsToHttpParams(requestParams, httpParams = new HttpParams()) {\n if (requestParams.limit != undefined) {\n httpParams = httpParams.append('limit', requestParams.limit.toString());\n }\n if (requestParams.offset != undefined) {\n httpParams = httpParams.append('offset', requestParams.offset.toString());\n }\n if (requestParams.id != '' && requestParams.id != undefined) {\n httpParams = httpParams.append('id', requestParams.id);\n }\n httpParams = getFilter(requestParams, httpParams);\n httpParams = getSort(requestParams, httpParams);\n return httpParams;\n}\nfunction getFilter(requestParams, httpParams) {\n if (!requestParams.filter) {\n return httpParams;\n }\n Object.keys(requestParams?.filter).forEach((key) => {\n const value = requestParams.filter?.[key];\n if (value != undefined && !(typeof value === 'string' && value.trim() === \"\")) {\n if (Array.isArray(value)) {\n value.forEach((valueItem) => {\n httpParams = httpParams.append('Filter.' + key, valueItem);\n });\n }\n else {\n httpParams = httpParams.append('Filter.' + key, value);\n }\n }\n });\n return httpParams;\n}\nfunction getSort(requestParams, httpParams) {\n if (!requestParams.sort) {\n return httpParams;\n }\n requestParams.sort?.forEach((sort) => {\n httpParams = httpParams\n .append('Sort.Field', sort.field)\n .append('Sort.Direction', sort.direction);\n });\n return httpParams;\n}\nexport function saveFile(response) {\n const fileName = response.headers\n .get('Content-Disposition')\n ?.split(';')[1]\n .split('=')[1];\n const blob = response.body;\n const a = document.createElement('a');\n a.download = fileName ?? 'undefined';\n a.href = window.URL.createObjectURL(blob);\n a.click();\n}\nexport var SortDirection;\n(function (SortDirection) {\n SortDirection[\"asc\"] = \"asc\";\n SortDirection[\"desc\"] = \"desc\";\n})(SortDirection || (SortDirection = {}));\nexport const DEFAULT_SEARCH_LIMIT = 50;\nexport const DEFAULT_SEARCH_PARAMS = {\n offset: 0,\n limit: DEFAULT_SEARCH_LIMIT,\n id: '',\n};\nexport function normalizeRequest(request, minLimit = undefined) {\n return {\n offset: request?.offset ?? 0,\n limit: !request?.limit\n ? DEFAULT_SEARCH_LIMIT\n : minLimit && request.limit < minLimit\n ? minLimit\n : request.limit,\n filter: request?.filter,\n sort: request?.sort,\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL2NvcmUvc3JjL2xpYi9tb2RlbHMvYmFzZS1odHRwLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBUyxlQUFlLENBQUMsQ0FBQztBQUV6RSxNQUFNLFVBQVUseUJBQXlCLENBQ3ZDLGFBQXdDLEVBQ3hDLGFBQXlCLElBQUksVUFBVSxFQUFFO0lBRXpDLElBQUksYUFBYSxDQUFDLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNyQyxVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFLENBQUM7UUFDdEMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsSUFBSSxhQUFhLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxhQUFhLENBQUMsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQzVELFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsRUFBUyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFVBQVUsR0FBRyxTQUFTLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2xELFVBQVUsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRWhELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FDaEIsYUFBMEMsRUFDMUMsVUFBc0I7SUFFdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDakQsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQXVCLENBQUMsQ0FBQztRQUM5RCxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM5RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQWMsRUFBRSxFQUFFO29CQUMvQixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FDNUIsU0FBUyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQzNCLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sVUFBVSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUNkLGFBQTBDLEVBQzFDLFVBQXNCO0lBRXRCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDbkMsVUFBVSxHQUFHLFVBQVU7YUFDcEIsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDO2FBQ2hDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxRQUE0QjtJQUNuRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTztTQUM5QixHQUFHLENBQUMscUJBQXFCLENBQUM7UUFDM0IsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLE1BQU0sSUFBSSxHQUFTLFFBQVEsQ0FBQyxJQUFZLENBQUM7SUFDekMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsSUFBSSxXQUFXLENBQUM7SUFDckMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qiw0QkFBVyxDQUFBO0lBQ1gsOEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQXNDRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQXVCO0lBQ3ZELE1BQU0sRUFBRSxDQUFDO0lBQ1QsS0FBSyxFQUFFLG9CQUFvQjtJQUMzQixFQUFFLEVBQUUsRUFBRTtDQUNQLENBQUM7QUFFRixNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLE9BQWtDLEVBQ2xDLFdBQStCLFNBQVM7SUFFeEMsT0FBTztRQUNMLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7UUFDNUIsS0FBSyxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUs7WUFDcEIsQ0FBQyxDQUFDLG9CQUFvQjtZQUN0QixDQUFDLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEdBQUcsUUFBUTtnQkFDdEMsQ0FBQyxDQUFDLFFBQVE7Z0JBQ1YsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLO1FBQ2pCLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTTtRQUN2QixJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUk7S0FDcEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBIdHRwUGFyYW1zLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgQkFTRV9VUkxfUEFUSCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdCQVNFX1VSTF9QQVRIJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1ZXN0UGFyYW1zVG9IdHRwUGFyYW1zPFQ+KFxuICByZXF1ZXN0UGFyYW1zOiBQYXJ0aWFsPFJlcXVlc3RQYXJhbXM8VD4+LFxuICBodHRwUGFyYW1zOiBIdHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuKTogSHR0cFBhcmFtcyB7XG4gIGlmIChyZXF1ZXN0UGFyYW1zLmxpbWl0ICE9IHVuZGVmaW5lZCkge1xuICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZCgnbGltaXQnLCByZXF1ZXN0UGFyYW1zLmxpbWl0LnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgaWYgKHJlcXVlc3RQYXJhbXMub2Zmc2V0ICE9IHVuZGVmaW5lZCkge1xuICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgcmVxdWVzdFBhcmFtcy5vZmZzZXQudG9TdHJpbmcoKSk7XG4gIH1cblxuICBpZiAocmVxdWVzdFBhcmFtcy5pZCAhPSAnJyAmJiByZXF1ZXN0UGFyYW1zLmlkICE9IHVuZGVmaW5lZCkge1xuICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZCgnaWQnLCByZXF1ZXN0UGFyYW1zLmlkIGFzIGFueSk7XG4gIH1cblxuICBodHRwUGFyYW1zID0gZ2V0RmlsdGVyKHJlcXVlc3RQYXJhbXMsIGh0dHBQYXJhbXMpO1xuICBodHRwUGFyYW1zID0gZ2V0U29ydChyZXF1ZXN0UGFyYW1zLCBodHRwUGFyYW1zKTtcblxuICByZXR1cm4gaHR0cFBhcmFtcztcbn1cblxuZnVuY3Rpb24gZ2V0RmlsdGVyPFQ+KFxuICByZXF1ZXN0UGFyYW1zOiBQYXJ0aWFsPFJlcXVlc3RQYXJhbXM8YW55Pj4sXG4gIGh0dHBQYXJhbXM6IEh0dHBQYXJhbXNcbik6IEh0dHBQYXJhbXMge1xuICBpZiAoIXJlcXVlc3RQYXJhbXMuZmlsdGVyKSB7XG4gICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gIH1cbiAgT2JqZWN0LmtleXMocmVxdWVzdFBhcmFtcz8uZmlsdGVyKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHJlcXVlc3RQYXJhbXMuZmlsdGVyPy5ba2V5IGFzIGtleW9mIFBhcnRpYWw8VD5dO1xuICAgIGlmICh2YWx1ZSAhPSB1bmRlZmluZWQgJiYgISh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLnRyaW0oKSA9PT0gXCJcIikpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2YWx1ZUl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLmFwcGVuZChcbiAgICAgICAgICAgICdGaWx0ZXIuJyArIGtleSwgdmFsdWVJdGVtXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5hcHBlbmQoJ0ZpbHRlci4nICsga2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGh0dHBQYXJhbXM7XG59XG5cbmZ1bmN0aW9uIGdldFNvcnQoXG4gIHJlcXVlc3RQYXJhbXM6IFBhcnRpYWw8UmVxdWVzdFBhcmFtczxhbnk+PixcbiAgaHR0cFBhcmFtczogSHR0cFBhcmFtc1xuKTogSHR0cFBhcmFtcyB7XG4gIGlmICghcmVxdWVzdFBhcmFtcy5zb3J0KSB7XG4gICAgcmV0dXJuIGh0dHBQYXJhbXM7XG4gIH1cblxuICByZXF1ZXN0UGFyYW1zLnNvcnQ/LmZvckVhY2goKHNvcnQpID0+IHtcbiAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtc1xuICAgICAgLmFwcGVuZCgnU29ydC5GaWVsZCcsIHNvcnQuZmllbGQpXG4gICAgICAuYXBwZW5kKCdTb3J0LkRpcmVjdGlvbicsIHNvcnQuZGlyZWN0aW9uKTtcbiAgfSk7XG4gIHJldHVybiBodHRwUGFyYW1zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2F2ZUZpbGUocmVzcG9uc2U6IEh0dHBSZXNwb25zZTxCbG9iPikge1xuICBjb25zdCBmaWxlTmFtZSA9IHJlc3BvbnNlLmhlYWRlcnNcbiAgICAuZ2V0KCdDb250ZW50LURpc3Bvc2l0aW9uJylcbiAgICA/LnNwbGl0KCc7JylbMV1cbiAgICAuc3BsaXQoJz0nKVsxXTtcbiAgY29uc3QgYmxvYjogQmxvYiA9IHJlc3BvbnNlLmJvZHkgYXMgQmxvYjtcbiAgY29uc3QgYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgYS5kb3dubG9hZCA9IGZpbGVOYW1lID8/ICd1bmRlZmluZWQnO1xuICBhLmhyZWYgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgYS5jbGljaygpO1xufVxuXG5leHBvcnQgZW51bSBTb3J0RGlyZWN0aW9uIHtcbiAgYXNjID0gJ2FzYycsXG4gIGRlc2MgPSAnZGVzYycsXG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgU29ydERpcmVjdGlvblR5cGUgPSBrZXlvZiB0eXBlb2YgU29ydERpcmVjdGlvbjtcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNvcnQge1xuICBmaWVsZDogc3RyaW5nO1xuICBkaXJlY3Rpb246IFNvcnREaXJlY3Rpb25UeXBlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RQYXJhbXM8VD4gZXh0ZW5kcyBBbGxEYXRhUmVxdWVzdFBhcmFtczxUPiB7XG4gIG9mZnNldDogbnVtYmVyO1xuICBsaW1pdDogbnVtYmVyO1xuICBpZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGxEYXRhUmVxdWVzdFBhcmFtczxUPiB7XG4gIGZpbHRlcj86IFBhcnRpYWw8VD47XG4gIHNvcnQ/OiBTb3J0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZTxUPiB7XG4gIGRhdGE6IFRbXTtcbiAgdG90YWw6IG51bWJlcjtcbiAgbGltaXQ6IG51bWJlcjtcbiAgb2Zmc2V0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tRXhwb3J0PFQ+IHtcbiAgc29ydERlZmluaXRpb24/OiBTb3J0O1xuICBmaWx0ZXI/OiBQYXJ0aWFsPFQ+O1xuICBjb2x1bW5zVG9FeHBvcnQ6IENvbHVtbkV4cG9ydFNwZWNpZmljYXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5FeHBvcnRTcGVjaWZpY2F0aW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBoZWFkZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VBUkNIX0xJTUlUID0gNTA7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1NFQVJDSF9QQVJBTVM6IFJlcXVlc3RQYXJhbXM8YW55PiA9IHtcbiAgb2Zmc2V0OiAwLFxuICBsaW1pdDogREVGQVVMVF9TRUFSQ0hfTElNSVQsXG4gIGlkOiAnJyxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVSZXF1ZXN0PFQ+KFxuICByZXF1ZXN0OiBQYXJ0aWFsPFJlcXVlc3RQYXJhbXM8VD4+LFxuICBtaW5MaW1pdDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4pOiBSZXF1ZXN0UGFyYW1zPFQ+IHtcbiAgcmV0dXJuIHtcbiAgICBvZmZzZXQ6IHJlcXVlc3Q/Lm9mZnNldCA/PyAwLFxuICAgIGxpbWl0OiAhcmVxdWVzdD8ubGltaXRcbiAgICAgID8gREVGQVVMVF9TRUFSQ0hfTElNSVRcbiAgICAgIDogbWluTGltaXQgJiYgcmVxdWVzdC5saW1pdCA8IG1pbkxpbWl0XG4gICAgICA/IG1pbkxpbWl0XG4gICAgICA6IHJlcXVlc3QubGltaXQsXG4gICAgZmlsdGVyOiByZXF1ZXN0Py5maWx0ZXIsXG4gICAgc29ydDogcmVxdWVzdD8uc29ydCxcbiAgfTtcbn1cbiJdfQ==","export class ClearUtils {\n static recursiveObjectAttributesTransformation(obj) {\n ClearUtils.recursiveObjectAttributesTraversal(obj, ClearUtils.transformEmptyStringToNullStringFn);\n }\n static recursiveObjectAttributesDeletation(obj) {\n ClearUtils.recursiveObjectAttributesTraversal(obj, ClearUtils.deleteEmptyStringToNullStringFn);\n }\n static transformEmptyStringToNullStringFn(obj, key) {\n if (typeof obj[key] === 'string' && obj[key] === '') {\n obj[key] = null;\n }\n }\n static deleteEmptyStringToNullStringFn(obj, key) {\n if (obj[key] === '' || obj[key] === null || obj[key] === undefined) {\n delete obj[key];\n }\n }\n static recursiveObjectAttributesTraversal(obj, transformationFn) {\n if (obj === null ||\n transformationFn === null ||\n typeof transformationFn !== 'function') {\n return;\n }\n Object.keys(obj).forEach((key) => {\n transformationFn(obj, key);\n if (typeof obj[key] === 'object') {\n this.recursiveObjectAttributesTraversal(obj[key], transformationFn);\n if (!Object.keys(obj[key]).length) {\n delete obj[key];\n }\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvY2xlYXIudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFVBQVU7SUFFckIsTUFBTSxDQUFDLHVDQUF1QyxDQUFDLEdBQVE7UUFDckQsVUFBVSxDQUFDLGtDQUFrQyxDQUMzQyxHQUFHLEVBQ0gsVUFBVSxDQUFDLGtDQUFrQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxHQUFRO1FBQ2pELFVBQVUsQ0FBQyxrQ0FBa0MsQ0FDM0MsR0FBRyxFQUNILFVBQVUsQ0FBQywrQkFBK0IsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsa0NBQWtDLENBQUMsR0FBUSxFQUFFLEdBQVc7UUFDN0QsSUFBSSxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3BELEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFDRCxNQUFNLENBQUMsK0JBQStCLENBQUMsR0FBUSxFQUFFLEdBQVc7UUFDMUQsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2pCLENBQUM7SUFDSCxDQUFDO0lBR0QsTUFBTSxDQUFDLGtDQUFrQyxDQUN2QyxHQUFRLEVBQ1IsZ0JBQWlEO1FBRWpELElBQ0UsR0FBRyxLQUFLLElBQUk7WUFDWixnQkFBZ0IsS0FBSyxJQUFJO1lBQ3pCLE9BQU8sZ0JBQWdCLEtBQUssVUFBVSxFQUN0QyxDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9CLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUUzQixJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLENBQUM7Z0JBRXBFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNsQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDbGVhclV0aWxzIHtcblxuICBzdGF0aWMgcmVjdXJzaXZlT2JqZWN0QXR0cmlidXRlc1RyYW5zZm9ybWF0aW9uKG9iajogYW55KTogdm9pZCB7XG4gICAgQ2xlYXJVdGlscy5yZWN1cnNpdmVPYmplY3RBdHRyaWJ1dGVzVHJhdmVyc2FsKFxuICAgICAgb2JqLFxuICAgICAgQ2xlYXJVdGlscy50cmFuc2Zvcm1FbXB0eVN0cmluZ1RvTnVsbFN0cmluZ0ZuXG4gICAgKTtcbiAgfVxuICBzdGF0aWMgcmVjdXJzaXZlT2JqZWN0QXR0cmlidXRlc0RlbGV0YXRpb24ob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBDbGVhclV0aWxzLnJlY3Vyc2l2ZU9iamVjdEF0dHJpYnV0ZXNUcmF2ZXJzYWwoXG4gICAgICBvYmosXG4gICAgICBDbGVhclV0aWxzLmRlbGV0ZUVtcHR5U3RyaW5nVG9OdWxsU3RyaW5nRm5cbiAgICApO1xuICB9XG5cbiAgc3RhdGljIHRyYW5zZm9ybUVtcHR5U3RyaW5nVG9OdWxsU3RyaW5nRm4ob2JqOiBhbnksIGtleTogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBvYmpba2V5XSA9PT0gJ3N0cmluZycgJiYgb2JqW2tleV0gPT09ICcnKSB7XG4gICAgICBvYmpba2V5XSA9IG51bGw7XG4gICAgfVxuICB9XG4gIHN0YXRpYyBkZWxldGVFbXB0eVN0cmluZ1RvTnVsbFN0cmluZ0ZuKG9iajogYW55LCBrZXk6IHN0cmluZykge1xuICAgIGlmIChvYmpba2V5XSA9PT0gJycgfHwgb2JqW2tleV0gPT09IG51bGwgfHwgb2JqW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVsZXRlIG9ialtrZXldXG4gICAgfVxuICB9XG5cblxuICBzdGF0aWMgcmVjdXJzaXZlT2JqZWN0QXR0cmlidXRlc1RyYXZlcnNhbChcbiAgICBvYmo6IGFueSxcbiAgICB0cmFuc2Zvcm1hdGlvbkZuOiAob2JqOiBhbnksIGtleTogc3RyaW5nKSA9PiB2b2lkXG4gICkge1xuICAgIGlmIChcbiAgICAgIG9iaiA9PT0gbnVsbCB8fFxuICAgICAgdHJhbnNmb3JtYXRpb25GbiA9PT0gbnVsbCB8fFxuICAgICAgdHlwZW9mIHRyYW5zZm9ybWF0aW9uRm4gIT09ICdmdW5jdGlvbidcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgdHJhbnNmb3JtYXRpb25GbihvYmosIGtleSk7XG5cbiAgICAgIGlmICh0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHRoaXMucmVjdXJzaXZlT2JqZWN0QXR0cmlidXRlc1RyYXZlcnNhbChvYmpba2V5XSwgdHJhbnNmb3JtYXRpb25Gbik7XG5cbiAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhvYmpba2V5XSkubGVuZ3RoKSB7XG4gICAgICAgICAgZGVsZXRlIG9ialtrZXldO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxufVxuIl19","import { map } from 'rxjs';\nimport { DEFAULT_SEARCH_PARAMS, requestParamsToHttpParams, } from '../models/base-http.models';\nimport { ClearUtils } from '../utils/clear.utils';\nexport class BaseHttpService {\n constructor(http, basePath, entityName) {\n this.http = http;\n this.basePath = basePath;\n this.entityName = entityName;\n this.basePath = basePath;\n }\n get apiPath() {\n return this.basePath ? this.basePath + this.entityName : this.entityName;\n }\n fetchList(requestParams) {\n const params = requestParamsToHttpParams(requestParams);\n return this.http.get(this.apiPath, { params }).pipe(map((response) => {\n response.limit = requestParams.limit;\n return response;\n }));\n }\n getData$(entityName, searchTerm, lazyLoad) {\n const filter = { [entityName]: searchTerm };\n const params = lazyLoad\n ? requestParamsToHttpParams({\n ...DEFAULT_SEARCH_PARAMS,\n offset: lazyLoad.offset,\n limit: lazyLoad.limit,\n filter,\n })\n : requestParamsToHttpParams({\n ...DEFAULT_SEARCH_PARAMS,\n filter,\n });\n return this.http.get(this.apiPath, { params });\n }\n get(id) {\n const url = `${this.apiPath}/${id}`;\n return this.http.get(url);\n }\n post(entity) {\n return this.http.post(this.apiPath, entity);\n }\n put(id, entity) {\n const url = `${this.apiPath}/${id}`;\n return this.http.put(url, entity);\n }\n delete(id) {\n const url = `${this.apiPath}/${id}`;\n return this.http.delete(url);\n }\n export(requestParams) {\n const httpParams = requestParamsToHttpParams(requestParams);\n const url = `${this.apiPath}/export`;\n return this.http.get(url, { responseType: 'blob', params: httpParams });\n }\n removeRange(entity) {\n return this.http.delete(this.apiPath, {\n body: entity,\n });\n }\n createParams(requestParams) {\n const sorter = this.createSorter(requestParams);\n const filter = JSON.parse(JSON.stringify(requestParams.filter));\n const transformedFilter = filter;\n ClearUtils.recursiveObjectAttributesDeletation(transformedFilter);\n return {\n paging: {\n offset: requestParams.offset,\n limit: requestParams.limit,\n },\n ...(sorter && { sorting: sorter }),\n ...(transformedFilter && { filter: transformedFilter }),\n };\n }\n createSorter(requestParams) {\n if (requestParams?.sort?.length === 1) {\n const sorter = requestParams.sort[0];\n return {\n sortField: sorter.field,\n sortOrder: sorter.direction,\n };\n }\n return null;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1odHRwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy9jb3JlL3NyYy9saWIvc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBRUwscUJBQXFCLEVBR3JCLHlCQUF5QixHQUMxQixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixZQUNXLElBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLFVBQWtCO1FBRmxCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBRTNCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFjLE9BQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0UsQ0FBQztJQUVELFNBQVMsQ0FBQyxhQUErQjtRQUN2QyxNQUFNLE1BQU0sR0FBRyx5QkFBeUIsQ0FBSSxhQUFhLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFVLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDMUQsR0FBRyxDQUFDLENBQUMsUUFBaUIsRUFBRSxFQUFFO1lBQ3hCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQztZQUNyQyxPQUFPLFFBQVEsQ0FBQztR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QztZQUNsQyxHQUFHLENBQUMsaUJBQWlCLElBQUksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztTQUN4RCxDQUFDO0lBQ0osQ0FBQztJQUVPLFlBQVksQ0FBSSxhQUErQjtRQUNyRCxJQUFJLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sTUFBTSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsT0FBTztnQkFDTCxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQ3ZCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUzthQUM1QixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQWxsRGF0YVJlcXVlc3RQYXJhbXMsXG4gIERFRkFVTFRfU0VBUkNIX1BBUkFNUyxcbiAgUGFnZSxcbiAgUmVxdWVzdFBhcmFtcyxcbiAgcmVxdWVzdFBhcmFtc1RvSHR0cFBhcmFtcyxcbn0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UtaHR0cC5tb2RlbHMnO1xuaW1wb3J0IHsgTGF6eUxvYWRFdmVudCB9IGZyb20gJy4uL21vZGVscy9ldmVudC5tb2RlbHMnO1xuaW1wb3J0IHsgQ2xlYXJVdGlscyB9IGZyb20gJy4uL3V0aWxzL2NsZWFyLnV0aWxzJztcblxuZXhwb3J0IGNsYXNzIEJhc2VIdHRwU2VydmljZTxULCBUS2V5ID0gbnVtYmVyIHwgc3RyaW5nPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcmVhZG9ubHkgYmFzZVBhdGg6IHN0cmluZyxcbiAgICByZWFkb25seSBlbnRpdHlOYW1lOiBzdHJpbmdcbiAgKSB7XG4gICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhcGlQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLmJhc2VQYXRoID8gdGhpcy5iYXNlUGF0aCArIHRoaXMuZW50aXR5TmFtZSA6IHRoaXMuZW50aXR5TmFtZTtcbiAgfVxuXG4gIGZldGNoTGlzdChyZXF1ZXN0UGFyYW1zOiBSZXF1ZXN0UGFyYW1zPFQ+KTogT2JzZXJ2YWJsZTxQYWdlPFQ+PiB7XG4gICAgY29uc3QgcGFyYW1zID0gcmVxdWVzdFBhcmFtc1RvSHR0cFBhcmFtczxUPihyZXF1ZXN0UGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxQYWdlPFQ+Pih0aGlzLmFwaVBhdGgsIHsgcGFyYW1zIH0pLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBQYWdlPFQ+KSA9PiB7XG4gICAgICAgIHJlc3BvbnNlLmxpbWl0ID0gcmVxdWVzdFBhcmFtcy5saW1pdDtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RGF0YSQoXG4gICAgZW50aXR5TmFtZToga2V5b2YgVCxcbiAgICBzZWFyY2hUZXJtPzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGxhenlMb2FkPzogTGF6eUxvYWRFdmVudFxuICApOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgIGNvbnN0IGZpbHRlcjogUGFydGlhbDxUPiA9IHsgW2VudGl0eU5hbWVdOiBzZWFyY2hUZXJtIH0gYXMgUGFydGlhbDxUPjtcbiAgICBjb25zdCBwYXJhbXMgPSBsYXp5TG9hZFxuICAgICAgPyByZXF1ZXN0UGFyYW1zVG9IdHRwUGFyYW1zPFQ+KHtcbiAgICAgICAgICAuLi5ERUZBVUxUX1NFQVJDSF9QQVJBTVMsXG4gICAgICAgICAgb2Zmc2V0OiBsYXp5TG9hZC5vZmZzZXQsXG4gICAgICAgICAgbGltaXQ6IGxhenlMb2FkLmxpbWl0LFxuICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgfSlcbiAgICAgIDogcmVxdWVzdFBhcmFtc1RvSHR0cFBhcmFtczxUPih7XG4gICAgICAgICAgLi4uREVGQVVMVF9TRUFSQ0hfUEFSQU1TLFxuICAgICAgICAgIGZpbHRlcixcbiAgICAgICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUW10+KHRoaXMuYXBpUGF0aCwgeyBwYXJhbXMgfSk7XG4gIH1cblxuICBnZXQoaWQ6IFRLZXkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwaVBhdGh9LyR7aWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxUPih1cmwpO1xuICB9XG5cbiAgcG9zdChlbnRpdHk6IFBhcnRpYWw8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odGhpcy5hcGlQYXRoLCBlbnRpdHkpO1xuICB9XG5cbiAgcHV0KGlkOiBUS2V5LCBlbnRpdHk6IFBhcnRpYWw8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwaVBhdGh9LyR7aWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dDxUPih1cmwsIGVudGl0eSk7XG4gIH1cblxuICBkZWxldGUoaWQ6IFRLZXkpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmFwaVBhdGh9LyR7aWR9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxUPih1cmwpO1xuICB9XG5cbiAgZXhwb3J0KHJlcXVlc3RQYXJhbXM6IEFsbERhdGFSZXF1ZXN0UGFyYW1zPFQ+KTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgY29uc3QgaHR0cFBhcmFtcyA9IHJlcXVlc3RQYXJhbXNUb0h0dHBQYXJhbXM8VD4ocmVxdWVzdFBhcmFtcyk7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5hcGlQYXRofS9leHBvcnRgO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwgeyByZXNwb25zZVR5cGU6ICdibG9iJywgcGFyYW1zOiBodHRwUGFyYW1zIH0pO1xuICB9XG5cbiAgcmVtb3ZlUmFuZ2UoZW50aXR5OiBzdHJpbmdbXSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKHRoaXMuYXBpUGF0aCwge1xuICAgICAgYm9keTogZW50aXR5LFxuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlUGFyYW1zPFQ+KHJlcXVlc3RQYXJhbXM6IFJlcXVlc3RQYXJhbXM8VD4pOiBhbnkge1xuICAgIGNvbnN0IHNvcnRlciA9IHRoaXMuY3JlYXRlU29ydGVyKHJlcXVlc3RQYXJhbXMpO1xuICAgIGNvbnN0IGZpbHRlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVxdWVzdFBhcmFtcy5maWx0ZXIpKTtcbiAgICBjb25zdCB0cmFuc2Zvcm1lZEZpbHRlciA9IGZpbHRlcjtcbiAgICBDbGVhclV0aWxzLnJlY3Vyc2l2ZU9iamVjdEF0dHJpYnV0ZXNEZWxldGF0aW9uKHRyYW5zZm9ybWVkRmlsdGVyKTtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnaW5nOiB7XG4gICAgICAgIG9mZnNldDogcmVxdWVzdFBhcmFtcy5vZmZzZXQsXG4gICAgICAgIGxpbWl0OiByZXF1ZXN0UGFyYW1zLmxpbWl0LFxuICAgICAgfSxcbiAgICAgIC4uLihzb3J0ZXIgJiYgeyBzb3J0aW5nOiBzb3J0ZXIgfSksXG4gICAgICAuLi4odHJhbnNmb3JtZWRGaWx0ZXIgJiYgeyBmaWx0ZXI6IHRyYW5zZm9ybWVkRmlsdGVyIH0pLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVNvcnRlcjxUPihyZXF1ZXN0UGFyYW1zOiBSZXF1ZXN0UGFyYW1zPFQ+KSB7XG4gICAgaWYgKHJlcXVlc3RQYXJhbXM/LnNvcnQ/Lmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3Qgc29ydGVyID0gcmVxdWVzdFBhcmFtcy5zb3J0WzBdO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc29ydEZpZWxkOiBzb3J0ZXIuZmllbGQsXG4gICAgICAgIHNvcnRPcmRlcjogc29ydGVyLmRpcmVjdGlvbixcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=","import { isObservable, map, of } from 'rxjs';\nimport { BaseHttpService } from '../services/base-http.service';\nimport { DEFAULT_PAGE_SIZE } from './constants';\nexport function convertDatasource(datasource, basePath, httpClient) {\n if (!datasource) {\n throw new Error('Datasource is not defined');\n }\n if (typeof datasource === 'string') {\n const service = new BaseHttpService(httpClient, basePath, datasource);\n return (requestParams) => service.fetchList(requestParams);\n }\n if (datasource instanceof BaseHttpService) {\n return (requestParams) => datasource.fetchList(requestParams);\n }\n if (isObservable(datasource)) {\n return () => datasource.pipe(map(convertArrayToPage));\n }\n const allItemDatasource = datasource;\n if (allItemDatasource.getData$) {\n return () => allItemDatasource\n .getData$()\n .pipe(map((data) => convertArrayToPage(data)));\n }\n const page = datasource;\n if (page.data) {\n return () => of(page);\n }\n if (Array.isArray(datasource)) {\n return () => of(convertArrayToPage(datasource));\n }\n throw new Error('Datasource is not supported');\n}\nfunction convertArrayToPage(data) {\n if (Array.isArray(data)) {\n return {\n data: data ?? [],\n total: data?.length ?? 0,\n limit: data?.length ?? DEFAULT_PAGE_SIZE,\n offset: 0,\n };\n }\n return data;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXNvdXJjZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL2NvcmUvc3JjL2xpYi9tb2RlbHMvZGF0YXNvdXJjZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWVoRCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLFVBQTZCLEVBQzdCLFFBQWdCLEVBQ2hCLFVBQXNCO0lBRXRCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUksVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN6RSxPQUFPLENBQUMsYUFBK0IsRUFBRSxFQUFFLENBQ3pDLE9BQU8sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksVUFBVSxZQUFZLGVBQWUsRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxhQUErQixFQUFFLEVBQUUsQ0FDekMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLEdBQUcsRUFBRSxDQUNULFVBQXdDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQXlCLFVBQVUsQ0FBQztJQUMzRCxJQUFJLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE9BQU8sR0FBRyxFQUFFLENBQ1YsaUJBQWlCO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxNQUFNLElBQUksR0FBWSxVQUFVLENBQUM7SUFDakMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxPQUFPLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFJLElBQW1CO0lBQ2hELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDaEIsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQztZQUN4QixLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sSUFBSSxpQkFBaUI7WUFDeEMsTUFBTSxFQUFFLENBQUM7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sSUFBZSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUsIG1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQmFzZUh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYmFzZS1odHRwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbGxJdGVtRGF0YXNvdXJjZSB9IGZyb20gJy4vYWxsLWl0ZW0uZGF0YXNvdXJjZSc7XHJcbmltcG9ydCB7IFBhZ2UsIFJlcXVlc3RQYXJhbXMgfSBmcm9tICcuL2Jhc2UtaHR0cC5tb2RlbHMnO1xyXG5pbXBvcnQgeyBERUZBVUxUX1BBR0VfU0laRSB9IGZyb20gJy4vY29uc3RhbnRzJztcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFzb3VyY2VUeXBlPFQ+ID1cclxuICB8IHN0cmluZ1xyXG4gIHwgT2JzZXJ2YWJsZTxUW10+XHJcbiAgfCBPYnNlcnZhYmxlPFBhZ2U8VD4+XHJcbiAgfCBCYXNlSHR0cFNlcnZpY2U8VD5cclxuICB8IFRbXVxyXG4gIHwgUGFnZTxUPlxyXG4gIHwgQWxsSXRlbURhdGFzb3VyY2U8VD47XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhU291cmNlRnVuY3Rpb25UeXBlPFQ+ID0gKFxyXG4gIHJlcXVlc3RQYXJhbXM6IFJlcXVlc3RQYXJhbXM8VD5cclxuKSA9PiBPYnNlcnZhYmxlPFBhZ2U8VD4+O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnREYXRhc291cmNlPFQ+KFxyXG4gIGRhdGFzb3VyY2U6IERhdGFzb3VyY2VUeXBlPFQ+LFxyXG4gIGJhc2VQYXRoOiBzdHJpbmcsXHJcbiAgaHR0cENsaWVudDogSHR0cENsaWVudFxyXG4pOiBEYXRhU291cmNlRnVuY3Rpb25UeXBlPFQ+IHtcclxuICBpZiAoIWRhdGFzb3VyY2UpIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignRGF0YXNvdXJjZSBpcyBub3QgZGVmaW5lZCcpO1xyXG4gIH1cclxuXHJcbiAgaWYgKHR5cGVvZiBkYXRhc291cmNlID09PSAnc3RyaW5nJykge1xyXG4gICAgY29uc3Qgc2VydmljZSA9IG5ldyBCYXNlSHR0cFNlcnZpY2U8VD4oaHR0cENsaWVudCwgYmFzZVBhdGgsIGRhdGFzb3VyY2UpO1xyXG4gICAgcmV0dXJuIChyZXF1ZXN0UGFyYW1zOiBSZXF1ZXN0UGFyYW1zPFQ+KSA9PlxyXG4gICAgICBzZXJ2aWNlLmZldGNoTGlzdChyZXF1ZXN0UGFyYW1zKTtcclxuICB9XHJcblxyXG4gIGlmIChkYXRhc291cmNlIGluc3RhbmNlb2YgQmFzZUh0dHBTZXJ2aWNlKSB7XHJcbiAgICByZXR1cm4gKHJlcXVlc3RQYXJhbXM6IFJlcXVlc3RQYXJhbXM8VD4pID0+XHJcbiAgICAgIGRhdGFzb3VyY2UuZmV0Y2hMaXN0KHJlcXVlc3RQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgaWYgKGlzT2JzZXJ2YWJsZShkYXRhc291cmNlKSkge1xyXG4gICAgcmV0dXJuICgpID0+XHJcbiAgICAgIChkYXRhc291cmNlIGFzIE9ic2VydmFibGU8UGFnZTxUPiB8IFRbXT4pLnBpcGUobWFwKGNvbnZlcnRBcnJheVRvUGFnZSkpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgYWxsSXRlbURhdGFzb3VyY2UgPSA8QWxsSXRlbURhdGFzb3VyY2U8VD4+ZGF0YXNvdXJjZTtcclxuICBpZiAoYWxsSXRlbURhdGFzb3VyY2UuZ2V0RGF0YSQpIHtcclxuICAgIHJldHVybiAoKSA9PlxyXG4gICAgICBhbGxJdGVtRGF0YXNvdXJjZVxyXG4gICAgICAgIC5nZXREYXRhJCgpXHJcbiAgICAgICAgLnBpcGUobWFwKChkYXRhKSA9PiBjb252ZXJ0QXJyYXlUb1BhZ2UoZGF0YSkpKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHBhZ2UgPSA8UGFnZTxUPj5kYXRhc291cmNlO1xyXG4gIGlmIChwYWdlLmRhdGEpIHtcclxuICAgIHJldHVybiAoKSA9PiBvZihwYWdlKTtcclxuICB9XHJcblxyXG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGFzb3VyY2UpKSB7XHJcbiAgICByZXR1cm4gKCkgPT4gb2YoY29udmVydEFycmF5VG9QYWdlKGRhdGFzb3VyY2UpKTtcclxuICB9XHJcblxyXG4gIHRocm93IG5ldyBFcnJvcignRGF0YXNvdXJjZSBpcyBub3Qgc3VwcG9ydGVkJyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbnZlcnRBcnJheVRvUGFnZTxUPihkYXRhOiBQYWdlPFQ+IHwgVFtdKTogUGFnZTxUPiB7XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGRhdGE6IGRhdGEgPz8gW10sXHJcbiAgICAgIHRvdGFsOiBkYXRhPy5sZW5ndGggPz8gMCxcclxuICAgICAgbGltaXQ6IGRhdGE/Lmxlbmd0aCA/PyBERUZBVUxUX1BBR0VfU0laRSxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHJldHVybiBkYXRhIGFzIFBhZ2U8VD47XHJcbn1cclxuIl19","import { InjectionToken } from '@angular/core';\nexport const ERROR_PROVIDER_TOKEN = new InjectionToken('ERROR_PROVIDER_TOKEN');\nexport var CustomValidationCodes;\n(function (CustomValidationCodes) {\n})(CustomValidationCodes || (CustomValidationCodes = {}));\nexport const ErrorMap = {\n required: () => `VALIDATIONS.REQUIRED`,\n email: () => `VALIDATIONS.EMAIL`,\n minLength: () => 'VALIDATIONS.MIN_LENGTH',\n maxLength: () => 'VALIDATIONS.MAX_LENGTH',\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcHJvdmlkZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy9jb3JlL3NyYy9saWIvbW9kZWxzL2Vycm9yLXByb3ZpZGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTL0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQzdCLElBQUksY0FBYyxDQUFnQixzQkFBc0IsQ0FBQyxDQUFDO0FBRTlELE1BQU0sQ0FBTixJQUFZLHFCQUF3QjtBQUFwQyxXQUFZLHFCQUFxQjtBQUFFLENBQUMsRUFBeEIscUJBQXFCLEtBQXJCLHFCQUFxQixRQUFHO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBNEM7SUFDL0QsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLHNCQUFzQjtJQUN0QyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsbUJBQW1CO0lBQ2hDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3QkFBd0I7SUFDekMsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLHdCQUF3QjtDQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JQcm92aWRlciB7XG4gIG1hcEVycm9yKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgZXJyb3JzOiBSZWNvcmQ8c3RyaW5nLCAodmFsdWU/OiBhbnkpID0+IHN0cmluZz47XG59XG5cbmV4cG9ydCBjb25zdCBFUlJPUl9QUk9WSURFUl9UT0tFTlxuICA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFcnJvclByb3ZpZGVyPignRVJST1JfUFJPVklERVJfVE9LRU4nKTtcblxuZXhwb3J0IGVudW0gQ3VzdG9tVmFsaWRhdGlvbkNvZGVzIHt9XG5cbmV4cG9ydCBjb25zdCBFcnJvck1hcDogUmVjb3JkPHN0cmluZywgKHZhbHVlPzogYW55KSA9PiBzdHJpbmc+ID0ge1xuICByZXF1aXJlZDogKCkgPT4gYFZBTElEQVRJT05TLlJFUVVJUkVEYCxcbiAgZW1haWw6ICgpID0+IGBWQUxJREFUSU9OUy5FTUFJTGAsXG4gIG1pbkxlbmd0aDogKCkgPT4gJ1ZBTElEQVRJT05TLk1JTl9MRU5HVEgnLFxuICBtYXhMZW5ndGg6ICgpID0+ICdWQUxJREFUSU9OUy5NQVhfTEVOR1RIJyxcbn07XG4iXX0=","export class LocalStorageService {\n setItem(key, value) {\n localStorage.setItem(key, value);\n }\n getItem(key) {\n return localStorage.getItem(key);\n }\n removeItem(key) {\n localStorage.removeItem(key);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvY29yZS9zcmMvbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLE9BQU8sQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUM5QixZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVc7UUFDZixPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFXO1FBQ2xCLFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xuICAgIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0SXRlbShrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICB9XG5cbiAgICByZW1vdmVJdGVtKGtleTogc3RyaW5nKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgfVxufSJdfQ==","import { inject, Injectable } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { of } from 'rxjs';\nimport { ErrorMap } from '../models/error-provider.model';\nimport * as i0 from \"@angular/core\";\nexport class LocalizableErrorProviderService {\n constructor() {\n this.translateService = inject(TranslateService);\n this.errors = ErrorMap;\n }\n mapError(errors) {\n const error = this.getFirstValue(errors);\n if (!error || !error.key) {\n return of(undefined);\n }\n try {\n const value = this.errors[error.key](error.value);\n return this.translateService.get(value);\n }\n catch (_) {\n throw new Error(`Key \"${error.key}\" is not specified in the current error map!`);\n }\n }\n getFirstValue(errors) {\n const key = Object.keys(errors)[0];\n const value = errors[key];\n return { key, value };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.2.1\", ngImport: i0, type: LocalizableErrorProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.2.1\", ngImport: i0, type: LocalizableErrorProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.2.1\", ngImport: i0, type: LocalizableErrorProviderService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9lcnJvci1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFpQixRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFLekUsTUFBTSxPQUFPLCtCQUErQjtJQUg1QztRQUltQixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRCxXQUFNLEdBQTRDLFFBQVEsQ0FBQztLQXFCckU7SUFuQkMsUUFBUSxDQUFDLE1BQXdCO1FBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLENBQUMsR0FBRyw4Q0FBOEMsQ0FBQyxDQUFDO1FBQ25GLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQXdCO1FBQzVDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0F0QlUsK0JBQStCO2tIQUEvQiwrQkFBK0IsY0FGOUIsTUFBTTs7MkZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvclByb3ZpZGVyLCBFcnJvck1hcCB9IGZyb20gJy4uL21vZGVscy9lcnJvci1wcm92aWRlci5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsaXphYmxlRXJyb3JQcm92aWRlclNlcnZpY2UgaW1wbGVtZW50cyBFcnJvclByb3ZpZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuICByZWFkb25seSBlcnJvcnM6IFJlY29yZDxzdHJpbmcsICh2YWx1ZT86IGFueSkgPT4gc3RyaW5nPiA9IEVycm9yTWFwO1xuXG4gIG1hcEVycm9yKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgZXJyb3IgPSB0aGlzLmdldEZpcnN0VmFsdWUoZXJyb3JzKTtcbiAgICBpZiAoIWVycm9yIHx8ICFlcnJvci5rZXkpIHtcbiAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZXJyb3JzW2Vycm9yLmtleV0oZXJyb3IudmFsdWUpO1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodmFsdWUpO1xuICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgS2V5IFwiJHtlcnJvci5rZXl9XCIgaXMgbm90IHNwZWNpZmllZCBpbiB0aGUgY3VycmVudCBlcnJvciBtYXAhYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaXJzdFZhbHVlKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyk6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSB7XG4gICAgY29uc3Qga2V5ID0gT2JqZWN0LmtleXMoZXJyb3JzKVswXTtcbiAgICBjb25zdCB2YWx1ZSA9IGVycm9yc1trZXldO1xuICAgIHJldHVybiB7IGtleSwgdmFsdWUgfTtcbiAgfVxufVxuIl19","export function keyOrFn(keyOrFn, row) {\n if (keyOrFn instanceof Function) {\n return keyOrFn(row);\n }\n else if (typeof keyOrFn === 'string') {\n const value = row[keyOrFn];\n if (value) {\n return value;\n }\n }\n else if (typeof keyOrFn === 'boolean') {\n return keyOrFn;\n }\n return '';\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5T3JGbi51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9rZXlPckZuLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxPQUFPLENBQUMsT0FBb0QsRUFBRSxHQUFRO0lBQ2xGLElBQUksT0FBTyxZQUFZLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7U0FDSSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7U0FDSSxJQUFJLE9BQU8sT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFDQyxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24ga2V5T3JGbihrZXlPckZuOiAoKHJvdzogYW55KSA9PiBzdHJpbmcgfCB1bmRlZmluZWQpIHwgc3RyaW5nLCByb3c6IGFueSkge1xuICAgIGlmIChrZXlPckZuIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGtleU9yRm4ocm93KTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIGtleU9yRm4gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gcm93W2tleU9yRm5dO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh0eXBlb2Yga2V5T3JGbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4ga2V5T3JGbjtcbiAgfVxuICAgIHJldHVybiAnJztcbn1cbiJdfQ==","export function sortBy(items, selector, ascending = true) {\n return [...items].sort((item, other) => {\n const value = selector(item);\n const otherValue = selector(other);\n const direction = ascending ? 1 : -1;\n if (value == undefined && other == undefined) {\n return 0;\n }\n if (value == undefined) {\n return -1 * direction;\n }\n if (otherValue == undefined) {\n return 1 * direction;\n }\n if (value < otherValue) {\n return -1 * direction;\n }\n if (value > otherValue) {\n return 1 * direction;\n }\n return 0;\n });\n}\nexport function getValueByPath(obj, path) {\n if (path == undefined || path == '') {\n return obj;\n }\n return path.split('.').reduce((acc, key) => {\n if (acc && typeof acc === 'object' && key in acc) {\n return acc[key];\n }\n return undefined;\n }, obj);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL29iamVjdC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsTUFBTSxDQUNwQixLQUFnQixFQUNoQixRQUFzQyxFQUN0QyxTQUFTLEdBQUcsSUFBSTtJQUVoQixPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLElBQUksU0FBUyxJQUFJLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM3QyxPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFFRCxJQUFJLEtBQUssSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUM7WUFDNUIsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLEtBQUssR0FBRyxVQUFVLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxLQUFLLEdBQUcsVUFBVSxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLEdBQU0sRUFDTixJQUF3QjtJQUV4QixJQUFJLElBQUksSUFBSSxTQUFTLElBQUksSUFBSSxJQUFJLEVBQUUsRUFBQyxDQUFDO1FBQ25DLE9BQU8sR0FBd0IsQ0FBQztJQUNsQyxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUN6QyxJQUFJLEdBQUcsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2pELE9BQVEsR0FBOEIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQyxFQUFFLEdBQWMsQ0FBVyxDQUFDO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gc29ydEJ5PFRFbnRpdHksIFRQcm9wZXJ0eT4oXHJcbiAgaXRlbXM6IFRFbnRpdHlbXSxcclxuICBzZWxlY3RvcjogKGl0ZW06IFRFbnRpdHkpID0+IFRQcm9wZXJ0eSxcclxuICBhc2NlbmRpbmcgPSB0cnVlXHJcbik6IFRFbnRpdHlbXSB7XHJcbiAgcmV0dXJuIFsuLi5pdGVtc10uc29ydCgoaXRlbSwgb3RoZXIpID0+IHtcclxuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0b3IoaXRlbSk7XHJcbiAgICBjb25zdCBvdGhlclZhbHVlID0gc2VsZWN0b3Iob3RoZXIpO1xyXG4gICAgY29uc3QgZGlyZWN0aW9uID0gYXNjZW5kaW5nID8gMSA6IC0xO1xyXG4gICAgaWYgKHZhbHVlID09IHVuZGVmaW5lZCAmJiBvdGhlciA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZhbHVlID09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gLTEgKiBkaXJlY3Rpb247XHJcbiAgICB9XHJcbiAgICBpZiAob3RoZXJWYWx1ZSA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIDEgKiBkaXJlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZhbHVlIDwgb3RoZXJWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gLTEgKiBkaXJlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZhbHVlID4gb3RoZXJWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gMSAqIGRpcmVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gMDtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFZhbHVlQnlQYXRoPFQsIFRWYWx1ZT4oXHJcbiAgb2JqOiBULFxyXG4gIHBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuKTogVFZhbHVlIHwgdW5kZWZpbmVkIHtcclxuICBpZiAocGF0aCA9PSB1bmRlZmluZWQgfHwgcGF0aCA9PSAnJyl7XHJcbiAgICByZXR1cm4gb2JqIGFzIHVua25vd24gYXMgVFZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhdGguc3BsaXQoJy4nKS5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XHJcbiAgICBpZiAoYWNjICYmIHR5cGVvZiBhY2MgPT09ICdvYmplY3QnICYmIGtleSBpbiBhY2MpIHtcclxuICAgICAgcmV0dXJuIChhY2MgYXMgUmVjb3JkPHN0cmluZywgVFZhbHVlPilba2V5XTtcclxuICAgIH1cclxuICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgfSwgb2JqIGFzIHVua25vd24pIGFzIFRWYWx1ZTtcclxufVxyXG4iXX0=","import { getValueByPath } from \"./object.utils\";\nexport function isArrayIntersected(array1, array2) {\n const filteredArray = array1.filter(value => array2.includes(value));\n return filteredArray.length > 0;\n}\nexport function multiSort(values, sorts) {\n return [...values].sort((a, b) => {\n for (const sort of sorts) {\n const { field, direction } = sort;\n const valueA = getValueByPath(a, field);\n const valueB = getValueByPath(b, field);\n if (valueA !== valueB) {\n if (isComparable(valueA) && isComparable(valueB)) {\n if (typeof valueA === 'string' && typeof valueB === 'string') {\n const baseCompare = valueA.localeCompare(valueB, undefined, {\n sensitivity: 'base',\n });\n if (baseCompare === 0) {\n return valueA < valueB ? -1 : valueA > valueB ? 1 : 0;\n }\n return direction === 'asc' ? baseCompare : -baseCompare;\n }\n else {\n if (valueA < valueB) {\n return direction === 'asc' ? -1 : 1;\n }\n if (valueA > valueB) {\n return direction === 'asc' ? 1 : -1;\n }\n }\n }\n }\n }\n return 0;\n });\n}\nfunction isComparable(value) {\n return typeof value === 'string'\n || typeof value === 'number'\n || typeof value === 'boolean'\n || value instanceof Date;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvYXJyYXkudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSWhELE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsTUFBNkIsRUFDN0IsTUFBNkI7SUFFN0IsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNyRSxPQUFPLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFJLE1BQVcsRUFBRSxLQUFhO0lBQ3JELE9BQU8sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMvQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEMsTUFBTSxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUV4QyxJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ2pELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUM3RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUU7NEJBQzFELFdBQVcsRUFBRSxNQUFNO3lCQUNwQixDQUFDLENBQUM7d0JBRUgsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFLENBQUM7NEJBQ3RCLE9BQU8sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN4RCxDQUFDO3dCQUVELE9BQU8sU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztvQkFDMUQsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLElBQUksTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDOzRCQUNwQixPQUFPLFNBQVMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3RDLENBQUM7d0JBQ0QsSUFBSSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUM7NEJBQ3BCLE9BQU8sU0FBUyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDdEMsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsS0FBYztJQUNsQyxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVE7V0FDM0IsT0FBTyxLQUFLLEtBQUssUUFBUTtXQUN6QixPQUFPLEtBQUssS0FBSyxTQUFTO1dBQzFCLEtBQUssWUFBWSxJQUFJLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnQgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBnZXRWYWx1ZUJ5UGF0aCB9IGZyb20gXCIuL29iamVjdC51dGlsc1wiO1xuXG50eXBlIEFycmF5SW50ZXJzZWN0aW9uVHlwZSA9IChzdHJpbmcgfCBudW1iZXIpW11cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXlJbnRlcnNlY3RlZChcbiAgYXJyYXkxOiBBcnJheUludGVyc2VjdGlvblR5cGUsXG4gIGFycmF5MjogQXJyYXlJbnRlcnNlY3Rpb25UeXBlLFxuKSB7XG4gIGNvbnN0IGZpbHRlcmVkQXJyYXkgPSBhcnJheTEuZmlsdGVyKHZhbHVlID0+IGFycmF5Mi5pbmNsdWRlcyh2YWx1ZSkpO1xuICByZXR1cm4gZmlsdGVyZWRBcnJheS5sZW5ndGggPiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbXVsdGlTb3J0PFQ+KHZhbHVlczogVFtdLCBzb3J0czogU29ydFtdKTogVFtdIHtcbiAgcmV0dXJuIFsuLi52YWx1ZXNdLnNvcnQoKGEsIGIpID0+IHtcbiAgICBmb3IgKGNvbnN0IHNvcnQgb2Ygc29ydHMpIHtcbiAgICAgIGNvbnN0IHsgZmllbGQsIGRpcmVjdGlvbiB9ID0gc29ydDtcbiAgICAgIGNvbnN0IHZhbHVlQSA9IGdldFZhbHVlQnlQYXRoKGEsIGZpZWxkKTtcbiAgICAgIGNvbnN0IHZhbHVlQiA9IGdldFZhbHVlQnlQYXRoKGIsIGZpZWxkKTtcblxuICAgICAgaWYgKHZhbHVlQSAhPT0gdmFsdWVCKSB7XG4gICAgICAgIGlmIChpc0NvbXBhcmFibGUodmFsdWVBKSAmJiBpc0NvbXBhcmFibGUodmFsdWVCKSkge1xuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWVBID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWVCID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgYmFzZUNvbXBhcmUgPSB2YWx1ZUEubG9jYWxlQ29tcGFyZSh2YWx1ZUIsIHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgICBzZW5zaXRpdml0eTogJ2Jhc2UnLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmIChiYXNlQ29tcGFyZSA9PT0gMCkge1xuICAgICAgICAgICAgICByZXR1cm4gdmFsdWVBIDwgdmFsdWVCID8gLTEgOiB2YWx1ZUEgPiB2YWx1ZUIgPyAxIDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gJ2FzYycgPyBiYXNlQ29tcGFyZSA6IC1iYXNlQ29tcGFyZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHZhbHVlQSA8IHZhbHVlQikge1xuICAgICAgICAgICAgICByZXR1cm4gZGlyZWN0aW9uID09PSAnYXNjJyA/IC0xIDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWx1ZUEgPiB2YWx1ZUIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGRpcmVjdGlvbiA9PT0gJ2FzYycgPyAxIDogLTE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBpc0NvbXBhcmFibGUodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZydcbiAgICB8fCB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInXG4gICAgfHwgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbidcbiAgICB8fCB2YWx1ZSBpbnN0YW5jZW9mIERhdGU7XG59XG4iXX0=","import moment from 'moment';\nexport function transformData(data) {\n if (data) {\n if (moment.isMoment(data)) {\n return moment(data)\n .toDate()\n .toISOString();\n }\n else if (data instanceof Date) {\n return data.toISOString();\n }\n }\n return data;\n}\nexport function convertToDate(data) {\n if (data) {\n if (!isNaN(Date.parse(data))) {\n return new Date(data);\n }\n }\n return data;\n}\nexport function convertToDateTime(data) {\n if (data) {\n if (!isNaN(Date.parse(data))) {\n const date = new Date(data);\n return moment(date).format('DD.MM.yyyy HH:mm');\n }\n }\n return data;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9kYXRhLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVM7SUFDckMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQztpQkFDaEIsTUFBTSxFQUFFO2lCQUNSLFdBQVcsRUFBRSxDQUFDO1FBQ25CLENBQUM7YUFDSSxJQUFJLElBQUksWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBUztJQUNyQyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVM7SUFDekMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRhKGRhdGE6IGFueSkge1xuICBpZiAoZGF0YSkge1xuICAgIGlmIChtb21lbnQuaXNNb21lbnQoZGF0YSkpIHtcbiAgICAgIHJldHVybiBtb21lbnQoZGF0YSlcbiAgICAgICAgLnRvRGF0ZSgpXG4gICAgICAgIC50b0lTT1N0cmluZygpO1xuICAgIH1cbiAgICBlbHNlIGlmIChkYXRhIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgcmV0dXJuIGRhdGEudG9JU09TdHJpbmcoKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9EYXRlKGRhdGE6IGFueSkge1xuICBpZiAoZGF0YSkge1xuICAgIGlmICghaXNOYU4oRGF0ZS5wYXJzZShkYXRhKSkpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRhKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9EYXRlVGltZShkYXRhOiBhbnkpIHtcbiAgaWYgKGRhdGEpIHtcbiAgICBpZiAoIWlzTmFOKERhdGUucGFyc2UoZGF0YSkpKSB7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZGF0YSk7XG4gICAgICByZXR1cm4gbW9tZW50KGRhdGUpLmZvcm1hdCgnREQuTU0ueXl5eSBISDptbScpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZGF0YTtcbn1cbiJdfQ==","const czechDateFormat = new Intl.DateTimeFormat(\"cs-CZ\", {\n day: \"numeric\",\n month: \"numeric\",\n year: \"numeric\"\n});\nconst czechDateTimeFormat = new Intl.DateTimeFormat(\"cs-CZ\", {\n second: \"numeric\",\n minute: \"numeric\",\n hour: \"numeric\",\n day: \"numeric\",\n month: \"numeric\",\n year: \"numeric\"\n});\nexport function toCzechDateTimeString(value, time = false) {\n if (!value) {\n return \"\";\n }\n if (typeof value === \"string\") {\n value = new Date(value);\n }\n if (time) {\n return czechDateTimeFormat.format(value);\n }\n return czechDateFormat.format(value);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL2NvcmUvc3JjL2xpYi91dGlscy9kYXRlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7SUFDdkQsR0FBRyxFQUFFLFNBQVM7SUFDZCxLQUFLLEVBQUUsU0FBUztJQUNoQixJQUFJLEVBQUUsU0FBUztDQUNoQixDQUFDLENBQUM7QUFFSCxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7SUFDM0QsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsSUFBSSxFQUFFLFNBQVM7SUFDZixHQUFHLEVBQUUsU0FBUztJQUNkLEtBQUssRUFBRSxTQUFTO0lBQ2hCLElBQUksRUFBRSxTQUFTO0NBQ2hCLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxLQUFxQixFQUFFLElBQUksR0FBRyxLQUFLO0lBQ3ZFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1QsT0FBTyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY3plY2hEYXRlRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJjcy1DWlwiLCB7XG4gIGRheTogXCJudW1lcmljXCIsXG4gIG1vbnRoOiBcIm51bWVyaWNcIixcbiAgeWVhcjogXCJudW1lcmljXCJcbn0pO1xuXG5jb25zdCBjemVjaERhdGVUaW1lRm9ybWF0ID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoXCJjcy1DWlwiLCB7XG4gIHNlY29uZDogXCJudW1lcmljXCIsXG4gIG1pbnV0ZTogXCJudW1lcmljXCIsXG4gIGhvdXI6IFwibnVtZXJpY1wiLFxuICBkYXk6IFwibnVtZXJpY1wiLFxuICBtb250aDogXCJudW1lcmljXCIsXG4gIHllYXI6IFwibnVtZXJpY1wiXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvQ3plY2hEYXRlVGltZVN0cmluZyh2YWx1ZT86IERhdGUgfCBzdHJpbmcsIHRpbWUgPSBmYWxzZSk6IHN0cmluZyB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgfVxuXG4gIGlmICh0aW1lKSB7XG4gICAgcmV0dXJuIGN6ZWNoRGF0ZVRpbWVGb3JtYXQuZm9ybWF0KHZhbHVlKTtcbiAgfVxuXG4gIHJldHVybiBjemVjaERhdGVGb3JtYXQuZm9ybWF0KHZhbHVlKTtcbn0iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaXNvZnQtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL2NvcmUvc3JjL3Zlcmlzb2Z0LWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,3 +1,135 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { HttpParams, HttpResponse, HttpClient } from '@angular/common/http';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { InjectionToken } from '@angular/core';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { ValidationErrors } from '@angular/forms';
|
|
6
|
+
|
|
7
|
+
interface EnvironmentConfig {
|
|
8
|
+
production: boolean;
|
|
9
|
+
apiUrl: string;
|
|
10
|
+
appVersion: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare const BASE_URL_PATH: InjectionToken<string>;
|
|
14
|
+
declare function requestParamsToHttpParams<T>(requestParams: Partial<RequestParams<T>>, httpParams?: HttpParams): HttpParams;
|
|
15
|
+
declare function saveFile(response: HttpResponse<Blob>): void;
|
|
16
|
+
declare enum SortDirection {
|
|
17
|
+
asc = "asc",
|
|
18
|
+
desc = "desc"
|
|
19
|
+
}
|
|
20
|
+
declare type SortDirectionType = keyof typeof SortDirection;
|
|
21
|
+
declare interface Sort {
|
|
22
|
+
field: string;
|
|
23
|
+
direction: SortDirectionType;
|
|
24
|
+
}
|
|
25
|
+
interface RequestParams<T> extends AllDataRequestParams<T> {
|
|
26
|
+
offset: number;
|
|
27
|
+
limit: number;
|
|
28
|
+
id?: string;
|
|
29
|
+
}
|
|
30
|
+
interface AllDataRequestParams<T> {
|
|
31
|
+
filter?: Partial<T>;
|
|
32
|
+
sort?: Sort[];
|
|
33
|
+
}
|
|
34
|
+
interface Page<T> {
|
|
35
|
+
data: T[];
|
|
36
|
+
total: number;
|
|
37
|
+
limit: number;
|
|
38
|
+
offset: number;
|
|
39
|
+
}
|
|
40
|
+
interface CustomExport<T> {
|
|
41
|
+
sortDefinition?: Sort;
|
|
42
|
+
filter?: Partial<T>;
|
|
43
|
+
columnsToExport: ColumnExportSpecification[];
|
|
44
|
+
}
|
|
45
|
+
interface ColumnExportSpecification {
|
|
46
|
+
name: string;
|
|
47
|
+
header: string;
|
|
48
|
+
}
|
|
49
|
+
declare const DEFAULT_SEARCH_LIMIT = 50;
|
|
50
|
+
declare const DEFAULT_SEARCH_PARAMS: RequestParams<any>;
|
|
51
|
+
declare function normalizeRequest<T>(request: Partial<RequestParams<T>>, minLimit?: number | undefined): RequestParams<T>;
|
|
52
|
+
|
|
53
|
+
type LazyLoadEvent = RequestParams<unknown>;
|
|
54
|
+
interface FilterEvent {
|
|
55
|
+
filter?: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
declare const DEFAULT_PAGE_SIZE = 50;
|
|
59
|
+
declare const DEFAULT_LAZYLOAD_OPTIONS: LazyLoadEvent;
|
|
60
|
+
|
|
61
|
+
interface AllItemDatasource<T> {
|
|
62
|
+
getData$: () => Observable<T[]>;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
declare class BaseHttpService<T, TKey = number | string> {
|
|
66
|
+
readonly http: HttpClient;
|
|
67
|
+
readonly basePath: string;
|
|
68
|
+
readonly entityName: string;
|
|
69
|
+
constructor(http: HttpClient, basePath: string, entityName: string);
|
|
70
|
+
protected get apiPath(): string;
|
|
71
|
+
fetchList(requestParams: RequestParams<T>): Observable<Page<T>>;
|
|
72
|
+
getData$(entityName: keyof T, searchTerm?: string | undefined, lazyLoad?: LazyLoadEvent): Observable<T[]>;
|
|
73
|
+
get(id: TKey): Observable<T>;
|
|
74
|
+
post(entity: Partial<T>): Observable<T>;
|
|
75
|
+
put(id: TKey, entity: Partial<T>): Observable<T>;
|
|
76
|
+
delete(id: TKey): Observable<T>;
|
|
77
|
+
export(requestParams: AllDataRequestParams<T>): Observable<Blob>;
|
|
78
|
+
removeRange(entity: string[]): Observable<Object>;
|
|
79
|
+
createParams<T>(requestParams: RequestParams<T>): any;
|
|
80
|
+
private createSorter;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
type DatasourceType<T> = string | Observable<T[]> | Observable<Page<T>> | BaseHttpService<T> | T[] | Page<T> | AllItemDatasource<T>;
|
|
84
|
+
type DataSourceFunctionType<T> = (requestParams: RequestParams<T>) => Observable<Page<T>>;
|
|
85
|
+
declare function convertDatasource<T>(datasource: DatasourceType<T>, basePath: string, httpClient: HttpClient): DataSourceFunctionType<T>;
|
|
86
|
+
|
|
87
|
+
interface ErrorProvider {
|
|
88
|
+
mapError(errors: ValidationErrors): Observable<string | undefined>;
|
|
89
|
+
errors: Record<string, (value?: any) => string>;
|
|
90
|
+
}
|
|
91
|
+
declare const ERROR_PROVIDER_TOKEN: InjectionToken<ErrorProvider>;
|
|
92
|
+
declare enum CustomValidationCodes {
|
|
93
|
+
}
|
|
94
|
+
declare const ErrorMap: Record<string, (value?: any) => string>;
|
|
95
|
+
|
|
96
|
+
declare class LocalStorageService {
|
|
97
|
+
setItem(key: string, value: string): void;
|
|
98
|
+
getItem(key: string): string | null;
|
|
99
|
+
removeItem(key: string): void;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
declare class LocalizableErrorProviderService implements ErrorProvider {
|
|
103
|
+
private readonly translateService;
|
|
104
|
+
readonly errors: Record<string, (value?: any) => string>;
|
|
105
|
+
mapError(errors: ValidationErrors): Observable<string | undefined>;
|
|
106
|
+
private getFirstValue;
|
|
107
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocalizableErrorProviderService, never>;
|
|
108
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LocalizableErrorProviderService>;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
declare class ClearUtils {
|
|
112
|
+
static recursiveObjectAttributesTransformation(obj: any): void;
|
|
113
|
+
static recursiveObjectAttributesDeletation(obj: any): void;
|
|
114
|
+
static transformEmptyStringToNullStringFn(obj: any, key: string): void;
|
|
115
|
+
static deleteEmptyStringToNullStringFn(obj: any, key: string): void;
|
|
116
|
+
static recursiveObjectAttributesTraversal(obj: any, transformationFn: (obj: any, key: string) => void): void;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
declare function keyOrFn(keyOrFn: ((row: any) => string | undefined) | string, row: any): any;
|
|
120
|
+
|
|
121
|
+
type ArrayIntersectionType = (string | number)[];
|
|
122
|
+
declare function isArrayIntersected(array1: ArrayIntersectionType, array2: ArrayIntersectionType): boolean;
|
|
123
|
+
declare function multiSort<T>(values: T[], sorts: Sort[]): T[];
|
|
124
|
+
|
|
125
|
+
declare function transformData(data: any): any;
|
|
126
|
+
declare function convertToDate(data: any): any;
|
|
127
|
+
declare function convertToDateTime(data: any): any;
|
|
128
|
+
|
|
129
|
+
declare function sortBy<TEntity, TProperty>(items: TEntity[], selector: (item: TEntity) => TProperty, ascending?: boolean): TEntity[];
|
|
130
|
+
declare function getValueByPath<T, TValue>(obj: T, path: string | undefined): TValue | undefined;
|
|
131
|
+
|
|
132
|
+
declare function toCzechDateTimeString(value?: Date | string, time?: boolean): string;
|
|
133
|
+
|
|
134
|
+
export { BASE_URL_PATH, BaseHttpService, ClearUtils, CustomValidationCodes, DEFAULT_LAZYLOAD_OPTIONS, DEFAULT_PAGE_SIZE, DEFAULT_SEARCH_LIMIT, DEFAULT_SEARCH_PARAMS, ERROR_PROVIDER_TOKEN, ErrorMap, LocalStorageService, LocalizableErrorProviderService, SortDirection, convertDatasource, convertToDate, convertToDateTime, getValueByPath, isArrayIntersected, keyOrFn, multiSort, normalizeRequest, requestParamsToHttpParams, saveFile, sortBy, toCzechDateTimeString, transformData };
|
|
135
|
+
export type { AllDataRequestParams, AllItemDatasource, ColumnExportSpecification, CustomExport, DataSourceFunctionType, DatasourceType, EnvironmentConfig, ErrorProvider, FilterEvent, LazyLoadEvent, Page, RequestParams, Sort, SortDirectionType };
|
package/package.json
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@verisoft/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "20.0.0",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@angular/common": "
|
|
7
|
-
"@angular/core": "
|
|
8
|
-
"@angular/forms": "
|
|
9
|
-
"@ngx-translate/core": "^
|
|
6
|
+
"@angular/common": "~20.2.0",
|
|
7
|
+
"@angular/core": "~20.2.0",
|
|
8
|
+
"@angular/forms": "~20.2.0",
|
|
9
|
+
"@ngx-translate/core": "^17.0.0",
|
|
10
10
|
"moment": "^2.30.1",
|
|
11
11
|
"rxjs": "~7.8.0"
|
|
12
12
|
},
|
|
13
|
-
"publishConfig": {
|
|
14
|
-
"access": "public"
|
|
15
|
-
},
|
|
16
13
|
"module": "fesm2022/verisoft-core.mjs",
|
|
17
14
|
"typings": "index.d.ts",
|
|
18
15
|
"exports": {
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { HttpParams, HttpResponse } from '@angular/common/http';
|
|
2
|
-
import { InjectionToken } from '@angular/core';
|
|
3
|
-
export declare const BASE_URL_PATH: InjectionToken<string>;
|
|
4
|
-
export declare function requestParamsToHttpParams<T>(requestParams: Partial<RequestParams<T>>, httpParams?: HttpParams): HttpParams;
|
|
5
|
-
export declare function saveFile(response: HttpResponse<Blob>): void;
|
|
6
|
-
export declare enum SortDirection {
|
|
7
|
-
asc = "asc",
|
|
8
|
-
desc = "desc"
|
|
9
|
-
}
|
|
10
|
-
export declare type SortDirectionType = keyof typeof SortDirection;
|
|
11
|
-
export declare interface Sort {
|
|
12
|
-
field: string;
|
|
13
|
-
direction: SortDirectionType;
|
|
14
|
-
}
|
|
15
|
-
export interface RequestParams<T> extends AllDataRequestParams<T> {
|
|
16
|
-
offset: number;
|
|
17
|
-
limit: number;
|
|
18
|
-
id?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface AllDataRequestParams<T> {
|
|
21
|
-
filter?: Partial<T>;
|
|
22
|
-
sort?: Sort[];
|
|
23
|
-
}
|
|
24
|
-
export interface Page<T> {
|
|
25
|
-
data: T[];
|
|
26
|
-
total: number;
|
|
27
|
-
limit: number;
|
|
28
|
-
offset: number;
|
|
29
|
-
}
|
|
30
|
-
export interface CustomExport<T> {
|
|
31
|
-
sortDefinition?: Sort;
|
|
32
|
-
filter?: Partial<T>;
|
|
33
|
-
columnsToExport: ColumnExportSpecification[];
|
|
34
|
-
}
|
|
35
|
-
export interface ColumnExportSpecification {
|
|
36
|
-
name: string;
|
|
37
|
-
header: string;
|
|
38
|
-
}
|
|
39
|
-
export declare const DEFAULT_SEARCH_LIMIT = 50;
|
|
40
|
-
export declare const DEFAULT_SEARCH_PARAMS: RequestParams<any>;
|
|
41
|
-
export declare function normalizeRequest<T>(request: Partial<RequestParams<T>>, minLimit?: number | undefined): RequestParams<T>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { BaseHttpService } from '../services/base-http.service';
|
|
4
|
-
import { AllItemDatasource } from './all-item.datasource';
|
|
5
|
-
import { Page, RequestParams } from './base-http.models';
|
|
6
|
-
export type DatasourceType<T> = string | Observable<T[]> | Observable<Page<T>> | BaseHttpService<T> | T[] | Page<T> | AllItemDatasource<T>;
|
|
7
|
-
export type DataSourceFunctionType<T> = (requestParams: RequestParams<T>) => Observable<Page<T>>;
|
|
8
|
-
export declare function convertDatasource<T>(datasource: DatasourceType<T>, basePath: string, httpClient: HttpClient): DataSourceFunctionType<T>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { ValidationErrors } from '@angular/forms';
|
|
3
|
-
import { Observable } from 'rxjs';
|
|
4
|
-
export interface ErrorProvider {
|
|
5
|
-
mapError(errors: ValidationErrors): Observable<string | undefined>;
|
|
6
|
-
errors: Record<string, (value?: any) => string>;
|
|
7
|
-
}
|
|
8
|
-
export declare const ERROR_PROVIDER_TOKEN: InjectionToken<ErrorProvider>;
|
|
9
|
-
export declare enum CustomValidationCodes {
|
|
10
|
-
}
|
|
11
|
-
export declare const ErrorMap: Record<string, (value?: any) => string>;
|
package/lib/models/index.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { AllDataRequestParams, Page, RequestParams } from '../models/base-http.models';
|
|
4
|
-
import { LazyLoadEvent } from '../models/event.models';
|
|
5
|
-
export declare class BaseHttpService<T, TKey = number | string> {
|
|
6
|
-
readonly http: HttpClient;
|
|
7
|
-
readonly basePath: string;
|
|
8
|
-
readonly entityName: string;
|
|
9
|
-
constructor(http: HttpClient, basePath: string, entityName: string);
|
|
10
|
-
protected get apiPath(): string;
|
|
11
|
-
fetchList(requestParams: RequestParams<T>): Observable<Page<T>>;
|
|
12
|
-
getData$(entityName: keyof T, searchTerm?: string | undefined, lazyLoad?: LazyLoadEvent): Observable<T[]>;
|
|
13
|
-
get(id: TKey): Observable<T>;
|
|
14
|
-
post(entity: Partial<T>): Observable<T>;
|
|
15
|
-
put(id: TKey, entity: Partial<T>): Observable<T>;
|
|
16
|
-
delete(id: TKey): Observable<T>;
|
|
17
|
-
export(requestParams: AllDataRequestParams<T>): Observable<Blob>;
|
|
18
|
-
removeRange(entity: string[]): Observable<Object>;
|
|
19
|
-
createParams<T>(requestParams: RequestParams<T>): any;
|
|
20
|
-
private createSorter;
|
|
21
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ValidationErrors } from '@angular/forms';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { ErrorProvider } from '../models/error-provider.model';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class LocalizableErrorProviderService implements ErrorProvider {
|
|
6
|
-
private readonly translateService;
|
|
7
|
-
readonly errors: Record<string, (value?: any) => string>;
|
|
8
|
-
mapError(errors: ValidationErrors): Observable<string | undefined>;
|
|
9
|
-
private getFirstValue;
|
|
10
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LocalizableErrorProviderService, never>;
|
|
11
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<LocalizableErrorProviderService>;
|
|
12
|
-
}
|
package/lib/services/index.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Sort } from "../models";
|
|
2
|
-
type ArrayIntersectionType = (string | number)[];
|
|
3
|
-
export declare function isArrayIntersected(array1: ArrayIntersectionType, array2: ArrayIntersectionType): boolean;
|
|
4
|
-
export declare function multiSort<T>(values: T[], sorts: Sort[]): T[];
|
|
5
|
-
export {};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare class ClearUtils {
|
|
2
|
-
static recursiveObjectAttributesTransformation(obj: any): void;
|
|
3
|
-
static recursiveObjectAttributesDeletation(obj: any): void;
|
|
4
|
-
static transformEmptyStringToNullStringFn(obj: any, key: string): void;
|
|
5
|
-
static deleteEmptyStringToNullStringFn(obj: any, key: string): void;
|
|
6
|
-
static recursiveObjectAttributesTraversal(obj: any, transformationFn: (obj: any, key: string) => void): void;
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function toCzechDateTimeString(value?: Date | string, time?: boolean): string;
|
package/lib/utils/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function keyOrFn(keyOrFn: ((row: any) => string | undefined) | string, row: any): any;
|