imng-kendo-odata
Version:
This library was generated with [Nx](https://nx.dev).
1 lines • 118 kB
Source Map (JSON)
{"version":3,"file":"imng-kendo-odata.mjs","sources":["../tmp-esm2022/lib/odata-result.js","../tmp-esm2022/lib/odata-payload.js","../tmp-esm2022/lib/odata-state.js","../tmp-esm2022/lib/odata-rxjs-operators.js","../tmp-esm2022/lib/isCompositeChildFilterDescriptor.js","../tmp-esm2022/lib/translate-child-filter-expression.js","../tmp-esm2022/lib/transform-child-filters.js","../tmp-esm2022/lib/translate-child-sorting-expression.js","../tmp-esm2022/lib/odata.service.js","../tmp-esm2022/lib/kendo-odata.module.js","../tmp-esm2022/lib/isFilterDescriptor.js","../tmp-esm2022/lib/find-filter.js","../tmp-esm2022/lib/replace-filter.js","../tmp-esm2022/lib/update-filter.js","../tmp-esm2022/lib/apply-filter.js","../tmp-esm2022/imng-kendo-odata.js"],"sourcesContent":["export const emptyODataResult = { data: [], total: 0 };\nexport function createEmptyODataResult() {\n return { data: Array(), total: 0 };\n}\nexport function createODataResult(t) {\n return {\n data: t,\n total: t?.length,\n };\n}\nexport function isODataResult(source) {\n return !!source?.data;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLW9kYXRhL3NyYy9saWIvb2RhdGEtcmVzdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUF5QixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzdFLE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDeEMsQ0FBQztBQUNELE1BQU0sVUFBVSxpQkFBaUIsQ0FBdUMsQ0FBTTtJQUM1RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU07S0FDakIsQ0FBQztBQUNKLENBQUM7QUFDRCxNQUFNLFVBQVUsYUFBYSxDQUF1QyxNQUFlO0lBQ2pGLE9BQU8sQ0FBQyxDQUFFLE1BQXlCLEVBQUUsSUFBSSxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhUmVzdWx0IH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9EYXRhUmVzdWx0PFQgZXh0ZW5kcyB7IGlkPzogSWRUeXBlOyB9IHwgdW5rbm93bj4gZXh0ZW5kcyBEYXRhUmVzdWx0IHtcbiAgZGF0YTogQXJyYXk8VD47XG4gIHRvdGFsOiBudW1iZXI7XG59XG5leHBvcnQgY29uc3QgZW1wdHlPRGF0YVJlc3VsdDogT0RhdGFSZXN1bHQ8dW5rbm93bj4gPSB7IGRhdGE6IFtdLCB0b3RhbDogMCB9O1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVtcHR5T0RhdGFSZXN1bHQ8VCBleHRlbmRzIHsgaWQ/OiBJZFR5cGU7IH0gfCB1bmtub3duPigpOiBPRGF0YVJlc3VsdDxUPiB7XG4gIHJldHVybiB7IGRhdGE6IEFycmF5PFQ+KCksIHRvdGFsOiAwIH07XG59XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlT0RhdGFSZXN1bHQ8VCBleHRlbmRzIHsgaWQ/OiBJZFR5cGU7IH0gfCB1bmtub3duPih0OiBUW10pOiBPRGF0YVJlc3VsdDxUPiB7XG4gIHJldHVybiB7XG4gICAgZGF0YTogdCxcbiAgICB0b3RhbDogdD8ubGVuZ3RoLFxuICB9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzT0RhdGFSZXN1bHQ8VCBleHRlbmRzIHsgaWQ/OiBJZFR5cGU7IH0gfCB1bmtub3duPihzb3VyY2U6IHVua25vd24pOiBzb3VyY2UgaXMgT0RhdGFSZXN1bHQ8VD4ge1xuICByZXR1cm4gISEoc291cmNlIGFzIE9EYXRhUmVzdWx0PFQ+KT8uZGF0YTtcbn1cbiJdfQ==","export function createODataPayload(resultSet) {\n return {\n ['@odata.count']: resultSet?.length,\n value: resultSet,\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtcGF5bG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1vZGF0YS9zcmMvbGliL29kYXRhLXBheWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxVQUFVLGtCQUFrQixDQUFJLFNBQWM7SUFDbEQsT0FBTztRQUNMLENBQUMsY0FBYyxDQUFDLEVBQUUsU0FBUyxFQUFFLE1BQU07UUFDbkMsS0FBSyxFQUFFLFNBQVM7S0FDakIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9EYXRhUGF5bG9hZDxUPiB7XG4gICdAb2RhdGEuY29udGV4dCc/OiBzdHJpbmc7XG4gICdAb2RhdGEuY291bnQnPzogbnVtYmVyO1xuICB2YWx1ZTogVFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlT0RhdGFQYXlsb2FkPFQ+KHJlc3VsdFNldDogVFtdKTogT0RhdGFQYXlsb2FkPFQ+IHtcbiAgcmV0dXJuIHtcbiAgICBbJ0BvZGF0YS5jb3VudCddOiByZXN1bHRTZXQ/Lmxlbmd0aCxcbiAgICB2YWx1ZTogcmVzdWx0U2V0LFxuICB9O1xufVxuIl19","export function isExpander(source) {\n return !!source?.table;\n}\nexport function isComputation(source) {\n return !!source?.operator;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tb2RhdGEvc3JjL2xpYi9vZGF0YS1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5RkEsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUF5QjtJQUNsRCxPQUFPLENBQUMsQ0FBRSxNQUFtQixFQUFFLEtBQUssQ0FBQztBQUN2QyxDQUFDO0FBQ0QsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsTUFBNEI7SUFFNUIsT0FBTyxDQUFDLENBQUUsTUFBc0IsRUFBRSxRQUFRLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFN0YXRlLFxuICBGaWx0ZXJEZXNjcmlwdG9yLFxuICBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yLFxuICBTb3J0RGVzY3JpcHRvcixcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9EYXRhU3RhdGUgZXh0ZW5kcyBTdGF0ZSB7XG4gIGV4cGFuZGVycz86IEFycmF5PEV4cGFuZGVyPjtcbiAgc2VsZWN0b3JzPzogc3RyaW5nW107XG4gIGluRmlsdGVycz86IEluRmlsdGVyW107XG4gIG5vdEluRmlsdGVycz86IEluRmlsdGVyW107XG4gIGNoaWxkRmlsdGVycz86IENvbXBvc2l0ZUNoaWxkRmlsdGVyRGVzY3JpcHRvcjtcbiAgY291bnQ/OiBib29sZWFuO1xuICB0cmFuc2Zvcm1hdGlvbnM/OiBzdHJpbmc7XG4gIGNvbXB1dGU/OiBBcnJheTxDb21wdXRhdGlvbiB8IHN0cmluZz47XG59XG5leHBvcnQgaW50ZXJmYWNlIENvbXB1dGF0aW9uIHtcbiAgLyoqIFRoaXMgY2FuIGFsc28gYmUgYSBzdGF0aWMgdmFsdWUgKi9cbiAgZmllbGRBOiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKiBUaGlzIGNhbiBhbHNvIGJlIGEgc3RhdGljIHZhbHVlICovXG4gIGZpZWxkQjogc3RyaW5nIHwgbnVtYmVyO1xuICBvcGVyYXRvcjogJ211bCcgfCAnZGl2JyB8ICdhZGQnIHwgJ3N1YicgfCAnbW9kJyB8IHN0cmluZzsgLy9OT1NPTkFSXG4gIC8qKiBUaGlzIE1VU1QgZGlmZmVyIGZyb20gdGhlIG5hbWVzIG9mIGRlY2xhcmVkIG9yIGR5bmFtaWMgcHJvcGVydGllcyBvZiB0aGUgaWRlbnRpZmllZCByZXNvdXJjZXMuICovXG4gIGFsaWFzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5GaWx0ZXIge1xuICAvKiogVGhpcyB2YWx1ZSB3aWxsIGRlZmF1bHQgdG8gJ2FuZCcgaW4gY2FzZXMgd2hlcmUgdGhlcmUgYXJlIGFkZGl0aW9uYWwgZmlsdGVycyBzcGVjaWZpZWQuICovXG4gIGxvZ2ljPzogJ29yJyB8ICdhbmQnO1xuICBmaWVsZDogc3RyaW5nO1xuICB2YWx1ZXM6IElkVHlwZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvc2l0ZUNoaWxkRmlsdGVyRGVzY3JpcHRvciB7XG4gIC8qKlxuICAgKiBUaGUgbG9naWNhbCBvcGVyYXRpb24gdG8gdXNlIHdoZW4gdGhlIGBmaWx0ZXIuZmlsdGVyc2Agb3B0aW9uIGlzIHNldC5cbiAgICpcbiAgICogVGhlIHN1cHBvcnRlZCB2YWx1ZXMgYXJlOlxuICAgKiAqIGBcImFuZFwiYFxuICAgKiAqIGBcIm9yXCJgXG4gICAqL1xuICBsb2dpYzogJ29yJyB8ICdhbmQnO1xuICAvKipcbiAgICpcbiAgICovXG4gIGZpbHRlcnM/OiBBcnJheTxDb21wb3NpdGVDaGlsZEZpbHRlckRlc2NyaXB0b3IgfCBDaGlsZEZpbHRlckRlc2NyaXB0b3I+O1xuICBleGlzdHNGaWx0ZXJzPzogQXJyYXk8Q2hpbGRFeGlzdHNGaWx0ZXJEZXNjcmlwdG9yPjtcbn1cbi8qKiBUaGlzIGlzIHVzZWQgdG8gZmlsdGVyIHJlY29yZHMgdGhhdCBoYXZlIGNoaWxkIHJlY29yZHMgdGhhdCBleGlzdHMgb3IgbWF0Y2ggYSBmaWx0ZXIuXG4gKiAgQFNlZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL29kYXRhL29kYXRhL3Y0LjAvZXJyYXRhMDMvb3MvY29tcGxldGUvcGFydDItdXJsLWNvbnZlbnRpb25zL29kYXRhLXY0LjAtZXJyYXRhMDMtb3MtcGFydDItdXJsLWNvbnZlbnRpb25zLWNvbXBsZXRlLmh0bWwjX1RvYzM3MTM0MTgwNn1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGlsZEV4aXN0c0ZpbHRlckRlc2NyaXB0b3Ige1xuICAvKiogIFRoaXMgc2hvdWxkIGJlIHRoZSBjaGlsZCB0YWJsZSBuYXZpZ2F0aW9uIHByb3BlcnR5ICovXG4gIGNoaWxkVGFibGVOYXZpZ2F0aW9uUHJvcGVydHk6IHN0cmluZztcbiAgLyoqIEZpbHRlciBleHByZXNzaW9uIHRvIGJlIHVzZWQsIHRoaXMgY2FuIGJlIHVuZGVmaW5lZFxuICAgKiBFeGFtcGxlOiAnY2hpbGRSZWNvcmQ6Y2hpbGRSZWNvcmQvUXVhbnRpdHkgZ3QgMTAwJ1xuICAgKi9cbiAgZmlsdGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhpcyBzaG91bGQgYmUgJ2FueScgb3IgJ2FsbCcgZm9yIGNoaWxkIHRhYmxlIG5hdmlnYXRpb24gcHJvcGVydGllcy5cbiAgICogJ2FsbCcgd2lsbCByZXR1cm4gcmVjb3JkcyBpZiBhbGwgY2hpbGQgcmVjb3JkcyBtYXRjaCB0aGUgZmlsdGVyLlxuICAgKiAnYW55JyB3aWxsIHJldHVybiByZWNvcmRzIGlmIGFueSBjaGlsZCByZWNvcmQgbWF0Y2hlcyB0aGUgZmlsdGVyLlxuICAgKiBAZGVmYXVsdCAnYW55J1xuICAgKiBAbm90ZSBJZiAnYWxsJyBpcyB1c2VkIGEgZmlsdGVyIGV4cHJlc3Npb24gbXVzdCBiZSBwcm92aWRlZC5cbiAgICovXG4gIGxpbnFPcGVyYXRpb24/OiAnYWxsJyB8ICdhbnknO1xufVxuZXhwb3J0IGludGVyZmFjZSBDaGlsZEZpbHRlckRlc2NyaXB0b3IgZXh0ZW5kcyBGaWx0ZXJEZXNjcmlwdG9yIHtcbiAgLyoqICBUaGlzIHNob3VsZCBiZSB0aGUgY2hpbGQgdGFibGUgbmF2aWdhdGlvbiBwcm9wZXJ0eSAqL1xuICBjaGlsZFRhYmxlTmF2aWdhdGlvblByb3BlcnR5OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGlzIHNob3VsZCBiZSAnYW55JyBvciAnYWxsJyBmb3IgY2hpbGQgdGFibGUgbmF2aWdhdGlvbiBwcm9wZXJ0aWVzLlxuICAgKiBJZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQsIGl0IHdpbGwgZGVmYXVsdCB0byAnYW55Jy5cbiAgICogJ2FsbCcgd2lsbCByZXR1cm4gcmVjb3JkcyBpZiBhbGwgY2hpbGQgcmVjb3JkcyBtYXRjaCB0aGUgZmlsdGVyLlxuICAgKiAnYW55JyB3aWxsIHJldHVybiByZWNvcmRzIGlmIGFueSBjaGlsZCByZWNvcmQgbWF0Y2hlcyB0aGUgZmlsdGVyLlxuICAgKi9cbiAgbGlucU9wZXJhdGlvbjogJ2FsbCcgfCAnYW55Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBhbmRlciB7XG4gIHRhYmxlOiBzdHJpbmc7XG4gIHNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICBleHBhbmRlcnM/OiBBcnJheTxFeHBhbmRlciB8IHN0cmluZz47XG4gIGZpbHRlcj86IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3I7XG4gIHNvcnQ/OiBBcnJheTxTb3J0RGVzY3JpcHRvcj47XG4gIGNvdW50PzogYm9vbGVhbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0V4cGFuZGVyKHNvdXJjZTogc3RyaW5nIHwgRXhwYW5kZXIpOiBzb3VyY2UgaXMgRXhwYW5kZXIge1xuICByZXR1cm4gISEoc291cmNlIGFzIEV4cGFuZGVyKT8udGFibGU7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNDb21wdXRhdGlvbihcbiAgc291cmNlOiBzdHJpbmcgfCBDb21wdXRhdGlvbixcbik6IHNvdXJjZSBpcyBDb21wdXRhdGlvbiB7XG4gIHJldHVybiAhIShzb3VyY2UgYXMgQ29tcHV0YXRpb24pPy5vcGVyYXRvcjtcbn1cbiJdfQ==","import { map, filter } from 'rxjs/operators';\nimport { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nexport const mapToExtDataResult = (utcNullableProps = [], dateNullableProps = []) => map((response) => {\n if (!response) {\n return { data: [], total: 0 };\n }\n const result = Array.isArray(response)\n ? {\n data: response,\n total: response.length,\n }\n : {\n data: response.value,\n total: response['@odata.count'],\n };\n result.data = parseDatesInCollection(result.data, utcNullableProps, dateNullableProps);\n return result;\n});\nexport const firstRecord = () => map((result) => result?.data?.length > 0 ? result.data[0] : {});\nexport const findById = (id, defaultValue = {}) => map((source) => source?.data?.find((f) => f.id === id) || defaultValue);\nexport function parseDatesInCollection(collection, utcNullableProps = [], dateNullableProps = []) {\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 utcNullableProps?.forEach((t) => {\n if (utcProps.indexOf(t) === -1) {\n utcProps.push(t);\n }\n });\n dateNullableProps?.forEach((t) => {\n if (dateProps.indexOf(t) === -1) {\n dateProps.push(t);\n }\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n collection.forEach((val) => {\n //NOSONAR\n utcProps\n .filter((p) => val[p])\n .forEach((p) => (val[p] = new Date(val[p])));\n dateProps\n .filter((p) => val[p])\n .forEach((p) => (val[p] = toLocalDate(val[p])));\n });\n }\n return collection;\n}\nexport function toLocalDate(date) {\n const dt = new Date(date);\n return new Date(dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC));\n}\nexport function getSubGridData(id, mappingFunction) {\n // tslint:disable-next-line: space-before-function-paren\n return function (source) {\n return source.pipe(map((t) => t.data.find((f) => f.id === id)), map((entity) => mappingFunction(entity)), filter((t) => !!t));\n };\n}\nexport function getSubData(id, mappingFunction) {\n // tslint:disable-next-line: space-before-function-paren\n return function (source) {\n return source.pipe(map((t) => t.find((f) => f.id === id)), map((entity) => mappingFunction(entity)), filter((t) => !!t));\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtcnhqcy1vcGVyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tb2RhdGEvc3JjL2xpYi9vZGF0YS1yeGpzLW9wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBVSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQ2hDLG1CQUE2QixFQUFFLEVBQy9CLG9CQUE4QixFQUFFLEVBQ2hDLEVBQUUsQ0FDRixHQUFHLENBQUMsQ0FBQyxRQUErQixFQUFFLEVBQUU7SUFDdEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNwQyxDQUFDLENBQUM7WUFDRSxJQUFJLEVBQUUsUUFBUTtZQUNkLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTTtTQUN2QjtRQUNILENBQUMsQ0FBRTtZQUNDLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSztZQUNwQixLQUFLLEVBQUUsUUFBUSxDQUFDLGNBQWMsQ0FBQztTQUNiLENBQUM7SUFDekIsTUFBTSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FDbEMsTUFBTSxDQUFDLElBQUksRUFDWCxnQkFBZ0IsRUFDaEIsaUJBQWlCLENBQ2xCLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxHQUFNLEVBQUUsQ0FDakMsR0FBRyxDQUFDLENBQUMsTUFBc0IsRUFBRSxF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b3J0IHsgT0RhdGFQYXlsb2FkIH0gZnJvbSAnLi9vZGF0YS1wYXlsb2FkJztcbmltcG9ydCB7IG1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT0RhdGFSZXN1bHQgfSBmcm9tICcuL29kYXRhLXJlc3VsdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJZFR5cGUsIE1JTExJX1NFQ1NfUEVSX1NFQyB9IGZyb20gJ2ltbmctbnJzcngtY2xpZW50LXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IG1hcFRvRXh0RGF0YVJlc3VsdCA9IDxUIGV4dGVuZHMgb2JqZWN0PihcbiAgdXRjTnVsbGFibGVQcm9wczogc3RyaW5nW10gPSBbXSxcbiAgZGF0ZU51bGxhYmxlUHJvcHM6IHN0cmluZ1tdID0gW10sXG4pID0+XG4gIG1hcCgocmVzcG9uc2U6IE9EYXRhUGF5bG9hZDxUPiB8IFRbXSkgPT4ge1xuICAgIGlmICghcmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiB7IGRhdGE6IFtdLCB0b3RhbDogMCB9O1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBBcnJheS5pc0FycmF5KHJlc3BvbnNlKVxuICAgICAgPyB7XG4gICAgICAgICAgZGF0YTogcmVzcG9uc2UsXG4gICAgICAgICAgdG90YWw6IHJlc3BvbnNlLmxlbmd0aCxcbiAgICAgICAgfVxuICAgICAgOiAoe1xuICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLnZhbHVlLFxuICAgICAgICAgIHRvdGFsOiByZXNwb25zZVsnQG9kYXRhLmNvdW50J10sXG4gICAgICAgIH0gYXMgT0RhdGFSZXN1bHQ8VD4pO1xuICAgIHJlc3VsdC5kYXRhID0gcGFyc2VEYXRlc0luQ29sbGVjdGlvbihcbiAgICAgIHJlc3VsdC5kYXRhLFxuICAgICAgdXRjTnVsbGFibGVQcm9wcyxcbiAgICAgIGRhdGVOdWxsYWJsZVByb3BzLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBmaXJzdFJlY29yZCA9IDxUPigpID0+XG4gIG1hcCgocmVzdWx0OiBPRGF0YVJlc3VsdDxUPikgPT5cbiAgICByZXN1bHQ/LmRhdGE/Lmxlbmd0aCA+IDAgPyByZXN1bHQuZGF0YVswXSA6ICh7fSBhcyBUKSxcbiAgKTtcblxuZXhwb3J0IGNvbnN0IGZpbmRCeUlkID0gPFQgZXh0ZW5kcyB7IGlkPzogSWRUeXBlIH0+KFxuICBpZD86IElkVHlwZSxcbiAgZGVmYXVsdFZhbHVlOiBUID0ge30gYXMgVCxcbikgPT5cbiAgbWFwKFxuICAgIChzb3VyY2U6IE9EYXRhUmVzdWx0PFQ+KSA9PlxuICAgICAgc291cmNlPy5kYXRhPy5maW5kKChmKSA9PiBmLmlkID09PSBpZCkgfHwgZGVmYXVsdFZhbHVlLFxuICApO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlc0luQ29sbGVjdGlvbjxUIGV4dGVuZHMgb2JqZWN0PihcbiAgY29sbGVjdGlvbjogQXJyYXk8VD4sXG4gIHV0Y051bGxhYmxlUHJvcHM6IHN0cmluZ1tdID0gW10sXG4gIGRhdGVOdWxsYWJsZVByb3BzOiBzdHJpbmdbXSA9IFtdLFxuKTogQXJyYXk8VD4ge1xuICBpZiAoY29sbGVjdGlvbj8ubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHV0Y1Byb3BzID0gT2JqZWN0LmtleXMoY29sbGVjdGlvblswXSkuZmlsdGVyKCh4KSA9PlxuICAgICAgeC5lbmRzV2l0aCgnVXRjJyksXG4gICAgKTtcbiAgICBjb25zdCBkYXRlUHJvcHMgPSBPYmplY3Qua2V5cyhjb2xsZWN0aW9uWzBdKS5maWx0ZXIoXG4gICAgICAoeCkgPT4geC5lbmRzV2l0aCgnRGF0ZScpIHx8IHggPT09ICdkYXRlJyxcbiAgICApO1xuXG4gICAgdXRjTnVsbGFibGVQcm9wcz8uZm9yRWFjaCgodCkgPT4ge1xuICAgICAgaWYgKHV0Y1Byb3BzLmluZGV4T2YodCkgPT09IC0xKSB7XG4gICAgICAgIHV0Y1Byb3BzLnB1c2godCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBkYXRlTnVsbGFibGVQcm9wcz8uZm9yRWFjaCgodCkgPT4ge1xuICAgICAgaWYgKGRhdGVQcm9wcy5pbmRleE9mKHQpID09PSAtMSkge1xuICAgICAgICBkYXRlUHJvcHMucHVzaCh0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgY29sbGVjdGlvbi5mb3JFYWNoKCh2YWw6IGFueSkgPT4ge1xuICAgICAgLy9OT1NPTkFSXG4gICAgICB1dGNQcm9wc1xuICAgICAgICAuZmlsdGVyKChwKSA9PiB2YWxbcF0pXG4gICAgICAgIC5mb3JFYWNoKChwKSA9PiAodmFsW3BdID0gbmV3IERhdGUodmFsW3BdKSkpO1xuICAgICAgZGF0ZVByb3BzXG4gICAgICAgIC5maWx0ZXIoKHApID0+IHZhbFtwXSlcbiAgICAgICAgLmZvckVhY2goKHApID0+ICh2YWxbcF0gPSB0b0xvY2FsRGF0ZSh2YWxbcF0pKSk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGNvbGxlY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0xvY2FsRGF0ZShkYXRlOiBzdHJpbmcpOiBEYXRlIHtcbiAgY29uc3QgZHQgPSBuZXcgRGF0ZShkYXRlKTtcbiAgcmV0dXJuIG5ldyBEYXRlKFxuICAgIGR0LmdldFRpbWUoKSArIE1hdGguYWJzKGR0LmdldFRpbWV6b25lT2Zmc2V0KCkgKiBNSUxMSV9TRUNTX1BFUl9TRUMpLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3ViR3JpZERhdGE8XG4gIFBBUkVOVF9FTlRJVFkgZXh0ZW5kcyB7IGlkPzogSWRUeXBlIH0sXG4gIFNVQl9FTlRJVFksXG4+KFxuICBpZDogSWRUeXBlIHwgdW5kZWZpbmVkLFxuICBtYXBwaW5nRnVuY3Rpb246IChlbnRpdHk6IFBBUkVOVF9FTlRJVFkpID0+IFNVQl9FTlRJVFlbXSxcbik6IChcbiAgc291cmNlOiBPYnNlcnZhYmxlPE9EYXRhUmVzdWx0PFBBUkVOVF9FTlRJVFk+PixcbikgPT4gT2JzZXJ2YWJsZTxTVUJfRU5USVRZW10+IHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBzcGFjZS1iZWZvcmUtZnVuY3Rpb24tcGFyZW5cbiAgcmV0dXJuIGZ1bmN0aW9uIChcbiAgICBzb3VyY2U6IE9ic2VydmFibGU8T0RhdGFSZXN1bHQ8UEFSRU5UX0VOVElUWT4+LFxuICApOiBPYnNlcnZhYmxlPFNVQl9FTlRJVFlbXT4ge1xuICAgIHJldHVybiBzb3VyY2UucGlwZShcbiAgICAgIG1hcCgodCkgPT4gdC5kYXRhLmZpbmQoKGYpID0+IGYuaWQgPT09IGlkKSBhcyBQQVJFTlRfRU5USVRZKSxcbiAgICAgIG1hcCgoZW50aXR5OiBQQVJFTlRfRU5USVRZKSA9PiBtYXBwaW5nRnVuY3Rpb24oZW50aXR5KSksXG4gICAgICBmaWx0ZXIoKHQpID0+ICEhdCksXG4gICAgKTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFN1YkRhdGE8UEFSRU5UX0VOVElUWSBleHRlbmRzIHsgaWQ/OiBJZFR5cGUgfSwgU1VCX0VOVElUWT4oXG4gIGlkOiBJZFR5cGUgfCB1bmRlZmluZWQsXG4gIG1hcHBpbmdGdW5jdGlvbjogKGVudGl0eTogUEFSRU5UX0VOVElUWSkgPT4gU1VCX0VOVElUWVtdLFxuKTogKHNvdXJjZTogT2JzZXJ2YWJsZTxBcnJheTxQQVJFTlRfRU5USVRZPj4pID0+IE9ic2VydmFibGU8U1VCX0VOVElUWVtdPiB7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogc3BhY2UtYmVmb3JlLWZ1bmN0aW9uLXBhcmVuXG4gIHJldHVybiBmdW5jdGlvbiAoXG4gICAgc291cmNlOiBPYnNlcnZhYmxlPEFycmF5PFBBUkVOVF9FTlRJVFk+PixcbiAgKTogT2JzZXJ2YWJsZTxTVUJfRU5USVRZW10+IHtcbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICBtYXAoKHQpID0+IHQuZmluZCgoZikgPT4gZi5pZCA9PT0gaWQpIGFzIFBBUkVOVF9FTlRJVFkpLFxuICAgICAgbWFwKChlbnRpdHk6IFBBUkVOVF9FTlRJVFkpID0+IG1hcHBpbmdGdW5jdGlvbihlbnRpdHkpKSxcbiAgICAgIGZpbHRlcigodCkgPT4gISF0KSxcbiAgICApO1xuICB9O1xufVxuIl19","export function isCompositeChildFilterDescriptor(source) {\n return !!source?.filters;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNDb21wb3NpdGVDaGlsZEZpbHRlckRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tb2RhdGEvc3JjL2xpYi9pc0NvbXBvc2l0ZUNoaWxkRmlsdGVyRGVzY3JpcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLE1BQThEO0lBRTlELE9BQU8sQ0FBQyxDQUFFLE1BQXlDLEVBQUUsT0FBTyxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb3NpdGVDaGlsZEZpbHRlckRlc2NyaXB0b3IsIENoaWxkRmlsdGVyRGVzY3JpcHRvciB9IGZyb20gJy4vb2RhdGEtc3RhdGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNDb21wb3NpdGVDaGlsZEZpbHRlckRlc2NyaXB0b3IoXG4gIHNvdXJjZTogQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yIHwgQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yLFxuKTogc291cmNlIGlzIENvbXBvc2l0ZUNoaWxkRmlsdGVyRGVzY3JpcHRvciB7XG4gIHJldHVybiAhIShzb3VyY2UgYXMgQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yKT8uZmlsdGVycztcbn1cbiJdfQ==","import { isCompositeFilterDescriptor, } from '@progress/kendo-data-query';\nimport { isCompositeChildFilterDescriptor } from './isCompositeChildFilterDescriptor';\nexport function translateChildFilterExpression(odataState, childTableProperty) {\n const childFieldString = `${childTableProperty.table}.${childTableProperty.field}`;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const filterPredicate = (filter) => {\n return filter.field === childFieldString;\n };\n const childTableFilter = odataState.filter?.filters.find((t) => isCompositeFilterDescriptor(t) && t.filters?.some(filterPredicate));\n if (childTableFilter && odataState.filter) {\n odataState.filter = {\n ...odataState.filter,\n filters: [\n ...odataState.filter.filters.filter((t) => isCompositeFilterDescriptor(t) && !t.filters?.some(filterPredicate)),\n ],\n };\n odataState.childFilters = {\n logic: odataState.childFilters?.logic || 'and',\n filters: odataState.childFilters?.filters?.filter((childFilterDescriptor) => !isCompositeChildFilterDescriptor(childFilterDescriptor) &&\n childFilterDescriptor.childTableNavigationProperty !==\n childTableProperty.table &&\n childFilterDescriptor.field !== childTableProperty.field) || [],\n };\n odataState.childFilters.filters?.push({\n logic: childTableFilter.logic,\n filters: childTableFilter?.filters?.map((filter) => ({\n ...filter,\n linqOperation: childTableProperty.linqOperation || 'any',\n childTableNavigationProperty: childTableProperty.table,\n field: childTableProperty.field,\n })),\n });\n }\n return odataState;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWNoaWxkLWZpbHRlci1leHByZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLW9kYXRhL3NyYy9saWIvdHJhbnNsYXRlLWNoaWxkLWZpbHRlci1leHByZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCwyQkFBMkIsR0FFNUIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU90RixNQUFNLFVBQVUsOEJBQThCLENBQzVDLFVBQXNCLEVBQ3RCLGtCQUEyQztJQUUzQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxJQUFJLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ25GLDhEQUE4RDtJQUM5RCxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQStDLEVBQUUsRUFBRTtRQUMxRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxnQkFBZ0IsR0FDcEIsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxDQUM3QixDQUFDLENBQStDLEVBQUUsRUFBRSxDQUNsRCwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDeEMsQ0FBQztJQUNqQyxJQUFJLGdCQUFnQixJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQyxVQUFVLENBQUMsTUFBTSxHQUFHO1lBQ2xCLEdBQUcsVUFBVSxDQUFDLE1BQU07WUFDcEIsT0FBTyxFQUFFO2dCQUNQLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUNqQyxDQUFDLENBQStDLEVBQUUsRUFBRSxDQUNsRCwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUN0RTthQUNGO1NBQ0YsQ0FBQztRQUNGLFVBQVUsQ0FBQyxZQUFZLEdBQUc7WUFDeEIsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsS0FBSyxJQUFJLEtBQUs7WUFDOUMsT0FBTyxFQUNMLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FDdEMsQ0FDRSxxQkFFa0MsRUFDbEMsRUFBRSxDQUNGLENBQUMsZ0NBQWdDLENBQUMscUJBQXFCLENBQUM7Z0JBQ3hELHFCQUFxQixDQUFDLDRCQUE0QjtvQkFDaEQsa0JBQWtCLENBQUMsS0FBSztnQkFDMUIscUJBQXFCLENBQUMsS0FBSyxLQUFLLGtCQUFrQixDQUFDLEtBQUssQ0FDM0QsSUFBSSxFQUFFO1NBQ1YsQ0FBQztRQUNGLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUNwQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsS0FBSztZQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FDckMsQ0FBQyxNQUFvRCxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxHQUFJLE1BQTJCO2dCQUMvQixhQUFhLEVBQUUsa0JBQWtCLENBQUMsYUFBYSxJQUFJLEtBQUs7Z0JBQ3hELDRCQUE0QixFQUFFLGtCQUFrQixDQUFDLEtBQUs7Z0JBQ3RELEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO2FBQ2hDLENBQUMsQ0FDSDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcixcbiAgRmlsdGVyRGVzY3JpcHRvcixcbiAgaXNDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yLFxuICBTb3J0RGVzY3JpcHRvcixcbn0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgQm91bmRDaGlsZFRhYmxlUHJvcGVydHkgfSBmcm9tICcuL2ZldGNoLW9wdGlvbnMnO1xuaW1wb3J0IHsgaXNDb21wb3NpdGVDaGlsZEZpbHRlckRlc2NyaXB0b3IgfSBmcm9tICcuL2lzQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yJztcbmltcG9ydCB7XG4gIENoaWxkRmlsdGVyRGVzY3JpcHRvcixcbiAgQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yLFxuICBPRGF0YVN0YXRlLFxufSBmcm9tICcuL29kYXRhLXN0YXRlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zbGF0ZUNoaWxkRmlsdGVyRXhwcmVzc2lvbihcbiAgb2RhdGFTdGF0ZTogT0RhdGFTdGF0ZSxcbiAgY2hpbGRUYWJsZVByb3BlcnR5OiBCb3VuZENoaWxkVGFibGVQcm9wZXJ0eSxcbik6IE9EYXRhU3RhdGUge1xuICBjb25zdCBjaGlsZEZpZWxkU3RyaW5nID0gYCR7Y2hpbGRUYWJsZVByb3BlcnR5LnRhYmxlfS4ke2NoaWxkVGFibGVQcm9wZXJ0eS5maWVsZH1gO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBjb25zdCBmaWx0ZXJQcmVkaWNhdGUgPSAoZmlsdGVyOiBGaWx0ZXJEZXNjcmlwdG9yIHwgU29ydERlc2NyaXB0b3IgfCBhbnkpID0+IHtcbiAgICByZXR1cm4gZmlsdGVyLmZpZWxkID09PSBjaGlsZEZpZWxkU3RyaW5nO1xuICB9O1xuICBjb25zdCBjaGlsZFRhYmxlRmlsdGVyOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yID1cbiAgICBvZGF0YVN0YXRlLmZpbHRlcj8uZmlsdGVycy5maW5kKFxuICAgICAgKHQ6IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IgfCBGaWx0ZXJEZXNjcmlwdG9yKSA9PlxuICAgICAgICBpc0NvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IodCkgJiYgdC5maWx0ZXJzPy5zb21lKGZpbHRlclByZWRpY2F0ZSksXG4gICAgKSBhcyBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yO1xuICBpZiAoY2hpbGRUYWJsZUZpbHRlciAmJiBvZGF0YVN0YXRlLmZpbHRlcikge1xuICAgIG9kYXRhU3RhdGUuZmlsdGVyID0ge1xuICAgICAgLi4ub2RhdGFTdGF0ZS5maWx0ZXIsXG4gICAgICBmaWx0ZXJzOiBbXG4gICAgICAgIC4uLm9kYXRhU3RhdGUuZmlsdGVyLmZpbHRlcnMuZmlsdGVyKFxuICAgICAgICAgICh0OiBGaWx0ZXJEZXNjcmlwdG9yIHwgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcikgPT5cbiAgICAgICAgICAgIGlzQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcih0KSAmJiAhdC5maWx0ZXJzPy5zb21lKGZpbHRlclByZWRpY2F0ZSksXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH07XG4gICAgb2RhdGFTdGF0ZS5jaGlsZEZpbHRlcnMgPSB7XG4gICAgICBsb2dpYzogb2RhdGFTdGF0ZS5jaGlsZEZpbHRlcnM/LmxvZ2ljIHx8ICdhbmQnLFxuICAgICAgZmlsdGVyczpcbiAgICAgICAgb2RhdGFTdGF0ZS5jaGlsZEZpbHRlcnM/LmZpbHRlcnM/LmZpbHRlcihcbiAgICAgICAgICAoXG4gICAgICAgICAgICBjaGlsZEZpbHRlckRlc2NyaXB0b3I6XG4gICAgICAgICAgICAgIHwgQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yXG4gICAgICAgICAgICAgIHwgQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yLFxuICAgICAgICAgICkgPT5cbiAgICAgICAgICAgICFpc0NvbXBvc2l0ZUNoaWxkRmlsdGVyRGVzY3JpcHRvcihjaGlsZEZpbHRlckRlc2NyaXB0b3IpICYmXG4gICAgICAgICAgICBjaGlsZEZpbHRlckRlc2NyaXB0b3IuY2hpbGRUYWJsZU5hdmlnYXRpb25Qcm9wZXJ0eSAhPT1cbiAgICAgICAgICAgICAgY2hpbGRUYWJsZVByb3BlcnR5LnRhYmxlICYmXG4gICAgICAgICAgICBjaGlsZEZpbHRlckRlc2NyaXB0b3IuZmllbGQgIT09IGNoaWxkVGFibGVQcm9wZXJ0eS5maWVsZCxcbiAgICAgICAgKSB8fCBbXSxcbiAgICB9O1xuICAgIG9kYXRhU3RhdGUuY2hpbGRGaWx0ZXJzLmZpbHRlcnM/LnB1c2goe1xuICAgICAgbG9naWM6IGNoaWxkVGFibGVGaWx0ZXIubG9naWMsXG4gICAgICBmaWx0ZXJzOiBjaGlsZFRhYmxlRmlsdGVyPy5maWx0ZXJzPy5tYXAoXG4gICAgICAgIChmaWx0ZXI6IEZpbHRlckRlc2NyaXB0b3IgfCBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKSA9PiAoe1xuICAgICAgICAgIC4uLihmaWx0ZXIgYXMgRmlsdGVyRGVzY3JpcHRvciksXG4gICAgICAgICAgbGlucU9wZXJhdGlvbjogY2hpbGRUYWJsZVByb3BlcnR5LmxpbnFPcGVyYXRpb24gfHwgJ2FueScsXG4gICAgICAgICAgY2hpbGRUYWJsZU5hdmlnYXRpb25Qcm9wZXJ0eTogY2hpbGRUYWJsZVByb3BlcnR5LnRhYmxlLFxuICAgICAgICAgIGZpZWxkOiBjaGlsZFRhYmxlUHJvcGVydHkuZmllbGQsXG4gICAgICAgIH0pLFxuICAgICAgKSxcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gb2RhdGFTdGF0ZTtcbn1cbiJdfQ==","import { isaNumber } from 'imng-nrsrx-client-utils';\nimport { isCompositeChildFilterDescriptor } from './isCompositeChildFilterDescriptor';\nimport { toODataString } from '@progress/kendo-data-query';\nexport const filterQueryStringParamLen = 8; //\"$filter=\"\nexport const stringFilterOperators = [\n `startswith`,\n `endswith`,\n `contains`,\n `doesnotcontain`,\n `isempty`,\n `isnotempty`,\n];\nexport function processChildFilterDescriptors(state, queryString) {\n if (!state.childFilters) {\n return queryString;\n }\n else {\n return transformCompositeChildFilter(state.childFilters, queryString);\n }\n}\nexport function transformChildExistsFilter(childExistsFilter, logic, queryString) {\n const filterString = `$filter=${childExistsFilter.childTableNavigationProperty}/${childExistsFilter.linqOperation ?? 'any'}(${childExistsFilter.filter ?? ''})`;\n if (queryString.match(/\\$filter=/)) {\n queryString = queryString.replace(/\\$filter=/, `${filterString} ${logic || 'and'} `);\n }\n else {\n queryString += `&${filterString}`;\n }\n return queryString;\n}\nexport function transformCompositeChildFilter(compositeChildFilter, queryString) {\n let tempFilterString = '';\n compositeChildFilter.filters\n ?.filter((filter) => !isCompositeChildFilterDescriptor(filter))\n .forEach((filter, index, array) => {\n tempFilterString += index === 0 && array.length > 1 ? '(' : '';\n tempFilterString += transformChildFilter(filter);\n if (index === array.length - 1 && array.length > 1) {\n tempFilterString += ')';\n }\n else if (index !== array.length - 1) {\n tempFilterString += ` ${compositeChildFilter.logic || 'and'} `;\n }\n });\n if (tempFilterString.length > 0) {\n if (queryString.match(/\\$filter=/)) {\n queryString = queryString.replace(/\\$filter=/, `$filter=${tempFilterString} and `);\n }\n else {\n queryString += `&$filter=${tempFilterString}`;\n }\n }\n compositeChildFilter.filters\n ?.filter((filter) => isCompositeChildFilterDescriptor(filter))\n .forEach((filter) => {\n queryString = transformCompositeChildFilter(filter, queryString);\n });\n compositeChildFilter.existsFilters?.forEach((filter) => {\n queryString = transformChildExistsFilter(filter, compositeChildFilter.logic, queryString);\n });\n return queryString;\n}\nexport function transformChildFilter(childFilter) {\n let filteringString;\n if (-1 < stringFilterOperators.findIndex((x) => x === childFilter.operator) &&\n !isaNumber(childFilter.value)) {\n filteringString = `${childFilter.operator}(o/${childFilter.field}, '${childFilter.value}')`;\n }\n else {\n filteringString = `o/${toODataString({\n filter: { logic: 'and', filters: [childFilter] },\n }).slice(filterQueryStringParamLen)}`;\n }\n return (`${childFilter.childTableNavigationProperty}/${childFilter.linqOperation}` +\n `(o: ${filteringString})`);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLWNoaWxkLWZpbHRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tb2RhdGEvc3JjL2xpYi90cmFuc2Zvcm0tY2hpbGQtZmlsdGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPcEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVk7QUFDeEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQWE7SUFDN0MsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0lBQ1YsZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxZQUFZO0NBQ2IsQ0FBQztBQUNGLE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsS0FBaUIsRUFDakIsV0FBbUI7SUFFbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sNkJBQTZCLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4RSxDQUFDO0FBQ0gsQ0FBQztBQUNELE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsaUJBQThDLEVBQzlDLEtBQStCLEVBQy9CLFdBQW1CO0lBRW5CLE1BQU0sWUFBWSxHQUFHLFdBQVcsaUJBQWlCLENBQUMsNEJBQTRCLElBQUksaUJBQWlCLENBQUMsYUFBYSxJQUFJLEtBQUssSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLElBQUksRUFBRSxHQUFHLENBQUM7SUFDaEssSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7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SUFDOUYsQ0FBQztTQUFNLENBQUM7UUFDTixlQUFlLEdBQUcsS0FBSyxhQUFhLENBQUM7WUFDbkMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRTtTQUNqRCxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsT0FBTyxDQUNMLEdBQUcsV0FBVyxDQUFDLDRCQUE0QixJQUFJLFdBQVcsQ0FBQyxhQUFhLEVBQUU7UUFDMUUsT0FBTyxlQUFlLEdBQUcsQ0FDMUIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc2FOdW1iZXIgfSBmcm9tICdpbW5nLW5yc3J4LWNsaWVudC11dGlscyc7XG5pbXBvcnQge1xuICBDaGlsZEV4aXN0c0ZpbHRlckRlc2NyaXB0b3IsXG4gIENoaWxkRmlsdGVyRGVzY3JpcHRvcixcbiAgQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yLFxuICBPRGF0YVN0YXRlLFxufSBmcm9tICcuL29kYXRhLXN0YXRlJztcbmltcG9ydCB7IGlzQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yIH0gZnJvbSAnLi9pc0NvbXBvc2l0ZUNoaWxkRmlsdGVyRGVzY3JpcHRvcic7XG5pbXBvcnQgeyB0b09EYXRhU3RyaW5nIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuZXhwb3J0IGNvbnN0IGZpbHRlclF1ZXJ5U3RyaW5nUGFyYW1MZW4gPSA4OyAvL1wiJGZpbHRlcj1cIlxuZXhwb3J0IGNvbnN0IHN0cmluZ0ZpbHRlck9wZXJhdG9yczogc3RyaW5nW10gPSBbXG4gIGBzdGFydHN3aXRoYCxcbiAgYGVuZHN3aXRoYCxcbiAgYGNvbnRhaW5zYCxcbiAgYGRvZXNub3Rjb250YWluYCxcbiAgYGlzZW1wdHlgLFxuICBgaXNub3RlbXB0eWAsXG5dO1xuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NDaGlsZEZpbHRlckRlc2NyaXB0b3JzKFxuICBzdGF0ZTogT0RhdGFTdGF0ZSxcbiAgcXVlcnlTdHJpbmc6IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGlmICghc3RhdGUuY2hpbGRGaWx0ZXJzKSB7XG4gICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB0cmFuc2Zvcm1Db21wb3NpdGVDaGlsZEZpbHRlcihzdGF0ZS5jaGlsZEZpbHRlcnMsIHF1ZXJ5U3RyaW5nKTtcbiAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUNoaWxkRXhpc3RzRmlsdGVyKFxuICBjaGlsZEV4aXN0c0ZpbHRlcjogQ2hpbGRFeGlzdHNGaWx0ZXJEZXNjcmlwdG9yLFxuICBsb2dpYzogJ2FuZCcgfCAnb3InIHwgdW5kZWZpbmVkLFxuICBxdWVyeVN0cmluZzogc3RyaW5nLFxuKTogc3RyaW5nIHtcbiAgY29uc3QgZmlsdGVyU3RyaW5nID0gYCRmaWx0ZXI9JHtjaGlsZEV4aXN0c0ZpbHRlci5jaGlsZFRhYmxlTmF2aWdhdGlvblByb3BlcnR5fS8ke2NoaWxkRXhpc3RzRmlsdGVyLmxpbnFPcGVyYXRpb24gPz8gJ2FueSd9KCR7Y2hpbGRFeGlzdHNGaWx0ZXIuZmlsdGVyID8/ICcnfSlgO1xuICBpZiAocXVlcnlTdHJpbmcubWF0Y2goL1xcJGZpbHRlcj0vKSkge1xuICAgIHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcucmVwbGFjZShcbiAgICAgIC9cXCRmaWx0ZXI9LyxcbiAgICAgIGAke2ZpbHRlclN0cmluZ30gJHtsb2dpYyB8fCAnYW5kJ30gYCxcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIHF1ZXJ5U3RyaW5nICs9IGAmJHtmaWx0ZXJTdHJpbmd9YDtcbiAgfVxuICByZXR1cm4gcXVlcnlTdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtQ29tcG9zaXRlQ2hpbGRGaWx0ZXIoXG4gIGNvbXBvc2l0ZUNoaWxkRmlsdGVyOiBDb21wb3NpdGVDaGlsZEZpbHRlckRlc2NyaXB0b3IsXG4gIHF1ZXJ5U3RyaW5nOiBzdHJpbmcsXG4pOiBzdHJpbmcge1xuICBsZXQgdGVtcEZpbHRlclN0cmluZyA9ICcnO1xuICBjb21wb3NpdGVDaGlsZEZpbHRlci5maWx0ZXJzXG4gICAgPy5maWx0ZXIoKGZpbHRlcikgPT4gIWlzQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yKGZpbHRlcikpXG4gICAgLmZvckVhY2goXG4gICAgICAoXG4gICAgICAgIGZpbHRlcjogQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yIHwgQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yLFxuICAgICAgICBpbmRleDogbnVtYmVyLFxuICAgICAgICBhcnJheTogKENoaWxkRmlsdGVyRGVzY3JpcHRvciB8IENvbXBvc2l0ZUNoaWxkRmlsdGVyRGVzY3JpcHRvcilbXSxcbiAgICAgICkgPT4ge1xuICAgICAgICB0ZW1wRmlsdGVyU3RyaW5nICs9IGluZGV4ID09PSAwICYmIGFycmF5Lmxlbmd0aCA+IDEgPyAnKCcgOiAnJztcbiAgICAgICAgdGVtcEZpbHRlclN0cmluZyArPSB0cmFuc2Zvcm1DaGlsZEZpbHRlcihcbiAgICAgICAgICBmaWx0ZXIgYXMgQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yLFxuICAgICAgICApO1xuICAgICAgICBpZiAoaW5kZXggPT09IGFycmF5Lmxlbmd0aCAtIDEgJiYgYXJyYXkubGVuZ3RoID4gMSkge1xuICAgICAgICAgIHRlbXBGaWx0ZXJTdHJpbmcgKz0gJyknO1xuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ICE9PSBhcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgdGVtcEZpbHRlclN0cmluZyArPSBgICR7Y29tcG9zaXRlQ2hpbGRGaWx0ZXIubG9naWMgfHwgJ2FuZCd9IGA7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgKTtcbiAgaWYgKHRlbXBGaWx0ZXJTdHJpbmcubGVuZ3RoID4gMCkge1xuICAgIGlmIChxdWVyeVN0cmluZy5tYXRjaCgvXFwkZmlsdGVyPS8pKSB7XG4gICAgICBxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nLnJlcGxhY2UoXG4gICAgICAgIC9cXCRmaWx0ZXI9LyxcbiAgICAgICAgYCRmaWx0ZXI9JHt0ZW1wRmlsdGVyU3RyaW5nfSBhbmQgYCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1ZXJ5U3RyaW5nICs9IGAmJGZpbHRlcj0ke3RlbXBGaWx0ZXJTdHJpbmd9YDtcbiAgICB9XG4gIH1cbiAgY29tcG9zaXRlQ2hpbGRGaWx0ZXIuZmlsdGVyc1xuICAgID8uZmlsdGVyKChmaWx0ZXIpID0+IGlzQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yKGZpbHRlcikpXG4gICAgLmZvckVhY2goXG4gICAgICAoZmlsdGVyOiBDb21wb3NpdGVDaGlsZEZpbHRlckRlc2NyaXB0b3IgfCBDaGlsZEZpbHRlckRlc2NyaXB0b3IpID0+IHtcbiAgICAgICAgcXVlcnlTdHJpbmcgPSB0cmFuc2Zvcm1Db21wb3NpdGVDaGlsZEZpbHRlcihcbiAgICAgICAgICBmaWx0ZXIgYXMgQ29tcG9zaXRlQ2hpbGRGaWx0ZXJEZXNjcmlwdG9yLFxuICAgICAgICAgIHF1ZXJ5U3RyaW5nLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICApO1xuICBjb21wb3NpdGVDaGlsZEZpbHRlci5leGlzdHNGaWx0ZXJzPy5mb3JFYWNoKFxuICAgIChmaWx0ZXI6IENoaWxkRXhpc3RzRmlsdGVyRGVzY3JpcHRvcikgPT4ge1xuICAgICAgcXVlcnlTdHJpbmcgPSB0cmFuc2Zvcm1DaGlsZEV4aXN0c0ZpbHRlcihcbiAgICAgICAgZmlsdGVyIGFzIENoaWxkRXhpc3RzRmlsdGVyRGVzY3JpcHRvcixcbiAgICAgICAgY29tcG9zaXRlQ2hpbGRGaWx0ZXIubG9naWMsXG4gICAgICAgIHF1ZXJ5U3RyaW5nLFxuICAgICAgKTtcbiAgICB9LFxuICApO1xuICByZXR1cm4gcXVlcnlTdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1DaGlsZEZpbHRlcihcbiAgY2hpbGRGaWx0ZXI6IENoaWxkRmlsdGVyRGVzY3JpcHRvcixcbik6IHN0cmluZyB7XG4gIGxldCBmaWx0ZXJpbmdTdHJpbmc6IHN0cmluZztcbiAgaWYgKFxuICAgIC0xIDwgc3RyaW5nRmlsdGVyT3BlcmF0b3JzLmZpbmRJbmRleCgoeCkgPT4geCA9PT0gY2hpbGRGaWx0ZXIub3BlcmF0b3IpICYmXG4gICAgIWlzYU51bWJlcihjaGlsZEZpbHRlci52YWx1ZSlcbiAgKSB7XG4gICAgZmlsdGVyaW5nU3RyaW5nID0gYCR7Y2hpbGRGaWx0ZXIub3BlcmF0b3J9KG8vJHtjaGlsZEZpbHRlci5maWVsZH0sICcke2NoaWxkRmlsdGVyLnZhbHVlfScpYDtcbiAgfSBlbHNlIHtcbiAgICBmaWx0ZXJpbmdTdHJpbmcgPSBgby8ke3RvT0RhdGFTdHJpbmcoe1xuICAgICAgZmlsdGVyOiB7IGxvZ2ljOiAnYW5kJywgZmlsdGVyczogW2NoaWxkRmlsdGVyXSB9LFxuICAgIH0pLnNsaWNlKGZpbHRlclF1ZXJ5U3RyaW5nUGFyYW1MZW4pfWA7XG4gIH1cbiAgcmV0dXJuIChcbiAgICBgJHtjaGlsZEZpbHRlci5jaGlsZFRhYmxlTmF2aWdhdGlvblByb3BlcnR5fS8ke2NoaWxkRmlsdGVyLmxpbnFPcGVyYXRpb259YCArXG4gICAgYChvOiAke2ZpbHRlcmluZ1N0cmluZ30pYFxuICApO1xufVxuIl19","import { isExpander } from './odata-state';\nimport { distinct } from 'imng-nrsrx-client-utils';\nexport function translateChildSortingExpression(odataState, childTableProperties) {\n if (!childTableProperties || childTableProperties.length === 0) {\n return odataState;\n }\n const childTableStrings = distinct(childTableProperties.map((x) => x.table));\n const childTablePropertyStrings = childTableProperties.map((x) => `${x.table}.${x.field}`);\n const filterPredicate = (x) => childTablePropertyStrings.indexOf(x.field) > -1;\n const sortedColumns = odataState.sort\n ?.filter(filterPredicate)\n .map((m) => ({ ...m, childProperty: m.field.split('.') }));\n if (sortedColumns && sortedColumns.length > 0) {\n odataState.sort = odataState.sort?.filter((x) => !filterPredicate(x));\n odataState.expanders = odataState.expanders?.map((m) => (isExpander(m) ? { ...m } : m));\n const expanders = odataState.expanders\n ?.filter((t) => childTableStrings.indexOf(t.table) > -1)\n .map((t) => {\n t.sort = (t.sort || []).filter((f) => !sortedColumns.find((s) => t.table === s.childProperty[0] && f.field === s.childProperty[1]));\n return t;\n });\n sortedColumns.forEach((x) => {\n const expander = expanders?.find((e) => e.table === x.childProperty[0]);\n expander?.sort?.push({ field: x.childProperty[1], dir: x.dir });\n });\n }\n return odataState;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWNoaWxkLXNvcnRpbmctZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1vZGF0YS9zcmMvbGliL3RyYW5zbGF0ZS1jaGlsZC1zb3J0aW5nLWV4cHJlc3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFZLFVBQVUsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkQsTUFBTSxVQUFVLCtCQUErQixDQUM3QyxVQUFzQixFQUN0QixvQkFBMkQ7SUFFM0QsSUFBSSxDQUFDLG9CQUFvQixJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsTUFBTSxpQkFBaUIsR0FBYSxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RixNQUFNLHlCQUF5QixHQUFhLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JHLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBaUIsRUFBRSxFQUFFLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRixNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsSUFBSTtRQUNuQyxFQUFFLE1BQU0sQ0FBQyxlQUFlLENBQUM7U0FDeEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdELElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDOUMsVUFBVSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RSxVQUFVLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTO1lBQ3BDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBVyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ2pFLEdBQUcsQ0FBQyxDQUFDLENBQVcsRUFBRSxFQUFFO1lBQ25CLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FDNUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNwRyxDQUFDO1lBQ0YsT0FBTyxDQUFDLENBQUM7UUFDWCxDQUFDLENBQUMsQ0FBQztRQUNMLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBRyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydERlc2NyaXB0b3IgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBCb3VuZENoaWxkVGFibGVQcm9wZXJ0eSB9IGZyb20gJy4vZmV0Y2gtb3B0aW9ucyc7XG5pbXBvcnQgeyBFeHBhbmRlciwgaXNFeHBhbmRlciwgT0RhdGFTdGF0ZSB9IGZyb20gJy4vb2RhdGEtc3RhdGUnO1xuaW1wb3J0IHsgZGlzdGluY3QgfSBmcm9tICdpbW5nLW5yc3J4LWNsaWVudC11dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGVDaGlsZFNvcnRpbmdFeHByZXNzaW9uKFxuICBvZGF0YVN0YXRlOiBPRGF0YVN0YXRlLFxuICBjaGlsZFRhYmxlUHJvcGVydGllczogQm91bmRDaGlsZFRhYmxlUHJvcGVydHlbXSB8IHVuZGVmaW5lZCxcbik6IE9EYXRhU3RhdGUge1xuICBpZiAoIWNoaWxkVGFibGVQcm9wZXJ0aWVzIHx8IGNoaWxkVGFibGVQcm9wZXJ0aWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBvZGF0YVN0YXRlO1xuICB9XG4gIGNvbnN0IGNoaWxkVGFibGVTdHJpbmdzOiBzdHJpbmdbXSA9IGRpc3RpbmN0KGNoaWxkVGFibGVQcm9wZXJ0aWVzLm1hcCgoeCkgPT4geC50YWJsZSkpO1xuICBjb25zdCBjaGlsZFRhYmxlUHJvcGVydHlTdHJpbmdzOiBzdHJpbmdbXSA9IGNoaWxkVGFibGVQcm9wZXJ0aWVzLm1hcCgoeCkgPT4gYCR7eC50YWJsZX0uJHt4LmZpZWxkfWApO1xuICBjb25zdCBmaWx0ZXJQcmVkaWNhdGUgPSAoeDogU29ydERlc2NyaXB0b3IpID0+IGNoaWxkVGFibGVQcm9wZXJ0eVN0cmluZ3MuaW5kZXhPZih4LmZpZWxkKSA+IC0xO1xuICBjb25zdCBzb3J0ZWRDb2x1bW5zID0gb2RhdGFTdGF0ZS5zb3J0XG4gICAgPy5maWx0ZXIoZmlsdGVyUHJlZGljYXRlKVxuICAgIC5tYXAoKG0pID0+ICh7IC4uLm0sIGNoaWxkUHJvcGVydHk6IG0uZmllbGQuc3BsaXQoJy4nKSB9KSk7XG4gIGlmIChzb3J0ZWRDb2x1bW5zICYmIHNvcnRlZENvbHVtbnMubGVuZ3RoID4gMCkge1xuICAgIG9kYXRhU3RhdGUuc29ydCA9IG9kYXRhU3RhdGUuc29ydD8uZmlsdGVyKCh4KSA9PiAhZmlsdGVyUHJlZGljYXRlKHgpKTtcblxuICAgIG9kYXRhU3RhdGUuZXhwYW5kZXJzID0gb2RhdGFTdGF0ZS5leHBhbmRlcnM/Lm1hcCgobSkgPT4gKGlzRXhwYW5kZXIobSkgPyB7IC4uLm0gfSA6IG0pKTtcbiAgICBjb25zdCBleHBhbmRlcnMgPSBvZGF0YVN0YXRlLmV4cGFuZGVyc1xuICAgICAgPy5maWx0ZXIoKHQ6IEV4cGFuZGVyKSA9PiBjaGlsZFRhYmxlU3RyaW5ncy5pbmRleE9mKHQudGFibGUpID4gLTEpXG4gICAgICAubWFwKCh0OiBFeHBhbmRlcikgPT4ge1xuICAgICAgICB0LnNvcnQgPSAodC5zb3J0IHx8IFtdKS5maWx0ZXIoXG4gICAgICAgICAgKGYpID0+ICFzb3J0ZWRDb2x1bW5zLmZpbmQoKHMpID0+IHQudGFibGUgPT09IHMuY2hpbGRQcm9wZXJ0eVswXSAmJiBmLmZpZWxkID09PSBzLmNoaWxkUHJvcGVydHlbMV0pLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdDtcbiAgICAgIH0pO1xuICAgIHNvcnRlZENvbHVtbnMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgY29uc3QgZXhwYW5kZXIgPSBleHBhbmRlcnM/LmZpbmQoKGUpID0+IGUudGFibGUgPT09IHguY2hpbGRQcm9wZXJ0eVswXSk7XG4gICAgICBleHBhbmRlcj8uc29ydD8ucHVzaCh7IGZpZWxkOiB4LmNoaWxkUHJvcGVydHlbMV0sIGRpcjogeC5kaXIgfSk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIG9kYXRhU3RhdGU7XG59XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { toODataString } from '@progress/kendo-data-query';\nimport { HttpClient } from '@angular/common/http';\nimport { isComputation, isExpander, } from './odata-state';\nimport { firstRecord, mapToExtDataResult } from './odata-rxjs-operators';\nimport { isaDate, isaNumber } from 'imng-nrsrx-client-utils';\nimport { translateChildFilterExpression } from './translate-child-filter-expression';\nimport { processChildFilterDescriptors } from './transform-child-filters';\nimport { translateChildSortingExpression } from './translate-child-sorting-expression';\nimport * as i0 from \"@angular/core\";\nexport class ODataService {\n constructor() {\n this.http = inject(HttpClient);\n }\n fetch(odataEndpoint, state, options = {}) {\n let tempState = { ...state };\n options.boundChildTableProperties?.forEach((prop) => (tempState = translateChildFilterExpression(tempState, prop)));\n tempState = translateChildSortingExpression(tempState, options.boundChildTableProperties);\n const countClause = tempState.count === false ? '' : '&$count=true';\n const cacheBustClause = options.bustCache === true\n ? `×tamp=${new Date().toISOString().replace(/[-:.TZ]/g, '')}`\n : '';\n const queryStr = `${this.getODataString(tempState)}${countClause}${cacheBustClause}`;\n return this.http\n .get(`${odataEndpoint}?${queryStr}${this.getAdditionalParams(options)}`)\n .pipe(mapToExtDataResult(options.utcNullableProps || [], options.dateNullableProps || []));\n }\n getAdditionalParams(options) {\n if (options.additionalParams) {\n const keys = Object.keys(options.additionalParams);\n const values = Object.values(options.additionalParams);\n const queryStringParams = keys.map((key, index) => `&${encodeURIComponent(key)}=${encodeURIComponent(values[index])}`);\n return queryStringParams.join('');\n }\n return '';\n }\n fetchByPrimaryKey(odataEndpoint, id, state) {\n const request = {\n expanders: state?.expanders,\n selectors: state?.selectors,\n filter: {\n logic: 'and',\n filters: [{ operator: 'eq', field: 'id', value: id }],\n },\n };\n const queryStr = this.getODataString(request);\n return this.http\n .get(`${odataEndpoint}?${queryStr}`)\n .pipe(mapToExtDataResult(), firstRecord());\n }\n getODataString(state) {\n let queryString = toODataString(state);\n queryString = this.processExpanders(state, queryString);\n queryString = this.processSelectors(state, queryString);\n queryString = processChildFilterDescriptors(state, queryString);\n queryString = this.processInFilters(state.inFilters, queryString, false);\n queryString = this.processInFilters(state.notInFilters, queryString, true);\n queryString = this.applyTransformations(state, queryString);\n queryString = this.processComputations(state, queryString);\n queryString = this.processGuids(queryString);\n queryString = this.processDates(queryString);\n return queryString;\n }\n applyTransformations(state, queryString) {\n if (state.transformations) {\n queryString += `&$apply=${state.transformations}`;\n }\n return queryString;\n }\n processDates(queryString) {\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;\n const dateMatches = [];\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((date) => (queryString = queryString.replace(date, date.replace(/T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g, ''))));\n return queryString;\n }\n processGuids(queryString) {\n const guidRegex = /'[\\dA-F]{8}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{12}'/gi;\n let m;\n const guidMatches = [];\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((guid) => (queryString = queryString.replace(guid, guid.replace(/'/g, ''))));\n return queryString;\n }\n processSelectors(state, queryString) {\n if (state.selectors && state.selectors.length > 0) {\n queryString += `&$select=${state.selectors.join()}`;\n }\n return queryString;\n }\n processExpanders(state, queryString) {\n if (state.expanders && state.expanders.length > 0) {\n const expansionStrings = state.expanders.map((element) => this.getExpansionString(element));\n queryString += `&$expand=${expansionStrings.join(',')}`;\n }\n return queryString;\n }\n getExpansionString(element) {\n let result = '';\n if (!element) {\n return result;\n }\n if (typeof element === 'string') {\n result += element;\n }\n else {\n result += `${element.table}(`;\n if (element.selectors && element.selectors.length > 0) {\n result += `$select=${element.selectors.join()};`;\n }\n if (element.filter || element.sort) {\n const state = {\n sort: element.sort,\n filter: element.filter,\n };\n result += `${toODataString(state).replace('&', ';')};`;\n }\n if (element.expanders) {\n const expanders = element.expanders.map((expander) => {\n if (isExpander(expander)) {\n return this.getExpansionString(expander);\n }\n return expander;\n });\n result += `$expand=${expanders.join(',')};`;\n }\n if (element.count) {\n result += `${/[(;]$/.exec(result) ? '' : ';'}$count=true`;\n }\n result += ')';\n result = result.replace(/\\(\\)/, '').replace(/;\\)/, ')');\n }\n return result;\n }\n processInFilters(inFilters, queryString, isNotIn) {\n if (!inFilters) {\n return queryString;\n }\n inFilters.forEach((inFilter) => {\n const deDupedVals = Array.from(new Set(inFilter.values.filter((f) => f)));\n const inVals = deDupedVals\n .map((m) => {\n if (isaNumber(m)) {\n return `${m}`;\n }\n else if (isaDate(m)) {\n return `${m.toISOString()}`;\n }\n return `'${m}'`;\n })\n .join(',');\n const inFilterString = `(${inFilter.field} in (${inVals})${isNotIn ? ' eq false' : ''})`;\n if (!queryString || queryString.trim().length === 0) {\n queryString = `$filter=${inFilterString}`;\n }\n else if (queryString.match(/\\$filter=/)) {\n queryString = queryString.replace(/\\$filter=/, `$filter=${inFilterString} ${inFilter.logic ?? 'and'} `);\n }\n else {\n queryString = `${queryString}&$filter=${inFilterString}`;\n }\n });\n return queryString;\n }\n processComputations(state, queryString) {\n if (state.compute) {\n const computeStrings = state.compute\n .filter((f) => !isComputation(f))\n .map((f) => f.toString());\n computeStrings.push(...state.compute\n .filter(isComputation)\n .map((f) => `${f.fieldA} ${f.operator} ${f.fieldB} as ${f.alias}`));\n queryString = `$compute=${computeStrings.join(',')}${queryString}`;\n }\n return queryString;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1vZGF0YS9zcmMvbGliL29kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFTLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBR0wsYUFBYSxFQUNiLFVBQVUsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFNdkYsTUFBTSxPQUFPLFlBQVk7SUFIekI7UUFJbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQStPNUM7SUE3T1EsS0FBSyxDQUNWLGFBQXFCLEVBQ3JCLEtBQWlCLEVBQ2pCLFVBQXdCLEVBQUU7UUFFMUIsSUFBSSxTQUFTLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQzdCLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxPQUFPLENBQ3hDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyw4QkFBOEIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FDeEUsQ0FBQztRQUNGLFNBQVMsR0FBRywr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aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGF0ZSwgdG9PRGF0YVN0cmluZyB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge1xuICBFeHBhbmRlcixcbiAgSW5GaWx0ZXIsXG4gIGlzQ29tcHV0YXRpb24sXG4gIGlzRXhwYW5kZXIsXG4gIE9EYXRhU3RhdGUsXG59IGZyb20gJy4vb2RhdGEtc3RhdGUnO1xuaW1wb3J0IHsgT0RhdGFSZXN1bHQgfSBmcm9tICcuL29kYXRhLXJlc3VsdCc7XG5pbXBvcnQgeyBmaXJzdFJlY29yZCwgbWFwVG9FeHREYXRhUmVzdWx0IH0gZnJvbSAnLi9vZGF0YS1yeGpzLW9wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc2FEYXRlLCBpc2FOdW1iZXIgfSBmcm9tICdpbW5nLW5yc3J4LWNsaWVudC11dGlscyc7XG5pbXBvcnQgeyBGZXRjaE9wdGlvbnMgfSBmcm9tICcuL2ZldGNoLW9wdGlvbnMnO1xuaW1wb3J0IHsgdHJhbnNsYXRlQ2hpbGRGaWx0ZXJFeHByZXNzaW9uIH0gZnJvbSAnLi90cmFuc2xhdGUtY2hpbGQtZmlsdGVyLWV4cHJlc3Npb24nO1xuaW1wb3J0IHsgcHJvY2Vzc0NoaWxkRmlsdGVyRGVzY3JpcHRvcnMgfSBmcm9tICcuL3RyYW5zZm9ybS1jaGlsZC1maWx0ZXJzJztcbmltcG9ydCB7IHRyYW5zbGF0ZUNoaWxkU29ydGluZ0V4cHJlc3Npb24gfSBmcm9tICcuL3RyYW5zbGF0ZS1jaGlsZC1zb3J0aW5nLWV4cHJlc3Npb24nO1xuaW1wb3J0IHsgT0RhdGFQYXlsb2FkIH0gZnJvbSAnLi9vZGF0YS1wYXlsb2FkJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9EYXRhU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICBwdWJsaWMgZmV0Y2g8VCBleHRlbmRzIG9iamVjdD4oXG4gICAgb2RhdGFFbmRwb2ludDogc3RyaW5nLFxuICAgIHN0YXRlOiBPRGF0YVN0YXRlLFxuICAgIG9wdGlvbnM6IEZldGNoT3B0aW9ucyA9IHt9LFxuICApOiBPYnNlcnZhYmxlPE9EYXRhUmVzdWx0PFQ+PiB7XG4gICAgbGV0IHRlbXBTdGF0ZSA9IHsgLi4uc3RhdGUgfTtcbiAgICBvcHRpb25zLmJvdW5kQ2hpbGRUYWJsZVByb3BlcnRpZXM/LmZvckVhY2goXG4gICAgICAocHJvcCkgPT4gKHRlbXBTdGF0ZSA9IHRyYW5zbGF0ZUNoaWxkRmlsdGVyRXhwcmVzc2lvbih0ZW1wU3RhdGUsIHByb3ApKSxcbiAgICApO1xuICAgIHRlbXBTdGF0ZSA9IHRyYW5zbGF0ZUNoaWxkU29ydGluZ0V4cHJlc3Npb24oXG4gICAgICB0ZW1wU3RhdGUsXG4gICAgICBvcHRpb25zLmJvdW5kQ2hpbGRUYWJsZVByb3BlcnRpZXMsXG4gICAgKTtcbiAgICBjb25zdCBjb3VudENsYXVzZSA9IHRlbXBTdGF0ZS5jb3VudCA9PT0gZmFsc2UgPyAnJyA6ICcmJGNvdW50PXRydWUnO1xuICAgIGNvbnN0IGNhY2hlQnVzdENsYXVzZSA9XG4gICAgICBvcHRpb25zLmJ1c3RDYWNoZSA9PT0gdHJ1ZVxuICAgICAgICA/IGAmdGltZXN0YW1wPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1stOi5UWl0vZywgJycpfWBcbiAgICAgICAgOiAnJztcbiAgICBjb25zdCBxdWVyeVN0ciA9IGAke3RoaXMuZ2V0T0RhdGFTdHJpbmcoXG4gICAgICB0ZW1wU3RhdGUsXG4gICAgKX0ke2NvdW50Q2xhdXNlfSR7Y2FjaGVCdXN0Q2xhdXNlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxcbiAgICAgICAgT0RhdGFQYXlsb2FkPFQ+IHwgVFtdXG4gICAgICA+KGAke29kYXRhRW5kcG9pbnR9PyR7cXVlcnlTdHJ9JHt0aGlzLmdldEFkZGl0aW9uYWxQYXJhbXMob3B0aW9ucyl9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXBUb0V4dERhdGFSZXN1bHQ8VD4oXG4gICAgICAgICAgb3B0aW9ucy51dGNOdWxsYWJsZVByb3BzIHx8IFtdLFxuICAgICAgICAgIG9wdGlvbnMuZGF0ZU51bGxhYmxlUHJvcHMgfHwgW10sXG4gICAgICAgICksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEFkZGl0aW9uYWxQYXJhbXMob3B0aW9uczogRmV0Y2hPcHRpb25zKTogc3RyaW5nIHtcbiAgICBpZiAob3B0aW9ucy5hZGRpdGlvbmFsUGFyYW1zKSB7XG4gICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMob3B0aW9ucy5hZGRpdGlvbmFsUGFyYW1zKTtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IE9iamVjdC52YWx1ZXMob3B0aW9ucy5hZGRpdGlvbmFsUGFyYW1zKTtcbiAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nUGFyYW1zID0ga2V5cy5tYXAoXG4gICAgICAgIChrZXksIGluZGV4KSA9PlxuICAgICAgICAgIGAmJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsdWVzW2luZGV4XSl9YCxcbiAgICAgICk7XG4gICAgICByZXR1cm4gcXVlcnlTdHJpbmdQYXJhbXMuam9pbignJyk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaEJ5UHJpbWFyeUtleTxUIGV4dGVuZHMgb2JqZWN0PihcbiAgICBvZGF0YUVuZHBvaW50OiBzdHJpbmcsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBzdGF0ZT86IE9EYXRhU3RhdGUsXG4gICk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IHJlcXVlc3Q6IE9EYXRhU3RhdGUgPSB7XG4gICAgICBleHBhbmRlcnM6IHN0YXRlPy5leHBhbmRlcnMsXG4gICAgICBzZWxlY3RvcnM6IHN0YXRlPy5zZWxlY3RvcnMsXG4gICAgICBmaWx0ZXI6IHtcbiAgICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgICBmaWx0ZXJzOiBbeyBvcGVyYXRvcjogJ2VxJywgZmllbGQ6ICdpZCcsIHZhbHVlOiBpZCB9XSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0IHF1ZXJ5U3RyID0gdGhpcy5nZXRPRGF0YVN0cmluZyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PE9EYXRhUGF5bG9hZDxUPiB8IFRbXT4oYCR7b2RhdGFFbmRwb2ludH0/JHtxdWVyeVN0cn1gKVxuICAgICAgLnBpcGUobWFwVG9FeHREYXRhUmVzdWx0PFQ+KCksIGZpcnN0UmVjb3JkPFQ+KCkpO1xuICB9XG5cbiAgcHVibGljIGdldE9EYXRhU3RyaW5nKHN0YXRlOiBPRGF0YVN0YXRlKTogc3RyaW5nIHtcbiAgICBsZXQgcXVlcnlTdHJpbmcgPSB0b09EYXRhU3RyaW5nKHN0YXRlKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc0V4cGFuZGVycyhzdGF0ZSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzU2VsZWN0b3JzKHN0YXRlLCBxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSBwcm9jZXNzQ2hpbGRGaWx0ZXJEZXNjcmlwdG9ycyhzdGF0ZSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzSW5GaWx0ZXJzKHN0YXRlLmluRmlsdGVycywgcXVlcnlTdHJpbmcsIGZhbHNlKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc0luRmlsdGVycyhzdGF0ZS5ub3RJbkZpbHRlcnMsIHF1ZXJ5U3RyaW5nLCB0cnVlKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMuYXBwbHlUcmFuc2Zvcm1hdGlvbnMoc3RhdGUsIHF1ZXJ5U3RyaW5nKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc0NvbXB1dGF0aW9ucyhzdGF0ZSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzR3VpZHMocXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzRGF0ZXMocXVlcnlTdHJpbmcpO1xuICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyBhcHBseVRyYW5zZm9ybWF0aW9ucyhzdGF0ZTogT0RhdGFTdGF0ZSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHN0YXRlLnRyYW5zZm9ybWF0aW9ucykge1xuICAgICAgcXVlcnlTdHJpbmcgKz0gYCYkYXBwbHk9JHtzdGF0ZS50cmFuc2Zvcm1hdGlvbnN9YDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NEYXRlcyhxdWVyeVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlUmVnZXggPVxuICAgICAgL0RhdGUgW2UtdF17Mn0gXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn0uXFxkezN9Wi9nO1xuICAgIGxldCBtOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsO1xuICAgIGNvbnN0IGRhdGVNYXRjaGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHdoaWxlICgobSA9IGRhdGVSZWdleC5leGVjKHF1ZXJ5U3RyaW5nKSkgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGF2b2lkIGluZmluaXRlIGxvb3BzIHdpdGggemVyby13aWR0aCBtYXRjaGVzXG4gICAgICBpZiAobS5pbmRleCA9PT0gZGF0ZVJlZ2V4Lmxhc3RJbmRleCkge1xuICAgICAgICBkYXRlUmVnZXgubGFzdEluZGV4Kys7XG4gICAgICB9XG4gICAgICBtLmZvckVhY2goKG1hdGNoKSA9PiB7XG4gICAgICAgIGRhdGVNYXRjaGVzLnB1c2gobWF0Y2gpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGRhdGVNYXRjaGVzLmZvckVhY2goXG4gICAgICAoZGF0ZSkgPT5cbiAgICAgICAgKHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcucmVwbGFjZShcbiAgICAgICAgICBkYXRlLFxuICAgICAgICAgIGRhdGUucmVwbGFjZSgvVFxcZHsyfTpcXGR7Mn06XFxkezJ9LlxcZHszfVovZywgJycpLFxuICAgICAgICApKSxcbiAgICApO1xuICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzR3VpZHMocXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZ3VpZFJlZ2V4ID1cbiAgICAgIC8nW1xcZEEtRl17OH0tP1tcXGRBLUZdezR9LT9bXFxkQS1GXXs0fS0/W1xcZEEtRl17NH0tP1tcXGRBLUZdezEyfScvZ2k7XG4gICAgbGV0IG06IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XG4gICAgY29uc3QgZ3VpZE1hdGNoZXM6IHN0cmluZ1tdID0gW107XG4gICAgd2hpbGUgKChtID0gZ3VpZFJlZ2V4LmV4ZWMocXVlcnlTdHJpbmcpKSAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgdG8gYXZvaWQgaW5maW5pdGUgbG9vcHMgd2l0aCB6ZXJvLXdpZHRoIG1hdGNoZXNcbiAgICAgIGlmIChtLmluZGV4ID09PSBndWlkUmVnZXgubGFzdEluZGV4KSB7XG4gICAgICAgIGd1aWRSZWdleC5sYXN0SW5kZXgrKztcbiAgICAgIH1cbiAgICAgIG0uZm9yRWFjaCgobWF0Y2gpID0+IHtcbiAgICAgICAgZ3VpZE1hdGNoZXMucHVzaChtYXRjaCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZ3VpZE1hdGNoZXMuZm9yRWFjaChcbiAgICAgIChndWlkKSA9PlxuICAgICAgICAocXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZy5yZXBsYWNlKGd1aWQsIGd1aWQucmVwbGFjZSgvJy9nLCAnJykpKSxcbiAgICApO1xuICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzU2VsZWN0b3JzKHN0YXRlOiBPRGF0YVN0YXRlLCBxdWVyeVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoc3RhdGUuc2VsZWN0b3JzICYmIHN0YXRlLnNlbGVjdG9ycy5sZW5ndGggPiAwKSB7XG4gICAgICBxdWVyeVN0cmluZyArPSBgJiRzZWxlY3Q9JHtzdGF0ZS5zZWxlY3RvcnMuam9pbigpfWA7XG4gICAgfVxuICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzRXhwYW5kZXJzKHN0YXRlOiBPRGF0YVN0YXRlLCBxdWVyeVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoc3RhdGUuZXhwYW5kZXJzICYmIHN0YXRlLmV4cGFuZGVycy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBleHBhbnNpb25TdHJpbmdzID0gc3RhdGUuZXhwYW5kZXJzLm1hcCgoZWxlbWVudCkgPT5cbiAgICAgICAgdGhpcy5nZXRFeHBhbnNpb25TdHJpbmcoZWxlbWVudCksXG4gICAgICApO1xuICAgICAgcXVlcnlTdHJpbmcgKz0gYCYkZXhwYW5kPSR7ZXhwYW5zaW9uU3RyaW5ncy5qb2luKCcsJyl9YDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICB9XG5cbiAgcHVibGljIGdldEV4cGFuc2lvblN0cmluZyhlbGVtZW50OiBzdHJpbmcgfCBFeHBhbmRlcik6IHN0cmluZyB7XG4gICAgbGV0IHJlc3VsdCA9ICcnO1xuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgcmVzdWx0ICs9IGVsZW1lbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCArPSBgJHtlbGVtZW50LnRhYmxlfShgO1xuICAgICAgaWYgKGVsZW1lbnQuc2VsZWN0b3JzICYmIGVsZW1lbnQuc2VsZWN0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmVzdWx0ICs9IGAkc2VsZWN0PSR7ZWxlbWVudC5zZWxlY3RvcnMuam9pbigpfTtgO1xuICAgICAgfVxuICAgICAgaWYgKGVsZW1lbnQuZmlsdGVyIHx8IGVsZW1lbnQuc29ydCkge1xuICAgICAgICBjb25zdCBzdGF0ZTogU3RhdGUgPSB7XG4gICAgICAgICAgc29ydDogZWxlbWVudC5zb3J0LFxuICAgICAgICAgIGZpbHRlcjogZWxlbWVudC5maWx0ZXIsXG4gICAgICAgIH07XG4gICAgICAgIHJlc3VsdCArPSBgJHt0b09EYXRhU3RyaW5nKHN0YXRlKS5yZXBsYWNlKCcmJywgJzsnKX07YDtcbiAgICAgIH1cbiAgICAgIGlmIChlbGVtZW50LmV4cGFuZGVycykge1xuICAgICAgICBjb25zdCBleHBhbmRlcnMgPSBlbGVtZW50LmV4cGFuZGVycy5tYXAoKGV4cGFuZGVyKSA9PiB7XG4gICAgICAgICAgaWYgKGlzRXhwYW5kZXIoZXhwYW5kZXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFeHBhbnNpb25TdHJpbmcoZXhwYW5kZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXhwYW5kZXI7XG4gICAgICAgIH0pO1xuICAgICAgICByZXN1bHQgKz0gYCRleHBhbmQ9JHtleHBhbmRlcnMuam9pbignLCcpfTtgO1xuICAgICAgfVxuICAgICAgaWYgKGVsZW1lbnQuY291bnQpIHtcbiAgICAgICAgcmVzdWx0ICs9IGAkey9bKDtdJC8uZXhlYyhyZXN1bHQpID8gJycgOiAnOyd9JGNvdW50PXRydWVgO1xuICAgICAgfVxuICAgICAgcmVzdWx0ICs9ICcpJztcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKC9cXChcXCkvLCAnJykucmVwbGFjZSgvO1xcKS8sICcpJyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0luRmlsdGVycyhcbiAgICBpbkZpbHRlcnM6IEluRmlsdGVyW10gfCB1bmRlZmluZWQsXG4gICAgcXVlcnlTdHJpbmc6IHN0cmluZyxcbiAgICBpc05vdEluOiBib29sZWFuLFxuICApOiBzdHJpbmcge1xuICAgIGlmICghaW5GaWx0ZXJzKSB7XG4gICAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gICAgfVxuICAgIGluRmlsdGVycy5mb3JFYWNoKChpbkZpbHRlcikgPT4ge1xuICAgICAgY29uc3QgZGVEdXBlZFZhbHMgPSBBcnJheS5mcm9tKG5ldyBTZXQoaW5GaWx0ZXIudmFsdWVzLmZpbHRlcigoZikgPT4gZikpKTtcbiAgICAgIGNvbnN0IGluVmFscyA9IGRlRHVwZWRWYWxzXG4gICAgICAgIC5tYXAoKG0pID0+IHtcbiAgICAgICAgICBpZiAoaXNhTnVtYmVyKG0pKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7bX1gO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNhRGF0ZShtKSkge1xuICAgICAgICAgICAgcmV0dXJuIGAke20udG9JU09TdHJpbmcoKX1gO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYCcke219J2A7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsJyk7XG4gICAgICBjb25zdCBpbkZpbHRlclN0cmluZyA9IGAoJHtpbkZpbHRlci5maWVsZH0gaW4gKCR7aW5WYWxzfSkke1xuICAgICAgICBpc05vdEluID8gJyBlcSBmYWxzZScgOiAnJ1xuICAgICAgfSlgO1xuICAgICAgaWYgKCFxdWVyeVN0cmluZyB8fCBxdWVyeVN0cmluZy50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHF1ZXJ5U3RyaW5nID0gYCRmaWx0ZXI9JHtpbkZpbHRlclN0cmluZ31gO1xuICAgICAgfSBlbHNlIGlmIChxdWVyeVN0cmluZy5tYXRjaCgvXFwkZmlsdGVyPS8pKSB7XG4gICAgICAgIHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcucmVwbGFjZShcbiAgICAgICAgICAvXFwkZmlsdGVyPS8sXG4gICAgICAgICAgYCRmaWx0ZXI9JHtpbkZpbHRlclN0cmluZ30gJHtpbkZpbHRlci5sb2dpYyA/PyAnYW5kJ30gYCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHF1ZXJ5U3RyaW5nID0gYCR7cXVlcnlTdHJpbmd9JiRmaWx0ZXI9JHtpbkZpbHRlclN0cmluZ31gO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzQ29tcHV0YXRpb25zKHN0YXRlOiBPRGF0YVN0YXRlLCBxdWVyeVN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoc3RhdGUuY29tcHV0ZSkge1xuICAgICAgY29uc3QgY29tcHV0ZVN0cmluZ3M6IHN0cmluZ1tdID0gc3RhdGUuY29tcHV0ZVxuICAgICAgICAuZmlsdGVyKChmKSA9PiAhaXNDb21wdXRhdGlvbihmKSlcbiAgICAgICAgLm1hcCgoZikgPT4gZi50b1N0cmluZygpKTtcbiAgICAgIGNvbXB1dGVTdHJpbmdzLnB1c2goXG4gICAgICAgIC4uLnN0YXRlLmNvbXB1dGVcbiAgICAgICAgICAuZmlsdGVyKGlzQ29tcHV0YXRpb24pXG4gICAgICAgICAgLm1hcCgoZikgPT4gYCR7Zi5maWVsZEF9ICR7Zi5vcGVyYXRvcn0gJHtmLmZpZWxkQn0gYXMgJHtmLmFsaWFzfWApLFxuICAgICAgKTtcbiAgICAgIHF1ZXJ5U3RyaW5nID0gYCRjb21wdXRlPSR7Y29tcHV0ZVN0cmluZ3Muam9pbignLCcpfSR7cXVlcnlTdHJpbmd9YDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ODataService } from './odata.service';\nimport * as i0 from \"@angular/core\";\nexport class ImngKendoODataModule {\n static forRoot() {\n return {\n ngModule: ImngKendoODataModule,\n providers: [ODataService],\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ImngKendoODataModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: ImngKendoODataModule, imports: [CommonModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ImngKendoODataModule, providers: [ODataService], imports: [CommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ImngKendoODataModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n providers: [ODataService],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZG8tb2RhdGEubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLW9kYXRhL3NyYy9saWIva2VuZG8tb2RhdGEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTS9DLE1BQU0sT0FBTyxvQkFBb0I7SUFDeEIsTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO1NBQzFCLENBQUM7SUFDSixDQUFDOzhHQU5VLG9CQUFvQjsrR0FBcEIsb0JBQW9CLFlBSHJCLFlBQVk7K0dBR1gsb0JBQW9CLGFBRnBCLENBQUMsWUFBWSxDQUFDLFlBRGYsWUFBWTs7MkZBR1gsb0JBQW9CO2tCQUpoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsU0FBUyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi9vZGF0YS5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW09EYXRhU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEltbmdLZW5kb09EYXRhTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SW1uZ0tlbmRvT0RhdGFNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IEltbmdLZW5kb09EYXRhTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbT0RhdGFTZXJ2aWNlXSxcbiAgICB9O1xuICB9XG59XG4iXX0=","export function isFilterDescriptor(source) {\n return !!source?.field;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNGaWx0ZXJEZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLW9kYXRhL3NyYy9saWIvaXNGaWx0ZXJEZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsTUFBNEU7SUFFNUUsT0FBTyxDQUFDLENBQUUsTUFBMkIsRUFBRSxLQUFLLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IsIEZpbHRlckRlc2NyaXB0b3IgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBDaGlsZEZpbHRlckRlc2NyaXB0b3IgfSBmcm9tICcuL29kYXRhLXN0YXRlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRmlsdGVyRGVzY3JpcHRvcihcbiAgc291cmNlOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIHwgRmlsdGVyRGVzY3JpcHRvciB8IENoaWxkRmlsdGVyRGVzY3JpcHRvcixcbik6IHNvdXJjZSBpcyBGaWx0ZXJEZXNjcmlwdG9yIHtcbiAgcmV0dXJuICEhKHNvdXJjZSBhcyBGaWx0ZXJEZXNjcmlwdG9yKT8uZmllbGQ7XG59XG4iXX0=","import { isCompositeFilterDescriptor } from '@progress/kendo-data-query';\nexport function findMatchingFilters(odataState, filterField) {\n if (!odataState.filter) {\n return;\n }\n return flattenCompositeFilters(odataState.filter).find((x) => x.field === filterField);\n}\nexport function flattenCompositeFilters(filters) {\n return filters.filters.map((x) => (isCompositeFilterDescriptor(x) ? flattenCompositeFilters(x) : [x])).flat();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tb2RhdGEvc3JjL2xpYi9maW5kLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStDLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHdEgsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFVBQXNCLEVBQUUsV0FBbUI7SUFDN0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN2QixPQUFPO0lBQ1QsQ0FBQztJQUNELE9BQU8sdUJBQXVCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQztBQUN6RixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQWtDO0lBQ3hFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNoSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciwgRmlsdGVyRGVzY3JpcHRvciwgaXNDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgT0RhdGFTdGF0ZSB9IGZyb20gJy4vb2RhdGEtc3RhdGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZmluZE1hdGNoaW5nRmlsdGVycyhvZGF0YVN0YXRlOiBPRGF0YVN0YXRlLCBmaWx0ZXJGaWVsZDogc3RyaW5nKTogRmlsdGVyRGVzY3JpcHRvciB8IHVuZGVmaW5lZCB7XG4gIGlmICghb2RhdGFTdGF0ZS5maWx0ZXIpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgcmV0dXJuIGZsYXR0ZW5Db21wb3NpdGVGaWx0ZXJzKG9kYXRhU3RhdGUuZmlsdGVyKS5maW5kKCh4KSA9PiB4LmZpZWxkID09PSBmaWx0ZXJGaWVsZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuQ29tcG9zaXRlRmlsdGVycyhmaWx0ZXJzOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKTogRmlsdGVyRGVzY3JpcHRvcltdIHtcbiAgcmV0dXJuIGZpbHRlcnMuZmlsdGVycy5tYXAoKHgpID0+IChpc0NvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IoeCkgPyBmbGF0dGVuQ29tcG9zaXRlRmlsdGVycyh4KSA6IFt4XSkpLmZsYXQoKTtcbn1cblxuXG4iXX0=","import { isCompositeFilterDescriptor } from '@progress/kendo-data-query';\nexport function removeMatchingFilters(odataState, filterField) {\n return {\n ...odataState,\n filter: !odataState.filter\n ? { logic: 'and', filters: [] }\n : { ...odataState.filter, filters: filterFilters(odataState.filter, filterField) },\n };\n}\nexport function filterFilters(filters, filterField) {\n return [\n ...(isCompositeFilterDescriptor(filters)\n ? filters.filters\n : filters).filter((m) => {\n if (isCompositeFilterDescriptor(m)) {\n m.filters = [...filterFilters(m.filters, filterField)];\n return true;\n }\n else {\n return m.field !== filterField;\n }\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2ltbmcta2VuZG8tb2RhdGEvc3JjL2xpYi9yZXBsYWNlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQStDLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHdEgsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFVBQXNCLEVBQUUsV0FBbUI7SUFDL0UsT0FBTztRQUNMLEdBQUcsVUFBVTtRQUNiLE1BQU0sRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQ3hCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRTtZQUMvQixDQUFDLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFO0tBQ3JGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsT0FBcUYsRUFDckYsV0FBbUI7SUFFbkIsT0FBTztRQUNMLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxPQUFvQyxDQUFDO1lBQ25FLENBQUMsQ0FBRSxPQUFxQyxDQUFDLE9BQU87WUFDaEQsQ0FBQyxDQUFFLE9BQTRELENBQ2hFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDYixJQUFJLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sQ0FBQyxDQUFDLEtBQUssS0FBSyxXQUFXLENBQUM7WUFDakMsQ0FBQztRQUNILENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciwgRmlsdGVyRGVzY3JpcHRvciwgaXNDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuaW1wb3J0IHsgT0RhdGFTdGF0ZSB9IGZyb20gJy4vb2RhdGEtc3RhdGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTWF0Y2hpbmdGaWx0ZXJzKG9kYXRhU3RhdGU6IE9EYXRhU3RhdGUsIGZpbHRlckZpZWxkOiBzdHJpbmcpOiBPRGF0YVN0YXRlIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5vZGF0YVN0YXRlLFxuICAgIGZpbHRlcjogIW9kYXRhU3RhdGUuZmlsdGVyXG4gICAgICA/IHsgbG9naWM6ICdhbmQnLCBmaWx0ZXJzOiBbXSB9XG4gICAgICA6IHsgLi4ub2RhdGFTdGF0ZS5maWx0ZXIsIGZpbHRlcnM6IGZpbHRlckZpbHRlcnMob2RhdGFTdGF0ZS5maWx0ZXIsIGZpbHRlckZpZWxkKSB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRmlsdGVycyhcbiAgZmlsdGVyczogKEZpbHRlckRlc2NyaXB0b3IgfCBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKVtdIHwgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcixcbiAgZmlsdGVyRmllbGQ6IHN0cmluZyxcbik6IChDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIHwgRmlsdGVyRGVzY3JpcHRvcilbXSB7XG4gIHJldHVybiBbXG4gICAgLi4uKGlzQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcihmaWx0ZXJzIGFzIENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IpXG4gICAgICA/IChmaWx0ZXJzIGFzIENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IpLmZpbHRlcnNcbiAgICAgIDogKGZpbHRlcnMgYXMgKEZpbHRlckRlc2NyaXB0b3IgfCBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKVtdKVxuICAgICkuZmlsdGVyKChtKSA9PiB7XG4gICAgICBpZiAoaXNDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKG0pKSB7XG4gICAgICAgIG0uZmlsdGVycyA9IFsuLi5maWx0ZXJGaWx0ZXJzKG0uZmlsdGVycywgZmlsdGVyRmllbGQpXTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gbS5maWVsZCAhPT0gZmlsdGVyRmllbGQ7XG4gICAgICB9XG4gICAgfSksXG4gIF07XG59XG4iXX0=","import { isCompositeFilterDescriptor } from '@progress/kendo-data-query';\nexport function updateFilter(compositefilter, newFilter) {\n compositefilter.filters.forEach(subFilter => {\n if (isCompositeFilterDescriptor(subFilter)) {\n updateFilter(subFilter, newFilter);\n }\n else if (subFilter.field === newFilter.field) {\n compositefilter = {\n ...compositefilter,\n filters: [...compositefilter.filters.filter(f => isCompositeFilterDescriptor(f) ||\n f.field !== newFilter.field), newFilter]\n };\n }\n });\n return compositefilter;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1vZGF0YS9zcmMvbGliL3VwZGF0ZS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQywyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRILE1BQU0sVUFBVSxZQUFZLENBQUMsZUFBMEMsRUFBRSxTQUEyQjtJQUNsRyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUMxQyxJQUFJLDJCQUEyQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDM0MsWUFBWSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvQyxlQUFlLEdBQUc7Z0JBQ2hCLEdBQUcsZUFBZTtnQkFDbEIsT0FBTyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQzt3QkFDN0UsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDO2FBQzNDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciwgRmlsdGVyRGVzY3JpcHRvciwgaXNDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWRhdGEtcXVlcnknO1xuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlRmlsdGVyKGNvbXBvc2l0ZWZpbHRlcjogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciwgbmV3RmlsdGVyOiBGaWx0ZXJEZXNjcmlwdG9yKTogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciB7XG4gIGNvbXBvc2l0ZWZpbHRlci5maWx0ZXJzLmZvckVhY2goc3ViRmlsdGVyID0+IHtcbiAgICBpZiAoaXNDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yKHN1YkZpbHRlcikpIHtcbiAgICAgIHVwZGF0ZUZpbHRlcihzdWJGaWx0ZXIsIG5ld0ZpbHRlcik7XG4gICAgfSBlbHNlIGlmIChzdWJGaWx0ZXIuZmllbGQgPT09IG5ld0ZpbHRlci5maWVsZCkge1xuICAgICAgY29tcG9zaXRlZmlsdGVyID0ge1xuICAgICAgICAuLi5jb21wb3NpdGVmaWx0ZXIsXG4gICAgICAgIGZpbHRlcnM6IFsuLi5jb21wb3NpdGVmaWx0ZXIuZmlsdGVycy5maWx0ZXIoZiA9PiBpc0NvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IoZikgfHxcbiAgICAgICAgICBmLmZpZWxkICE9PSBuZXdGaWx0ZXIuZmllbGQpLCBuZXdGaWx0ZXJdXG4gICAgICB9O1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiBjb21wb3NpdGVmaWx0ZXI7XG59XG4iXX0=","import { findMatchingFilters } from './find-filter';\nimport { updateFilter } from './update-filter';\nexport function applyFilter(odataState, filter) {\n if (!odataState.filter) {\n odataState.filter = { logic: 'and', filters: [] };\n }\n const matchedFilter = findMatchingFilters(odataState, filter.field);\n if (!matchedFilter) {\n odataState.filter.filters.push({\n logic: 'and',\n filters: [filter]\n });\n }\n else {\n updateFilter(odataState.filter, filter);\n }\n return odataState;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLWtlbmRvLW9kYXRhL3NyYy9saWIvYXBwbHktZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsTUFBTSxVQUFVLFdBQVcsQ0FBQyxVQUFzQixFQUFFLE1BQXdCO0lBQzFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFDRCxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQWUsQ0FBQyxDQUFDO0lBQzlFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDN0IsS0FBSyxFQUFFLEtBQUs7WUFDWixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUNJLENBQUM7UUFDSixZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlckRlc2NyaXB0b3IgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBmaW5kTWF0Y2hpbmdGaWx0ZXJzIH0gZnJvbSAnLi9maW5kLWZpbHRlcic7XG5pbXBvcnQgeyBPRGF0YVN0YXRlIH0gZnJvbSAnLi9vZGF0YS1zdGF0ZSc7XG5pbXBvcnQgeyB1cGRhdGVGaWx0ZXIgfSBmcm9tICcuL3VwZGF0ZS1maWx0ZXInO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlGaWx0ZXIob2RhdGFTdGF0ZTogT0RhdGFTdGF0ZSwgZmlsdGVyOiBGaWx0ZXJEZXNjcmlwdG9yKTogT0RhdGFTdGF0ZSB7XG4gIGlmICghb2RhdGFTdGF0ZS5maWx0ZXIpIHtcbiAgICBvZGF0YVN0YXRlLmZpbHRlciA9IHsgbG9naWM6ICdhbmQnLCBmaWx0ZXJzOiBbXSB9O1xuICB9XG4gIGNvbnN0IG1hdGNoZWRGaWx0ZXIgPSBmaW5kTWF0Y2hpbmdGaWx0ZXJzKG9kYXRhU3RhdGUsIGZpbHRlci5maWVsZCBhcyBzdHJpbmcpO1xuICBpZiAoIW1hdGNoZWRGaWx0ZXIpIHtcbiAgICBvZGF0YVN0YXRlLmZpbHRlci5maWx0ZXJzLnB1c2goe1xuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgZmlsdGVyczogW2ZpbHRlcl1cbiAgICB9KTtcbiAgfVxuICBlbHNlIHtcbiAgICB1cGRhdGVGaWx0ZXIob2RhdGFTdGF0ZS5maWx0ZXIsIGZpbHRlcik7XG4gIH1cbiAgcmV0dXJuIG9kYXRhU3RhdGU7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1rZW5kby1vZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvaW1uZy1rZW5kby1vZGF0YS9zcmMvaW1uZy1rZW5kby1vZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}