@mediusinc/mng-commons-data-api 6.2.0-rc.0 → 7.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"mediusinc-mng-commons-data-api.mjs","sources":["../../src/lib/helpers/get-all-params.ts","../../src/index.ts","../../src/mediusinc-mng-commons-data-api.ts"],"sourcesContent":["import {Observable} from 'rxjs';\n\nimport {\n ClassFunctionKeysWithParamAndReturnType,\n CommonsInternalError,\n DataListFilter,\n DataListParams,\n DataListResult,\n FilterMatchMode,\n dataListParamsFilterToUrlQuery,\n dataListParamsFiltersToUrlQuery,\n dataListParamsSortToUrlQuery,\n mapToDataList\n} from '@mediusinc/mng-commons/core';\n\nimport {\n GetAllParamsFilterMatchType,\n GetAllParamsFilterType,\n GetAllParamsType,\n GetAllParamsUrlQueryType,\n GetAllParamsUrlQueryWithFiltersInKeyType\n} from '../models/request-params.model';\n\n/**\n * Converts a filter match mode to its corresponding enum value.\n *\n * @param {string} matchMode - The filter match mode from data list filter to convert.\n * @returns {GetAllParamsFilterMatchType} - The converted enum value.\n * @throws {CommonsInternalError} - If the filter match mode is not supported.\n */\nexport function toGetAllParamsFilterMatchMode(matchMode: string): GetAllParamsFilterMatchType {\n switch (matchMode) {\n case FilterMatchMode.Equals:\n return 'EQUALS';\n case FilterMatchMode.NotEquals:\n return 'NOT_EQUALS';\n case FilterMatchMode.Contains:\n return 'CONTAINS';\n case FilterMatchMode.NotContains:\n return 'NOT_CONTAINS';\n case FilterMatchMode.In:\n return 'IN';\n case FilterMatchMode.NotIn:\n return 'NOT_IN';\n case FilterMatchMode.StartsWith:\n return 'STARTS_WITH';\n case FilterMatchMode.EndsWith:\n return 'ENDS_WITH';\n case FilterMatchMode.LessThan:\n return 'LESS_THAN';\n case FilterMatchMode.LessThanOrEqualTo:\n return 'LESS_THAN_OR_EQUAL_TO';\n case FilterMatchMode.GreaterThan:\n return 'GREATER_THAN';\n case FilterMatchMode.GreaterThanOrEqualTo:\n return 'GREATER_THAN_OR_EQUAL_TO';\n case FilterMatchMode.Between:\n return 'BETWEEN';\n case FilterMatchMode.Exists:\n return 'EXISTS';\n case FilterMatchMode.DoesNotExist:\n return 'DOES_NOT_EXIST';\n default:\n throw new CommonsInternalError(`Filter match type '${matchMode}' not supported.`);\n }\n}\n\nfunction toGetAllParamsAsUrlQueryCommon<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsUrlQueryType<Filters> {\n const res = {} as GetAllParamsUrlQueryType<Filters>;\n\n if (params.offset != null) {\n res.offset = params.offset;\n }\n if (params.limit != null) {\n res.limit = params.limit;\n }\n\n if (params.search != null && params.search !== '') {\n let caseSensitivityOption = 'ci';\n\n if (params.filters?.['global' as Filters]?.caseSensitive === true) {\n caseSensitivityOption = 'cs';\n }\n\n res.globalFilter = `${caseSensitivityOption}:${params.search}`;\n }\n\n if (Array.isArray(params.sort) && params.sort.length > 0) {\n res.sort = dataListParamsSortToUrlQuery(params as DataListParams);\n }\n\n return res;\n}\n\n/**\n * Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.\n *\n * @param {DataListParams} params - The parameters to convert.\n * @typeparam Sorts - The type of the sorting options for the data list.\n * @typeparam Filters - The type of the filters for the data list.\n * @returns {GetAllParamsUrlQueryType<Filters>} - Get all request param object with values as URL query string representation.\n */\nexport function toGetAllParamsAsUrlQuery<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsUrlQueryType<Filters> {\n const res = toGetAllParamsAsUrlQueryCommon(params);\n\n if (params.filters) {\n Object.keys(params.filters).forEach(key => {\n res[key as Filters] = dataListParamsFiltersToUrlQuery(params, key as Filters) as any;\n });\n }\n\n return res;\n}\n\n/**\n * Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.\n *\n * @param {DataListParams} params - The parameters to convert.\n * @param {FilterKey} filterKey - Property key for filter object.\n * @typeparam Sorts - The type of the sorting options for the data list.\n * @typeparam Filters - The type of the filters for the data list.\n * @typeparam FilterKey - The type representing property key where filters will be put to.\n * @returns {GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey, Filters>} - Get all request param object with values as URL query string representation.\n */\nexport function toGetAllParamsAsUrlQueryWithFiltersInProperty<Sorts, Filters extends keyof any, FilterKey extends string | number | symbol = 'filters'>(\n params: DataListParams<Sorts, Filters>,\n filterKey: FilterKey = 'filters' as FilterKey\n): GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey, Filters> {\n const res = toGetAllParamsAsUrlQueryCommon(params) as GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey, Filters>;\n\n if (params.filters && Object.keys(params.filters).length > 0) {\n (res as any)[filterKey] = {};\n Object.keys(params.filters).forEach(key => {\n (res as any)[filterKey][key as Filters] = dataListParamsFiltersToUrlQuery(params, key as Filters) as any;\n });\n }\n\n return res;\n}\n\n/**\n * Converts given parameters of a DataListParams object into a get all request param object with values as objects for POST requests.\n *\n * @param {DataListParams} params - The parameters to convert.\n * @typeparam Sorts - The type of the sorting options for the data list.\n * @typeparam Filters - The type of the filters for the data list.\n * @returns {GetAllParamsType<Sorts, Filters>} - Get all request param object with values as objects for POST requests.\n */\nexport function toGetAllParams<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsType<Sorts, Filters> {\n const res = {} as GetAllParamsType<Sorts, Filters>;\n\n if (params.offset != null) {\n res.offset = params.offset;\n }\n if (params.limit != null) {\n res.limit = params.limit;\n }\n\n if (params.search != null) {\n res.globalFilter = {\n value: params.search\n };\n }\n\n if (Array.isArray(params.sort) && params.sort.length > 0) {\n res.sort = params.sort.map(s => ({\n property: s.property,\n direction: s.ascending === true || s.ascending == null ? 'ASCENDING' : 'DESCENDING'\n }));\n }\n\n if (params.filters) {\n Object.keys(params.filters).forEach(key => {\n const paramsFilter = params.filters![key as Filters]!;\n if (!paramsFilter.matchMode) {\n return;\n }\n\n let value = Array.isArray(paramsFilter.value) ? undefined : paramsFilter.value;\n let values = Array.isArray(paramsFilter.value) ? paramsFilter.value : undefined;\n\n if (paramsFilter.matchMode === FilterMatchMode.Exists || paramsFilter.matchMode === FilterMatchMode.DoesNotExist) {\n value = undefined;\n values = undefined;\n } else if (paramsFilter.matchMode === FilterMatchMode.In || paramsFilter.matchMode === FilterMatchMode.NotIn) {\n if (values == null || values.length === 0) {\n throw new CommonsInternalError(`Filter with mode ${paramsFilter.matchMode} must have values in array, but has ${values}`);\n }\n } else if (paramsFilter.matchMode === FilterMatchMode.Between) {\n if (values == null || values.length !== 2) {\n throw new CommonsInternalError(`Filter with mode ${paramsFilter.matchMode} must have 2 values in array, but has ${values}`);\n }\n } else if (paramsFilter.value == null) {\n return;\n }\n\n const caseSensitivity = paramsFilter.caseSensitive ? 'CASE_SENSITIVE' : paramsFilter.caseSensitive === false ? 'CASE_INSENSITIVE' : undefined;\n const filter = <GetAllParamsFilterType<any>>{\n filterMatchType: toGetAllParamsFilterMatchMode(paramsFilter.matchMode)\n };\n\n if (value != null) {\n filter.value = value;\n }\n if (values != null && Array.isArray(values) && values.length > 0) {\n filter.values = values;\n }\n if (caseSensitivity != null) {\n filter.caseSensitivity = caseSensitivity;\n }\n\n (res as any)[key as Filters] = filter;\n });\n }\n\n return res;\n}\n\n/**\n * Converts DataListParams to sort query URL representation.\n *\n * @param {DataListParams} params - The params object with sort property to convert.\n * @returns {string | undefined} - The formatted sort query URL param or undefined.\n */\nexport function toGetAllSortAsQueryUrl(params?: DataListParams<any, any>): string | undefined {\n return dataListParamsSortToUrlQuery(params);\n}\n\n/**\n * Converts a DataListFilter object to a query URL string.\n *\n * @param {DataListFilter} filter - The filter object from params to convert.\n * @returns {string|undefined} - The formatted filter query URL param or undefined.\n */\nexport function toGetAllFilterAsQueryUrl(filter?: DataListFilter): string | undefined {\n return dataListParamsFilterToUrlQuery(filter);\n}\n\n/**\n * Executes the \"getAll\" on API service with request parameters.\n * Get all is expected to be executed via GET method using params as URL queries.\n *\n * @param {Service} service - The API service instance.\n * @param {Function} getAllFn - The \"getAll\" function on provided service instance.\n * @param {Object} params - The data list params.\n * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.\n */\nexport function executeGetAll<Service, Item, Sorts, Filters extends keyof any>(\n service: Service,\n getAllFn: (requestParameters: GetAllParamsUrlQueryType<Filters>) => Observable<{data?: Item[]; totalCount?: number}>,\n params: DataListParams<Sorts, Filters>\n): Observable<DataListResult<Item>> {\n return getAllFn.bind(service)(toGetAllParamsAsUrlQuery(params)).pipe(mapToDataList<Item>());\n}\n\n/**\n * Executes the \"getAll\" on API service with request parameters.\n * Get all is expected to be executed via GET method using params as URL queries.\n *\n * @param {Service} service - The API service instance.\n * @param {Function} getAllFn - The \"getAll\" function on provided service.\n * @param {Object} params - The data list params.\n * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.\n */\nexport function apiServiceGetAll<Service, Item, Sorts, Filters extends keyof any>(\n service: Service,\n fn: ClassFunctionKeysWithParamAndReturnType<Service, GetAllParamsUrlQueryType<Filters>, Observable<{data?: Item[]; totalCount?: number}>>,\n params: DataListParams<Sorts, Filters>\n): Observable<DataListResult<Item>> {\n return (service as any)[fn](toGetAllParamsAsUrlQuery(params)).pipe(mapToDataList<Item>());\n}\n\n/**\n * Executes the \"getAll\" on API service with request parameters.\n * Get all is expected to be executed via POST method using params as object in body of request.\n *\n * @param {Service} service - The API service instance.\n * @param {Function} getAllFn - The \"getAll\" function on provided service instance.\n * @param {Object} params - The data list params.\n * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.\n */\nexport function executeGetAllAsPost<Service, Item, Sorts, Filters extends keyof any>(\n service: Service,\n getAllFn: (requestParameters: GetAllParamsType<Sorts, Filters>) => Observable<{data?: Item[]; totalCount?: number}>,\n params: DataListParams<Sorts, Filters>\n): Observable<DataListResult<Item>> {\n return getAllFn.bind(service)(toGetAllParams(params)).pipe(mapToDataList<Item>());\n}\n","// helpers\nexport * from './lib/helpers/get-all-params';\n\n// models\nexport * from './lib/models/api-version.model';\nexport * from './lib/models/request-params.model';\nexport * from './lib/models/schema.model';\n\n// types\nexport * from './lib/types/extract-get-all-types.type';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mediusinc-mng-commons-data-api.mjs","sources":["../tmp-esm2022/lib/helpers/get-all-params.js","../tmp-esm2022/index.js","../tmp-esm2022/mediusinc-mng-commons-data-api.js"],"sourcesContent":["import { CommonsInternalError, FilterMatchMode, dataListParamsFilterToUrlQuery, dataListParamsFiltersToUrlQuery, dataListParamsSortToUrlQuery, mapToDataList } from '@mediusinc/mng-commons/core';\n/**\n * Converts a filter match mode to its corresponding enum value.\n *\n * @param {string} matchMode - The filter match mode from data list filter to convert.\n * @returns {GetAllParamsFilterMatchType} - The converted enum value.\n * @throws {CommonsInternalError} - If the filter match mode is not supported.\n */\nexport function toGetAllParamsFilterMatchMode(matchMode) {\n switch (matchMode) {\n case FilterMatchMode.Equals:\n return 'EQUALS';\n case FilterMatchMode.NotEquals:\n return 'NOT_EQUALS';\n case FilterMatchMode.Contains:\n return 'CONTAINS';\n case FilterMatchMode.NotContains:\n return 'NOT_CONTAINS';\n case FilterMatchMode.In:\n return 'IN';\n case FilterMatchMode.NotIn:\n return 'NOT_IN';\n case FilterMatchMode.StartsWith:\n return 'STARTS_WITH';\n case FilterMatchMode.EndsWith:\n return 'ENDS_WITH';\n case FilterMatchMode.LessThan:\n return 'LESS_THAN';\n case FilterMatchMode.LessThanOrEqualTo:\n return 'LESS_THAN_OR_EQUAL_TO';\n case FilterMatchMode.GreaterThan:\n return 'GREATER_THAN';\n case FilterMatchMode.GreaterThanOrEqualTo:\n return 'GREATER_THAN_OR_EQUAL_TO';\n case FilterMatchMode.Between:\n return 'BETWEEN';\n case FilterMatchMode.Exists:\n return 'EXISTS';\n case FilterMatchMode.DoesNotExist:\n return 'DOES_NOT_EXIST';\n default:\n throw new CommonsInternalError(`Filter match type '${matchMode}' not supported.`);\n }\n}\nfunction toGetAllParamsAsUrlQueryCommon(params) {\n const res = {};\n if (params.offset != null) {\n res.offset = params.offset;\n }\n if (params.limit != null) {\n res.limit = params.limit;\n }\n if (params.search != null && params.search !== '') {\n let caseSensitivityOption = 'ci';\n if (params.filters?.['global']?.caseSensitive === true) {\n caseSensitivityOption = 'cs';\n }\n res.globalFilter = `${caseSensitivityOption}:${params.search}`;\n }\n if (Array.isArray(params.sort) && params.sort.length > 0) {\n res.sort = dataListParamsSortToUrlQuery(params);\n }\n return res;\n}\n/**\n * Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.\n *\n * @param {DataListParams} params - The parameters to convert.\n * @typeparam Sorts - The type of the sorting options for the data list.\n * @typeparam Filters - The type of the filters for the data list.\n * @returns {GetAllParamsUrlQueryType<Filters>} - Get all request param object with values as URL query string representation.\n */\nexport function toGetAllParamsAsUrlQuery(params) {\n const res = toGetAllParamsAsUrlQueryCommon(params);\n if (params.filters) {\n Object.keys(params.filters).forEach(key => {\n res[key] = dataListParamsFiltersToUrlQuery(params, key);\n });\n }\n return res;\n}\n/**\n * Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.\n *\n * @param {DataListParams} params - The parameters to convert.\n * @param {FilterKey} filterKey - Property key for filter object.\n * @typeparam Sorts - The type of the sorting options for the data list.\n * @typeparam Filters - The type of the filters for the data list.\n * @typeparam FilterKey - The type representing property key where filters will be put to.\n * @returns {GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey, Filters>} - Get all request param object with values as URL query string representation.\n */\nexport function toGetAllParamsAsUrlQueryWithFiltersInProperty(params, filterKey = 'filters') {\n const res = toGetAllParamsAsUrlQueryCommon(params);\n if (params.filters && Object.keys(params.filters).length > 0) {\n res[filterKey] = {};\n Object.keys(params.filters).forEach(key => {\n res[filterKey][key] = dataListParamsFiltersToUrlQuery(params, key);\n });\n }\n return res;\n}\n/**\n * Converts given parameters of a DataListParams object into a get all request param object with values as objects for POST requests.\n *\n * @param {DataListParams} params - The parameters to convert.\n * @typeparam Sorts - The type of the sorting options for the data list.\n * @typeparam Filters - The type of the filters for the data list.\n * @returns {GetAllParamsType<Sorts, Filters>} - Get all request param object with values as objects for POST requests.\n */\nexport function toGetAllParams(params) {\n const res = {};\n if (params.offset != null) {\n res.offset = params.offset;\n }\n if (params.limit != null) {\n res.limit = params.limit;\n }\n if (params.search != null) {\n res.globalFilter = {\n value: params.search\n };\n }\n if (Array.isArray(params.sort) && params.sort.length > 0) {\n res.sort = params.sort.map(s => ({\n property: s.property,\n direction: s.ascending === true || s.ascending == null ? 'ASCENDING' : 'DESCENDING'\n }));\n }\n if (params.filters) {\n Object.keys(params.filters).forEach(key => {\n const paramsFilter = params.filters[key];\n if (!paramsFilter.matchMode) {\n return;\n }\n let value = Array.isArray(paramsFilter.value) ? undefined : paramsFilter.value;\n let values = Array.isArray(paramsFilter.value) ? paramsFilter.value : undefined;\n if (paramsFilter.matchMode === FilterMatchMode.Exists || paramsFilter.matchMode === FilterMatchMode.DoesNotExist) {\n value = undefined;\n values = undefined;\n }\n else if (paramsFilter.matchMode === FilterMatchMode.In || paramsFilter.matchMode === FilterMatchMode.NotIn) {\n if (values == null || values.length === 0) {\n throw new CommonsInternalError(`Filter with mode ${paramsFilter.matchMode} must have values in array, but has ${values}`);\n }\n }\n else if (paramsFilter.matchMode === FilterMatchMode.Between) {\n if (values == null || values.length !== 2) {\n throw new CommonsInternalError(`Filter with mode ${paramsFilter.matchMode} must have 2 values in array, but has ${values}`);\n }\n }\n else if (paramsFilter.value == null) {\n return;\n }\n const caseSensitivity = paramsFilter.caseSensitive ? 'CASE_SENSITIVE' : paramsFilter.caseSensitive === false ? 'CASE_INSENSITIVE' : undefined;\n const filter = {\n filterMatchType: toGetAllParamsFilterMatchMode(paramsFilter.matchMode)\n };\n if (value != null) {\n filter.value = value;\n }\n if (values != null && Array.isArray(values) && values.length > 0) {\n filter.values = values;\n }\n if (caseSensitivity != null) {\n filter.caseSensitivity = caseSensitivity;\n }\n res[key] = filter;\n });\n }\n return res;\n}\n/**\n * Converts DataListParams to sort query URL representation.\n *\n * @param {DataListParams} params - The params object with sort property to convert.\n * @returns {string | undefined} - The formatted sort query URL param or undefined.\n */\nexport function toGetAllSortAsQueryUrl(params) {\n return dataListParamsSortToUrlQuery(params);\n}\n/**\n * Converts a DataListFilter object to a query URL string.\n *\n * @param {DataListFilter} filter - The filter object from params to convert.\n * @returns {string|undefined} - The formatted filter query URL param or undefined.\n */\nexport function toGetAllFilterAsQueryUrl(filter) {\n return dataListParamsFilterToUrlQuery(filter);\n}\n/**\n * Executes the \"getAll\" on API service with request parameters.\n * Get all is expected to be executed via GET method using params as URL queries.\n *\n * @param {Service} service - The API service instance.\n * @param {Function} getAllFn - The \"getAll\" function on provided service instance.\n * @param {Object} params - The data list params.\n * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.\n */\nexport function executeGetAll(service, getAllFn, params) {\n return getAllFn.bind(service)(toGetAllParamsAsUrlQuery(params)).pipe(mapToDataList());\n}\n/**\n * Executes the \"getAll\" on API service with request parameters.\n * Get all is expected to be executed via GET method using params as URL queries.\n *\n * @param {Service} service - The API service instance.\n * @param {Function} getAllFn - The \"getAll\" function on provided service.\n * @param {Object} params - The data list params.\n * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.\n */\nexport function apiServiceGetAll(service, fn, params) {\n return service[fn](toGetAllParamsAsUrlQuery(params)).pipe(mapToDataList());\n}\n/**\n * Executes the \"getAll\" on API service with request parameters.\n * Get all is expected to be executed via POST method using params as object in body of request.\n *\n * @param {Service} service - The API service instance.\n * @param {Function} getAllFn - The \"getAll\" function on provided service instance.\n * @param {Object} params - The data list params.\n * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.\n */\nexport function executeGetAllAsPost(service, getAllFn, params) {\n return getAllFn.bind(service)(toGetAllParams(params)).pipe(mapToDataList());\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFsbC1wYXJhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvZ2V0LWFsbC1wYXJhbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUVILG9CQUFvQixFQUlwQixlQUFlLEVBQ2YsOEJBQThCLEVBQzlCLCtCQUErQixFQUMvQiw0QkFBNEIsRUFDNUIsYUFBYSxFQUNoQixNQUFNLDZCQUE2QixDQUFDO0FBVXJDOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxTQUFpQjtJQUMzRCxRQUFRLFNBQVMsRUFBRSxDQUFDO1FBQ2hCLEtBQUssZUFBZSxDQUFDLE1BQU07WUFDdkIsT0FBTyxRQUFRLENBQUM7UUFDcEIsS0FBSyxlQUFlLENBQUMsU0FBUztZQUMxQixPQUFPLFlBQVksQ0FBQztRQUN4QixLQUFLLGVBQWUsQ0FBQyxRQUFRO1lBQ3pCLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLEtBQUssZUFBZSxDQUFDLFdBQVc7WUFDNUIsT0FBTyxjQUFjLENBQUM7UUFDMUIsS0FBSyxlQUFlLENBQUMsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQztRQUNoQixLQUFLLGVBQWUsQ0FBQyxLQUFLO1lBQ3RCLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLEtBQUssZUFBZSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxhQUFhLENBQUM7UUFDekIsS0FBSyxlQUFlLENBQUMsUUFBUTtZQUN6QixPQUFPLFdBQVcsQ0FBQztRQUN2QixLQUFLLGVBQWUsQ0FBQyxRQUFRO1lBQ3pCLE9BQU8sV0FBVyxDQUFDO1FBQ3ZCLEtBQUssZUFBZSxDQUFDLGlCQUFpQjtZQUNsQyxPQUFPLHVCQUF1QixDQUFDO1FBQ25DLEtBQUssZUFBZSxDQUFDLFdBQVc7WUFDNUIsT0FBTyxjQUFjLENBQUM7UUFDMUIsS0FBSyxlQUFlLENBQUMsb0JBQW9CO1lBQ3JDLE9BQU8sMEJBQTBCLENBQUM7UUFDdEMsS0FBSyxlQUFlLENBQUMsT0FBTztZQUN4QixPQUFPLFNBQVMsQ0FBQztRQUNyQixLQUFLLGVBQWUsQ0FBQyxNQUFNO1lBQ3ZCLE9BQU8sUUFBUSxDQUFDO1FBQ3BCLEtBQUssZUFBZSxDQUFDLFlBQVk7WUFDN0IsT0FBTyxnQkFBZ0IsQ0FBQztRQUM1QjtZQUNJLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxzQkFBc0IsU0FBUyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzFGLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyw4QkFBOEIsQ0FBbUMsTUFBc0M7SUFDNUcsTUFBTSxHQUFHLEdBQUcsRUFBdUMsQ0FBQztJQUVwRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDaEQsSUFBSSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFakMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBbUIsQ0FBQyxFQUFFLGFBQWEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoRSxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQztRQUVELEdBQUcsQ0FBQyxZQUFZLEdBQUcsR0FBRyxxQkFBcUIsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkQsR0FBRyxDQUFDLElBQUksR0FBRyw0QkFBNEIsQ0FBQyxNQUF3QixDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQW1DLE1BQXNDO0lBQzdHLE1BQU0sR0FBRyxHQUFHLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5ELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QyxHQUFHLENBQUMsR0FBYyxDQUFDLEdBQUcsK0JBQStCLENBQUMsTUFBTSxFQUFFLEdBQWMsQ0FBUSxDQUFDO1FBQ3pGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSw2Q0FBNkMsQ0FDekQsTUFBc0MsRUFDdEMsWUFBdUIsU0FBc0I7SUFFN0MsTUFBTSxHQUFHLEdBQUcsOEJBQThCLENBQUMsTUFBTSxDQUFpRSxDQUFDO0lBRW5ILElBQUksTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUQsR0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckMsR0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQWMsQ0FBQyxHQUFHLCtCQUErQixDQUFDLE1BQU0sRUFBRSxHQUFjLENBQVEsQ0FBQztRQUM3RyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBbUMsTUFBc0M7SUFDbkcsTUFBTSxHQUFHLEdBQUcsRUFBc0MsQ0FBQztJQUVuRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsR0FBRyxDQUFDLFlBQVksR0FBRztZQUNmLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTTtTQUN2QixDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkQsR0FBRyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRO1lBQ3BCLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZO1NBQ3RGLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBUSxDQUFDLEdBQWMsQ0FBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzFCLE9BQU87WUFDWCxDQUFDO1lBRUQsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUMvRSxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBRWhGLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUMsTUFBTSxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMvRyxLQUFLLEdBQUcsU0FBUyxDQUFDO2dCQUNsQixNQUFNLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLENBQUM7aUJBQU0sSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLGVBQWUsQ0FBQyxFQUFFLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzNHLElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN4QyxNQUFNLElBQUksb0JBQW9CLENBQUMsb0JBQW9CLFlBQVksQ0FBQyxTQUFTLHVDQUF1QyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUM5SCxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM1RCxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxJQUFJLG9CQUFvQixDQUFDLG9CQUFvQixZQUFZLENBQUMsU0FBUyx5Q0FBeUMsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDaEksQ0FBQztZQUNMLENBQUM7aUJBQU0sSUFBSSxZQUFZLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNwQyxPQUFPO1lBQ1gsQ0FBQztZQUVELE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM5SSxNQUFNLE1BQU0sR0FBZ0M7Z0JBQ3hDLGVBQWUsRUFBRSw2QkFBNkIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO2FBQ3pFLENBQUM7WUFFRixJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDekIsQ0FBQztZQUNELElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQy9ELE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQzNCLENBQUM7WUFDRCxJQUFJLGVBQWUsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDMUIsTUFBTSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7WUFDN0MsQ0FBQztZQUVBLEdBQVcsQ0FBQyxHQUFjLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBaUM7SUFDcEUsT0FBTyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBdUI7SUFDNUQsT0FBTyw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUN6QixPQUFnQixFQUNoQixRQUFvSCxFQUNwSCxNQUFzQztJQUV0QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFRLENBQUMsQ0FBQztBQUNoRyxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzVCLE9BQWdCLEVBQ2hCLEVBQXlJLEVBQ3pJLE1BQXNDO0lBRXRDLE9BQVEsT0FBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBUSxDQUFDLENBQUM7QUFDOUYsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUMvQixPQUFnQixFQUNoQixRQUFtSCxFQUNuSCxNQUFzQztJQUV0QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBUSxDQUFDLENBQUM7QUFDdEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgQ2xhc3NGdW5jdGlvbktleXNXaXRoUGFyYW1BbmRSZXR1cm5UeXBlLFxuICAgIENvbW1vbnNJbnRlcm5hbEVycm9yLFxuICAgIERhdGFMaXN0RmlsdGVyLFxuICAgIERhdGFMaXN0UGFyYW1zLFxuICAgIERhdGFMaXN0UmVzdWx0LFxuICAgIEZpbHRlck1hdGNoTW9kZSxcbiAgICBkYXRhTGlzdFBhcmFtc0ZpbHRlclRvVXJsUXVlcnksXG4gICAgZGF0YUxpc3RQYXJhbXNGaWx0ZXJzVG9VcmxRdWVyeSxcbiAgICBkYXRhTGlzdFBhcmFtc1NvcnRUb1VybFF1ZXJ5LFxuICAgIG1hcFRvRGF0YUxpc3Rcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtcbiAgICBHZXRBbGxQYXJhbXNGaWx0ZXJNYXRjaFR5cGUsXG4gICAgR2V0QWxsUGFyYW1zRmlsdGVyVHlwZSxcbiAgICBHZXRBbGxQYXJhbXNUeXBlLFxuICAgIEdldEFsbFBhcmFtc1VybFF1ZXJ5VHlwZSxcbiAgICBHZXRBbGxQYXJhbXNVcmxRdWVyeVdpdGhGaWx0ZXJzSW5LZXlUeXBlXG59IGZyb20gJy4uL21vZGVscy9yZXF1ZXN0LXBhcmFtcy5tb2RlbCc7XG5cbi8qKlxuICogQ29udmVydHMgYSBmaWx0ZXIgbWF0Y2ggbW9kZSB0byBpdHMgY29ycmVzcG9uZGluZyBlbnVtIHZhbHVlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBtYXRjaE1vZGUgLSBUaGUgZmlsdGVyIG1hdGNoIG1vZGUgZnJvbSBkYXRhIGxpc3QgZmlsdGVyIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7R2V0QWxsUGFyYW1zRmlsdGVyTWF0Y2hUeXBlfSAtIFRoZSBjb252ZXJ0ZWQgZW51bSB2YWx1ZS5cbiAqIEB0aHJvd3Mge0NvbW1vbnNJbnRlcm5hbEVycm9yfSAtIElmIHRoZSBmaWx0ZXIgbWF0Y2ggbW9kZSBpcyBub3Qgc3VwcG9ydGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9HZXRBbGxQYXJhbXNGaWx0ZXJNYXRjaE1vZGUobWF0Y2hNb2RlOiBzdHJpbmcpOiBHZXRBbGxQYXJhbXNGaWx0ZXJNYXRjaFR5cGUge1xuICAgIHN3aXRjaCAobWF0Y2hNb2RlKSB7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkVxdWFsczpcbiAgICAgICAgICAgIHJldHVybiAnRVFVQUxTJztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuTm90RXF1YWxzOlxuICAgICAgICAgICAgcmV0dXJuICdOT1RfRVFVQUxTJztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuQ29udGFpbnM6XG4gICAgICAgICAgICByZXR1cm4gJ0NPTlRBSU5TJztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuTm90Q29udGFpbnM6XG4gICAgICAgICAgICByZXR1cm4gJ05PVF9DT05UQUlOUyc7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkluOlxuICAgICAgICAgICAgcmV0dXJuICdJTic7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLk5vdEluOlxuICAgICAgICAgICAgcmV0dXJuICdOT1RfSU4nO1xuICAgICAgICBjYXNlIEZpbHRlck1hdGNoTW9kZS5TdGFydHNXaXRoOlxuICAgICAgICAgICAgcmV0dXJuICdTVEFSVFNfV0lUSCc7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkVuZHNXaXRoOlxuICAgICAgICAgICAgcmV0dXJuICdFTkRTX1dJVEgnO1xuICAgICAgICBjYXNlIEZpbHRlck1hdGNoTW9kZS5MZXNzVGhhbjpcbiAgICAgICAgICAgIHJldHVybiAnTEVTU19USEFOJztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuTGVzc1RoYW5PckVxdWFsVG86XG4gICAgICAgICAgICByZXR1cm4gJ0xFU1NfVEhBTl9PUl9FUVVBTF9UTyc7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkdyZWF0ZXJUaGFuOlxuICAgICAgICAgICAgcmV0dXJuICdHUkVBVEVSX1RIQU4nO1xuICAgICAgICBjYXNlIEZpbHRlck1hdGNoTW9kZS5HcmVhdGVyVGhhbk9yRXF1YWxUbzpcbiAgICAgICAgICAgIHJldHVybiAnR1JFQVRFUl9USEFOX09SX0VRVUFMX1RPJztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuQmV0d2VlbjpcbiAgICAgICAgICAgIHJldHVybiAnQkVUV0VFTic7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkV4aXN0czpcbiAgICAgICAgICAgIHJldHVybiAnRVhJU1RTJztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuRG9lc05vdEV4aXN0OlxuICAgICAgICAgICAgcmV0dXJuICdET0VTX05PVF9FWElTVCc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEZpbHRlciBtYXRjaCB0eXBlICcke21hdGNoTW9kZX0nIG5vdCBzdXBwb3J0ZWQuYCk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB0b0dldEFsbFBhcmFtc0FzVXJsUXVlcnlDb21tb248U29ydHMsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnk+KHBhcmFtczogRGF0YUxpc3RQYXJhbXM8U29ydHMsIEZpbHRlcnM+KTogR2V0QWxsUGFyYW1zVXJsUXVlcnlUeXBlPEZpbHRlcnM+IHtcbiAgICBjb25zdCByZXMgPSB7fSBhcyBHZXRBbGxQYXJhbXNVcmxRdWVyeVR5cGU8RmlsdGVycz47XG5cbiAgICBpZiAocGFyYW1zLm9mZnNldCAhPSBudWxsKSB7XG4gICAgICAgIHJlcy5vZmZzZXQgPSBwYXJhbXMub2Zmc2V0O1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmxpbWl0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzLmxpbWl0ID0gcGFyYW1zLmxpbWl0O1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMuc2VhcmNoICE9IG51bGwgJiYgcGFyYW1zLnNlYXJjaCAhPT0gJycpIHtcbiAgICAgICAgbGV0IGNhc2VTZW5zaXRpdml0eU9wdGlvbiA9ICdjaSc7XG5cbiAgICAgICAgaWYgKHBhcmFtcy5maWx0ZXJzPy5bJ2dsb2JhbCcgYXMgRmlsdGVyc10/LmNhc2VTZW5zaXRpdmUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGNhc2VTZW5zaXRpdml0eU9wdGlvbiA9ICdjcyc7XG4gICAgICAgIH1cblxuICAgICAgICByZXMuZ2xvYmFsRmlsdGVyID0gYCR7Y2FzZVNlbnNpdGl2aXR5T3B0aW9ufToke3BhcmFtcy5zZWFyY2h9YDtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJhbXMuc29ydCkgJiYgcGFyYW1zLnNvcnQubGVuZ3RoID4gMCkge1xuICAgICAgICByZXMuc29ydCA9IGRhdGFMaXN0UGFyYW1zU29ydFRvVXJsUXVlcnkocGFyYW1zIGFzIERhdGFMaXN0UGFyYW1zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGdpdmVuIHBhcmFtZXRlcnMgb2YgYSBEYXRhTGlzdFBhcmFtcyBvYmplY3QgaW50byBhIGdldCBhbGwgcmVxdWVzdCBwYXJhbSBvYmplY3Qgd2l0aCB2YWx1ZXMgYXMgVVJMIHF1ZXJ5IHN0cmluZyByZXByZXNlbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0ge0RhdGFMaXN0UGFyYW1zfSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0byBjb252ZXJ0LlxuICogQHR5cGVwYXJhbSBTb3J0cyAtIFRoZSB0eXBlIG9mIHRoZSBzb3J0aW5nIG9wdGlvbnMgZm9yIHRoZSBkYXRhIGxpc3QuXG4gKiBAdHlwZXBhcmFtIEZpbHRlcnMgLSBUaGUgdHlwZSBvZiB0aGUgZmlsdGVycyBmb3IgdGhlIGRhdGEgbGlzdC5cbiAqIEByZXR1cm5zIHtHZXRBbGxQYXJhbXNVcmxRdWVyeVR5cGU8RmlsdGVycz59IC0gR2V0IGFsbCByZXF1ZXN0IHBhcmFtIG9iamVjdCB3aXRoIHZhbHVlcyBhcyBVUkwgcXVlcnkgc3RyaW5nIHJlcHJlc2VudGF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9HZXRBbGxQYXJhbXNBc1VybFF1ZXJ5PFNvcnRzLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55PihwYXJhbXM6IERhdGFMaXN0UGFyYW1zPFNvcnRzLCBGaWx0ZXJzPik6IEdldEFsbFBhcmFtc1VybFF1ZXJ5VHlwZTxGaWx0ZXJzPiB7XG4gICAgY29uc3QgcmVzID0gdG9HZXRBbGxQYXJhbXNBc1VybFF1ZXJ5Q29tbW9uKHBhcmFtcyk7XG5cbiAgICBpZiAocGFyYW1zLmZpbHRlcnMpIHtcbiAgICAgICAgT2JqZWN0LmtleXMocGFyYW1zLmZpbHRlcnMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIHJlc1trZXkgYXMgRmlsdGVyc10gPSBkYXRhTGlzdFBhcmFtc0ZpbHRlcnNUb1VybFF1ZXJ5KHBhcmFtcywga2V5IGFzIEZpbHRlcnMpIGFzIGFueTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBnaXZlbiBwYXJhbWV0ZXJzIG9mIGEgRGF0YUxpc3RQYXJhbXMgb2JqZWN0IGludG8gYSBnZXQgYWxsIHJlcXVlc3QgcGFyYW0gb2JqZWN0IHdpdGggdmFsdWVzIGFzIFVSTCBxdWVyeSBzdHJpbmcgcmVwcmVzZW50YXRpb24uXG4gKlxuICogQHBhcmFtIHtEYXRhTGlzdFBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gY29udmVydC5cbiAqIEBwYXJhbSB7RmlsdGVyS2V5fSBmaWx0ZXJLZXkgLSBQcm9wZXJ0eSBrZXkgZm9yIGZpbHRlciBvYmplY3QuXG4gKiBAdHlwZXBhcmFtIFNvcnRzIC0gVGhlIHR5cGUgb2YgdGhlIHNvcnRpbmcgb3B0aW9ucyBmb3IgdGhlIGRhdGEgbGlzdC5cbiAqIEB0eXBlcGFyYW0gRmlsdGVycyAtIFRoZSB0eXBlIG9mIHRoZSBmaWx0ZXJzIGZvciB0aGUgZGF0YSBsaXN0LlxuICogQHR5cGVwYXJhbSBGaWx0ZXJLZXkgLSBUaGUgdHlwZSByZXByZXNlbnRpbmcgcHJvcGVydHkga2V5IHdoZXJlIGZpbHRlcnMgd2lsbCBiZSBwdXQgdG8uXG4gKiBAcmV0dXJucyB7R2V0QWxsUGFyYW1zVXJsUXVlcnlXaXRoRmlsdGVyc0luS2V5VHlwZTxGaWx0ZXJLZXksIEZpbHRlcnM+fSAtIEdldCBhbGwgcmVxdWVzdCBwYXJhbSBvYmplY3Qgd2l0aCB2YWx1ZXMgYXMgVVJMIHF1ZXJ5IHN0cmluZyByZXByZXNlbnRhdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvR2V0QWxsUGFyYW1zQXNVcmxRdWVyeVdpdGhGaWx0ZXJzSW5Qcm9wZXJ0eTxTb3J0cywgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSwgRmlsdGVyS2V5IGV4dGVuZHMgc3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sID0gJ2ZpbHRlcnMnPihcbiAgICBwYXJhbXM6IERhdGFMaXN0UGFyYW1zPFNvcnRzLCBGaWx0ZXJzPixcbiAgICBmaWx0ZXJLZXk6IEZpbHRlcktleSA9ICdmaWx0ZXJzJyBhcyBGaWx0ZXJLZXlcbik6IEdldEFsbFBhcmFtc1VybFF1ZXJ5V2l0aEZpbHRlcnNJbktleVR5cGU8RmlsdGVyS2V5LCBGaWx0ZXJzPiB7XG4gICAgY29uc3QgcmVzID0gdG9HZXRBbGxQYXJhbXNBc1VybFF1ZXJ5Q29tbW9uKHBhcmFtcykgYXMgR2V0QWxsUGFyYW1zVXJsUXVlcnlXaXRoRmlsdGVyc0luS2V5VHlwZTxGaWx0ZXJLZXksIEZpbHRlcnM+O1xuXG4gICAgaWYgKHBhcmFtcy5maWx0ZXJzICYmIE9iamVjdC5rZXlzKHBhcmFtcy5maWx0ZXJzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIChyZXMgYXMgYW55KVtmaWx0ZXJLZXldID0ge307XG4gICAgICAgIE9iamVjdC5rZXlzKHBhcmFtcy5maWx0ZXJzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgICAocmVzIGFzIGFueSlbZmlsdGVyS2V5XVtrZXkgYXMgRmlsdGVyc10gPSBkYXRhTGlzdFBhcmFtc0ZpbHRlcnNUb1VybFF1ZXJ5KHBhcmFtcywga2V5IGFzIEZpbHRlcnMpIGFzIGFueTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBnaXZlbiBwYXJhbWV0ZXJzIG9mIGEgRGF0YUxpc3RQYXJhbXMgb2JqZWN0IGludG8gYSBnZXQgYWxsIHJlcXVlc3QgcGFyYW0gb2JqZWN0IHdpdGggdmFsdWVzIGFzIG9iamVjdHMgZm9yIFBPU1QgcmVxdWVzdHMuXG4gKlxuICogQHBhcmFtIHtEYXRhTGlzdFBhcmFtc30gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdG8gY29udmVydC5cbiAqIEB0eXBlcGFyYW0gU29ydHMgLSBUaGUgdHlwZSBvZiB0aGUgc29ydGluZyBvcHRpb25zIGZvciB0aGUgZGF0YSBsaXN0LlxuICogQHR5cGVwYXJhbSBGaWx0ZXJzIC0gVGhlIHR5cGUgb2YgdGhlIGZpbHRlcnMgZm9yIHRoZSBkYXRhIGxpc3QuXG4gKiBAcmV0dXJucyB7R2V0QWxsUGFyYW1zVHlwZTxTb3J0cywgRmlsdGVycz59IC0gR2V0IGFsbCByZXF1ZXN0IHBhcmFtIG9iamVjdCB3aXRoIHZhbHVlcyBhcyBvYmplY3RzIGZvciBQT1NUIHJlcXVlc3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9HZXRBbGxQYXJhbXM8U29ydHMsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnk+KHBhcmFtczogRGF0YUxpc3RQYXJhbXM8U29ydHMsIEZpbHRlcnM+KTogR2V0QWxsUGFyYW1zVHlwZTxTb3J0cywgRmlsdGVycz4ge1xuICAgIGNvbnN0IHJlcyA9IHt9IGFzIEdldEFsbFBhcmFtc1R5cGU8U29ydHMsIEZpbHRlcnM+O1xuXG4gICAgaWYgKHBhcmFtcy5vZmZzZXQgIT0gbnVsbCkge1xuICAgICAgICByZXMub2Zmc2V0ID0gcGFyYW1zLm9mZnNldDtcbiAgICB9XG4gICAgaWYgKHBhcmFtcy5saW1pdCAhPSBudWxsKSB7XG4gICAgICAgIHJlcy5saW1pdCA9IHBhcmFtcy5saW1pdDtcbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLnNlYXJjaCAhPSBudWxsKSB7XG4gICAgICAgIHJlcy5nbG9iYWxGaWx0ZXIgPSB7XG4gICAgICAgICAgICB2YWx1ZTogcGFyYW1zLnNlYXJjaFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtcy5zb3J0KSAmJiBwYXJhbXMuc29ydC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlcy5zb3J0ID0gcGFyYW1zLnNvcnQubWFwKHMgPT4gKHtcbiAgICAgICAgICAgIHByb3BlcnR5OiBzLnByb3BlcnR5LFxuICAgICAgICAgICAgZGlyZWN0aW9uOiBzLmFzY2VuZGluZyA9PT0gdHJ1ZSB8fCBzLmFzY2VuZGluZyA9PSBudWxsID8gJ0FTQ0VORElORycgOiAnREVTQ0VORElORydcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIGlmIChwYXJhbXMuZmlsdGVycykge1xuICAgICAgICBPYmplY3Qua2V5cyhwYXJhbXMuZmlsdGVycykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGFyYW1zRmlsdGVyID0gcGFyYW1zLmZpbHRlcnMhW2tleSBhcyBGaWx0ZXJzXSE7XG4gICAgICAgICAgICBpZiAoIXBhcmFtc0ZpbHRlci5tYXRjaE1vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IEFycmF5LmlzQXJyYXkocGFyYW1zRmlsdGVyLnZhbHVlKSA/IHVuZGVmaW5lZCA6IHBhcmFtc0ZpbHRlci52YWx1ZTtcbiAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHBhcmFtc0ZpbHRlci52YWx1ZSkgPyBwYXJhbXNGaWx0ZXIudmFsdWUgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgIGlmIChwYXJhbXNGaWx0ZXIubWF0Y2hNb2RlID09PSBGaWx0ZXJNYXRjaE1vZGUuRXhpc3RzIHx8IHBhcmFtc0ZpbHRlci5tYXRjaE1vZGUgPT09IEZpbHRlck1hdGNoTW9kZS5Eb2VzTm90RXhpc3QpIHtcbiAgICAgICAgICAgICAgICB2YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB2YWx1ZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhcmFtc0ZpbHRlci5tYXRjaE1vZGUgPT09IEZpbHRlck1hdGNoTW9kZS5JbiB8fCBwYXJhbXNGaWx0ZXIubWF0Y2hNb2RlID09PSBGaWx0ZXJNYXRjaE1vZGUuTm90SW4pIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVzID09IG51bGwgfHwgdmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEZpbHRlciB3aXRoIG1vZGUgJHtwYXJhbXNGaWx0ZXIubWF0Y2hNb2RlfSBtdXN0IGhhdmUgdmFsdWVzIGluIGFycmF5LCBidXQgaGFzICR7dmFsdWVzfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyYW1zRmlsdGVyLm1hdGNoTW9kZSA9PT0gRmlsdGVyTWF0Y2hNb2RlLkJldHdlZW4pIHtcbiAgICAgICAgICAgICAgICBpZiAodmFsdWVzID09IG51bGwgfHwgdmFsdWVzLmxlbmd0aCAhPT0gMikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEZpbHRlciB3aXRoIG1vZGUgJHtwYXJhbXNGaWx0ZXIubWF0Y2hNb2RlfSBtdXN0IGhhdmUgMiB2YWx1ZXMgaW4gYXJyYXksIGJ1dCBoYXMgJHt2YWx1ZXN9YCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJhbXNGaWx0ZXIudmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2FzZVNlbnNpdGl2aXR5ID0gcGFyYW1zRmlsdGVyLmNhc2VTZW5zaXRpdmUgPyAnQ0FTRV9TRU5TSVRJVkUnIDogcGFyYW1zRmlsdGVyLmNhc2VTZW5zaXRpdmUgPT09IGZhbHNlID8gJ0NBU0VfSU5TRU5TSVRJVkUnIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgZmlsdGVyID0gPEdldEFsbFBhcmFtc0ZpbHRlclR5cGU8YW55Pj57XG4gICAgICAgICAgICAgICAgZmlsdGVyTWF0Y2hUeXBlOiB0b0dldEFsbFBhcmFtc0ZpbHRlck1hdGNoTW9kZShwYXJhbXNGaWx0ZXIubWF0Y2hNb2RlKVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXIudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWx1ZXMgIT0gbnVsbCAmJiBBcnJheS5pc0FycmF5KHZhbHVlcykgJiYgdmFsdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBmaWx0ZXIudmFsdWVzID0gdmFsdWVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNhc2VTZW5zaXRpdml0eSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgZmlsdGVyLmNhc2VTZW5zaXRpdml0eSA9IGNhc2VTZW5zaXRpdml0eTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKHJlcyBhcyBhbnkpW2tleSBhcyBGaWx0ZXJzXSA9IGZpbHRlcjtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcztcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBEYXRhTGlzdFBhcmFtcyB0byBzb3J0IHF1ZXJ5IFVSTCByZXByZXNlbnRhdGlvbi5cbiAqXG4gKiBAcGFyYW0ge0RhdGFMaXN0UGFyYW1zfSBwYXJhbXMgLSBUaGUgcGFyYW1zIG9iamVjdCB3aXRoIHNvcnQgcHJvcGVydHkgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IC0gVGhlIGZvcm1hdHRlZCBzb3J0IHF1ZXJ5IFVSTCBwYXJhbSBvciB1bmRlZmluZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0dldEFsbFNvcnRBc1F1ZXJ5VXJsKHBhcmFtcz86IERhdGFMaXN0UGFyYW1zPGFueSwgYW55Pik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGRhdGFMaXN0UGFyYW1zU29ydFRvVXJsUXVlcnkocGFyYW1zKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIERhdGFMaXN0RmlsdGVyIG9iamVjdCB0byBhIHF1ZXJ5IFVSTCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtEYXRhTGlzdEZpbHRlcn0gZmlsdGVyIC0gVGhlIGZpbHRlciBvYmplY3QgZnJvbSBwYXJhbXMgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfSAtIFRoZSBmb3JtYXR0ZWQgZmlsdGVyIHF1ZXJ5IFVSTCBwYXJhbSBvciB1bmRlZmluZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0dldEFsbEZpbHRlckFzUXVlcnlVcmwoZmlsdGVyPzogRGF0YUxpc3RGaWx0ZXIpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBkYXRhTGlzdFBhcmFtc0ZpbHRlclRvVXJsUXVlcnkoZmlsdGVyKTtcbn1cblxuLyoqXG4gKiBFeGVjdXRlcyB0aGUgXCJnZXRBbGxcIiBvbiBBUEkgc2VydmljZSB3aXRoIHJlcXVlc3QgcGFyYW1ldGVycy5cbiAqIEdldCBhbGwgaXMgZXhwZWN0ZWQgdG8gYmUgZXhlY3V0ZWQgdmlhIEdFVCBtZXRob2QgdXNpbmcgcGFyYW1zIGFzIFVSTCBxdWVyaWVzLlxuICpcbiAqIEBwYXJhbSB7U2VydmljZX0gc2VydmljZSAtIFRoZSBBUEkgc2VydmljZSBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IGdldEFsbEZuIC0gVGhlIFwiZ2V0QWxsXCIgZnVuY3Rpb24gb24gcHJvdmlkZWQgc2VydmljZSBpbnN0YW5jZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBUaGUgZGF0YSBsaXN0IHBhcmFtcy5cbiAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPDxEYXRhTGlzdFJlc3VsdDxJdGVtPj4+fSBBbiBvYnNlcnZhYmxlIHdpdGggZGF0YSBsaXN0IHJlc3VsdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGVHZXRBbGw8U2VydmljZSwgSXRlbSwgU29ydHMsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnk+KFxuICAgIHNlcnZpY2U6IFNlcnZpY2UsXG4gICAgZ2V0QWxsRm46IChyZXF1ZXN0UGFyYW1ldGVyczogR2V0QWxsUGFyYW1zVXJsUXVlcnlUeXBlPEZpbHRlcnM+KSA9PiBPYnNlcnZhYmxlPHtkYXRhPzogSXRlbVtdOyB0b3RhbENvdW50PzogbnVtYmVyfT4sXG4gICAgcGFyYW1zOiBEYXRhTGlzdFBhcmFtczxTb3J0cywgRmlsdGVycz5cbik6IE9ic2VydmFibGU8RGF0YUxpc3RSZXN1bHQ8SXRlbT4+IHtcbiAgICByZXR1cm4gZ2V0QWxsRm4uYmluZChzZXJ2aWNlKSh0b0dldEFsbFBhcmFtc0FzVXJsUXVlcnkocGFyYW1zKSkucGlwZShtYXBUb0RhdGFMaXN0PEl0ZW0+KCkpO1xufVxuXG4vKipcbiAqIEV4ZWN1dGVzIHRoZSBcImdldEFsbFwiIG9uIEFQSSBzZXJ2aWNlIHdpdGggcmVxdWVzdCBwYXJhbWV0ZXJzLlxuICogR2V0IGFsbCBpcyBleHBlY3RlZCB0byBiZSBleGVjdXRlZCB2aWEgR0VUIG1ldGhvZCB1c2luZyBwYXJhbXMgYXMgVVJMIHF1ZXJpZXMuXG4gKlxuICogQHBhcmFtIHtTZXJ2aWNlfSBzZXJ2aWNlIC0gVGhlIEFQSSBzZXJ2aWNlIGluc3RhbmNlLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZ2V0QWxsRm4gLSBUaGUgXCJnZXRBbGxcIiBmdW5jdGlvbiBvbiBwcm92aWRlZCBzZXJ2aWNlLlxuICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBkYXRhIGxpc3QgcGFyYW1zLlxuICogQHJldHVybnMge09ic2VydmFibGU8PERhdGFMaXN0UmVzdWx0PEl0ZW0+Pj59IEFuIG9ic2VydmFibGUgd2l0aCBkYXRhIGxpc3QgcmVzdWx0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBpU2VydmljZUdldEFsbDxTZXJ2aWNlLCBJdGVtLCBTb3J0cywgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueT4oXG4gICAgc2VydmljZTogU2VydmljZSxcbiAgICBmbjogQ2xhc3NGdW5jdGlvbktleXNXaXRoUGFyYW1BbmRSZXR1cm5UeXBlPFNlcnZpY2UsIEdldEFsbFBhcmFtc1VybFF1ZXJ5VHlwZTxGaWx0ZXJzPiwgT2JzZXJ2YWJsZTx7ZGF0YT86IEl0ZW1bXTsgdG90YWxDb3VudD86IG51bWJlcn0+PixcbiAgICBwYXJhbXM6IERhdGFMaXN0UGFyYW1zPFNvcnRzLCBGaWx0ZXJzPlxuKTogT2JzZXJ2YWJsZTxEYXRhTGlzdFJlc3VsdDxJdGVtPj4ge1xuICAgIHJldHVybiAoc2VydmljZSBhcyBhbnkpW2ZuXSh0b0dldEFsbFBhcmFtc0FzVXJsUXVlcnkocGFyYW1zKSkucGlwZShtYXBUb0RhdGFMaXN0PEl0ZW0+KCkpO1xufVxuXG4vKipcbiAqIEV4ZWN1dGVzIHRoZSBcImdldEFsbFwiIG9uIEFQSSBzZXJ2aWNlIHdpdGggcmVxdWVzdCBwYXJhbWV0ZXJzLlxuICogR2V0IGFsbCBpcyBleHBlY3RlZCB0byBiZSBleGVjdXRlZCB2aWEgUE9TVCBtZXRob2QgdXNpbmcgcGFyYW1zIGFzIG9iamVjdCBpbiBib2R5IG9mIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIHtTZXJ2aWNlfSBzZXJ2aWNlIC0gVGhlIEFQSSBzZXJ2aWNlIGluc3RhbmNlLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZ2V0QWxsRm4gLSBUaGUgXCJnZXRBbGxcIiBmdW5jdGlvbiBvbiBwcm92aWRlZCBzZXJ2aWNlIGluc3RhbmNlLlxuICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBkYXRhIGxpc3QgcGFyYW1zLlxuICogQHJldHVybnMge09ic2VydmFibGU8PERhdGFMaXN0UmVzdWx0PEl0ZW0+Pj59IEFuIG9ic2VydmFibGUgd2l0aCBkYXRhIGxpc3QgcmVzdWx0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlY3V0ZUdldEFsbEFzUG9zdDxTZXJ2aWNlLCBJdGVtLCBTb3J0cywgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueT4oXG4gICAgc2VydmljZTogU2VydmljZSxcbiAgICBnZXRBbGxGbjogKHJlcXVlc3RQYXJhbWV0ZXJzOiBHZXRBbGxQYXJhbXNUeXBlPFNvcnRzLCBGaWx0ZXJzPikgPT4gT2JzZXJ2YWJsZTx7ZGF0YT86IEl0ZW1bXTsgdG90YWxDb3VudD86IG51bWJlcn0+LFxuICAgIHBhcmFtczogRGF0YUxpc3RQYXJhbXM8U29ydHMsIEZpbHRlcnM+XG4pOiBPYnNlcnZhYmxlPERhdGFMaXN0UmVzdWx0PEl0ZW0+PiB7XG4gICAgcmV0dXJuIGdldEFsbEZuLmJpbmQoc2VydmljZSkodG9HZXRBbGxQYXJhbXMocGFyYW1zKSkucGlwZShtYXBUb0RhdGFMaXN0PEl0ZW0+KCkpO1xufVxuIl19","// helpers\nexport * from './lib/helpers/get-all-params';\n// models\nexport * from './lib/models/api-version.model';\nexport * from './lib/models/request-params.model';\nexport * from './lib/models/schema.model';\n// types\nexport * from './lib/types/extract-get-all-types.type';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsU0FBUztBQUNULGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLFFBQVE7QUFDUixjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVscGVycy9nZXQtYWxsLXBhcmFtcyc7XG5cbi8vIG1vZGVsc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FwaS12ZXJzaW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9yZXF1ZXN0LXBhcmFtcy5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2NoZW1hLm1vZGVsJztcblxuLy8gdHlwZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL2V4dHJhY3QtZ2V0LWFsbC10eXBlcy50eXBlJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lZGl1c2luYy1tbmctY29tbW9ucy1kYXRhLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,234 @@
1
- export * from './lib/helpers/get-all-params';
2
- export * from './lib/models/api-version.model';
3
- export * from './lib/models/request-params.model';
4
- export * from './lib/models/schema.model';
5
- export * from './lib/types/extract-get-all-types.type';
1
+ import { Observable } from 'rxjs';
2
+ import { DataListParams, DataListFilter, DataListResult, ClassFunctionKeysWithParamAndReturnType, ClassFunctionKeysWithAnyArgsAndReturnType } from '@mediusinc/mng-commons/core';
3
+ import { HttpResponse } from '@angular/common/http';
4
+
5
+ /**
6
+ * Default (expected) type without filters, which are "dynamic" keys.
7
+ */
8
+ type GetAllParamsDefaultWoFiltersType<Sort = GetAllParamsSortType[] | string, GlobalFilter = GetAllParamsGlobalFilterType | string> = {
9
+ offset?: number;
10
+ limit?: number;
11
+ globalFilter?: GlobalFilter;
12
+ sort?: Sort;
13
+ };
14
+ /**
15
+ * Represents the sort direction type for a get all request params (ascending or descending).
16
+ */
17
+ type GetAllParamsSortDirectionType = 'ASCENDING' | 'DESCENDING';
18
+ /**
19
+ * Represents the sort type for a get all request params.
20
+ *
21
+ * @typeparam Property The type of the property to sort by.
22
+ * @typeparam Direction The type of the sort direction.
23
+ */
24
+ type GetAllParamsSortType<Property = string, Direction = GetAllParamsSortDirectionType> = {
25
+ property: Property;
26
+ direction: Direction;
27
+ };
28
+ /**
29
+ * Represents the possible match types for filters in get all request params.
30
+ */
31
+ type GetAllParamsFilterMatchType = 'EQUALS' | 'NOT_EQUALS' | 'BETWEEN' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'IN' | 'NOT_IN' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'EXISTS' | 'DOES_NOT_EXIST';
32
+ /**
33
+ * Describes the possible case sensitivity for filter in get all request params.
34
+ */
35
+ type GetAllParamsFilterCaseSensitivityType = 'CASE_SENSITIVE' | 'CASE_INSENSITIVE';
36
+ /**
37
+ * Describes the global filter (search) in get all request params.
38
+ */
39
+ type GetAllParamsGlobalFilterType<CaseSensitivity = GetAllParamsFilterCaseSensitivityType> = {
40
+ value: string;
41
+ caseSensitivity?: CaseSensitivity;
42
+ };
43
+ /**
44
+ * Describes the filters in get all request params.
45
+ */
46
+ type GetAllParamsFiltersType<FilterType, FilterProperties extends keyof any> = {
47
+ [P in FilterProperties]?: FilterType;
48
+ };
49
+ /**
50
+ * Represents a filter type for get all request params.
51
+ */
52
+ type GetAllParamsFilterType<Value, CaseSensitivity = GetAllParamsFilterCaseSensitivityType, MatchType = GetAllParamsFilterMatchType> = {
53
+ value?: Value;
54
+ values?: Array<Value>;
55
+ caseSensitivity?: CaseSensitivity;
56
+ filterMatchType: MatchType;
57
+ };
58
+ /**
59
+ * Describes get all params with values as objects (for POST requests).
60
+ */
61
+ type GetAllParamsType<Sorts = string, Filters extends keyof any = string> = GetAllParamsDefaultWoFiltersType<GetAllParamsSortType<Sorts>[], GetAllParamsGlobalFilterType> & GetAllParamsFiltersType<GetAllParamsFilterType<any>, Filters>;
62
+ /**
63
+ * Describes get all params with values as URL queries (for GET requests).
64
+ */
65
+ type GetAllParamsUrlQueryType<Filters extends keyof any> = GetAllParamsDefaultWoFiltersType<string, string> & GetAllParamsFiltersType<string, Filters>;
66
+ /**
67
+ * Describes get all params with values as URL queries (for GET requests) where filters are places as object under root {FilterKey} property.
68
+ */
69
+ type GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey extends string | number | symbol, Filters extends keyof any> = GetAllParamsDefaultWoFiltersType<string, string> & {
70
+ [key in FilterKey]?: GetAllParamsFiltersType<string, Filters>;
71
+ };
72
+
73
+ /**
74
+ * Converts a filter match mode to its corresponding enum value.
75
+ *
76
+ * @param {string} matchMode - The filter match mode from data list filter to convert.
77
+ * @returns {GetAllParamsFilterMatchType} - The converted enum value.
78
+ * @throws {CommonsInternalError} - If the filter match mode is not supported.
79
+ */
80
+ declare function toGetAllParamsFilterMatchMode(matchMode: string): GetAllParamsFilterMatchType;
81
+ /**
82
+ * Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.
83
+ *
84
+ * @param {DataListParams} params - The parameters to convert.
85
+ * @typeparam Sorts - The type of the sorting options for the data list.
86
+ * @typeparam Filters - The type of the filters for the data list.
87
+ * @returns {GetAllParamsUrlQueryType<Filters>} - Get all request param object with values as URL query string representation.
88
+ */
89
+ declare function toGetAllParamsAsUrlQuery<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsUrlQueryType<Filters>;
90
+ /**
91
+ * Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.
92
+ *
93
+ * @param {DataListParams} params - The parameters to convert.
94
+ * @param {FilterKey} filterKey - Property key for filter object.
95
+ * @typeparam Sorts - The type of the sorting options for the data list.
96
+ * @typeparam Filters - The type of the filters for the data list.
97
+ * @typeparam FilterKey - The type representing property key where filters will be put to.
98
+ * @returns {GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey, Filters>} - Get all request param object with values as URL query string representation.
99
+ */
100
+ declare function toGetAllParamsAsUrlQueryWithFiltersInProperty<Sorts, Filters extends keyof any, FilterKey extends string | number | symbol = 'filters'>(params: DataListParams<Sorts, Filters>, filterKey?: FilterKey): GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey, Filters>;
101
+ /**
102
+ * Converts given parameters of a DataListParams object into a get all request param object with values as objects for POST requests.
103
+ *
104
+ * @param {DataListParams} params - The parameters to convert.
105
+ * @typeparam Sorts - The type of the sorting options for the data list.
106
+ * @typeparam Filters - The type of the filters for the data list.
107
+ * @returns {GetAllParamsType<Sorts, Filters>} - Get all request param object with values as objects for POST requests.
108
+ */
109
+ declare function toGetAllParams<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsType<Sorts, Filters>;
110
+ /**
111
+ * Converts DataListParams to sort query URL representation.
112
+ *
113
+ * @param {DataListParams} params - The params object with sort property to convert.
114
+ * @returns {string | undefined} - The formatted sort query URL param or undefined.
115
+ */
116
+ declare function toGetAllSortAsQueryUrl(params?: DataListParams<any, any>): string | undefined;
117
+ /**
118
+ * Converts a DataListFilter object to a query URL string.
119
+ *
120
+ * @param {DataListFilter} filter - The filter object from params to convert.
121
+ * @returns {string|undefined} - The formatted filter query URL param or undefined.
122
+ */
123
+ declare function toGetAllFilterAsQueryUrl(filter?: DataListFilter): string | undefined;
124
+ /**
125
+ * Executes the "getAll" on API service with request parameters.
126
+ * Get all is expected to be executed via GET method using params as URL queries.
127
+ *
128
+ * @param {Service} service - The API service instance.
129
+ * @param {Function} getAllFn - The "getAll" function on provided service instance.
130
+ * @param {Object} params - The data list params.
131
+ * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.
132
+ */
133
+ declare function executeGetAll<Service, Item, Sorts, Filters extends keyof any>(service: Service, getAllFn: (requestParameters: GetAllParamsUrlQueryType<Filters>) => Observable<{
134
+ data?: Item[];
135
+ totalCount?: number;
136
+ }>, params: DataListParams<Sorts, Filters>): Observable<DataListResult<Item>>;
137
+ /**
138
+ * Executes the "getAll" on API service with request parameters.
139
+ * Get all is expected to be executed via GET method using params as URL queries.
140
+ *
141
+ * @param {Service} service - The API service instance.
142
+ * @param {Function} getAllFn - The "getAll" function on provided service.
143
+ * @param {Object} params - The data list params.
144
+ * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.
145
+ */
146
+ declare function apiServiceGetAll<Service, Item, Sorts, Filters extends keyof any>(service: Service, fn: ClassFunctionKeysWithParamAndReturnType<Service, GetAllParamsUrlQueryType<Filters>, Observable<{
147
+ data?: Item[];
148
+ totalCount?: number;
149
+ }>>, params: DataListParams<Sorts, Filters>): Observable<DataListResult<Item>>;
150
+ /**
151
+ * Executes the "getAll" on API service with request parameters.
152
+ * Get all is expected to be executed via POST method using params as object in body of request.
153
+ *
154
+ * @param {Service} service - The API service instance.
155
+ * @param {Function} getAllFn - The "getAll" function on provided service instance.
156
+ * @param {Object} params - The data list params.
157
+ * @returns {Observable<<DataListResult<Item>>>} An observable with data list result.
158
+ */
159
+ declare function executeGetAllAsPost<Service, Item, Sorts, Filters extends keyof any>(service: Service, getAllFn: (requestParameters: GetAllParamsType<Sorts, Filters>) => Observable<{
160
+ data?: Item[];
161
+ totalCount?: number;
162
+ }>, params: DataListParams<Sorts, Filters>): Observable<DataListResult<Item>>;
163
+
164
+ interface ApiVersion {
165
+ appName?: string;
166
+ description?: string;
167
+ version?: string;
168
+ infoEmail?: string;
169
+ infoUrl?: string;
170
+ licenseInfo?: string;
171
+ licenseUrl?: string;
172
+ }
173
+
174
+ interface SchemaModel<Model = any> {
175
+ name: string;
176
+ properties: Record<keyof Model, SchemaProperty>;
177
+ }
178
+ interface SchemaEnum<EnumType> {
179
+ name: string;
180
+ values: EnumType[];
181
+ constants: string[];
182
+ type: string;
183
+ }
184
+ interface SchemaProperty {
185
+ type: string;
186
+ objectType?: string;
187
+ isReadOnly?: boolean;
188
+ required?: boolean;
189
+ isNullable?: boolean;
190
+ minLength?: number;
191
+ maxLength?: number;
192
+ minimum?: number;
193
+ maximum?: number;
194
+ exclusiveMinimum?: boolean;
195
+ exclusiveMaximum?: boolean;
196
+ isInteger?: boolean;
197
+ pattern?: string;
198
+ maxItems?: number;
199
+ minItems?: number;
200
+ enumModel?: any;
201
+ enumName?: string;
202
+ isEmail?: boolean;
203
+ isPassword?: boolean;
204
+ }
205
+
206
+ /**
207
+ * Represents the type definition for the `GetAllParamsDefaultWoFiltersType` class - excludes offset, limit, search and sort properties.
208
+ * All other properties are expected to be filters.
209
+ *
210
+ * @typeparam Request - The type parameter representing the extended GetAllParamsDefaultWoFiltersType object.
211
+ */
212
+ type ExtractGetAllParamsFilterType<Request extends GetAllParamsDefaultWoFiltersType> = Request extends GetAllParamsDefaultWoFiltersType ? keyof Omit<Request, 'offset' | 'limit' | 'globalFilter' | 'sort'> : never;
213
+ /**
214
+ * Represents the type definition for the `GetAllParamsDefaultWoFiltersType` class - extracts allowed sort properties (usually an enum) on property key within array type.
215
+ *
216
+ * @typeparam Request - The type parameter representing the extended GetAllParamsDefaultWoFiltersType object.
217
+ */
218
+ type ExtractGetAllParamsSortType<Request extends GetAllParamsDefaultWoFiltersType<GetAllParamsSortType<any, any>[] | string, any>> = NonNullable<Request['sort']> extends Array<infer U> | string ? ('property' extends keyof U ? NonNullable<U['property']> : never) : never;
219
+ type GetAllHttpResponseType<Model> = {
220
+ data?: Array<Model>;
221
+ totalCount?: number;
222
+ } | HttpResponse<{
223
+ data?: Array<Model>;
224
+ totalCount?: number;
225
+ }>;
226
+ type ApiServiceGetAllFilterType<Service, Model, Fn extends ClassFunctionKeysWithAnyArgsAndReturnType<Service, Observable<GetAllHttpResponseType<Model>>>> = Service[Fn] extends (...args: any[]) => any ? NonNullable<Parameters<Service[Fn]>[0]> : never;
227
+ type ExtractServiceGetAllDataType<Service, Fn extends keyof Service> = Service[Fn] extends (...args: any[]) => Observable<{
228
+ data?: Array<infer Model>;
229
+ } | HttpResponse<{
230
+ data?: Array<infer Model>;
231
+ }>> ? Model : never;
232
+
233
+ export { apiServiceGetAll, executeGetAll, executeGetAllAsPost, toGetAllFilterAsQueryUrl, toGetAllParams, toGetAllParamsAsUrlQuery, toGetAllParamsAsUrlQueryWithFiltersInProperty, toGetAllParamsFilterMatchMode, toGetAllSortAsQueryUrl };
234
+ export type { ApiServiceGetAllFilterType, ApiVersion, ExtractGetAllParamsFilterType, ExtractGetAllParamsSortType, ExtractServiceGetAllDataType, GetAllHttpResponseType, GetAllParamsDefaultWoFiltersType, GetAllParamsFilterCaseSensitivityType, GetAllParamsFilterMatchType, GetAllParamsFilterType, GetAllParamsFiltersType, GetAllParamsGlobalFilterType, GetAllParamsSortDirectionType, GetAllParamsSortType, GetAllParamsType, GetAllParamsUrlQueryType, GetAllParamsUrlQueryWithFiltersInKeyType, SchemaEnum, SchemaModel, SchemaProperty };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons-data-api",
3
- "version": "6.2.0-rc.0",
3
+ "version": "7.0.0-rc.0",
4
4
  "peerDependencies": {
5
- "@angular/core": "^19.0.0",
6
- "@mediusinc/mng-commons": "~6.2.0-rc.0"
5
+ "@angular/core": "^20.1.0",
6
+ "@mediusinc/mng-commons": "~7.0.0-rc.0"
7
7
  },
8
8
  "dependencies": {
9
9
  "tslib": "^2.8.1"