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.
@@ -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.1.1", ngImport: i0, type: ImngODataClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, imports: [CommonModule, HttpClientModule] });
10
- ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, providers: [ODataClientService], imports: [CommonModule, HttpClientModule] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, decorators: [{
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}${queryStr}`)
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 `&filter=${filterString}`;
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:${filter.operator(childFieldName, filter.value)} )`;
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.1.1", ngImport: i0, type: ODataClientService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
113
- ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ODataClientService, providedIn: 'root' });
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ODataClientService, decorators: [{
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtY2xpZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvc2VydmljZXMvb2RhdGEtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUtMLGFBQWEsRUFDYixpQkFBaUIsR0FHbEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFLaEQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUE2QixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUVoRCxLQUFLLENBQ1YsYUFBcUIsRUFDckIsS0FBaUIsRUFDakIsVUFBd0IsRUFBRTtRQUUxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLEdBQUcsQ0FBdUIsR0FBRyxhQUFhLEdBQUcsUUFBUSxFQUFFLENBQUM7YUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxjQUFjLENBQUMsS0FBaUIsRUFBRSxVQUF3QixFQUFFO1FBQ2pFLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELFdBQVcsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELFdBQVcs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LENBQUMsU0FBUyxFQUFFO2dCQUNuQyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDdkI7WUFDRCxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELFdBQVcsQ0FBQyxPQUFPLENBQ2pCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDUCxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3BFLENBQUM7UUFDRixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBaUIsRUFBRSxXQUFtQjtRQUM1RCxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sV0FBVyxHQUFHLFlBQVksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1NBQ3hEO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs7K0dBdklVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDaGlsZEZpbHRlcixcbiAgQ29tcG9zaXRlRmlsdGVyLFxuICBGZXRjaE9wdGlvbnMsXG4gIEZpbHRlcixcbiAgaXNDaGlsZEZpbHRlcixcbiAgaXNDb21wb3NpdGVGaWx0ZXIsXG4gIE9EYXRhUXVlcnksXG4gIE9EYXRhUmVzdWx0LFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgbWFwRGF0YSB9IGZyb20gJy4uL29wZXJhdG9ycy9tYXAtZGF0YSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBPRGF0YUNsaWVudFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHt9XG5cbiAgcHVibGljIGZldGNoPFQ+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}${queryStr}`)
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 `&filter=${filterString}`;
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:${filter.operator(childFieldName, filter.value)} )`;
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.1.1", ngImport: i0, type: ODataClientService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
279
- ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ODataClientService, providedIn: 'root' });
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ODataClientService, decorators: [{
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.1.1", ngImport: i0, type: ImngODataClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
290
- ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, imports: [CommonModule, HttpClientModule] });
291
- ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, providers: [ODataClientService], imports: [CommonModule, HttpClientModule] });
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, decorators: [{
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 + `&timestamp=${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 + `&timestamp=${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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"}
@@ -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}${queryStr}`)
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 `&filter=${filterString}`;
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:${filter.operator(childFieldName, filter.value)} )`;
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.1.1", ngImport: i0, type: ODataClientService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
278
- ODataClientService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ODataClientService, providedIn: 'root' });
279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ODataClientService, decorators: [{
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.1.1", ngImport: i0, type: ImngODataClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
289
- ImngODataClientModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, imports: [CommonModule, HttpClientModule] });
290
- ImngODataClientModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, providers: [ODataClientService], imports: [CommonModule, HttpClientModule] });
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ImngODataClientModule, decorators: [{
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 + `&timestamp=${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 + `&timestamp=${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;AAE9C,IAAA,OAAO,CAAC,CAAE,MAAsB,EAAE,UAAU,CAAC;AAC/C;;ACCM,SAAU,iBAAiB,CAC/B,MAA8C,EAAA;AAE9C,IAAA,OAAO,CAAC,CAAE,MAA0B,EAAE,OAAO,CAAC;AAChD;;ICzBY,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;AAE5B,IAAA,OAAO,CAAC,CAAE,MAAsB,EAAE,QAAQ,CAAC;AAC7C;;ACXM,SAAU,UAAU,CAAC,MAAyB,EAAA;AAClD,IAAA,OAAO,CAAC,CAAE,MAAmB,EAAE,KAAK,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;QACR,KAAK,EAAE,CAAC,EAAE,MAAM;KACjB,CAAC;AACJ,CAAC;AACK,SAAU,aAAa,CAC3B,MAAe,EAAA;AAEf,IAAA,OAAO,CAAC,CAAE,MAAyB,EAAE,KAAK,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,OAAO,CAAC,gBAAgB,EAAE,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,OAAO,CAAC,iBAAiB,EAAE,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;QAAtB,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;AACnB,iBAAA,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;AAChC,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "imng-odata-client",
3
- "version": "5.243.6",
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.243.6"
10
+ "imng-ngrx-utils": "5.244.2"
11
11
  },
12
12
  "dependencies": {
13
13
  "tslib": "^2.3.0"