imng-odata-client 9.68.6 → 9.119.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.
|
@@ -292,11 +292,11 @@ function processFilters(query, queryString) {
|
|
|
292
292
|
return `${queryString}&$filter=${filterString}`;
|
|
293
293
|
}
|
|
294
294
|
function serializeCompositeFilter(compositeFilter) {
|
|
295
|
-
const
|
|
295
|
+
const filterLogicSeparator = ` ${compositeFilter.logic} `;
|
|
296
296
|
return `(${compositeFilter.filters
|
|
297
297
|
.map((filter) => serializeFilterItem(filter))
|
|
298
298
|
.filter((m) => m && m !== '()')
|
|
299
|
-
.join(
|
|
299
|
+
.join(filterLogicSeparator)})`;
|
|
300
300
|
}
|
|
301
301
|
function serializeFilterItem(filter) {
|
|
302
302
|
if (isCompositeFilter(filter)) {
|
|
@@ -362,10 +362,10 @@ class ODataClientService {
|
|
|
362
362
|
.get(`${odataEndpoint}?${queryStr}`)
|
|
363
363
|
.pipe(mapData(options));
|
|
364
364
|
}
|
|
365
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
366
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.
|
|
365
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ODataClientService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
366
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ODataClientService, providedIn: 'root' }); }
|
|
367
367
|
}
|
|
368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
368
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ODataClientService, decorators: [{
|
|
369
369
|
type: Injectable,
|
|
370
370
|
args: [{
|
|
371
371
|
providedIn: 'root',
|
|
@@ -496,11 +496,11 @@ function processSelectors(state, queryString) {
|
|
|
496
496
|
}
|
|
497
497
|
|
|
498
498
|
class ImngODataClientModule {
|
|
499
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.
|
|
500
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.
|
|
501
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.
|
|
499
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ImngODataClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
500
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.10", ngImport: i0, type: ImngODataClientModule, imports: [CommonModule] }); }
|
|
501
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ImngODataClientModule, providers: [ODataClientService, provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule] }); }
|
|
502
502
|
}
|
|
503
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.
|
|
503
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.10", ngImport: i0, type: ImngODataClientModule, decorators: [{
|
|
504
504
|
type: NgModule,
|
|
505
505
|
args: [{ imports: [CommonModule], providers: [ODataClientService, provideHttpClient(withInterceptorsFromDi())] }]
|
|
506
506
|
}] });
|
|
@@ -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/helpers/filter-serializers.ts","../../../../libs/imng-odata-client/src/lib/models/filter-operators.ts","../../../../libs/imng-odata-client/src/lib/models/filter.ts","../../../../libs/imng-odata-client/src/lib/models/odata-result.ts","../../../../libs/imng-odata-client/src/lib/models/array-filter.ts","../../../../libs/imng-odata-client/src/lib/operators/map-data.ts","../../../../libs/imng-odata-client/src/lib/helpers/get-filter-operator.ts","../../../../libs/imng-odata-client/src/lib/helpers/filter-processor.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/lib/helpers/create-odata-result.ts","../../../../libs/imng-odata-client/src/imng-odata-client.ts"],"sourcesContent":["import { ICompositeFilter } from './composite-filter';\nimport { IFilter } from './filter';\n\nexport interface IChildFilter extends IFilter {\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: ICompositeFilter | IFilter | IChildFilter,\n): source is IChildFilter {\n return !!(source as IChildFilter)?.childTable;\n}\n","import { IChildFilter } from './child-filter';\nimport { IFilter } from './filter';\n\n/**\n * A complex filter expression.\n */\nexport interface ICompositeFilter {\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<IFilter | IChildFilter | ICompositeFilter>;\n}\n\nexport function isCompositeFilter(\n source: ICompositeFilter | IFilter | IChildFilter,\n): source is ICompositeFilter {\n return !!(source as ICompositeFilter)?.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 function serializeValue(\n value?: IdType,\n isRelativeValue = false,\n): string {\n if (isRelativeValue) {\n return value?.toString() ?? '';\n } else if (typeof value === 'string') {\n return `'${value}'`;\n } else if (value instanceof Date) {\n return `${value.toISOString().split('T')[0]}`;\n }\n return `${value}`;\n}\n\nexport const serializeSimpleFilter = (\n field: string,\n operator: string,\n value?: IdType,\n isRelativeValue = false,\n): string => `${field} ${operator} ${serializeValue(value, isRelativeValue)}`;\n\nexport const serializeArrayFilter = (\n field: string,\n operator: string,\n values?: IdType[],\n isRelativeValue = false,\n): string =>\n values && values.length > 0\n ? `${field} ${operator} (${values.map((value) => serializeValue(value, isRelativeValue)).join(',')})`\n : '';\n\nexport const serializeFunctionFilter = (\n field: string,\n func: string,\n value?: IdType,\n isRelativeValue = false,\n): string =>\n value ? `${func}(${field},${serializeValue(value, isRelativeValue)})` : '';\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport { IFilterOperator } from './filter-operator';\nimport {\n serializeArrayFilter,\n serializeFunctionFilter,\n serializeSimpleFilter,\n} from '../helpers/filter-serializers';\n\nexport interface IFilterOperators {\n [key: string]: IFilterOperator;\n}\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 equals: IFilterOperator = {\n name: 'equals',\n toODataString: (field: string, value?: IdType, isRelativeValue = false) =>\n serializeSimpleFilter(field, 'eq', value, isRelativeValue),\n };\n /**\n * The `gt` operator.\n */\n public static readonly greaterThan: IFilterOperator = {\n name: 'greaterThan',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'gt', value, isRelativeValue),\n };\n /**\n * The `ge` operator.\n */\n public static readonly greaterThanOrEquals: IFilterOperator = {\n name: 'greaterThanOrEquals',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'ge', value, isRelativeValue),\n };\n /**\n * The `lt` operator.\n */\n public static readonly lessThan: IFilterOperator = {\n name: 'lessThan',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'lt', value, isRelativeValue),\n };\n /**\n * The `le` operator.\n */\n public static readonly lessThanOrEquals: IFilterOperator = {\n name: 'lessThanOrEquals',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'le', value, isRelativeValue),\n };\n /**\n * The `ne` operator.\n */\n public static readonly notEquals: IFilterOperator = {\n name: 'notEquals',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'ne', value, isRelativeValue),\n };\n /**\n * The `in` operator.\n */\n public static readonly in: IFilterOperator = {\n name: 'in',\n toODataString: (\n field: string,\n values?: IdType[],\n isRelativeValue = false,\n ): string => serializeArrayFilter(field, 'in', values, isRelativeValue),\n };\n /**\n * The `not in` operator.\n */\n public static readonly notIn: IFilterOperator = {\n name: 'notIn',\n toODataString: (\n field: string,\n values?: IdType[],\n isRelativeValue = false,\n ): string => serializeArrayFilter(field, 'not in', values, isRelativeValue),\n };\n /**\n * The `is not null` operator.\n */\n\n public static readonly notNull: IFilterOperator = {\n name: 'notNull',\n toODataString: (field: string): string => `${field} ne null`,\n };\n /**\n * The `is null` operator.\n */\n public static readonly isNull: IFilterOperator = {\n name: 'isNull',\n toODataString: (field: string): string => `${field} eq null`,\n };\n /**\n * The `contains` operator.\n */\n public static readonly contains: IFilterOperator = {\n name: 'contains',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'contains', value, isRelativeValue),\n };\n /**\n * The `not contain` operator.\n */\n public static readonly notContains: IFilterOperator = {\n name: 'notContains',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'not contains', value, isRelativeValue),\n };\n /**\n * The `ends with` operator.\n */\n public static readonly endsWith: IFilterOperator = {\n name: 'endswith',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'endswith', value, isRelativeValue),\n };\n /**\n * The `not ends with` operator.\n */\n public static readonly notEndsWith: IFilterOperator = {\n name: 'notEndsWith',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'not endswith', value, isRelativeValue),\n };\n /**\n * The `startswith` operator.\n */\n public static readonly startsWith: IFilterOperator = {\n name: 'startsWith',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'startswith', value, isRelativeValue),\n };\n /**\n * The `not start with` operator.\n */\n public static readonly notStartsWith: IFilterOperator = {\n name: 'notStartsWith',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'not startswith', value, isRelativeValue),\n };\n /**\n * The `empty` operator.\n */\n public static readonly isEmpty: IFilterOperator = {\n name: 'isEmpty',\n toODataString: (field: string): string =>\n serializeSimpleFilter(field, 'eq', '', false),\n };\n /**\n * The `not empty` operator.\n */\n public static readonly notEmpty: IFilterOperator = {\n name: 'notEmpty',\n toODataString: (field: string): string =>\n serializeSimpleFilter(field, 'ne', '', false),\n };\n}\n\nexport const filterOperators: IFilterOperators = {\n contains: FilterOperators.contains,\n endsWith: FilterOperators.endsWith,\n endswith: FilterOperators.endsWith,\n equals: FilterOperators.equals,\n eq: FilterOperators.equals,\n dateIs: FilterOperators.equals,\n greaterThan: FilterOperators.greaterThan,\n gt: FilterOperators.greaterThan,\n dateAfter: FilterOperators.greaterThan,\n greaterThanOrEquals: FilterOperators.greaterThanOrEquals,\n gte: FilterOperators.greaterThanOrEquals,\n ge: FilterOperators.greaterThanOrEquals,\n in: FilterOperators.in,\n isEmpty: FilterOperators.isEmpty,\n isNull: FilterOperators.isNull,\n isnull: FilterOperators.isNull,\n lessThan: FilterOperators.lessThan,\n lt: FilterOperators.lessThan,\n dateBefore: FilterOperators.lessThan,\n lessThanOrEquals: FilterOperators.lessThanOrEquals,\n lte: FilterOperators.lessThanOrEquals,\n notContains: FilterOperators.notContains,\n doesnotcontain: FilterOperators.notContains,\n notEmpty: FilterOperators.notEmpty,\n isnotempty: FilterOperators.notEmpty,\n notEndsWith: FilterOperators.notEndsWith,\n notEquals: FilterOperators.notEquals,\n ne: FilterOperators.notEquals,\n neq: FilterOperators.notEquals,\n dateIsNot: FilterOperators.notEquals,\n notIn: FilterOperators.notIn,\n notNull: FilterOperators.notNull,\n isnotnull: FilterOperators.notNull,\n notStartsWith: FilterOperators.notStartsWith,\n startsWith: FilterOperators.startsWith,\n startswith: FilterOperators.startsWith,\n};\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport { IFilterOperator } from './filter-operator';\nimport { ICompositeFilter } from './composite-filter';\nimport { IChildFilter } from './child-filter';\n\n/**\n * A basic filter expression.\n */\nexport interface IFilter {\n /**\n * The data item field to which the filter operator is applied.\n */\n field: string;\n /**\n * The filter operator (comparison).\n *\n * The supported operators are:\n * * `FilterOperators.equalTo` (equal to)\n * * `FilterOperators.notEqualTo` (not equal to)\n * * `FilterOperators.isNull` (is equal to null)\n * * `FilterOperators.notNull` (is not equal to null)\n * * `FilterOperators.lessThan` (less than)\n * * `FilterOperators.lessThanOrEqualTo` (less than or equal to)\n * * `FilterOperators.greaterThan` (greater than)\n * * `FilterOperators.greaterThanOrEqualTo` (greater than or equal to)\n * * `FilterOperators.in` (specified value should be an array)\n * * `FilterOperators.notIn` (specified value should be an array)\n *\n * The following operators are supported for string fields only:\n * * `FilterOperators.startsWith`\n * * `FilterOperators.endsWith`\n * * `FilterOperators.contains`\n * * `FilterOperators.notContains`\n * * `FilterOperators.isEmpty`\n * * `FilterOperators.notempty`\n */\n operator: IFilterOperator | string;\n /**\n * The value to which the field is compared. Has to be of the same type as the field.\n */\n value?: IdType | IdType[] | boolean | null;\n /**\n * Determines if the string comparison is case-insensitive.\n */\n ignoreCase?: boolean;\n /**\n This is used to determine if the value being compared against a relative field (parentTable/idColumn) vs a static value ('12345').\n */\n isRelativeValue?: boolean;\n}\n\nexport function isFilter(\n source: ICompositeFilter | IFilter | IChildFilter | string,\n): source is IFilter {\n return !!(source as IFilter)?.field;\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 isODataResult<T extends { id?: IdType } | unknown>(\n source: unknown,\n): source is ODataResult<T> {\n return !!(source as ODataResult<T>)?.value;\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport { IFilter, isFilter } from './filter';\nimport { IFilterOperator } from './filter-operator';\nimport { ICompositeFilter } from './composite-filter';\nimport { IChildFilter } from './child-filter';\nimport { FilterOperators } from './filter-operators';\n\nexport interface IArrayFilter extends IFilter {\n /**\n * The supported operators are:\n * * `FilterOperators.in` (specified value should be an array)\n * * `FilterOperators.notIn` (specified value should be an array)\n */\n operator: IFilterOperator | string;\n /**\n * The value to which the field is compared. Has to be of the same type as the field.\n */\n value?: IdType[] | null;\n}\n\nexport function isArrayFilter(\n source: ICompositeFilter | IFilter | IChildFilter | string,\n): source is IArrayFilter {\n return (\n isFilter(source) &&\n (source.operator === 'in' ||\n source.operator === 'notIn' ||\n source.operator === FilterOperators.in ||\n source.operator === FilterOperators.notIn)\n );\n}\n","import { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nimport { map } from 'rxjs/operators';\nimport { FetchOptions, ODataResult } from '../models';\n\nexport const mapData = <T extends object>(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 extends object>(\n collection: Array<T>,\n options: FetchOptions,\n): Array<T> {\n if (collection.length > 0) {\n const utcProps = Object.keys(collection[0]).filter((x) =>\n x.endsWith('Utc'),\n );\n const dateProps = Object.keys(collection[0]).filter(\n (x) => x.endsWith('Date') || x === 'date',\n );\n\n options.utcNullableProps?.forEach((t) => {\n if (!utcProps.includes(t)) {\n utcProps.push(t);\n }\n });\n\n options.dateNullableProps?.forEach((t) => {\n if (!dateProps.includes(t)) {\n dateProps.push(t);\n }\n });\n\n // prettier-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\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(\n dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC),\n );\n}\n","import { filterOperators } from '../models';\nimport { IFilterOperator } from '../models/filter-operator';\n\nexport const getFilterOperator = (operatorName: string): IFilterOperator =>\n filterOperators[operatorName];\n","import {\n IChildFilter,\n ICompositeFilter,\n IFilter,\n isArrayFilter,\n isChildFilter,\n isCompositeFilter,\n ODataQuery,\n} from '../models';\nimport { getFilterOperator } from './get-filter-operator';\n\nexport function processFilters(query: ODataQuery, queryString: string): string {\n if (!query.filter?.filters?.length) {\n return queryString;\n }\n const filterString = serializeCompositeFilter(query.filter);\n if (filterString === '()') {\n return queryString;\n }\n return `${queryString}&$filter=${filterString}`;\n}\n\nexport function serializeCompositeFilter(\n compositeFilter: ICompositeFilter,\n): string {\n const filterLogicSeperator = ` ${compositeFilter.logic} `;\n return `(${compositeFilter.filters\n .map((filter) => serializeFilterItem(filter))\n .filter((m) => m && m !== '()')\n .join(filterLogicSeperator)})`;\n}\nexport function serializeFilterItem(\n filter: IFilter | IChildFilter | ICompositeFilter,\n): string {\n if (isCompositeFilter(filter)) {\n const subFilters = filter.filters.filter((subFilter) =>\n isNotEmptyFilter(subFilter),\n );\n if (subFilters.length > 1) {\n return serializeCompositeFilter(filter);\n } else if (subFilters.length === 1) {\n return serializeFilterItem(subFilters[0]);\n } else {\n return '';\n }\n } else if (isNotEmptyFilter(filter)) {\n return serializeFilter(filter);\n }\n return '';\n}\n\nexport function isNotEmptyFilter(\n filter: IFilter | IChildFilter | ICompositeFilter,\n): boolean {\n if (isCompositeFilter(filter)) {\n return filter.filters.every((filter) => isNotEmptyFilter(filter));\n } else if (isArrayFilter(filter)) {\n return (\n filter.value !== undefined &&\n filter.value !== null &&\n filter.value.length > 0\n );\n } else {\n return (\n filter.field !== undefined &&\n filter.field !== null &&\n filter.field.length > 0\n );\n }\n}\n\nexport function serializeFilter(filter: IFilter | IChildFilter): string {\n const operator =\n typeof filter.operator === 'string'\n ? getFilterOperator(filter.operator)\n : getFilterOperator(filter.operator?.name || 'equals');\n const odataStringFunction = operator.toODataString;\n if (filter.field === undefined || filter.field === null) {\n return '';\n } else {\n const field = filter.field.replaceAll('.', '/');\n if (isChildFilter(filter)) {\n const childFieldName = `o/${field}`;\n return `${filter.childTable}/${\n filter.linqOperation\n }(o: ${odataStringFunction(childFieldName, filter.value as never, filter.isRelativeValue)})`;\n } else {\n return odataStringFunction(\n field,\n filter.value as never,\n filter.isRelativeValue,\n );\n }\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n Expander,\n FetchOptions,\n isExpander,\n ODataQuery,\n ODataResult,\n} from '../models';\nimport { mapData } from '../operators/map-data';\nimport { processFilters } from '../helpers/filter-processor';\n\nexport const uuidRegex = /T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/gi;\n@Injectable({\n providedIn: 'root',\n})\nexport class ODataClientService {\n private readonly httpClient = inject(HttpClient);\n\n public fetch<T extends object>(\n odataEndpoint: string,\n query: ODataQuery,\n options: FetchOptions = {},\n ): Observable<ODataResult<T>> {\n const queryStr = getODataString(query, options);\n return this.httpClient\n .get<ODataResult<T> | T[]>(`${odataEndpoint}?${queryStr}`)\n .pipe(mapData<T>(options));\n }\n}\n\nexport function getODataString(\n query: ODataQuery,\n options: FetchOptions = {},\n): string {\n let queryString = '';\n queryString = processFilters(query, queryString);\n queryString = processOrderBy(query, queryString);\n queryString = processSelectors(query, queryString);\n queryString = processExpanders(query, queryString);\n queryString = processSimpleParameters('top', query, queryString);\n queryString = processSimpleParameters('skip', query, queryString);\n queryString = processGuids(queryString);\n queryString = processDates(queryString);\n queryString = processCount(query, queryString);\n queryString = processCacheBusting(options, queryString);\n queryString = queryString.substring(1); // removing first &\n return queryString;\n}\n\nexport function processExpanders(\n query: ODataQuery,\n queryString: string,\n): string {\n if (query.expand && query.expand.length > 0) {\n const expansionStrings = query.expand.map((element) =>\n getExpansionString(element),\n );\n queryString += `&$expand=${expansionStrings.join(',')}`;\n }\n return queryString;\n}\n\nexport function getExpansionString(element: Expander): string {\n let result = '';\n if (!element) {\n return result;\n }\n if (typeof element === 'string') {\n result += element;\n } else {\n result += `${element.table}(`;\n const query: ODataQuery = {\n ...element,\n count: element.count ?? false,\n expand: undefined,\n };\n result += `${getODataString(query).replaceAll('&', ';')};`;\n if (element.expand) {\n const expanders = element.expand.map((expander) => {\n if (isExpander(expander)) {\n return getExpansionString(expander);\n }\n return expander;\n });\n result += `$expand=${expanders.join(',')};`;\n }\n result += ')';\n result = result\n .replace(/\\(;\\$expand=/, '($expand=') //Replaces empty expand \"(;$expand=\" with \"($expand=\"\n .replace(/\\$expand=;?\\)$/, ')') //Replaces empty expand \";$expand=;)\" or \";$expand=)\" with \")\"\n .replace(/\\(;\\)$/, '') //Removes empty expansion clause \"(;)\"\n .replace(/;\\)$/, ')'); //Replaces \";)\" with \")\"\n }\n return result;\n}\n\nexport function processOrderBy(query: ODataQuery, queryString: string): string {\n if (!query.orderBy?.length) {\n return queryString;\n }\n const sortString = query.orderBy\n .map((m) => `${m.field}${m.dir === 'desc' ? ' desc' : ''}`)\n .join(',');\n return `${queryString}&$orderby=${sortString}`;\n}\n\nexport function processSimpleParameters(\n parameterName: 'skip' | 'top',\n query: ODataQuery,\n queryString: string,\n): string {\n if (\n query[parameterName] ||\n (parameterName === 'top' && query[parameterName] === 0)\n ) {\n return `${queryString}&$${parameterName}=${query[parameterName]}`;\n }\n return queryString;\n}\nexport function processCacheBusting(\n options: FetchOptions,\n queryString: string,\n): string {\n if (options.bustCache) {\n const timeStamp = new Date().toISOString().replaceAll(/[-:.TZ]/g, '');\n return `${queryString}×tamp=${timeStamp}`;\n }\n return queryString;\n}\n\nexport function processCount(query: ODataQuery, queryString: string): string {\n if (query.count === false) {\n return queryString;\n }\n return `${queryString}&$count=true`;\n}\n\nexport function processDates(queryString: string): string {\n const dateRegex = /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(date, date.replaceAll(uuidRegex, ''))),\n );\n return queryString;\n}\n\nexport function 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.replaceAll(guid, guid.replaceAll(\"'\", ''))),\n );\n return queryString;\n}\n\nexport function processSelectors(\n state: ODataQuery,\n queryString: string,\n): string {\n if (state.select && state.select.length > 0) {\n return `${queryString}&$select=${state.select.join()}`;\n }\n return queryString;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { ODataClientService } from './services/odata-client.service';\n\n@NgModule({ imports: [CommonModule], providers: [ODataClientService, provideHttpClient(withInterceptorsFromDi())] })\nexport class ImngODataClientModule {}\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport { ODataResult } from '../models/odata-result';\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}\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/helpers/filter-serializers.ts","../../../../libs/imng-odata-client/src/lib/models/filter-operators.ts","../../../../libs/imng-odata-client/src/lib/models/filter.ts","../../../../libs/imng-odata-client/src/lib/models/odata-result.ts","../../../../libs/imng-odata-client/src/lib/models/array-filter.ts","../../../../libs/imng-odata-client/src/lib/operators/map-data.ts","../../../../libs/imng-odata-client/src/lib/helpers/get-filter-operator.ts","../../../../libs/imng-odata-client/src/lib/helpers/filter-processor.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/lib/helpers/create-odata-result.ts","../../../../libs/imng-odata-client/src/imng-odata-client.ts"],"sourcesContent":["import { ICompositeFilter } from './composite-filter';\nimport { IFilter } from './filter';\n\nexport interface IChildFilter extends IFilter {\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: ICompositeFilter | IFilter | IChildFilter,\n): source is IChildFilter {\n return !!(source as IChildFilter)?.childTable;\n}\n","import { IChildFilter } from './child-filter';\nimport { IFilter } from './filter';\n\n/**\n * A complex filter expression.\n */\nexport interface ICompositeFilter {\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<IFilter | IChildFilter | ICompositeFilter>;\n}\n\nexport function isCompositeFilter(\n source: ICompositeFilter | IFilter | IChildFilter,\n): source is ICompositeFilter {\n return !!(source as ICompositeFilter)?.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 function serializeValue(\n value?: IdType,\n isRelativeValue = false,\n): string {\n if (isRelativeValue) {\n return value?.toString() ?? '';\n } else if (typeof value === 'string') {\n return `'${value}'`;\n } else if (value instanceof Date) {\n return `${value.toISOString().split('T')[0]}`;\n }\n return `${value}`;\n}\n\nexport const serializeSimpleFilter = (\n field: string,\n operator: string,\n value?: IdType,\n isRelativeValue = false,\n): string => `${field} ${operator} ${serializeValue(value, isRelativeValue)}`;\n\nexport const serializeArrayFilter = (\n field: string,\n operator: string,\n values?: IdType[],\n isRelativeValue = false,\n): string =>\n values && values.length > 0\n ? `${field} ${operator} (${values.map((value) => serializeValue(value, isRelativeValue)).join(',')})`\n : '';\n\nexport const serializeFunctionFilter = (\n field: string,\n func: string,\n value?: IdType,\n isRelativeValue = false,\n): string =>\n value ? `${func}(${field},${serializeValue(value, isRelativeValue)})` : '';\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport { IFilterOperator } from './filter-operator';\nimport {\n serializeArrayFilter,\n serializeFunctionFilter,\n serializeSimpleFilter,\n} from '../helpers/filter-serializers';\n\nexport interface IFilterOperators {\n [key: string]: IFilterOperator;\n}\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 equals: IFilterOperator = {\n name: 'equals',\n toODataString: (field: string, value?: IdType, isRelativeValue = false) =>\n serializeSimpleFilter(field, 'eq', value, isRelativeValue),\n };\n /**\n * The `gt` operator.\n */\n public static readonly greaterThan: IFilterOperator = {\n name: 'greaterThan',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'gt', value, isRelativeValue),\n };\n /**\n * The `ge` operator.\n */\n public static readonly greaterThanOrEquals: IFilterOperator = {\n name: 'greaterThanOrEquals',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'ge', value, isRelativeValue),\n };\n /**\n * The `lt` operator.\n */\n public static readonly lessThan: IFilterOperator = {\n name: 'lessThan',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'lt', value, isRelativeValue),\n };\n /**\n * The `le` operator.\n */\n public static readonly lessThanOrEquals: IFilterOperator = {\n name: 'lessThanOrEquals',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'le', value, isRelativeValue),\n };\n /**\n * The `ne` operator.\n */\n public static readonly notEquals: IFilterOperator = {\n name: 'notEquals',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string => serializeSimpleFilter(field, 'ne', value, isRelativeValue),\n };\n /**\n * The `in` operator.\n */\n public static readonly in: IFilterOperator = {\n name: 'in',\n toODataString: (\n field: string,\n values?: IdType[],\n isRelativeValue = false,\n ): string => serializeArrayFilter(field, 'in', values, isRelativeValue),\n };\n /**\n * The `not in` operator.\n */\n public static readonly notIn: IFilterOperator = {\n name: 'notIn',\n toODataString: (\n field: string,\n values?: IdType[],\n isRelativeValue = false,\n ): string => serializeArrayFilter(field, 'not in', values, isRelativeValue),\n };\n /**\n * The `is not null` operator.\n */\n\n public static readonly notNull: IFilterOperator = {\n name: 'notNull',\n toODataString: (field: string): string => `${field} ne null`,\n };\n /**\n * The `is null` operator.\n */\n public static readonly isNull: IFilterOperator = {\n name: 'isNull',\n toODataString: (field: string): string => `${field} eq null`,\n };\n /**\n * The `contains` operator.\n */\n public static readonly contains: IFilterOperator = {\n name: 'contains',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'contains', value, isRelativeValue),\n };\n /**\n * The `not contain` operator.\n */\n public static readonly notContains: IFilterOperator = {\n name: 'notContains',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'not contains', value, isRelativeValue),\n };\n /**\n * The `ends with` operator.\n */\n public static readonly endsWith: IFilterOperator = {\n name: 'endswith',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'endswith', value, isRelativeValue),\n };\n /**\n * The `not ends with` operator.\n */\n public static readonly notEndsWith: IFilterOperator = {\n name: 'notEndsWith',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'not endswith', value, isRelativeValue),\n };\n /**\n * The `startswith` operator.\n */\n public static readonly startsWith: IFilterOperator = {\n name: 'startsWith',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'startswith', value, isRelativeValue),\n };\n /**\n * The `not start with` operator.\n */\n public static readonly notStartsWith: IFilterOperator = {\n name: 'notStartsWith',\n toODataString: (\n field: string,\n value?: IdType,\n isRelativeValue = false,\n ): string =>\n serializeFunctionFilter(field, 'not startswith', value, isRelativeValue),\n };\n /**\n * The `empty` operator.\n */\n public static readonly isEmpty: IFilterOperator = {\n name: 'isEmpty',\n toODataString: (field: string): string =>\n serializeSimpleFilter(field, 'eq', '', false),\n };\n /**\n * The `not empty` operator.\n */\n public static readonly notEmpty: IFilterOperator = {\n name: 'notEmpty',\n toODataString: (field: string): string =>\n serializeSimpleFilter(field, 'ne', '', false),\n };\n}\n\nexport const filterOperators: IFilterOperators = {\n contains: FilterOperators.contains,\n endsWith: FilterOperators.endsWith,\n endswith: FilterOperators.endsWith,\n equals: FilterOperators.equals,\n eq: FilterOperators.equals,\n dateIs: FilterOperators.equals,\n greaterThan: FilterOperators.greaterThan,\n gt: FilterOperators.greaterThan,\n dateAfter: FilterOperators.greaterThan,\n greaterThanOrEquals: FilterOperators.greaterThanOrEquals,\n gte: FilterOperators.greaterThanOrEquals,\n ge: FilterOperators.greaterThanOrEquals,\n in: FilterOperators.in,\n isEmpty: FilterOperators.isEmpty,\n isNull: FilterOperators.isNull,\n isnull: FilterOperators.isNull,\n lessThan: FilterOperators.lessThan,\n lt: FilterOperators.lessThan,\n dateBefore: FilterOperators.lessThan,\n lessThanOrEquals: FilterOperators.lessThanOrEquals,\n lte: FilterOperators.lessThanOrEquals,\n notContains: FilterOperators.notContains,\n doesnotcontain: FilterOperators.notContains,\n notEmpty: FilterOperators.notEmpty,\n isnotempty: FilterOperators.notEmpty,\n notEndsWith: FilterOperators.notEndsWith,\n notEquals: FilterOperators.notEquals,\n ne: FilterOperators.notEquals,\n neq: FilterOperators.notEquals,\n dateIsNot: FilterOperators.notEquals,\n notIn: FilterOperators.notIn,\n notNull: FilterOperators.notNull,\n isnotnull: FilterOperators.notNull,\n notStartsWith: FilterOperators.notStartsWith,\n startsWith: FilterOperators.startsWith,\n startswith: FilterOperators.startsWith,\n};\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport { IFilterOperator } from './filter-operator';\nimport { ICompositeFilter } from './composite-filter';\nimport { IChildFilter } from './child-filter';\n\n/**\n * A basic filter expression.\n */\nexport interface IFilter {\n /**\n * The data item field to which the filter operator is applied.\n */\n field: string;\n /**\n * The filter operator (comparison).\n *\n * The supported operators are:\n * * `FilterOperators.equalTo` (equal to)\n * * `FilterOperators.notEqualTo` (not equal to)\n * * `FilterOperators.isNull` (is equal to null)\n * * `FilterOperators.notNull` (is not equal to null)\n * * `FilterOperators.lessThan` (less than)\n * * `FilterOperators.lessThanOrEqualTo` (less than or equal to)\n * * `FilterOperators.greaterThan` (greater than)\n * * `FilterOperators.greaterThanOrEqualTo` (greater than or equal to)\n * * `FilterOperators.in` (specified value should be an array)\n * * `FilterOperators.notIn` (specified value should be an array)\n *\n * The following operators are supported for string fields only:\n * * `FilterOperators.startsWith`\n * * `FilterOperators.endsWith`\n * * `FilterOperators.contains`\n * * `FilterOperators.notContains`\n * * `FilterOperators.isEmpty`\n * * `FilterOperators.notempty`\n */\n operator: IFilterOperator | string;\n /**\n * The value to which the field is compared. Has to be of the same type as the field.\n */\n value?: IdType | IdType[] | boolean | null;\n /**\n * Determines if the string comparison is case-insensitive.\n */\n ignoreCase?: boolean;\n /**\n This is used to determine if the value being compared against a relative field (parentTable/idColumn) vs a static value ('12345').\n */\n isRelativeValue?: boolean;\n}\n\nexport function isFilter(\n source: ICompositeFilter | IFilter | IChildFilter | string,\n): source is IFilter {\n return !!(source as IFilter)?.field;\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 isODataResult<T extends { id?: IdType } | unknown>(\n source: unknown,\n): source is ODataResult<T> {\n return !!(source as ODataResult<T>)?.value;\n}\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport { IFilter, isFilter } from './filter';\nimport { IFilterOperator } from './filter-operator';\nimport { ICompositeFilter } from './composite-filter';\nimport { IChildFilter } from './child-filter';\nimport { FilterOperators } from './filter-operators';\n\nexport interface IArrayFilter extends IFilter {\n /**\n * The supported operators are:\n * * `FilterOperators.in` (specified value should be an array)\n * * `FilterOperators.notIn` (specified value should be an array)\n */\n operator: IFilterOperator | string;\n /**\n * The value to which the field is compared. Has to be of the same type as the field.\n */\n value?: IdType[] | null;\n}\n\nexport function isArrayFilter(\n source: ICompositeFilter | IFilter | IChildFilter | string,\n): source is IArrayFilter {\n return (\n isFilter(source) &&\n (source.operator === 'in' ||\n source.operator === 'notIn' ||\n source.operator === FilterOperators.in ||\n source.operator === FilterOperators.notIn)\n );\n}\n","import { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nimport { map } from 'rxjs/operators';\nimport { FetchOptions, ODataResult } from '../models';\n\nexport const mapData = <T extends object>(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 extends object>(\n collection: Array<T>,\n options: FetchOptions,\n): Array<T> {\n if (collection.length > 0) {\n const utcProps = Object.keys(collection[0]).filter((x) =>\n x.endsWith('Utc'),\n );\n const dateProps = Object.keys(collection[0]).filter(\n (x) => x.endsWith('Date') || x === 'date',\n );\n\n options.utcNullableProps?.forEach((t) => {\n if (!utcProps.includes(t)) {\n utcProps.push(t);\n }\n });\n\n options.dateNullableProps?.forEach((t) => {\n if (!dateProps.includes(t)) {\n dateProps.push(t);\n }\n });\n\n // prettier-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\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(\n dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC),\n );\n}\n","import { filterOperators } from '../models';\nimport { IFilterOperator } from '../models/filter-operator';\n\nexport const getFilterOperator = (operatorName: string): IFilterOperator =>\n filterOperators[operatorName];\n","import {\n IChildFilter,\n ICompositeFilter,\n IFilter,\n isArrayFilter,\n isChildFilter,\n isCompositeFilter,\n ODataQuery,\n} from '../models';\nimport { getFilterOperator } from './get-filter-operator';\n\nexport function processFilters(query: ODataQuery, queryString: string): string {\n if (!query.filter?.filters?.length) {\n return queryString;\n }\n const filterString = serializeCompositeFilter(query.filter);\n if (filterString === '()') {\n return queryString;\n }\n return `${queryString}&$filter=${filterString}`;\n}\n\nexport function serializeCompositeFilter(\n compositeFilter: ICompositeFilter,\n): string {\n const filterLogicSeparator = ` ${compositeFilter.logic} `;\n return `(${compositeFilter.filters\n .map((filter) => serializeFilterItem(filter))\n .filter((m) => m && m !== '()')\n .join(filterLogicSeparator)})`;\n}\nexport function serializeFilterItem(\n filter: IFilter | IChildFilter | ICompositeFilter,\n): string {\n if (isCompositeFilter(filter)) {\n const subFilters = filter.filters.filter((subFilter) =>\n isNotEmptyFilter(subFilter),\n );\n if (subFilters.length > 1) {\n return serializeCompositeFilter(filter);\n } else if (subFilters.length === 1) {\n return serializeFilterItem(subFilters[0]);\n } else {\n return '';\n }\n } else if (isNotEmptyFilter(filter)) {\n return serializeFilter(filter);\n }\n return '';\n}\n\nexport function isNotEmptyFilter(\n filter: IFilter | IChildFilter | ICompositeFilter,\n): boolean {\n if (isCompositeFilter(filter)) {\n return filter.filters.every((filter) => isNotEmptyFilter(filter));\n } else if (isArrayFilter(filter)) {\n return (\n filter.value !== undefined &&\n filter.value !== null &&\n filter.value.length > 0\n );\n } else {\n return (\n filter.field !== undefined &&\n filter.field !== null &&\n filter.field.length > 0\n );\n }\n}\n\nexport function serializeFilter(filter: IFilter | IChildFilter): string {\n const operator =\n typeof filter.operator === 'string'\n ? getFilterOperator(filter.operator)\n : getFilterOperator(filter.operator?.name || 'equals');\n const odataStringFunction = operator.toODataString;\n if (filter.field === undefined || filter.field === null) {\n return '';\n } else {\n const field = filter.field.replaceAll('.', '/');\n if (isChildFilter(filter)) {\n const childFieldName = `o/${field}`;\n return `${filter.childTable}/${\n filter.linqOperation\n }(o: ${odataStringFunction(childFieldName, filter.value as never, filter.isRelativeValue)})`;\n } else {\n return odataStringFunction(\n field,\n filter.value as never,\n filter.isRelativeValue,\n );\n }\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n Expander,\n FetchOptions,\n isExpander,\n ODataQuery,\n ODataResult,\n} from '../models';\nimport { mapData } from '../operators/map-data';\nimport { processFilters } from '../helpers/filter-processor';\n\nexport const uuidRegex = /T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/gi;\n@Injectable({\n providedIn: 'root',\n})\nexport class ODataClientService {\n private readonly httpClient = inject(HttpClient);\n\n public fetch<T extends object>(\n odataEndpoint: string,\n query: ODataQuery,\n options: FetchOptions = {},\n ): Observable<ODataResult<T>> {\n const queryStr = getODataString(query, options);\n return this.httpClient\n .get<ODataResult<T> | T[]>(`${odataEndpoint}?${queryStr}`)\n .pipe(mapData<T>(options));\n }\n}\n\nexport function getODataString(\n query: ODataQuery,\n options: FetchOptions = {},\n): string {\n let queryString = '';\n queryString = processFilters(query, queryString);\n queryString = processOrderBy(query, queryString);\n queryString = processSelectors(query, queryString);\n queryString = processExpanders(query, queryString);\n queryString = processSimpleParameters('top', query, queryString);\n queryString = processSimpleParameters('skip', query, queryString);\n queryString = processGuids(queryString);\n queryString = processDates(queryString);\n queryString = processCount(query, queryString);\n queryString = processCacheBusting(options, queryString);\n queryString = queryString.substring(1); // removing first &\n return queryString;\n}\n\nexport function processExpanders(\n query: ODataQuery,\n queryString: string,\n): string {\n if (query.expand && query.expand.length > 0) {\n const expansionStrings = query.expand.map((element) =>\n getExpansionString(element),\n );\n queryString += `&$expand=${expansionStrings.join(',')}`;\n }\n return queryString;\n}\n\nexport function getExpansionString(element: Expander): string {\n let result = '';\n if (!element) {\n return result;\n }\n if (typeof element === 'string') {\n result += element;\n } else {\n result += `${element.table}(`;\n const query: ODataQuery = {\n ...element,\n count: element.count ?? false,\n expand: undefined,\n };\n result += `${getODataString(query).replaceAll('&', ';')};`;\n if (element.expand) {\n const expanders = element.expand.map((expander) => {\n if (isExpander(expander)) {\n return getExpansionString(expander);\n }\n return expander;\n });\n result += `$expand=${expanders.join(',')};`;\n }\n result += ')';\n result = result\n .replace(/\\(;\\$expand=/, '($expand=') //Replaces empty expand \"(;$expand=\" with \"($expand=\"\n .replace(/\\$expand=;?\\)$/, ')') //Replaces empty expand \";$expand=;)\" or \";$expand=)\" with \")\"\n .replace(/\\(;\\)$/, '') //Removes empty expansion clause \"(;)\"\n .replace(/;\\)$/, ')'); //Replaces \";)\" with \")\"\n }\n return result;\n}\n\nexport function processOrderBy(query: ODataQuery, queryString: string): string {\n if (!query.orderBy?.length) {\n return queryString;\n }\n const sortString = query.orderBy\n .map((m) => `${m.field}${m.dir === 'desc' ? ' desc' : ''}`)\n .join(',');\n return `${queryString}&$orderby=${sortString}`;\n}\n\nexport function processSimpleParameters(\n parameterName: 'skip' | 'top',\n query: ODataQuery,\n queryString: string,\n): string {\n if (\n query[parameterName] ||\n (parameterName === 'top' && query[parameterName] === 0)\n ) {\n return `${queryString}&$${parameterName}=${query[parameterName]}`;\n }\n return queryString;\n}\nexport function processCacheBusting(\n options: FetchOptions,\n queryString: string,\n): string {\n if (options.bustCache) {\n const timeStamp = new Date().toISOString().replaceAll(/[-:.TZ]/g, '');\n return `${queryString}×tamp=${timeStamp}`;\n }\n return queryString;\n}\n\nexport function processCount(query: ODataQuery, queryString: string): string {\n if (query.count === false) {\n return queryString;\n }\n return `${queryString}&$count=true`;\n}\n\nexport function processDates(queryString: string): string {\n const dateRegex = /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(date, date.replaceAll(uuidRegex, ''))),\n );\n return queryString;\n}\n\nexport function 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.replaceAll(guid, guid.replaceAll(\"'\", ''))),\n );\n return queryString;\n}\n\nexport function processSelectors(\n state: ODataQuery,\n queryString: string,\n): string {\n if (state.select && state.select.length > 0) {\n return `${queryString}&$select=${state.select.join()}`;\n }\n return queryString;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { ODataClientService } from './services/odata-client.service';\n\n@NgModule({ imports: [CommonModule], providers: [ODataClientService, provideHttpClient(withInterceptorsFromDi())] })\nexport class ImngODataClientModule {}\n","import { IdType } from 'imng-nrsrx-client-utils';\nimport { ODataResult } from '../models/odata-result';\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}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "imng-odata-client",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.119.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "*",
|
|
6
6
|
"@angular/core": "*",
|
|
7
|
-
"imng-nrsrx-client-utils": "9.
|
|
7
|
+
"imng-nrsrx-client-utils": "9.119.2",
|
|
8
8
|
"rxjs": "*"
|
|
9
9
|
},
|
|
10
10
|
"keywords": [
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
"sideEffects": false,
|
|
38
|
+
"type": "module",
|
|
38
39
|
"dependencies": {
|
|
39
40
|
"tslib": "^2.3.0"
|
|
40
41
|
}
|