imng-odata-client 5.243.6 → 5.244.2
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/esm2020/lib/imng-odata-client.module.mjs +4 -4
- package/esm2020/lib/services/odata-client.service.mjs +7 -7
- package/fesm2015/imng-odata-client.mjs +10 -10
- package/fesm2015/imng-odata-client.mjs.map +1 -1
- package/fesm2020/imng-odata-client.mjs +10 -10
- package/fesm2020/imng-odata-client.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -5,10 +5,10 @@ import { ODataClientService } from './services/odata-client.service';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class ImngODataClientModule {
|
|
7
7
|
}
|
|
8
|
-
ImngODataClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
9
|
-
ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
10
|
-
ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
8
|
+
ImngODataClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, imports: [CommonModule, HttpClientModule] });
|
|
10
|
+
ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, providers: [ODataClientService], imports: [CommonModule, HttpClientModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
imports: [CommonModule, HttpClientModule],
|
|
@@ -11,7 +11,7 @@ export class ODataClientService {
|
|
|
11
11
|
fetch(odataEndpoint, query, options = {}) {
|
|
12
12
|
const queryStr = this.getODataString(query, options);
|
|
13
13
|
return this.httpClient
|
|
14
|
-
.get(`${odataEndpoint}
|
|
14
|
+
.get(`${odataEndpoint}?${queryStr}`)
|
|
15
15
|
.pipe(mapData(options));
|
|
16
16
|
}
|
|
17
17
|
getODataString(query, options = {}) {
|
|
@@ -32,7 +32,7 @@ export class ODataClientService {
|
|
|
32
32
|
return queryString;
|
|
33
33
|
}
|
|
34
34
|
const filterString = this.serializeCompositeFilter(query.filter);
|
|
35
|
-
return
|
|
35
|
+
return `&$filter=${filterString}`;
|
|
36
36
|
}
|
|
37
37
|
serializeCompositeFilter(filter) {
|
|
38
38
|
const filterLogicSeperator = ` ${filter.logic} `;
|
|
@@ -45,7 +45,7 @@ export class ODataClientService {
|
|
|
45
45
|
serializeFilter(filter) {
|
|
46
46
|
if (isChildFilter(filter)) {
|
|
47
47
|
const childFieldName = `o/${filter.field}`;
|
|
48
|
-
return `${filter.childTable}/${filter.linqOperation}(o
|
|
48
|
+
return `${filter.childTable}/${filter.linqOperation}(o: ${filter.operator(childFieldName, filter.value)} )`;
|
|
49
49
|
}
|
|
50
50
|
else {
|
|
51
51
|
return filter.operator(filter.field, filter.value);
|
|
@@ -109,12 +109,12 @@ export class ODataClientService {
|
|
|
109
109
|
return queryString;
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
ODataClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
113
|
-
ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
112
|
+
ODataClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
113
|
+
ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, providedIn: 'root' });
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, decorators: [{
|
|
115
115
|
type: Injectable,
|
|
116
116
|
args: [{
|
|
117
117
|
providedIn: 'root',
|
|
118
118
|
}]
|
|
119
119
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtY2xpZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvc2VydmljZXMvb2RhdGEtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUtMLGFBQWEsRUFDYixpQkFBaUIsR0FHbEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFLaEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUVoRCxLQUFLLENBQ1YsYUFBcUIsRUFDckIsS0FBaUIsRUFDakIsVUFBd0IsRUFBRTtRQUUxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBdUIsR0FBRyxhQUFhLEdBQUcsUUFBUSxFQUFFLENBQUM7YUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBaUIsRUFBRSxVQUF3QixFQUFFO1FBQ2pFLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELFdBQVcsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN0RSxXQUFXLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdkUsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELFdBQVcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQzdELFdBQVcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CO1FBQzNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxjQUFjLENBQ1osS0FBaUIsRUFDakIsUUFBc0IsRUFDdEIsV0FBbUI7UUFFbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDakIsT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sV0FBVyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ0Qsd0JBQXdCLENBQUMsTUFBdUI7UUFDOUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUNqRCxPQUFPLElBQUksTUFBTSxDQUFDLE9BQU87YUFDdEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDVCxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDbEIsQ0FBQyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQzVCO2FBQ0EsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQTRCO1FBQzFDLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sY0FBYyxHQUFHLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNDLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxhQUFhLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FDdEUsY0FBYyxFQUNkLE1BQU0sQ0FBQyxLQUFjLENBQ3RCLElBQUksQ0FBQztTQUNQO2FBQU07WUFDTCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBYyxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDO0lBQ0QsdUJBQXVCLENBQ3JCLGFBQTZCLEVBQzdCLEtBQWlCLEVBQ2pCLFdBQW1CO1FBRW5CLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3hCLE9BQU8sV0FBVyxHQUFHLEtBQUssYUFBYSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1NBQ25FO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELG1CQUFtQixDQUFDLE9BQXFCLEVBQUUsV0FBbUI7UUFDNUQsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLFdBQVcsR0FBRyxjQUFjLFNBQVMsRUFBRSxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVNLFlBQVksQ0FBQyxLQUFpQixFQUFFLFdBQW1CO1FBQ3hELElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDekIsT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFDRCxPQUFPLFdBQVcsR0FBRyxjQUFjLENBQUM7SUFDdEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxXQUFtQjtRQUNyQyxNQUFNLFNBQVMsR0FDYiwyREFBMkQsQ0FBQztRQUM5RCxJQUFJLENBQXlCLENBQUM7UUFDOUIsTUFBTSxXQUFXLEdBQWEsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUNqRCxvRUFBb0U7WUFDcEUsSUFBSSxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxTQUFTLEVBQUU7Z0JBQ25DLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUN2QjtZQUNELENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbEIsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsV0FBVyxDQUFDLE9BQU8sQ0FDakIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNQLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQ2hDLElBQUksRUFDSixJQUFJLENBQUMsT0FBTyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUMvQyxDQUFDLENBQ0wsQ0FBQztRQUNGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxZQUFZLENBQUMsV0FBbUI7UUFDckMsTUFBTSxTQUFTLEdBQ2IsaUVBQWlFLENBQUM7UUFDcEUsSUFBSSxDQUF5QixDQUFDO1FBQzlCLE1BQU0sV0FBVyxHQUFhLEVBQUUsQ0FBQztRQUNqQyxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDakQsb0VBQW9FO1lBQ3BFLElBQUksQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsU0FBUyxFQUFFO2dCQUNuQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDdkI7WUFDRCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELFdBQVcsQ0FBQyxPQUFPLENBQ2pCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDUCxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3BFLENBQUM7UUFDRixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBaUIsRUFBRSxXQUFtQjtRQUM1RCxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sV0FBVyxHQUFHLFlBQVksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7K0dBdklVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDaGlsZEZpbHRlcixcbiAgQ29tcG9zaXRlRmlsdGVyLFxuICBGZXRjaE9wdGlvbnMsXG4gIEZpbHRlcixcbiAgaXNDaGlsZEZpbHRlcixcbiAgaXNDb21wb3NpdGVGaWx0ZXIsXG4gIE9EYXRhUXVlcnksXG4gIE9EYXRhUmVzdWx0LFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgbWFwRGF0YSB9IGZyb20gJy4uL29wZXJhdG9ycy9tYXAtZGF0YSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPRGF0YUNsaWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgcHVibGljIGZldGNoPFQ+KFxuICAgIG9kYXRhRW5kcG9pbnQ6IHN0cmluZyxcbiAgICBxdWVyeTogT0RhdGFRdWVyeSxcbiAgICBvcHRpb25zOiBGZXRjaE9wdGlvbnMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YVJlc3VsdDxUPj4ge1xuICAgIGNvbnN0IHF1ZXJ5U3RyID0gdGhpcy5nZXRPRGF0YVN0cmluZyhxdWVyeSwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxPRGF0YVJlc3VsdDxUPiB8IFRbXT4oYCR7b2RhdGFFbmRwb2ludH0ke3F1ZXJ5U3RyfWApXG4gICAgICAucGlwZShtYXBEYXRhPFQ+KG9wdGlvbnMpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRPRGF0YVN0cmluZyhxdWVyeTogT0RhdGFRdWVyeSwgb3B0aW9uczogRmV0Y2hPcHRpb25zID0ge30pOiBzdHJpbmcge1xuICAgIGxldCBxdWVyeVN0cmluZyA9ICcnO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzRmlsdGVycyhxdWVyeSwgb3B0aW9ucywgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzU2VsZWN0b3JzKHF1ZXJ5LCBxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSB0aGlzLnByb2Nlc3NTaW1wbGVQYXJhbWV0ZXJzKCd0b3AnLCBxdWVyeSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzU2ltcGxlUGFyYW1ldGVycygnc2tpcCcsIHF1ZXJ5LCBxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSB0aGlzLnByb2Nlc3NHdWlkcyhxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSB0aGlzLnByb2Nlc3NEYXRlcyhxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSB0aGlzLnByb2Nlc3NDb3VudChxdWVyeSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzQ2FjaGVCdXN0aW5nKG9wdGlvbnMsIHF1ZXJ5U3RyaW5nKTtcbiAgICBxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nLnN1YnN0cmluZygxKTsgLy8gcmVtb3ZpbmcgZmlyc3QgJlxuICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgfVxuICBwcm9jZXNzRmlsdGVycyhcbiAgICBxdWVyeTogT0RhdGFRdWVyeSxcbiAgICBfb3B0aW9uczogRmV0Y2hPcHRpb25zLFxuICAgIHF1ZXJ5U3RyaW5nOiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCFxdWVyeS5maWx0ZXIpIHtcbiAgICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgICB9XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gdGhpcy5zZXJpYWxpemVDb21wb3NpdGVGaWx0ZXIocXVlcnkuZmlsdGVyKTtcbiAgICByZXR1cm4gYCZmaWx0ZXI9JHtmaWx0ZXJTdHJpbmd9YDtcbiAgfVxuICBzZXJpYWxpemVDb21wb3NpdGVGaWx0ZXIoZmlsdGVyOiBDb21wb3NpdGVGaWx0ZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbHRlckxvZ2ljU2VwZXJhdG9yID0gYCAke2ZpbHRlci5sb2dpY30gYDtcbiAgICByZXR1cm4gYCgke2ZpbHRlci5maWx0ZXJzXG4gICAgICAubWFwKChtKSA9PlxuICAgICAgICBpc0NvbXBvc2l0ZUZpbHRlcihtKVxuICAgICAgICAgID8gdGhpcy5zZXJpYWxpemVDb21wb3NpdGVGaWx0ZXIobSlcbiAgICAgICAgICA6IHRoaXMuc2VyaWFsaXplRmlsdGVyKG0pLFxuICAgICAgKVxuICAgICAgLmpvaW4oZmlsdGVyTG9naWNTZXBlcmF0b3IpfSlgO1xuICB9XG5cbiAgc2VyaWFsaXplRmlsdGVyKGZpbHRlcjogRmlsdGVyIHwgQ2hpbGRGaWx0ZXIpOiBzdHJpbmcge1xuICAgIGlmIChpc0NoaWxkRmlsdGVyKGZpbHRlcikpIHtcbiAgICAgIGNvbnN0IGNoaWxkRmllbGROYW1lID0gYG8vJHtmaWx0ZXIuZmllbGR9YDtcbiAgICAgIHJldHVybiBgJHtmaWx0ZXIuY2hpbGRUYWJsZX0vJHtmaWx0ZXIubGlucU9wZXJhdGlvbn0obzoke2ZpbHRlci5vcGVyYXRvcihcbiAgICAgICAgY2hpbGRGaWVsZE5hbWUsXG4gICAgICAgIGZpbHRlci52YWx1ZSBhcyBuZXZlcixcbiAgICAgICl9IClgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmlsdGVyLm9wZXJhdG9yKGZpbHRlci5maWVsZCwgZmlsdGVyLnZhbHVlIGFzIG5ldmVyKTtcbiAgICB9XG4gIH1cbiAgcHJvY2Vzc1NpbXBsZVBhcmFtZXRlcnMoXG4gICAgcGFyYW1ldGVyTmFtZTogJ3NraXAnIHwgJ3RvcCcsXG4gICAgcXVlcnk6IE9EYXRhUXVlcnksXG4gICAgcXVlcnlTdHJpbmc6IHN0cmluZyxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAocXVlcnlbcGFyYW1ldGVyTmFtZV0pIHtcbiAgICAgIHJldHVybiBxdWVyeVN0cmluZyArIGAmJCR7cGFyYW1ldGVyTmFtZX09JHtxdWVyeVtwYXJhbWV0ZXJOYW1lXX1gO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cbiAgcHJvY2Vzc0NhY2hlQnVzdGluZyhvcHRpb25zOiBGZXRjaE9wdGlvbnMsIHF1ZXJ5U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChvcHRpb25zLmJ1c3RDYWNoZSkge1xuICAgICAgY29uc3QgdGltZVN0YW1wID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1stOi5UWl0vZywgJycpO1xuICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nICsgYCZ0aW1lc3RhbXA9JHt0aW1lU3RhbXB9YDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NDb3VudChxdWVyeTogT0RhdGFRdWVyeSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHF1ZXJ5LmNvdW50ID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTdHJpbmcgKyAnJiRjb3VudD10cnVlJztcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzRGF0ZXMocXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZVJlZ2V4ID1cbiAgICAgIC9EYXRlIFtlLXRdezJ9IFxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9LlxcZHszfVovZztcbiAgICBsZXQgbTogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICBjb25zdCBkYXRlTWF0Y2hlczogc3RyaW5nW10gPSBbXTtcbiAgICB3aGlsZSAoKG0gPSBkYXRlUmVnZXguZXhlYyhxdWVyeVN0cmluZykpICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBhdm9pZCBpbmZpbml0ZSBsb29wcyB3aXRoIHplcm8td2lkdGggbWF0Y2hlc1xuICAgICAgaWYgKG0uaW5kZXggPT09IGRhdGVSZWdleC5sYXN0SW5kZXgpIHtcbiAgICAgICAgZGF0ZVJlZ2V4Lmxhc3RJbmRleCsrO1xuICAgICAgfVxuICAgICAgbS5mb3JFYWNoKChtYXRjaCkgPT4ge1xuICAgICAgICBkYXRlTWF0Y2hlcy5wdXNoKG1hdGNoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBkYXRlTWF0Y2hlcy5mb3JFYWNoKFxuICAgICAgKGRhdGUpID0+XG4gICAgICAgIChxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nLnJlcGxhY2UoXG4gICAgICAgICAgZGF0ZSxcbiAgICAgICAgICBkYXRlLnJlcGxhY2UoL1RcXGR7Mn06XFxkezJ9OlxcZHsyfS5cXGR7M31aL2csICcnKSxcbiAgICAgICAgKSksXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0d1aWRzKHF1ZXJ5U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGd1aWRSZWdleCA9XG4gICAgICAvJ1tcXGRBLUZdezh9LT9bXFxkQS1GXXs0fS0/W1xcZEEtRl17NH0tP1tcXGRBLUZdezR9LT9bXFxkQS1GXXsxMn0nL2dpO1xuICAgIGxldCBtOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsO1xuICAgIGNvbnN0IGd1aWRNYXRjaGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHdoaWxlICgobSA9IGd1aWRSZWdleC5leGVjKHF1ZXJ5U3RyaW5nKSkgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGF2b2lkIGluZmluaXRlIGxvb3BzIHdpdGggemVyby13aWR0aCBtYXRjaGVzXG4gICAgICBpZiAobS5pbmRleCA9PT0gZ3VpZFJlZ2V4Lmxhc3RJbmRleCkge1xuICAgICAgICBndWlkUmVnZXgubGFzdEluZGV4Kys7XG4gICAgICB9XG4gICAgICBtLmZvckVhY2goKG1hdGNoKSA9PiB7XG4gICAgICAgIGd1aWRNYXRjaGVzLnB1c2gobWF0Y2gpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGd1aWRNYXRjaGVzLmZvckVhY2goXG4gICAgICAoZ3VpZCkgPT5cbiAgICAgICAgKHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcucmVwbGFjZShndWlkLCBndWlkLnJlcGxhY2UoLycvZywgJycpKSksXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc1NlbGVjdG9ycyhzdGF0ZTogT0RhdGFRdWVyeSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHN0YXRlLnNlbGVjdCAmJiBzdGF0ZS5zZWxlY3QubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nICsgYCYkc2VsZWN0PSR7c3RhdGUuc2VsZWN0LmpvaW4oKX1gO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cbn1cbiJdfQ==
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtY2xpZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvc2VydmljZXMvb2RhdGEtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUtMLGFBQWEsRUFDYixpQkFBaUIsR0FHbEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFLaEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUVoRCxLQUFLLENBQ1YsYUFBcUIsRUFDckIsS0FBaUIsRUFDakIsVUFBd0IsRUFBRTtRQUUxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBdUIsR0FBRyxhQUFhLElBQUksUUFBUSxFQUFFLENBQUM7YUFDekQsSUFBSSxDQUFDLE9BQU8sQ0FBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBaUIsRUFBRSxVQUF3QixFQUFFO1FBQ2pFLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELFdBQVcs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LENBQUMsU0FBUyxFQUFFO2dCQUNuQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDdkI7WUFDRCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELFdBQVcsQ0FBQyxPQUFPLENBQ2pCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDUCxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3BFLENBQUM7UUFDRixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBaUIsRUFBRSxXQUFtQjtRQUM1RCxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sV0FBVyxHQUFHLFlBQVksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7K0dBdklVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDaGlsZEZpbHRlcixcbiAgQ29tcG9zaXRlRmlsdGVyLFxuICBGZXRjaE9wdGlvbnMsXG4gIEZpbHRlcixcbiAgaXNDaGlsZEZpbHRlcixcbiAgaXNDb21wb3NpdGVGaWx0ZXIsXG4gIE9EYXRhUXVlcnksXG4gIE9EYXRhUmVzdWx0LFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgbWFwRGF0YSB9IGZyb20gJy4uL29wZXJhdG9ycy9tYXAtZGF0YSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPRGF0YUNsaWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgcHVibGljIGZldGNoPFQ+KFxuICAgIG9kYXRhRW5kcG9pbnQ6IHN0cmluZyxcbiAgICBxdWVyeTogT0RhdGFRdWVyeSxcbiAgICBvcHRpb25zOiBGZXRjaE9wdGlvbnMgPSB7fSxcbiAgKTogT2JzZXJ2YWJsZTxPRGF0YVJlc3VsdDxUPj4ge1xuICAgIGNvbnN0IHF1ZXJ5U3RyID0gdGhpcy5nZXRPRGF0YVN0cmluZyhxdWVyeSwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxPRGF0YVJlc3VsdDxUPiB8IFRbXT4oYCR7b2RhdGFFbmRwb2ludH0/JHtxdWVyeVN0cn1gKVxuICAgICAgLnBpcGUobWFwRGF0YTxUPihvcHRpb25zKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T0RhdGFTdHJpbmcocXVlcnk6IE9EYXRhUXVlcnksIG9wdGlvbnM6IEZldGNoT3B0aW9ucyA9IHt9KTogc3RyaW5nIHtcbiAgICBsZXQgcXVlcnlTdHJpbmcgPSAnJztcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc0ZpbHRlcnMocXVlcnksIG9wdGlvbnMsIHF1ZXJ5U3RyaW5nKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc1NlbGVjdG9ycyhxdWVyeSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzU2ltcGxlUGFyYW1ldGVycygndG9wJywgcXVlcnksIHF1ZXJ5U3RyaW5nKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc1NpbXBsZVBhcmFtZXRlcnMoJ3NraXAnLCBxdWVyeSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzR3VpZHMocXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzRGF0ZXMocXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzQ291bnQocXVlcnksIHF1ZXJ5U3RyaW5nKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc0NhY2hlQnVzdGluZyhvcHRpb25zLCBxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZy5zdWJzdHJpbmcoMSk7IC8vIHJlbW92aW5nIGZpcnN0ICZcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cbiAgcHJvY2Vzc0ZpbHRlcnMoXG4gICAgcXVlcnk6IE9EYXRhUXVlcnksXG4gICAgX29wdGlvbnM6IEZldGNoT3B0aW9ucyxcbiAgICBxdWVyeVN0cmluZzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIGlmICghcXVlcnkuZmlsdGVyKSB7XG4gICAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gICAgfVxuICAgIGNvbnN0IGZpbHRlclN0cmluZyA9IHRoaXMuc2VyaWFsaXplQ29tcG9zaXRlRmlsdGVyKHF1ZXJ5LmZpbHRlcik7XG4gICAgcmV0dXJuIGAmJGZpbHRlcj0ke2ZpbHRlclN0cmluZ31gO1xuICB9XG4gIHNlcmlhbGl6ZUNvbXBvc2l0ZUZpbHRlcihmaWx0ZXI6IENvbXBvc2l0ZUZpbHRlcik6IHN0cmluZyB7XG4gICAgY29uc3QgZmlsdGVyTG9naWNTZXBlcmF0b3IgPSBgICR7ZmlsdGVyLmxvZ2ljfSBgO1xuICAgIHJldHVybiBgKCR7ZmlsdGVyLmZpbHRlcnNcbiAgICAgIC5tYXAoKG0pID0+XG4gICAgICAgIGlzQ29tcG9zaXRlRmlsdGVyKG0pXG4gICAgICAgICAgPyB0aGlzLnNlcmlhbGl6ZUNvbXBvc2l0ZUZpbHRlcihtKVxuICAgICAgICAgIDogdGhpcy5zZXJpYWxpemVGaWx0ZXIobSksXG4gICAgICApXG4gICAgICAuam9pbihmaWx0ZXJMb2dpY1NlcGVyYXRvcil9KWA7XG4gIH1cblxuICBzZXJpYWxpemVGaWx0ZXIoZmlsdGVyOiBGaWx0ZXIgfCBDaGlsZEZpbHRlcik6IHN0cmluZyB7XG4gICAgaWYgKGlzQ2hpbGRGaWx0ZXIoZmlsdGVyKSkge1xuICAgICAgY29uc3QgY2hpbGRGaWVsZE5hbWUgPSBgby8ke2ZpbHRlci5maWVsZH1gO1xuICAgICAgcmV0dXJuIGAke2ZpbHRlci5jaGlsZFRhYmxlfS8ke2ZpbHRlci5saW5xT3BlcmF0aW9ufShvOiAke2ZpbHRlci5vcGVyYXRvcihcbiAgICAgICAgY2hpbGRGaWVsZE5hbWUsXG4gICAgICAgIGZpbHRlci52YWx1ZSBhcyBuZXZlcixcbiAgICAgICl9IClgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmlsdGVyLm9wZXJhdG9yKGZpbHRlci5maWVsZCwgZmlsdGVyLnZhbHVlIGFzIG5ldmVyKTtcbiAgICB9XG4gIH1cbiAgcHJvY2Vzc1NpbXBsZVBhcmFtZXRlcnMoXG4gICAgcGFyYW1ldGVyTmFtZTogJ3NraXAnIHwgJ3RvcCcsXG4gICAgcXVlcnk6IE9EYXRhUXVlcnksXG4gICAgcXVlcnlTdHJpbmc6IHN0cmluZyxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAocXVlcnlbcGFyYW1ldGVyTmFtZV0pIHtcbiAgICAgIHJldHVybiBxdWVyeVN0cmluZyArIGAmJCR7cGFyYW1ldGVyTmFtZX09JHtxdWVyeVtwYXJhbWV0ZXJOYW1lXX1gO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cbiAgcHJvY2Vzc0NhY2hlQnVzdGluZyhvcHRpb25zOiBGZXRjaE9wdGlvbnMsIHF1ZXJ5U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChvcHRpb25zLmJ1c3RDYWNoZSkge1xuICAgICAgY29uc3QgdGltZVN0YW1wID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1stOi5UWl0vZywgJycpO1xuICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nICsgYCZ0aW1lc3RhbXA9JHt0aW1lU3RhbXB9YDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NDb3VudChxdWVyeTogT0RhdGFRdWVyeSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHF1ZXJ5LmNvdW50ID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTdHJpbmcgKyAnJiRjb3VudD10cnVlJztcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzRGF0ZXMocXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZVJlZ2V4ID1cbiAgICAgIC9EYXRlIFtlLXRdezJ9IFxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9LlxcZHszfVovZztcbiAgICBsZXQgbTogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICBjb25zdCBkYXRlTWF0Y2hlczogc3RyaW5nW10gPSBbXTtcbiAgICB3aGlsZSAoKG0gPSBkYXRlUmVnZXguZXhlYyhxdWVyeVN0cmluZykpICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBhdm9pZCBpbmZpbml0ZSBsb29wcyB3aXRoIHplcm8td2lkdGggbWF0Y2hlc1xuICAgICAgaWYgKG0uaW5kZXggPT09IGRhdGVSZWdleC5sYXN0SW5kZXgpIHtcbiAgICAgICAgZGF0ZVJlZ2V4Lmxhc3RJbmRleCsrO1xuICAgICAgfVxuICAgICAgbS5mb3JFYWNoKChtYXRjaCkgPT4ge1xuICAgICAgICBkYXRlTWF0Y2hlcy5wdXNoKG1hdGNoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBkYXRlTWF0Y2hlcy5mb3JFYWNoKFxuICAgICAgKGRhdGUpID0+XG4gICAgICAgIChxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nLnJlcGxhY2UoXG4gICAgICAgICAgZGF0ZSxcbiAgICAgICAgICBkYXRlLnJlcGxhY2UoL1RcXGR7Mn06XFxkezJ9OlxcZHsyfS5cXGR7M31aL2csICcnKSxcbiAgICAgICAgKSksXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0d1aWRzKHF1ZXJ5U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGd1aWRSZWdleCA9XG4gICAgICAvJ1tcXGRBLUZdezh9LT9bXFxkQS1GXXs0fS0/W1xcZEEtRl17NH0tP1tcXGRBLUZdezR9LT9bXFxkQS1GXXsxMn0nL2dpO1xuICAgIGxldCBtOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsO1xuICAgIGNvbnN0IGd1aWRNYXRjaGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHdoaWxlICgobSA9IGd1aWRSZWdleC5leGVjKHF1ZXJ5U3RyaW5nKSkgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGF2b2lkIGluZmluaXRlIGxvb3BzIHdpdGggemVyby13aWR0aCBtYXRjaGVzXG4gICAgICBpZiAobS5pbmRleCA9PT0gZ3VpZFJlZ2V4Lmxhc3RJbmRleCkge1xuICAgICAgICBndWlkUmVnZXgubGFzdEluZGV4Kys7XG4gICAgICB9XG4gICAgICBtLmZvckVhY2goKG1hdGNoKSA9PiB7XG4gICAgICAgIGd1aWRNYXRjaGVzLnB1c2gobWF0Y2gpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGd1aWRNYXRjaGVzLmZvckVhY2goXG4gICAgICAoZ3VpZCkgPT5cbiAgICAgICAgKHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcucmVwbGFjZShndWlkLCBndWlkLnJlcGxhY2UoLycvZywgJycpKSksXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc1NlbGVjdG9ycyhzdGF0ZTogT0RhdGFRdWVyeSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHN0YXRlLnNlbGVjdCAmJiBzdGF0ZS5zZWxlY3QubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nICsgYCYkc2VsZWN0PSR7c3RhdGUuc2VsZWN0LmpvaW4oKX1gO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -177,7 +177,7 @@ class ODataClientService {
|
|
|
177
177
|
fetch(odataEndpoint, query, options = {}) {
|
|
178
178
|
const queryStr = this.getODataString(query, options);
|
|
179
179
|
return this.httpClient
|
|
180
|
-
.get(`${odataEndpoint}
|
|
180
|
+
.get(`${odataEndpoint}?${queryStr}`)
|
|
181
181
|
.pipe(mapData(options));
|
|
182
182
|
}
|
|
183
183
|
getODataString(query, options = {}) {
|
|
@@ -198,7 +198,7 @@ class ODataClientService {
|
|
|
198
198
|
return queryString;
|
|
199
199
|
}
|
|
200
200
|
const filterString = this.serializeCompositeFilter(query.filter);
|
|
201
|
-
return
|
|
201
|
+
return `&$filter=${filterString}`;
|
|
202
202
|
}
|
|
203
203
|
serializeCompositeFilter(filter) {
|
|
204
204
|
const filterLogicSeperator = ` ${filter.logic} `;
|
|
@@ -211,7 +211,7 @@ class ODataClientService {
|
|
|
211
211
|
serializeFilter(filter) {
|
|
212
212
|
if (isChildFilter(filter)) {
|
|
213
213
|
const childFieldName = `o/${filter.field}`;
|
|
214
|
-
return `${filter.childTable}/${filter.linqOperation}(o
|
|
214
|
+
return `${filter.childTable}/${filter.linqOperation}(o: ${filter.operator(childFieldName, filter.value)} )`;
|
|
215
215
|
}
|
|
216
216
|
else {
|
|
217
217
|
return filter.operator(filter.field, filter.value);
|
|
@@ -275,9 +275,9 @@ class ODataClientService {
|
|
|
275
275
|
return queryString;
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
|
-
ODataClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
279
|
-
ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
280
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
278
|
+
ODataClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
279
|
+
ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, providedIn: 'root' });
|
|
280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, decorators: [{
|
|
281
281
|
type: Injectable,
|
|
282
282
|
args: [{
|
|
283
283
|
providedIn: 'root',
|
|
@@ -286,10 +286,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
|
|
|
286
286
|
|
|
287
287
|
class ImngODataClientModule {
|
|
288
288
|
}
|
|
289
|
-
ImngODataClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
290
|
-
ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
291
|
-
ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
292
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
289
|
+
ImngODataClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
290
|
+
ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, imports: [CommonModule, HttpClientModule] });
|
|
291
|
+
ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, providers: [ODataClientService], imports: [CommonModule, HttpClientModule] });
|
|
292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, decorators: [{
|
|
293
293
|
type: NgModule,
|
|
294
294
|
args: [{
|
|
295
295
|
imports: [CommonModule, HttpClientModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imng-odata-client.mjs","sources":["../../../../libs/imng-odata-client/src/lib/models/child-filter.ts","../../../../libs/imng-odata-client/src/lib/models/composite-filter.ts","../../../../libs/imng-odata-client/src/lib/models/computation-operators.ts","../../../../libs/imng-odata-client/src/lib/models/computation.ts","../../../../libs/imng-odata-client/src/lib/models/expander.ts","../../../../libs/imng-odata-client/src/lib/models/filter-serializers.ts","../../../../libs/imng-odata-client/src/lib/models/filter-operators.ts","../../../../libs/imng-odata-client/src/lib/models/odata-result.ts","../../../../libs/imng-odata-client/src/lib/operators/map-data.ts","../../../../libs/imng-odata-client/src/lib/services/odata-client.service.ts","../../../../libs/imng-odata-client/src/lib/imng-odata-client.module.ts","../../../../libs/imng-odata-client/src/imng-odata-client.ts"],"sourcesContent":["import { CompositeFilter } from './composite-filter';\nimport { Filter } from './filter';\n\nexport interface ChildFilter extends Filter {\n /**\n * Used to support child entity filtering:\n * Child table name/navigation property\n * */\n childTable: string;\n /**\n * Used to support child entity filtering:\n * Specifies whether all or some of the child records have to match the given criteria\n * */\n linqOperation: 'all' | 'any';\n}\n\nexport function isChildFilter(\n source: CompositeFilter | Filter | ChildFilter,\n): source is ChildFilter {\n return !!(source as ChildFilter)?.childTable;\n}\n","import { ChildFilter } from './child-filter';\nimport { Filter } from './filter';\n\n/**\n * A complex filter expression.\n */\nexport interface CompositeFilter {\n /**\n * The logical operation to use when the `filter.filters` option is set.\n *\n * The supported values are:\n * * `\"and\"`\n * * `\"or\"`\n */\n logic: 'or' | 'and';\n /**\n * The nested filter expressions\n */\n filters: Array<Filter | ChildFilter | CompositeFilter>;\n}\n\nexport function isCompositeFilter(\n source: CompositeFilter | Filter | ChildFilter,\n): source is CompositeFilter {\n return !!(source as CompositeFilter)?.filters;\n}\n","export enum ComputationOperators {\n Multiply = 'mul',\n Divide = 'div',\n Add = 'add',\n Subtract = 'sub',\n Modulus = 'mod',\n}\n","import { ComputationOperators } from './computation-operators';\n\nexport interface Computation {\n /** This is the first value to be used in the computation */\n fieldA: string | number;\n /** This is the second value to be used in the computation */\n fieldB: string | number;\n operator: ComputationOperators | string; //NOSONAR\n\n /** This MUST differ from the names of declared or dynamic properties of the identified resources. */\n alias: string;\n}\n\nexport function isComputation(\n source: string | Computation,\n): source is Computation {\n return !!(source as Computation)?.operator;\n}\n","import { ODataQuery } from './odata-query';\n\nexport interface Expander extends ODataQuery {\n table: string;\n}\n\nexport function isExpander(source: string | Expander): source is Expander {\n return !!(source as Expander)?.table;\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\n\nexport const serializeValue = (value: IdType): string =>\n typeof value === 'string' ? `'${value}'` : `${value}`;\n\nexport const serializeSimpleFilter = (\n field: string,\n operator: string,\n value: IdType,\n): string => `${field} ${operator} ${serializeValue(value)}`;\n\nexport const serializeArrayFilter = (\n field: string,\n operator: string,\n values: IdType[],\n): string =>\n `${field} ${operator} (${values.map((m) => serializeValue(m)).join(',')})`;\n\nexport const serializeFunctionFilter = (\n field: string,\n func: string,\n value: IdType,\n): string => `${func}(${field},${serializeValue(value)})`;\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport {\n serializeArrayFilter,\n serializeFunctionFilter,\n serializeSimpleFilter,\n} from './filter-serializers';\n\n/**\n * Represents the list of supported simple filter operators.\n */\nexport class FilterOperators {\n /**\n * The `eq` operator.\n */\n public static readonly EqualTo = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'eq', value);\n /**\n * The `gt` operator.\n */\n public static readonly GreaterThan = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'gt', value);\n /**\n * The `ge` operator.\n */\n public static readonly GreaterThanOrEqual = (\n field: string,\n value: IdType,\n ): string => serializeSimpleFilter(field, 'ge', value);\n /**\n * The `lt` operator.\n */\n public static readonly LessThan = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'lt', value);\n /**\n * The `le` operator.\n */\n public static readonly LessThanOrEqual = (\n field: string,\n value: IdType,\n ): string => serializeSimpleFilter(field, 'le', value);\n /**\n * The `ne` operator.\n */\n public static readonly NotEqualTo = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'ne', value);\n /**\n * The `in` operator.\n */\n public static readonly In = (field: string, values: IdType[]): string =>\n serializeArrayFilter(field, 'in', values);\n /**\n * The `in` operator.\n */\n public static readonly NotIn = (field: string, values: IdType[]): string =>\n serializeArrayFilter(field, 'not in', values);\n /**\n * The `isnotnull` operator.\n */\n\n public static readonly IsNotNull = (field: string): string =>\n `${field} ne null`;\n /**\n * The `isnull` operator.\n */\n\n public static readonly IsNull = (field: string): string => `${field} eq null`;\n /**\n * The `contains` operator.\n */\n public static readonly Contains = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'contains', value);\n /**\n * The `doesnotcontain` operator.\n */\n public static readonly DoesNotContain = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not contains', value);\n /**\n * The `endswith` operator.\n */\n public static readonly EndsWith = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'endswith', value);\n /**\n * The `doesnotendwith` operator.\n */\n public static readonly DoesNotEndWith = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not endswith', value);\n /**\n * The `startswith` operator.\n */\n public static readonly StartsWith = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'startswith', value);\n /**\n * The `doesnotstartwith` operator.\n */\n public static readonly DoesNotStartWith = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not startswith', value);\n /**\n * The `isempty` operator.\n */\n\n public static readonly IsEmpty = (field: string): string =>\n serializeSimpleFilter(field, 'eq', '');\n /**\n * The `isnotempty` operator.\n */\n\n public static readonly IsNotEmpty = (field: string): string =>\n serializeSimpleFilter(field, 'ne', '');\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\n\nexport interface ODataResult<T extends { id?: IdType } | unknown> {\n value: T[];\n count?: number;\n '@odata.count'?: number;\n}\n\nexport function createEmptyODataResult<\n T extends { id?: IdType } | unknown,\n>(): ODataResult<T> {\n return { value: Array<T>(), count: 0 };\n}\n\nexport function createODataResult<T extends { id?: IdType } | unknown>(\n t: T[],\n): ODataResult<T> {\n return {\n value: t,\n count: t?.length,\n };\n}\nexport function isODataResult<T extends { id?: IdType } | unknown>(\n source: unknown,\n): source is ODataResult<T> {\n return !!(source as ODataResult<T>)?.value;\n}\n","import { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nimport { map } from 'rxjs';\nimport { FetchOptions, ODataResult } from '../models';\n\nexport const mapData = <T>(options: FetchOptions) =>\n map((response: ODataResult<T> | T[]): ODataResult<T> => {\n if (!response) {\n return { value: [], count: 0 };\n }\n return Array.isArray(response)\n ? {\n value: response,\n count: response.length,\n }\n : ({\n value: parseDatesInCollection(response.value, options),\n count: response['@odata.count'],\n } as ODataResult<T>);\n });\n\nexport function parseDatesInCollection<T>(collection: Array<T>, options: FetchOptions): Array<T> {\n if (collection.length > 0) {\n const utcProps = Object.keys(collection[0]).filter((x) => x.endsWith('Utc'));\n const dateProps = Object.keys(collection[0]).filter((x) => x.endsWith('Date') || x === 'date');\n\n options.utcNullableProps?.forEach((t) => {\n if (utcProps.indexOf(t) === -1) {\n utcProps.push(t);\n }\n });\n\n options.dateNullableProps?.forEach((t) => {\n if (dateProps.indexOf(t) === -1) {\n dateProps.push(t);\n }\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // prettier-ignore\n collection.forEach((val: any) => {//NOSONAR\n utcProps.filter((p) => val[p]).forEach((p) => (val[p] = new Date(val[p])));\n dateProps.filter((p) => val[p]).forEach((p) => (val[p] = toLocalDate(val[p])));\n });\n }\n return collection;\n}\nexport function toLocalDate(date: string): Date {\n const dt = new Date(date);\n return new Date(dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC));\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n ChildFilter,\n CompositeFilter,\n FetchOptions,\n Filter,\n isChildFilter,\n isCompositeFilter,\n ODataQuery,\n ODataResult,\n} from '../models';\nimport { mapData } from '../operators/map-data';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ODataClientService {\n constructor(private readonly httpClient: HttpClient) {}\n\n public fetch<T>(\n odataEndpoint: string,\n query: ODataQuery,\n options: FetchOptions = {},\n ): Observable<ODataResult<T>> {\n const queryStr = this.getODataString(query, options);\n return this.httpClient\n .get<ODataResult<T> | T[]>(`${odataEndpoint}${queryStr}`)\n .pipe(mapData<T>(options));\n }\n\n public getODataString(query: ODataQuery, options: FetchOptions = {}): string {\n let queryString = '';\n queryString = this.processFilters(query, options, queryString);\n queryString = this.processSelectors(query, queryString);\n queryString = this.processSimpleParameters('top', query, queryString);\n queryString = this.processSimpleParameters('skip', query, queryString);\n queryString = this.processGuids(queryString);\n queryString = this.processDates(queryString);\n queryString = this.processCount(query, queryString);\n queryString = this.processCacheBusting(options, queryString);\n queryString = queryString.substring(1); // removing first &\n return queryString;\n }\n processFilters(\n query: ODataQuery,\n _options: FetchOptions,\n queryString: string,\n ): string {\n if (!query.filter) {\n return queryString;\n }\n const filterString = this.serializeCompositeFilter(query.filter);\n return `&filter=${filterString}`;\n }\n serializeCompositeFilter(filter: CompositeFilter): string {\n const filterLogicSeperator = ` ${filter.logic} `;\n return `(${filter.filters\n .map((m) =>\n isCompositeFilter(m)\n ? this.serializeCompositeFilter(m)\n : this.serializeFilter(m),\n )\n .join(filterLogicSeperator)})`;\n }\n\n serializeFilter(filter: Filter | ChildFilter): string {\n if (isChildFilter(filter)) {\n const childFieldName = `o/${filter.field}`;\n return `${filter.childTable}/${filter.linqOperation}(o:${filter.operator(\n childFieldName,\n filter.value as never,\n )} )`;\n } else {\n return filter.operator(filter.field, filter.value as never);\n }\n }\n processSimpleParameters(\n parameterName: 'skip' | 'top',\n query: ODataQuery,\n queryString: string,\n ): string {\n if (query[parameterName]) {\n return queryString + `&$${parameterName}=${query[parameterName]}`;\n }\n return queryString;\n }\n processCacheBusting(options: FetchOptions, queryString: string): string {\n if (options.bustCache) {\n const timeStamp = new Date().toISOString().replace(/[-:.TZ]/g, '');\n return queryString + `×tamp=${timeStamp}`;\n }\n return queryString;\n }\n\n public processCount(query: ODataQuery, queryString: string): string {\n if (query.count === false) {\n return queryString;\n }\n return queryString + '&$count=true';\n }\n\n public processDates(queryString: string): string {\n const dateRegex =\n /Date [e-t]{2} \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g;\n let m: RegExpExecArray | null;\n const dateMatches: string[] = [];\n while ((m = dateRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === dateRegex.lastIndex) {\n dateRegex.lastIndex++;\n }\n m.forEach((match) => {\n dateMatches.push(match);\n });\n }\n dateMatches.forEach(\n (date) =>\n (queryString = queryString.replace(\n date,\n date.replace(/T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g, ''),\n )),\n );\n return queryString;\n }\n\n public processGuids(queryString: string): string {\n const guidRegex =\n /'[\\dA-F]{8}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{12}'/gi;\n let m: RegExpExecArray | null;\n const guidMatches: string[] = [];\n while ((m = guidRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === guidRegex.lastIndex) {\n guidRegex.lastIndex++;\n }\n m.forEach((match) => {\n guidMatches.push(match);\n });\n }\n guidMatches.forEach(\n (guid) =>\n (queryString = queryString.replace(guid, guid.replace(/'/g, ''))),\n );\n return queryString;\n }\n\n public processSelectors(state: ODataQuery, queryString: string): string {\n if (state.select && state.select.length > 0) {\n return queryString + `&$select=${state.select.join()}`;\n }\n return queryString;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ODataClientService } from './services/odata-client.service';\n\n@NgModule({\n imports: [CommonModule, HttpClientModule],\n providers: [ODataClientService],\n})\nexport class ImngODataClientModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"imng-odata-client.mjs","sources":["../../../../libs/imng-odata-client/src/lib/models/child-filter.ts","../../../../libs/imng-odata-client/src/lib/models/composite-filter.ts","../../../../libs/imng-odata-client/src/lib/models/computation-operators.ts","../../../../libs/imng-odata-client/src/lib/models/computation.ts","../../../../libs/imng-odata-client/src/lib/models/expander.ts","../../../../libs/imng-odata-client/src/lib/models/filter-serializers.ts","../../../../libs/imng-odata-client/src/lib/models/filter-operators.ts","../../../../libs/imng-odata-client/src/lib/models/odata-result.ts","../../../../libs/imng-odata-client/src/lib/operators/map-data.ts","../../../../libs/imng-odata-client/src/lib/services/odata-client.service.ts","../../../../libs/imng-odata-client/src/lib/imng-odata-client.module.ts","../../../../libs/imng-odata-client/src/imng-odata-client.ts"],"sourcesContent":["import { CompositeFilter } from './composite-filter';\nimport { Filter } from './filter';\n\nexport interface ChildFilter extends Filter {\n /**\n * Used to support child entity filtering:\n * Child table name/navigation property\n * */\n childTable: string;\n /**\n * Used to support child entity filtering:\n * Specifies whether all or some of the child records have to match the given criteria\n * */\n linqOperation: 'all' | 'any';\n}\n\nexport function isChildFilter(\n source: CompositeFilter | Filter | ChildFilter,\n): source is ChildFilter {\n return !!(source as ChildFilter)?.childTable;\n}\n","import { ChildFilter } from './child-filter';\nimport { Filter } from './filter';\n\n/**\n * A complex filter expression.\n */\nexport interface CompositeFilter {\n /**\n * The logical operation to use when the `filter.filters` option is set.\n *\n * The supported values are:\n * * `\"and\"`\n * * `\"or\"`\n */\n logic: 'or' | 'and';\n /**\n * The nested filter expressions\n */\n filters: Array<Filter | ChildFilter | CompositeFilter>;\n}\n\nexport function isCompositeFilter(\n source: CompositeFilter | Filter | ChildFilter,\n): source is CompositeFilter {\n return !!(source as CompositeFilter)?.filters;\n}\n","export enum ComputationOperators {\n Multiply = 'mul',\n Divide = 'div',\n Add = 'add',\n Subtract = 'sub',\n Modulus = 'mod',\n}\n","import { ComputationOperators } from './computation-operators';\n\nexport interface Computation {\n /** This is the first value to be used in the computation */\n fieldA: string | number;\n /** This is the second value to be used in the computation */\n fieldB: string | number;\n operator: ComputationOperators | string; //NOSONAR\n\n /** This MUST differ from the names of declared or dynamic properties of the identified resources. */\n alias: string;\n}\n\nexport function isComputation(\n source: string | Computation,\n): source is Computation {\n return !!(source as Computation)?.operator;\n}\n","import { ODataQuery } from './odata-query';\n\nexport interface Expander extends ODataQuery {\n table: string;\n}\n\nexport function isExpander(source: string | Expander): source is Expander {\n return !!(source as Expander)?.table;\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\n\nexport const serializeValue = (value: IdType): string =>\n typeof value === 'string' ? `'${value}'` : `${value}`;\n\nexport const serializeSimpleFilter = (\n field: string,\n operator: string,\n value: IdType,\n): string => `${field} ${operator} ${serializeValue(value)}`;\n\nexport const serializeArrayFilter = (\n field: string,\n operator: string,\n values: IdType[],\n): string =>\n `${field} ${operator} (${values.map((m) => serializeValue(m)).join(',')})`;\n\nexport const serializeFunctionFilter = (\n field: string,\n func: string,\n value: IdType,\n): string => `${func}(${field},${serializeValue(value)})`;\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport {\n serializeArrayFilter,\n serializeFunctionFilter,\n serializeSimpleFilter,\n} from './filter-serializers';\n\n/**\n * Represents the list of supported simple filter operators.\n */\nexport class FilterOperators {\n /**\n * The `eq` operator.\n */\n public static readonly EqualTo = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'eq', value);\n /**\n * The `gt` operator.\n */\n public static readonly GreaterThan = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'gt', value);\n /**\n * The `ge` operator.\n */\n public static readonly GreaterThanOrEqual = (\n field: string,\n value: IdType,\n ): string => serializeSimpleFilter(field, 'ge', value);\n /**\n * The `lt` operator.\n */\n public static readonly LessThan = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'lt', value);\n /**\n * The `le` operator.\n */\n public static readonly LessThanOrEqual = (\n field: string,\n value: IdType,\n ): string => serializeSimpleFilter(field, 'le', value);\n /**\n * The `ne` operator.\n */\n public static readonly NotEqualTo = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'ne', value);\n /**\n * The `in` operator.\n */\n public static readonly In = (field: string, values: IdType[]): string =>\n serializeArrayFilter(field, 'in', values);\n /**\n * The `in` operator.\n */\n public static readonly NotIn = (field: string, values: IdType[]): string =>\n serializeArrayFilter(field, 'not in', values);\n /**\n * The `isnotnull` operator.\n */\n\n public static readonly IsNotNull = (field: string): string =>\n `${field} ne null`;\n /**\n * The `isnull` operator.\n */\n\n public static readonly IsNull = (field: string): string => `${field} eq null`;\n /**\n * The `contains` operator.\n */\n public static readonly Contains = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'contains', value);\n /**\n * The `doesnotcontain` operator.\n */\n public static readonly DoesNotContain = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not contains', value);\n /**\n * The `endswith` operator.\n */\n public static readonly EndsWith = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'endswith', value);\n /**\n * The `doesnotendwith` operator.\n */\n public static readonly DoesNotEndWith = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not endswith', value);\n /**\n * The `startswith` operator.\n */\n public static readonly StartsWith = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'startswith', value);\n /**\n * The `doesnotstartwith` operator.\n */\n public static readonly DoesNotStartWith = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not startswith', value);\n /**\n * The `isempty` operator.\n */\n\n public static readonly IsEmpty = (field: string): string =>\n serializeSimpleFilter(field, 'eq', '');\n /**\n * The `isnotempty` operator.\n */\n\n public static readonly IsNotEmpty = (field: string): string =>\n serializeSimpleFilter(field, 'ne', '');\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\n\nexport interface ODataResult<T extends { id?: IdType } | unknown> {\n value: T[];\n count?: number;\n '@odata.count'?: number;\n}\n\nexport function createEmptyODataResult<\n T extends { id?: IdType } | unknown,\n>(): ODataResult<T> {\n return { value: Array<T>(), count: 0 };\n}\n\nexport function createODataResult<T extends { id?: IdType } | unknown>(\n t: T[],\n): ODataResult<T> {\n return {\n value: t,\n count: t?.length,\n };\n}\nexport function isODataResult<T extends { id?: IdType } | unknown>(\n source: unknown,\n): source is ODataResult<T> {\n return !!(source as ODataResult<T>)?.value;\n}\n","import { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nimport { map } from 'rxjs';\nimport { FetchOptions, ODataResult } from '../models';\n\nexport const mapData = <T>(options: FetchOptions) =>\n map((response: ODataResult<T> | T[]): ODataResult<T> => {\n if (!response) {\n return { value: [], count: 0 };\n }\n return Array.isArray(response)\n ? {\n value: response,\n count: response.length,\n }\n : ({\n value: parseDatesInCollection(response.value, options),\n count: response['@odata.count'],\n } as ODataResult<T>);\n });\n\nexport function parseDatesInCollection<T>(collection: Array<T>, options: FetchOptions): Array<T> {\n if (collection.length > 0) {\n const utcProps = Object.keys(collection[0]).filter((x) => x.endsWith('Utc'));\n const dateProps = Object.keys(collection[0]).filter((x) => x.endsWith('Date') || x === 'date');\n\n options.utcNullableProps?.forEach((t) => {\n if (utcProps.indexOf(t) === -1) {\n utcProps.push(t);\n }\n });\n\n options.dateNullableProps?.forEach((t) => {\n if (dateProps.indexOf(t) === -1) {\n dateProps.push(t);\n }\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // prettier-ignore\n collection.forEach((val: any) => {//NOSONAR\n utcProps.filter((p) => val[p]).forEach((p) => (val[p] = new Date(val[p])));\n dateProps.filter((p) => val[p]).forEach((p) => (val[p] = toLocalDate(val[p])));\n });\n }\n return collection;\n}\nexport function toLocalDate(date: string): Date {\n const dt = new Date(date);\n return new Date(dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC));\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n ChildFilter,\n CompositeFilter,\n FetchOptions,\n Filter,\n isChildFilter,\n isCompositeFilter,\n ODataQuery,\n ODataResult,\n} from '../models';\nimport { mapData } from '../operators/map-data';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ODataClientService {\n constructor(private readonly httpClient: HttpClient) {}\n\n public fetch<T>(\n odataEndpoint: string,\n query: ODataQuery,\n options: FetchOptions = {},\n ): Observable<ODataResult<T>> {\n const queryStr = this.getODataString(query, options);\n return this.httpClient\n .get<ODataResult<T> | T[]>(`${odataEndpoint}?${queryStr}`)\n .pipe(mapData<T>(options));\n }\n\n public getODataString(query: ODataQuery, options: FetchOptions = {}): string {\n let queryString = '';\n queryString = this.processFilters(query, options, queryString);\n queryString = this.processSelectors(query, queryString);\n queryString = this.processSimpleParameters('top', query, queryString);\n queryString = this.processSimpleParameters('skip', query, queryString);\n queryString = this.processGuids(queryString);\n queryString = this.processDates(queryString);\n queryString = this.processCount(query, queryString);\n queryString = this.processCacheBusting(options, queryString);\n queryString = queryString.substring(1); // removing first &\n return queryString;\n }\n processFilters(\n query: ODataQuery,\n _options: FetchOptions,\n queryString: string,\n ): string {\n if (!query.filter) {\n return queryString;\n }\n const filterString = this.serializeCompositeFilter(query.filter);\n return `&$filter=${filterString}`;\n }\n serializeCompositeFilter(filter: CompositeFilter): string {\n const filterLogicSeperator = ` ${filter.logic} `;\n return `(${filter.filters\n .map((m) =>\n isCompositeFilter(m)\n ? this.serializeCompositeFilter(m)\n : this.serializeFilter(m),\n )\n .join(filterLogicSeperator)})`;\n }\n\n serializeFilter(filter: Filter | ChildFilter): string {\n if (isChildFilter(filter)) {\n const childFieldName = `o/${filter.field}`;\n return `${filter.childTable}/${filter.linqOperation}(o: ${filter.operator(\n childFieldName,\n filter.value as never,\n )} )`;\n } else {\n return filter.operator(filter.field, filter.value as never);\n }\n }\n processSimpleParameters(\n parameterName: 'skip' | 'top',\n query: ODataQuery,\n queryString: string,\n ): string {\n if (query[parameterName]) {\n return queryString + `&$${parameterName}=${query[parameterName]}`;\n }\n return queryString;\n }\n processCacheBusting(options: FetchOptions, queryString: string): string {\n if (options.bustCache) {\n const timeStamp = new Date().toISOString().replace(/[-:.TZ]/g, '');\n return queryString + `×tamp=${timeStamp}`;\n }\n return queryString;\n }\n\n public processCount(query: ODataQuery, queryString: string): string {\n if (query.count === false) {\n return queryString;\n }\n return queryString + '&$count=true';\n }\n\n public processDates(queryString: string): string {\n const dateRegex =\n /Date [e-t]{2} \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g;\n let m: RegExpExecArray | null;\n const dateMatches: string[] = [];\n while ((m = dateRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === dateRegex.lastIndex) {\n dateRegex.lastIndex++;\n }\n m.forEach((match) => {\n dateMatches.push(match);\n });\n }\n dateMatches.forEach(\n (date) =>\n (queryString = queryString.replace(\n date,\n date.replace(/T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g, ''),\n )),\n );\n return queryString;\n }\n\n public processGuids(queryString: string): string {\n const guidRegex =\n /'[\\dA-F]{8}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{12}'/gi;\n let m: RegExpExecArray | null;\n const guidMatches: string[] = [];\n while ((m = guidRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === guidRegex.lastIndex) {\n guidRegex.lastIndex++;\n }\n m.forEach((match) => {\n guidMatches.push(match);\n });\n }\n guidMatches.forEach(\n (guid) =>\n (queryString = queryString.replace(guid, guid.replace(/'/g, ''))),\n );\n return queryString;\n }\n\n public processSelectors(state: ODataQuery, queryString: string): string {\n if (state.select && state.select.length > 0) {\n return queryString + `&$select=${state.select.join()}`;\n }\n return queryString;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ODataClientService } from './services/odata-client.service';\n\n@NgModule({\n imports: [CommonModule, HttpClientModule],\n providers: [ODataClientService],\n})\nexport class ImngODataClientModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAgBM,SAAU,aAAa,CAC3B,MAA8C,EAAA;IAE9C,OAAO,CAAC,EAAE,MAAsB,KAAA,IAAA,IAAtB,MAAsB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAtB,MAAsB,CAAE,UAAU,CAAA,CAAC;AAC/C;;ACCM,SAAU,iBAAiB,CAC/B,MAA8C,EAAA;IAE9C,OAAO,CAAC,EAAE,MAA0B,KAAA,IAAA,IAA1B,MAA0B,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA1B,MAA0B,CAAE,OAAO,CAAA,CAAC;AAChD;;ACzBY,IAAA,qBAMX;AAND,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,KAAgB,CAAA;AAChB,IAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,KAAc,CAAA;AACd,IAAA,oBAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,KAAgB,CAAA;AAChB,IAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,KAAe,CAAA;AACjB,CAAC,EANW,oBAAoB,KAApB,oBAAoB,GAM/B,EAAA,CAAA,CAAA;;ACOK,SAAU,aAAa,CAC3B,MAA4B,EAAA;IAE5B,OAAO,CAAC,EAAE,MAAsB,KAAA,IAAA,IAAtB,MAAsB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAtB,MAAsB,CAAE,QAAQ,CAAA,CAAC;AAC7C;;ACXM,SAAU,UAAU,CAAC,MAAyB,EAAA;IAClD,OAAO,CAAC,EAAE,MAAmB,KAAA,IAAA,IAAnB,MAAmB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAnB,MAAmB,CAAE,KAAK,CAAA,CAAC;AACvC;;ACNa,MAAA,cAAc,GAAG,CAAC,KAAa,KAC1C,OAAO,KAAK,KAAK,QAAQ,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,CAAG,GAAG,CAAA,EAAG,KAAK,CAAA,EAAG;MAE3C,qBAAqB,GAAG,CACnC,KAAa,EACb,QAAgB,EAChB,KAAa,KACF,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,cAAc,CAAC,KAAK,CAAC,CAAA,EAAG;AAEhD,MAAA,oBAAoB,GAAG,CAClC,KAAa,EACb,QAAgB,EAChB,MAAgB,KAEhB,GAAG,KAAK,CAAA,CAAA,EAAI,QAAQ,CAAK,EAAA,EAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;MAEhE,uBAAuB,GAAG,CACrC,KAAa,EACb,IAAY,EACZ,KAAa,KACF,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,cAAc,CAAC,KAAK,CAAC,CAAA,CAAA;;ACftD;;AAEG;MACU,eAAe,CAAA;;AAC1B;;AAEG;AACoB,eAAA,CAAA,OAAO,GAAG,CAAC,KAAa,EAAE,KAAa,KAC5D,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C;;AAEG;AACoB,eAAA,CAAA,WAAW,GAAG,CAAC,KAAa,EAAE,KAAa,KAChE,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C;;AAEG;AACoB,eAAA,CAAA,kBAAkB,GAAG,CAC1C,KAAa,EACb,KAAa,KACF,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD;;AAEG;AACoB,eAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAa,KAC7D,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C;;AAEG;AACoB,eAAA,CAAA,eAAe,GAAG,CACvC,KAAa,EACb,KAAa,KACF,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACvD;;AAEG;AACoB,eAAA,CAAA,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,KAC/D,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C;;AAEG;AACoB,eAAA,CAAA,EAAE,GAAG,CAAC,KAAa,EAAE,MAAgB,KAC1D,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC5C;;AAEG;AACoB,eAAA,CAAA,KAAK,GAAG,CAAC,KAAa,EAAE,MAAgB,KAC7D,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAChD;;AAEG;AAEoB,eAAS,CAAA,SAAA,GAAG,CAAC,KAAa,KAC/C,CAAA,EAAG,KAAK,CAAA,QAAA,CAAU,CAAC;AACrB;;AAEG;AAEoB,eAAM,CAAA,MAAA,GAAG,CAAC,KAAa,KAAa,CAAA,EAAG,KAAK,CAAA,QAAA,CAAU,CAAC;AAC9E;;AAEG;AACoB,eAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAa,KAC7D,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AACpD;;AAEG;AACoB,eAAA,CAAA,cAAc,GAAG,CACtC,KAAa,EACb,KAAa,KACF,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AACnE;;AAEG;AACoB,eAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,EAAE,KAAa,KAC7D,uBAAuB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AACpD;;AAEG;AACoB,eAAA,CAAA,cAAc,GAAG,CACtC,KAAa,EACb,KAAa,KACF,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AACnE;;AAEG;AACoB,eAAA,CAAA,UAAU,GAAG,CAAC,KAAa,EAAE,KAAa,KAC/D,uBAAuB,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AACtD;;AAEG;AACoB,eAAA,CAAA,gBAAgB,GAAG,CACxC,KAAa,EACb,KAAa,KACF,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACrE;;AAEG;AAEoB,eAAA,CAAA,OAAO,GAAG,CAAC,KAAa,KAC7C,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;AACzC;;AAEG;AAEoB,eAAA,CAAA,UAAU,GAAG,CAAC,KAAa,KAChD,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;;SCzG1B,sBAAsB,GAAA;IAGpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AACzC,CAAC;AAEK,SAAU,iBAAiB,CAC/B,CAAM,EAAA;IAEN,OAAO;AACL,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,KAAK,EAAE,CAAC,KAAA,IAAA,IAAD,CAAC,KAAD,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAC,CAAE,MAAM;KACjB,CAAC;AACJ,CAAC;AACK,SAAU,aAAa,CAC3B,MAAe,EAAA;IAEf,OAAO,CAAC,EAAE,MAAyB,KAAA,IAAA,IAAzB,MAAyB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAzB,MAAyB,CAAE,KAAK,CAAA,CAAC;AAC7C;;ACtBO,MAAM,OAAO,GAAG,CAAI,OAAqB,KAC9C,GAAG,CAAC,CAAC,QAA8B,KAAoB;IACrD,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAChC,KAAA;AACD,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;AAC5B,UAAE;AACE,YAAA,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,QAAQ,CAAC,MAAM;AACvB,SAAA;AACH,UAAG;YACC,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;AACtD,YAAA,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC;SACb,CAAC;AAC3B,CAAC,CAAC,CAAC;AAEW,SAAA,sBAAsB,CAAI,UAAoB,EAAE,OAAqB,EAAA;;AACnF,IAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,QAAA,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;QAE/F,CAAA,EAAA,GAAA,OAAO,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,CAAC,CAAC,KAAI;YACtC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAC9B,gBAAA,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,aAAA;AACH,SAAC,CAAC,CAAC;QAEH,CAAA,EAAA,GAAA,OAAO,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,CAAC,CAAC,KAAI;YACvC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AAC/B,gBAAA,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACnB,aAAA;AACH,SAAC,CAAC,CAAC;;;AAIH,QAAA,UAAU,CAAC,OAAO,CAAC,CAAC,GAAQ,KAAI;AAC9B,YAAA,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,YAAA,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjF,SAAC,CAAC,CAAC;AACJ,KAAA;AACD,IAAA,OAAO,UAAU,CAAC;AACpB,CAAC;AACK,SAAU,WAAW,CAAC,IAAY,EAAA;AACtC,IAAA,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC;AACxF;;MC/Ba,kBAAkB,CAAA;AAC7B,IAAA,WAAA,CAA6B,UAAsB,EAAA;AAAtB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;KAAI;AAEhD,IAAA,KAAK,CACV,aAAqB,EACrB,KAAiB,EACjB,UAAwB,EAAE,EAAA;QAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU;AACnB,aAAA,GAAG,CAAuB,CAAG,EAAA,aAAa,CAAI,CAAA,EAAA,QAAQ,EAAE,CAAC;AACzD,aAAA,IAAI,CAAC,OAAO,CAAI,OAAO,CAAC,CAAC,CAAC;KAC9B;AAEM,IAAA,cAAc,CAAC,KAAiB,EAAE,OAAA,GAAwB,EAAE,EAAA;QACjE,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC/D,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACxD,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACtE,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACvE,QAAA,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;AAC7C,QAAA,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC7C,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACpD,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC7D,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACvC,QAAA,OAAO,WAAW,CAAC;KACpB;AACD,IAAA,cAAc,CACZ,KAAiB,EACjB,QAAsB,EACtB,WAAmB,EAAA;AAEnB,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AACjB,YAAA,OAAO,WAAW,CAAC;AACpB,SAAA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjE,OAAO,CAAA,SAAA,EAAY,YAAY,CAAA,CAAE,CAAC;KACnC;AACD,IAAA,wBAAwB,CAAC,MAAuB,EAAA;AAC9C,QAAA,MAAM,oBAAoB,GAAG,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,GAAG,CAAC;QACjD,OAAO,CAAA,CAAA,EAAI,MAAM,CAAC,OAAO;aACtB,GAAG,CAAC,CAAC,CAAC,KACL,iBAAiB,CAAC,CAAC,CAAC;AAClB,cAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAClC,cAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAC5B;AACA,aAAA,IAAI,CAAC,oBAAoB,CAAC,CAAA,CAAA,CAAG,CAAC;KAClC;AAED,IAAA,eAAe,CAAC,MAA4B,EAAA;AAC1C,QAAA,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE;AACzB,YAAA,MAAM,cAAc,GAAG,CAAA,EAAA,EAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YAC3C,OAAO,CAAA,EAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,aAAa,CAAO,IAAA,EAAA,MAAM,CAAC,QAAQ,CACvE,cAAc,EACd,MAAM,CAAC,KAAc,CACtB,IAAI,CAAC;AACP,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAc,CAAC,CAAC;AAC7D,SAAA;KACF;AACD,IAAA,uBAAuB,CACrB,aAA6B,EAC7B,KAAiB,EACjB,WAAmB,EAAA;AAEnB,QAAA,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;YACxB,OAAO,WAAW,GAAG,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,KAAK,CAAC,aAAa,CAAC,CAAA,CAAE,CAAC;AACnE,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACpB;IACD,mBAAmB,CAAC,OAAqB,EAAE,WAAmB,EAAA;QAC5D,IAAI,OAAO,CAAC,SAAS,EAAE;AACrB,YAAA,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACnE,YAAA,OAAO,WAAW,GAAG,CAAc,WAAA,EAAA,SAAS,EAAE,CAAC;AAChD,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACpB;IAEM,YAAY,CAAC,KAAiB,EAAE,WAAmB,EAAA;AACxD,QAAA,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE;AACzB,YAAA,OAAO,WAAW,CAAC;AACpB,SAAA;QACD,OAAO,WAAW,GAAG,cAAc,CAAC;KACrC;AAEM,IAAA,YAAY,CAAC,WAAmB,EAAA;QACrC,MAAM,SAAS,GACb,2DAA2D,CAAC;AAC9D,QAAA,IAAI,CAAyB,CAAC;QAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;AACjC,QAAA,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE;;AAEjD,YAAA,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,SAAS,EAAE;gBACnC,SAAS,CAAC,SAAS,EAAE,CAAC;AACvB,aAAA;AACD,YAAA,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAClB,gBAAA,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,aAAC,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,WAAW,CAAC,OAAO,CACjB,CAAC,IAAI,MACF,WAAW,GAAG,WAAW,CAAC,OAAO,CAChC,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAC/C,CAAC,CACL,CAAC;AACF,QAAA,OAAO,WAAW,CAAC;KACpB;AAEM,IAAA,YAAY,CAAC,WAAmB,EAAA;QACrC,MAAM,SAAS,GACb,iEAAiE,CAAC;AACpE,QAAA,IAAI,CAAyB,CAAC;QAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;AACjC,QAAA,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE;;AAEjD,YAAA,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,SAAS,EAAE;gBACnC,SAAS,CAAC,SAAS,EAAE,CAAC;AACvB,aAAA;AACD,YAAA,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAClB,gBAAA,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,aAAC,CAAC,CAAC;AACJ,SAAA;AACD,QAAA,WAAW,CAAC,OAAO,CACjB,CAAC,IAAI,MACF,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CACpE,CAAC;AACF,QAAA,OAAO,WAAW,CAAC;KACpB;IAEM,gBAAgB,CAAC,KAAiB,EAAE,WAAmB,EAAA;QAC5D,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3C,OAAO,WAAW,GAAG,CAAA,SAAA,EAAY,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA,CAAE,CAAC;AACxD,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;KACpB;;+GAvIU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCRY,qBAAqB,CAAA;;kHAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;mHAArB,qBAAqB,EAAA,OAAA,EAAA,CAHtB,YAAY,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;AAG7B,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,aAFrB,CAAC,kBAAkB,CAAC,EADrB,OAAA,EAAA,CAAA,YAAY,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;2FAG7B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;oBACzC,SAAS,EAAE,CAAC,kBAAkB,CAAC;iBAChC,CAAA;;;ACRD;;AAEG;;;;"}
|
|
@@ -176,7 +176,7 @@ class ODataClientService {
|
|
|
176
176
|
fetch(odataEndpoint, query, options = {}) {
|
|
177
177
|
const queryStr = this.getODataString(query, options);
|
|
178
178
|
return this.httpClient
|
|
179
|
-
.get(`${odataEndpoint}
|
|
179
|
+
.get(`${odataEndpoint}?${queryStr}`)
|
|
180
180
|
.pipe(mapData(options));
|
|
181
181
|
}
|
|
182
182
|
getODataString(query, options = {}) {
|
|
@@ -197,7 +197,7 @@ class ODataClientService {
|
|
|
197
197
|
return queryString;
|
|
198
198
|
}
|
|
199
199
|
const filterString = this.serializeCompositeFilter(query.filter);
|
|
200
|
-
return
|
|
200
|
+
return `&$filter=${filterString}`;
|
|
201
201
|
}
|
|
202
202
|
serializeCompositeFilter(filter) {
|
|
203
203
|
const filterLogicSeperator = ` ${filter.logic} `;
|
|
@@ -210,7 +210,7 @@ class ODataClientService {
|
|
|
210
210
|
serializeFilter(filter) {
|
|
211
211
|
if (isChildFilter(filter)) {
|
|
212
212
|
const childFieldName = `o/${filter.field}`;
|
|
213
|
-
return `${filter.childTable}/${filter.linqOperation}(o
|
|
213
|
+
return `${filter.childTable}/${filter.linqOperation}(o: ${filter.operator(childFieldName, filter.value)} )`;
|
|
214
214
|
}
|
|
215
215
|
else {
|
|
216
216
|
return filter.operator(filter.field, filter.value);
|
|
@@ -274,9 +274,9 @@ class ODataClientService {
|
|
|
274
274
|
return queryString;
|
|
275
275
|
}
|
|
276
276
|
}
|
|
277
|
-
ODataClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
278
|
-
ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.
|
|
279
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
277
|
+
ODataClientService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
278
|
+
ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, providedIn: 'root' });
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ODataClientService, decorators: [{
|
|
280
280
|
type: Injectable,
|
|
281
281
|
args: [{
|
|
282
282
|
providedIn: 'root',
|
|
@@ -285,10 +285,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
|
|
|
285
285
|
|
|
286
286
|
class ImngODataClientModule {
|
|
287
287
|
}
|
|
288
|
-
ImngODataClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.
|
|
289
|
-
ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
290
|
-
ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.
|
|
288
|
+
ImngODataClientModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
289
|
+
ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, imports: [CommonModule, HttpClientModule] });
|
|
290
|
+
ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, providers: [ODataClientService], imports: [CommonModule, HttpClientModule] });
|
|
291
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ImngODataClientModule, decorators: [{
|
|
292
292
|
type: NgModule,
|
|
293
293
|
args: [{
|
|
294
294
|
imports: [CommonModule, HttpClientModule],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"imng-odata-client.mjs","sources":["../../../../libs/imng-odata-client/src/lib/models/child-filter.ts","../../../../libs/imng-odata-client/src/lib/models/composite-filter.ts","../../../../libs/imng-odata-client/src/lib/models/computation-operators.ts","../../../../libs/imng-odata-client/src/lib/models/computation.ts","../../../../libs/imng-odata-client/src/lib/models/expander.ts","../../../../libs/imng-odata-client/src/lib/models/filter-serializers.ts","../../../../libs/imng-odata-client/src/lib/models/filter-operators.ts","../../../../libs/imng-odata-client/src/lib/models/odata-result.ts","../../../../libs/imng-odata-client/src/lib/operators/map-data.ts","../../../../libs/imng-odata-client/src/lib/services/odata-client.service.ts","../../../../libs/imng-odata-client/src/lib/imng-odata-client.module.ts","../../../../libs/imng-odata-client/src/imng-odata-client.ts"],"sourcesContent":["import { CompositeFilter } from './composite-filter';\nimport { Filter } from './filter';\n\nexport interface ChildFilter extends Filter {\n /**\n * Used to support child entity filtering:\n * Child table name/navigation property\n * */\n childTable: string;\n /**\n * Used to support child entity filtering:\n * Specifies whether all or some of the child records have to match the given criteria\n * */\n linqOperation: 'all' | 'any';\n}\n\nexport function isChildFilter(\n source: CompositeFilter | Filter | ChildFilter,\n): source is ChildFilter {\n return !!(source as ChildFilter)?.childTable;\n}\n","import { ChildFilter } from './child-filter';\nimport { Filter } from './filter';\n\n/**\n * A complex filter expression.\n */\nexport interface CompositeFilter {\n /**\n * The logical operation to use when the `filter.filters` option is set.\n *\n * The supported values are:\n * * `\"and\"`\n * * `\"or\"`\n */\n logic: 'or' | 'and';\n /**\n * The nested filter expressions\n */\n filters: Array<Filter | ChildFilter | CompositeFilter>;\n}\n\nexport function isCompositeFilter(\n source: CompositeFilter | Filter | ChildFilter,\n): source is CompositeFilter {\n return !!(source as CompositeFilter)?.filters;\n}\n","export enum ComputationOperators {\n Multiply = 'mul',\n Divide = 'div',\n Add = 'add',\n Subtract = 'sub',\n Modulus = 'mod',\n}\n","import { ComputationOperators } from './computation-operators';\n\nexport interface Computation {\n /** This is the first value to be used in the computation */\n fieldA: string | number;\n /** This is the second value to be used in the computation */\n fieldB: string | number;\n operator: ComputationOperators | string; //NOSONAR\n\n /** This MUST differ from the names of declared or dynamic properties of the identified resources. */\n alias: string;\n}\n\nexport function isComputation(\n source: string | Computation,\n): source is Computation {\n return !!(source as Computation)?.operator;\n}\n","import { ODataQuery } from './odata-query';\n\nexport interface Expander extends ODataQuery {\n table: string;\n}\n\nexport function isExpander(source: string | Expander): source is Expander {\n return !!(source as Expander)?.table;\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\n\nexport const serializeValue = (value: IdType): string =>\n typeof value === 'string' ? `'${value}'` : `${value}`;\n\nexport const serializeSimpleFilter = (\n field: string,\n operator: string,\n value: IdType,\n): string => `${field} ${operator} ${serializeValue(value)}`;\n\nexport const serializeArrayFilter = (\n field: string,\n operator: string,\n values: IdType[],\n): string =>\n `${field} ${operator} (${values.map((m) => serializeValue(m)).join(',')})`;\n\nexport const serializeFunctionFilter = (\n field: string,\n func: string,\n value: IdType,\n): string => `${func}(${field},${serializeValue(value)})`;\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport {\n serializeArrayFilter,\n serializeFunctionFilter,\n serializeSimpleFilter,\n} from './filter-serializers';\n\n/**\n * Represents the list of supported simple filter operators.\n */\nexport class FilterOperators {\n /**\n * The `eq` operator.\n */\n public static readonly EqualTo = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'eq', value);\n /**\n * The `gt` operator.\n */\n public static readonly GreaterThan = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'gt', value);\n /**\n * The `ge` operator.\n */\n public static readonly GreaterThanOrEqual = (\n field: string,\n value: IdType,\n ): string => serializeSimpleFilter(field, 'ge', value);\n /**\n * The `lt` operator.\n */\n public static readonly LessThan = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'lt', value);\n /**\n * The `le` operator.\n */\n public static readonly LessThanOrEqual = (\n field: string,\n value: IdType,\n ): string => serializeSimpleFilter(field, 'le', value);\n /**\n * The `ne` operator.\n */\n public static readonly NotEqualTo = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'ne', value);\n /**\n * The `in` operator.\n */\n public static readonly In = (field: string, values: IdType[]): string =>\n serializeArrayFilter(field, 'in', values);\n /**\n * The `in` operator.\n */\n public static readonly NotIn = (field: string, values: IdType[]): string =>\n serializeArrayFilter(field, 'not in', values);\n /**\n * The `isnotnull` operator.\n */\n\n public static readonly IsNotNull = (field: string): string =>\n `${field} ne null`;\n /**\n * The `isnull` operator.\n */\n\n public static readonly IsNull = (field: string): string => `${field} eq null`;\n /**\n * The `contains` operator.\n */\n public static readonly Contains = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'contains', value);\n /**\n * The `doesnotcontain` operator.\n */\n public static readonly DoesNotContain = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not contains', value);\n /**\n * The `endswith` operator.\n */\n public static readonly EndsWith = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'endswith', value);\n /**\n * The `doesnotendwith` operator.\n */\n public static readonly DoesNotEndWith = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not endswith', value);\n /**\n * The `startswith` operator.\n */\n public static readonly StartsWith = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'startswith', value);\n /**\n * The `doesnotstartwith` operator.\n */\n public static readonly DoesNotStartWith = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not startswith', value);\n /**\n * The `isempty` operator.\n */\n\n public static readonly IsEmpty = (field: string): string =>\n serializeSimpleFilter(field, 'eq', '');\n /**\n * The `isnotempty` operator.\n */\n\n public static readonly IsNotEmpty = (field: string): string =>\n serializeSimpleFilter(field, 'ne', '');\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\n\nexport interface ODataResult<T extends { id?: IdType } | unknown> {\n value: T[];\n count?: number;\n '@odata.count'?: number;\n}\n\nexport function createEmptyODataResult<\n T extends { id?: IdType } | unknown,\n>(): ODataResult<T> {\n return { value: Array<T>(), count: 0 };\n}\n\nexport function createODataResult<T extends { id?: IdType } | unknown>(\n t: T[],\n): ODataResult<T> {\n return {\n value: t,\n count: t?.length,\n };\n}\nexport function isODataResult<T extends { id?: IdType } | unknown>(\n source: unknown,\n): source is ODataResult<T> {\n return !!(source as ODataResult<T>)?.value;\n}\n","import { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nimport { map } from 'rxjs';\nimport { FetchOptions, ODataResult } from '../models';\n\nexport const mapData = <T>(options: FetchOptions) =>\n map((response: ODataResult<T> | T[]): ODataResult<T> => {\n if (!response) {\n return { value: [], count: 0 };\n }\n return Array.isArray(response)\n ? {\n value: response,\n count: response.length,\n }\n : ({\n value: parseDatesInCollection(response.value, options),\n count: response['@odata.count'],\n } as ODataResult<T>);\n });\n\nexport function parseDatesInCollection<T>(collection: Array<T>, options: FetchOptions): Array<T> {\n if (collection.length > 0) {\n const utcProps = Object.keys(collection[0]).filter((x) => x.endsWith('Utc'));\n const dateProps = Object.keys(collection[0]).filter((x) => x.endsWith('Date') || x === 'date');\n\n options.utcNullableProps?.forEach((t) => {\n if (utcProps.indexOf(t) === -1) {\n utcProps.push(t);\n }\n });\n\n options.dateNullableProps?.forEach((t) => {\n if (dateProps.indexOf(t) === -1) {\n dateProps.push(t);\n }\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // prettier-ignore\n collection.forEach((val: any) => {//NOSONAR\n utcProps.filter((p) => val[p]).forEach((p) => (val[p] = new Date(val[p])));\n dateProps.filter((p) => val[p]).forEach((p) => (val[p] = toLocalDate(val[p])));\n });\n }\n return collection;\n}\nexport function toLocalDate(date: string): Date {\n const dt = new Date(date);\n return new Date(dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC));\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n ChildFilter,\n CompositeFilter,\n FetchOptions,\n Filter,\n isChildFilter,\n isCompositeFilter,\n ODataQuery,\n ODataResult,\n} from '../models';\nimport { mapData } from '../operators/map-data';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ODataClientService {\n constructor(private readonly httpClient: HttpClient) {}\n\n public fetch<T>(\n odataEndpoint: string,\n query: ODataQuery,\n options: FetchOptions = {},\n ): Observable<ODataResult<T>> {\n const queryStr = this.getODataString(query, options);\n return this.httpClient\n .get<ODataResult<T> | T[]>(`${odataEndpoint}${queryStr}`)\n .pipe(mapData<T>(options));\n }\n\n public getODataString(query: ODataQuery, options: FetchOptions = {}): string {\n let queryString = '';\n queryString = this.processFilters(query, options, queryString);\n queryString = this.processSelectors(query, queryString);\n queryString = this.processSimpleParameters('top', query, queryString);\n queryString = this.processSimpleParameters('skip', query, queryString);\n queryString = this.processGuids(queryString);\n queryString = this.processDates(queryString);\n queryString = this.processCount(query, queryString);\n queryString = this.processCacheBusting(options, queryString);\n queryString = queryString.substring(1); // removing first &\n return queryString;\n }\n processFilters(\n query: ODataQuery,\n _options: FetchOptions,\n queryString: string,\n ): string {\n if (!query.filter) {\n return queryString;\n }\n const filterString = this.serializeCompositeFilter(query.filter);\n return `&filter=${filterString}`;\n }\n serializeCompositeFilter(filter: CompositeFilter): string {\n const filterLogicSeperator = ` ${filter.logic} `;\n return `(${filter.filters\n .map((m) =>\n isCompositeFilter(m)\n ? this.serializeCompositeFilter(m)\n : this.serializeFilter(m),\n )\n .join(filterLogicSeperator)})`;\n }\n\n serializeFilter(filter: Filter | ChildFilter): string {\n if (isChildFilter(filter)) {\n const childFieldName = `o/${filter.field}`;\n return `${filter.childTable}/${filter.linqOperation}(o:${filter.operator(\n childFieldName,\n filter.value as never,\n )} )`;\n } else {\n return filter.operator(filter.field, filter.value as never);\n }\n }\n processSimpleParameters(\n parameterName: 'skip' | 'top',\n query: ODataQuery,\n queryString: string,\n ): string {\n if (query[parameterName]) {\n return queryString + `&$${parameterName}=${query[parameterName]}`;\n }\n return queryString;\n }\n processCacheBusting(options: FetchOptions, queryString: string): string {\n if (options.bustCache) {\n const timeStamp = new Date().toISOString().replace(/[-:.TZ]/g, '');\n return queryString + `×tamp=${timeStamp}`;\n }\n return queryString;\n }\n\n public processCount(query: ODataQuery, queryString: string): string {\n if (query.count === false) {\n return queryString;\n }\n return queryString + '&$count=true';\n }\n\n public processDates(queryString: string): string {\n const dateRegex =\n /Date [e-t]{2} \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g;\n let m: RegExpExecArray | null;\n const dateMatches: string[] = [];\n while ((m = dateRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === dateRegex.lastIndex) {\n dateRegex.lastIndex++;\n }\n m.forEach((match) => {\n dateMatches.push(match);\n });\n }\n dateMatches.forEach(\n (date) =>\n (queryString = queryString.replace(\n date,\n date.replace(/T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g, ''),\n )),\n );\n return queryString;\n }\n\n public processGuids(queryString: string): string {\n const guidRegex =\n /'[\\dA-F]{8}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{12}'/gi;\n let m: RegExpExecArray | null;\n const guidMatches: string[] = [];\n while ((m = guidRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === guidRegex.lastIndex) {\n guidRegex.lastIndex++;\n }\n m.forEach((match) => {\n guidMatches.push(match);\n });\n }\n guidMatches.forEach(\n (guid) =>\n (queryString = queryString.replace(guid, guid.replace(/'/g, ''))),\n );\n return queryString;\n }\n\n public processSelectors(state: ODataQuery, queryString: string): string {\n if (state.select && state.select.length > 0) {\n return queryString + `&$select=${state.select.join()}`;\n }\n return queryString;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ODataClientService } from './services/odata-client.service';\n\n@NgModule({\n imports: [CommonModule, HttpClientModule],\n providers: [ODataClientService],\n})\nexport class ImngODataClientModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"imng-odata-client.mjs","sources":["../../../../libs/imng-odata-client/src/lib/models/child-filter.ts","../../../../libs/imng-odata-client/src/lib/models/composite-filter.ts","../../../../libs/imng-odata-client/src/lib/models/computation-operators.ts","../../../../libs/imng-odata-client/src/lib/models/computation.ts","../../../../libs/imng-odata-client/src/lib/models/expander.ts","../../../../libs/imng-odata-client/src/lib/models/filter-serializers.ts","../../../../libs/imng-odata-client/src/lib/models/filter-operators.ts","../../../../libs/imng-odata-client/src/lib/models/odata-result.ts","../../../../libs/imng-odata-client/src/lib/operators/map-data.ts","../../../../libs/imng-odata-client/src/lib/services/odata-client.service.ts","../../../../libs/imng-odata-client/src/lib/imng-odata-client.module.ts","../../../../libs/imng-odata-client/src/imng-odata-client.ts"],"sourcesContent":["import { CompositeFilter } from './composite-filter';\nimport { Filter } from './filter';\n\nexport interface ChildFilter extends Filter {\n /**\n * Used to support child entity filtering:\n * Child table name/navigation property\n * */\n childTable: string;\n /**\n * Used to support child entity filtering:\n * Specifies whether all or some of the child records have to match the given criteria\n * */\n linqOperation: 'all' | 'any';\n}\n\nexport function isChildFilter(\n source: CompositeFilter | Filter | ChildFilter,\n): source is ChildFilter {\n return !!(source as ChildFilter)?.childTable;\n}\n","import { ChildFilter } from './child-filter';\nimport { Filter } from './filter';\n\n/**\n * A complex filter expression.\n */\nexport interface CompositeFilter {\n /**\n * The logical operation to use when the `filter.filters` option is set.\n *\n * The supported values are:\n * * `\"and\"`\n * * `\"or\"`\n */\n logic: 'or' | 'and';\n /**\n * The nested filter expressions\n */\n filters: Array<Filter | ChildFilter | CompositeFilter>;\n}\n\nexport function isCompositeFilter(\n source: CompositeFilter | Filter | ChildFilter,\n): source is CompositeFilter {\n return !!(source as CompositeFilter)?.filters;\n}\n","export enum ComputationOperators {\n Multiply = 'mul',\n Divide = 'div',\n Add = 'add',\n Subtract = 'sub',\n Modulus = 'mod',\n}\n","import { ComputationOperators } from './computation-operators';\n\nexport interface Computation {\n /** This is the first value to be used in the computation */\n fieldA: string | number;\n /** This is the second value to be used in the computation */\n fieldB: string | number;\n operator: ComputationOperators | string; //NOSONAR\n\n /** This MUST differ from the names of declared or dynamic properties of the identified resources. */\n alias: string;\n}\n\nexport function isComputation(\n source: string | Computation,\n): source is Computation {\n return !!(source as Computation)?.operator;\n}\n","import { ODataQuery } from './odata-query';\n\nexport interface Expander extends ODataQuery {\n table: string;\n}\n\nexport function isExpander(source: string | Expander): source is Expander {\n return !!(source as Expander)?.table;\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\n\nexport const serializeValue = (value: IdType): string =>\n typeof value === 'string' ? `'${value}'` : `${value}`;\n\nexport const serializeSimpleFilter = (\n field: string,\n operator: string,\n value: IdType,\n): string => `${field} ${operator} ${serializeValue(value)}`;\n\nexport const serializeArrayFilter = (\n field: string,\n operator: string,\n values: IdType[],\n): string =>\n `${field} ${operator} (${values.map((m) => serializeValue(m)).join(',')})`;\n\nexport const serializeFunctionFilter = (\n field: string,\n func: string,\n value: IdType,\n): string => `${func}(${field},${serializeValue(value)})`;\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport {\n serializeArrayFilter,\n serializeFunctionFilter,\n serializeSimpleFilter,\n} from './filter-serializers';\n\n/**\n * Represents the list of supported simple filter operators.\n */\nexport class FilterOperators {\n /**\n * The `eq` operator.\n */\n public static readonly EqualTo = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'eq', value);\n /**\n * The `gt` operator.\n */\n public static readonly GreaterThan = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'gt', value);\n /**\n * The `ge` operator.\n */\n public static readonly GreaterThanOrEqual = (\n field: string,\n value: IdType,\n ): string => serializeSimpleFilter(field, 'ge', value);\n /**\n * The `lt` operator.\n */\n public static readonly LessThan = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'lt', value);\n /**\n * The `le` operator.\n */\n public static readonly LessThanOrEqual = (\n field: string,\n value: IdType,\n ): string => serializeSimpleFilter(field, 'le', value);\n /**\n * The `ne` operator.\n */\n public static readonly NotEqualTo = (field: string, value: IdType): string =>\n serializeSimpleFilter(field, 'ne', value);\n /**\n * The `in` operator.\n */\n public static readonly In = (field: string, values: IdType[]): string =>\n serializeArrayFilter(field, 'in', values);\n /**\n * The `in` operator.\n */\n public static readonly NotIn = (field: string, values: IdType[]): string =>\n serializeArrayFilter(field, 'not in', values);\n /**\n * The `isnotnull` operator.\n */\n\n public static readonly IsNotNull = (field: string): string =>\n `${field} ne null`;\n /**\n * The `isnull` operator.\n */\n\n public static readonly IsNull = (field: string): string => `${field} eq null`;\n /**\n * The `contains` operator.\n */\n public static readonly Contains = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'contains', value);\n /**\n * The `doesnotcontain` operator.\n */\n public static readonly DoesNotContain = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not contains', value);\n /**\n * The `endswith` operator.\n */\n public static readonly EndsWith = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'endswith', value);\n /**\n * The `doesnotendwith` operator.\n */\n public static readonly DoesNotEndWith = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not endswith', value);\n /**\n * The `startswith` operator.\n */\n public static readonly StartsWith = (field: string, value: IdType): string =>\n serializeFunctionFilter(field, 'startswith', value);\n /**\n * The `doesnotstartwith` operator.\n */\n public static readonly DoesNotStartWith = (\n field: string,\n value: IdType,\n ): string => serializeFunctionFilter(field, 'not startswith', value);\n /**\n * The `isempty` operator.\n */\n\n public static readonly IsEmpty = (field: string): string =>\n serializeSimpleFilter(field, 'eq', '');\n /**\n * The `isnotempty` operator.\n */\n\n public static readonly IsNotEmpty = (field: string): string =>\n serializeSimpleFilter(field, 'ne', '');\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\n\nexport interface ODataResult<T extends { id?: IdType } | unknown> {\n value: T[];\n count?: number;\n '@odata.count'?: number;\n}\n\nexport function createEmptyODataResult<\n T extends { id?: IdType } | unknown,\n>(): ODataResult<T> {\n return { value: Array<T>(), count: 0 };\n}\n\nexport function createODataResult<T extends { id?: IdType } | unknown>(\n t: T[],\n): ODataResult<T> {\n return {\n value: t,\n count: t?.length,\n };\n}\nexport function isODataResult<T extends { id?: IdType } | unknown>(\n source: unknown,\n): source is ODataResult<T> {\n return !!(source as ODataResult<T>)?.value;\n}\n","import { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nimport { map } from 'rxjs';\nimport { FetchOptions, ODataResult } from '../models';\n\nexport const mapData = <T>(options: FetchOptions) =>\n map((response: ODataResult<T> | T[]): ODataResult<T> => {\n if (!response) {\n return { value: [], count: 0 };\n }\n return Array.isArray(response)\n ? {\n value: response,\n count: response.length,\n }\n : ({\n value: parseDatesInCollection(response.value, options),\n count: response['@odata.count'],\n } as ODataResult<T>);\n });\n\nexport function parseDatesInCollection<T>(collection: Array<T>, options: FetchOptions): Array<T> {\n if (collection.length > 0) {\n const utcProps = Object.keys(collection[0]).filter((x) => x.endsWith('Utc'));\n const dateProps = Object.keys(collection[0]).filter((x) => x.endsWith('Date') || x === 'date');\n\n options.utcNullableProps?.forEach((t) => {\n if (utcProps.indexOf(t) === -1) {\n utcProps.push(t);\n }\n });\n\n options.dateNullableProps?.forEach((t) => {\n if (dateProps.indexOf(t) === -1) {\n dateProps.push(t);\n }\n });\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n // prettier-ignore\n collection.forEach((val: any) => {//NOSONAR\n utcProps.filter((p) => val[p]).forEach((p) => (val[p] = new Date(val[p])));\n dateProps.filter((p) => val[p]).forEach((p) => (val[p] = toLocalDate(val[p])));\n });\n }\n return collection;\n}\nexport function toLocalDate(date: string): Date {\n const dt = new Date(date);\n return new Date(dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC));\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n ChildFilter,\n CompositeFilter,\n FetchOptions,\n Filter,\n isChildFilter,\n isCompositeFilter,\n ODataQuery,\n ODataResult,\n} from '../models';\nimport { mapData } from '../operators/map-data';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ODataClientService {\n constructor(private readonly httpClient: HttpClient) {}\n\n public fetch<T>(\n odataEndpoint: string,\n query: ODataQuery,\n options: FetchOptions = {},\n ): Observable<ODataResult<T>> {\n const queryStr = this.getODataString(query, options);\n return this.httpClient\n .get<ODataResult<T> | T[]>(`${odataEndpoint}?${queryStr}`)\n .pipe(mapData<T>(options));\n }\n\n public getODataString(query: ODataQuery, options: FetchOptions = {}): string {\n let queryString = '';\n queryString = this.processFilters(query, options, queryString);\n queryString = this.processSelectors(query, queryString);\n queryString = this.processSimpleParameters('top', query, queryString);\n queryString = this.processSimpleParameters('skip', query, queryString);\n queryString = this.processGuids(queryString);\n queryString = this.processDates(queryString);\n queryString = this.processCount(query, queryString);\n queryString = this.processCacheBusting(options, queryString);\n queryString = queryString.substring(1); // removing first &\n return queryString;\n }\n processFilters(\n query: ODataQuery,\n _options: FetchOptions,\n queryString: string,\n ): string {\n if (!query.filter) {\n return queryString;\n }\n const filterString = this.serializeCompositeFilter(query.filter);\n return `&$filter=${filterString}`;\n }\n serializeCompositeFilter(filter: CompositeFilter): string {\n const filterLogicSeperator = ` ${filter.logic} `;\n return `(${filter.filters\n .map((m) =>\n isCompositeFilter(m)\n ? this.serializeCompositeFilter(m)\n : this.serializeFilter(m),\n )\n .join(filterLogicSeperator)})`;\n }\n\n serializeFilter(filter: Filter | ChildFilter): string {\n if (isChildFilter(filter)) {\n const childFieldName = `o/${filter.field}`;\n return `${filter.childTable}/${filter.linqOperation}(o: ${filter.operator(\n childFieldName,\n filter.value as never,\n )} )`;\n } else {\n return filter.operator(filter.field, filter.value as never);\n }\n }\n processSimpleParameters(\n parameterName: 'skip' | 'top',\n query: ODataQuery,\n queryString: string,\n ): string {\n if (query[parameterName]) {\n return queryString + `&$${parameterName}=${query[parameterName]}`;\n }\n return queryString;\n }\n processCacheBusting(options: FetchOptions, queryString: string): string {\n if (options.bustCache) {\n const timeStamp = new Date().toISOString().replace(/[-:.TZ]/g, '');\n return queryString + `×tamp=${timeStamp}`;\n }\n return queryString;\n }\n\n public processCount(query: ODataQuery, queryString: string): string {\n if (query.count === false) {\n return queryString;\n }\n return queryString + '&$count=true';\n }\n\n public processDates(queryString: string): string {\n const dateRegex =\n /Date [e-t]{2} \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g;\n let m: RegExpExecArray | null;\n const dateMatches: string[] = [];\n while ((m = dateRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === dateRegex.lastIndex) {\n dateRegex.lastIndex++;\n }\n m.forEach((match) => {\n dateMatches.push(match);\n });\n }\n dateMatches.forEach(\n (date) =>\n (queryString = queryString.replace(\n date,\n date.replace(/T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g, ''),\n )),\n );\n return queryString;\n }\n\n public processGuids(queryString: string): string {\n const guidRegex =\n /'[\\dA-F]{8}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{12}'/gi;\n let m: RegExpExecArray | null;\n const guidMatches: string[] = [];\n while ((m = guidRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === guidRegex.lastIndex) {\n guidRegex.lastIndex++;\n }\n m.forEach((match) => {\n guidMatches.push(match);\n });\n }\n guidMatches.forEach(\n (guid) =>\n (queryString = queryString.replace(guid, guid.replace(/'/g, ''))),\n );\n return queryString;\n }\n\n public processSelectors(state: ODataQuery, queryString: string): string {\n if (state.select && state.select.length > 0) {\n return queryString + `&$select=${state.select.join()}`;\n }\n return queryString;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { ODataClientService } from './services/odata-client.service';\n\n@NgModule({\n imports: [CommonModule, HttpClientModule],\n providers: [ODataClientService],\n})\nexport class ImngODataClientModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "imng-odata-client",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.244.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": ">=13.x",
|
|
6
6
|
"@angular/core": ">=13.x",
|
|
7
7
|
"@angular/router": ">=13.x",
|
|
8
8
|
"imng-nrsrx-client-utils": "*",
|
|
9
9
|
"rxjs": "*",
|
|
10
|
-
"imng-ngrx-utils": "5.
|
|
10
|
+
"imng-ngrx-utils": "5.244.2"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"tslib": "^2.3.0"
|