@mediusinc/mng-commons-data-api 6.0.0-rc.4 → 6.0.0-rc.6

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,60 +0,0 @@
1
- import { map } from 'rxjs';
2
- import { toGetAllParamsAsUrlQuery } from '@mediusinc/mng-commons-data-api';
3
- import { LookupDataProviderInst } from '@mediusinc/mng-commons/form/api';
4
- /**
5
- * Creates lookup data provider with predefined lookup function based on API service GetAll function.
6
- *
7
- * @param {ServiceClassType<Service>} service - The API service instance used to perform the `getAll` call.
8
- * @param {GetAllFn} getAllFn - The function key of the `getAll` method in the service to be invoked.
9
- * @param [opts] - Optional configuration for the lookup.
10
- * @param [opts.search] - Search parameter definition for mapping to filter property or global search property - both cannot be used at the same time.
11
- * @param {ExtractGetAllParamsFilterType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>} [opts.search.filter.property] - The filter field used for search criteria.
12
- * @param {FilterMatchModeType} [opts.search.filter.matchMode] - The match mode used for the filter (e.g., contains, startsWith, etc.).
13
- * @param {FilterMatchModeType} [opts.search.globalSearch] - If search term is to be applied to global filter.
14
- * @param {Array<DataListSort<ExtractGetAllParamsSortType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>>>} [opts.sorts] - The sorting options to order the fetched data.
15
- * @param {number} [opts.limit] - The number of records to fetch.
16
- * @return {LookupDataProviderInst<ExtractServiceGetAllDataType<Service, GetAllFn>, Service, ExtractGetAllParamsSortType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>, ExtractGetAllParamsFilterType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>>} The lookup data provider instance configured with the lookup function.
17
- */
18
- export function lookupWithApiServiceGetAll(service, getAllFn, opts) {
19
- return new LookupDataProviderInst(service).withLookup((params, service, search) => {
20
- if (search != null && search.length > 0) {
21
- if (opts?.search?.filter) {
22
- params = {
23
- offset: params?.offset,
24
- limit: params?.limit,
25
- sort: params?.sort,
26
- filters: {
27
- ...{
28
- [opts.search.filter.property]: {
29
- value: search,
30
- matchMode: opts.search.filter.matchMode ?? 'equals'
31
- }
32
- }
33
- }
34
- };
35
- }
36
- else if (opts?.search?.globalFilter) {
37
- params = {
38
- offset: params?.offset,
39
- limit: params?.limit,
40
- sort: params?.sort,
41
- search: search
42
- };
43
- }
44
- }
45
- if (opts?.sort && opts.sort.length > 0) {
46
- params = {
47
- ...params,
48
- sort: opts?.sort
49
- };
50
- }
51
- if (opts?.limit != null) {
52
- params = {
53
- ...params,
54
- limit: opts?.limit
55
- };
56
- }
57
- return service[getAllFn](toGetAllParamsAsUrlQuery(params ?? {})).pipe(map(res => res.data ?? []));
58
- });
59
- }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWdldC1hbGwtY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGFibGV2aWV3L3NyYy9oZWxwZXJzL2xvb2t1cC1nZXQtYWxsLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFNSCx3QkFBd0IsRUFDM0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUV2RTs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUN0QyxPQUFrQyxFQUNsQyxRQUFrQixFQUNsQixJQVVDO0lBT0QsT0FBTyxJQUFJLHNCQUFzQixDQUsvQixPQUFvQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUMzRSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxJQUFJLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRztvQkFDTCxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU07b0JBQ3RCLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSztvQkFDcEIsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJO29CQUNsQixPQUFPLEVBQTBHO3dCQUM3RyxHQUFHOzRCQUNDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0NBQzNCLEtBQUssRUFBRSxNQUFNO2dDQUNiLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksUUFBUTs2QkFDdEQ7eUJBQ0o7cUJBQ0o7aUJBQ0osQ0FBQztZQUNOLENBQUM7aUJBQU0sSUFBSSxJQUFJLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDO2dCQUNwQyxNQUFNLEdBQUc7b0JBQ0wsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNO29CQUN0QixLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUs7b0JBQ3BCLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSTtvQkFDbEIsTUFBTSxFQUFFLE1BQU07aUJBQ2pCLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLEdBQUc7Z0JBQ0wsR0FBRyxNQUFNO2dCQUNULElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSTthQUNuQixDQUFDO1FBQ04sQ0FBQztRQUNELElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN0QixNQUFNLEdBQUc7Z0JBQ0wsR0FBRyxNQUFNO2dCQUNULEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSzthQUNyQixDQUFDO1FBQ04sQ0FBQztRQUNELE9BQ0ssT0FBZSxDQUFDLFFBQXdCLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBSXBGLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge09ic2VydmFibGUsIG1hcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgQXBpU2VydmljZUdldEFsbEZpbHRlclR5cGUsXG4gICAgRXh0cmFjdEdldEFsbFBhcmFtc0ZpbHRlclR5cGUsXG4gICAgRXh0cmFjdEdldEFsbFBhcmFtc1NvcnRUeXBlLFxuICAgIEV4dHJhY3RTZXJ2aWNlR2V0QWxsRGF0YVR5cGUsXG4gICAgR2V0QWxsSHR0cFJlc3BvbnNlVHlwZSxcbiAgICB0b0dldEFsbFBhcmFtc0FzVXJsUXVlcnlcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy1kYXRhLWFwaSc7XG5pbXBvcnQge0NsYXNzRnVuY3Rpb25LZXlzV2l0aEFueUFyZ3NBbmRSZXR1cm5UeXBlLCBEYXRhTGlzdEZpbHRlcnNUeXBlLCBEYXRhTGlzdFNvcnQsIEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZSwgU2VydmljZUNsYXNzVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7TG9va3VwRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5cbi8qKlxuICogQ3JlYXRlcyBsb29rdXAgZGF0YSBwcm92aWRlciB3aXRoIHByZWRlZmluZWQgbG9va3VwIGZ1bmN0aW9uIGJhc2VkIG9uIEFQSSBzZXJ2aWNlIEdldEFsbCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0ge1NlcnZpY2VDbGFzc1R5cGU8U2VydmljZT59IHNlcnZpY2UgLSBUaGUgQVBJIHNlcnZpY2UgaW5zdGFuY2UgdXNlZCB0byBwZXJmb3JtIHRoZSBgZ2V0QWxsYCBjYWxsLlxuICogQHBhcmFtIHtHZXRBbGxGbn0gZ2V0QWxsRm4gLSBUaGUgZnVuY3Rpb24ga2V5IG9mIHRoZSBgZ2V0QWxsYCBtZXRob2QgaW4gdGhlIHNlcnZpY2UgdG8gYmUgaW52b2tlZC5cbiAqIEBwYXJhbSBbb3B0c10gLSBPcHRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgbG9va3VwLlxuICogQHBhcmFtIFtvcHRzLnNlYXJjaF0gLSBTZWFyY2ggcGFyYW1ldGVyIGRlZmluaXRpb24gZm9yIG1hcHBpbmcgdG8gZmlsdGVyIHByb3BlcnR5IG9yIGdsb2JhbCBzZWFyY2ggcHJvcGVydHkgLSBib3RoIGNhbm5vdCBiZSB1c2VkIGF0IHRoZSBzYW1lIHRpbWUuXG4gKiBAcGFyYW0ge0V4dHJhY3RHZXRBbGxQYXJhbXNGaWx0ZXJUeXBlPEFwaVNlcnZpY2VHZXRBbGxGaWx0ZXJUeXBlPFNlcnZpY2UsIGFueSwgR2V0QWxsRm4+Pn0gW29wdHMuc2VhcmNoLmZpbHRlci5wcm9wZXJ0eV0gLSBUaGUgZmlsdGVyIGZpZWxkIHVzZWQgZm9yIHNlYXJjaCBjcml0ZXJpYS5cbiAqIEBwYXJhbSB7RmlsdGVyTWF0Y2hNb2RlVHlwZX0gW29wdHMuc2VhcmNoLmZpbHRlci5tYXRjaE1vZGVdIC0gVGhlIG1hdGNoIG1vZGUgdXNlZCBmb3IgdGhlIGZpbHRlciAoZS5nLiwgY29udGFpbnMsIHN0YXJ0c1dpdGgsIGV0Yy4pLlxuICogQHBhcmFtIHtGaWx0ZXJNYXRjaE1vZGVUeXBlfSBbb3B0cy5zZWFyY2guZ2xvYmFsU2VhcmNoXSAtIElmIHNlYXJjaCB0ZXJtIGlzIHRvIGJlIGFwcGxpZWQgdG8gZ2xvYmFsIGZpbHRlci5cbiAqIEBwYXJhbSB7QXJyYXk8RGF0YUxpc3RTb3J0PEV4dHJhY3RHZXRBbGxQYXJhbXNTb3J0VHlwZTxBcGlTZXJ2aWNlR2V0QWxsRmlsdGVyVHlwZTxTZXJ2aWNlLCBhbnksIEdldEFsbEZuPj4+Pn0gW29wdHMuc29ydHNdIC0gVGhlIHNvcnRpbmcgb3B0aW9ucyB0byBvcmRlciB0aGUgZmV0Y2hlZCBkYXRhLlxuICogQHBhcmFtIHtudW1iZXJ9IFtvcHRzLmxpbWl0XSAtIFRoZSBudW1iZXIgb2YgcmVjb3JkcyB0byBmZXRjaC5cbiAqIEByZXR1cm4ge0xvb2t1cERhdGFQcm92aWRlckluc3Q8RXh0cmFjdFNlcnZpY2VHZXRBbGxEYXRhVHlwZTxTZXJ2aWNlLCBHZXRBbGxGbj4sIFNlcnZpY2UsIEV4dHJhY3RHZXRBbGxQYXJhbXNTb3J0VHlwZTxBcGlTZXJ2aWNlR2V0QWxsRmlsdGVyVHlwZTxTZXJ2aWNlLCBhbnksIEdldEFsbEZuPj4sIEV4dHJhY3RHZXRBbGxQYXJhbXNGaWx0ZXJUeXBlPEFwaVNlcnZpY2VHZXRBbGxGaWx0ZXJUeXBlPFNlcnZpY2UsIGFueSwgR2V0QWxsRm4+Pj59IFRoZSBsb29rdXAgZGF0YSBwcm92aWRlciBpbnN0YW5jZSBjb25maWd1cmVkIHdpdGggdGhlIGxvb2t1cCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cFdpdGhBcGlTZXJ2aWNlR2V0QWxsPFNlcnZpY2UsIEdldEFsbEZuIGV4dGVuZHMgQ2xhc3NGdW5jdGlvbktleXNXaXRoQW55QXJnc0FuZFJldHVyblR5cGU8U2VydmljZSwgT2JzZXJ2YWJsZTxHZXRBbGxIdHRwUmVzcG9uc2VUeXBlPGFueT4+Pj4oXG4gICAgc2VydmljZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPixcbiAgICBnZXRBbGxGbjogR2V0QWxsRm4sXG4gICAgb3B0cz86IHtcbiAgICAgICAgc2VhcmNoPzoge1xuICAgICAgICAgICAgZmlsdGVyPzoge1xuICAgICAgICAgICAgICAgIHByb3BlcnR5OiBFeHRyYWN0R2V0QWxsUGFyYW1zRmlsdGVyVHlwZTxBcGlTZXJ2aWNlR2V0QWxsRmlsdGVyVHlwZTxTZXJ2aWNlLCBhbnksIEdldEFsbEZuPj47XG4gICAgICAgICAgICAgICAgbWF0Y2hNb2RlPzogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGdsb2JhbEZpbHRlcj86IGJvb2xlYW47XG4gICAgICAgIH07XG4gICAgICAgIHNvcnQ/OiBEYXRhTGlzdFNvcnQ8RXh0cmFjdEdldEFsbFBhcmFtc1NvcnRUeXBlPEFwaVNlcnZpY2VHZXRBbGxGaWx0ZXJUeXBlPFNlcnZpY2UsIGFueSwgR2V0QWxsRm4+Pj5bXTtcbiAgICAgICAgbGltaXQ/OiBudW1iZXI7XG4gICAgfVxuKTogTG9va3VwRGF0YVByb3ZpZGVySW5zdDxcbiAgICBFeHRyYWN0U2VydmljZUdldEFsbERhdGFUeXBlPFNlcnZpY2UsIEdldEFsbEZuPixcbiAgICBTZXJ2aWNlLFxuICAgIEV4dHJhY3RHZXRBbGxQYXJhbXNTb3J0VHlwZTxBcGlTZXJ2aWNlR2V0QWxsRmlsdGVyVHlwZTxTZXJ2aWNlLCBhbnksIEdldEFsbEZuPj4sXG4gICAgRXh0cmFjdEdldEFsbFBhcmFtc0ZpbHRlclR5cGU8QXBpU2VydmljZUdldEFsbEZpbHRlclR5cGU8U2VydmljZSwgYW55LCBHZXRBbGxGbj4+XG4+IHtcbiAgICByZXR1cm4gbmV3IExvb2t1cERhdGFQcm92aWRlckluc3Q8XG4gICAgICAgIEV4dHJhY3RTZXJ2aWNlR2V0QWxsRGF0YVR5cGU8U2VydmljZSwgR2V0QWxsRm4+LFxuICAgICAgICBTZXJ2aWNlLFxuICAgICAgICBFeHRyYWN0R2V0QWxsUGFyYW1zU29ydFR5cGU8QXBpU2VydmljZUdldEFsbEZpbHRlclR5cGU8U2VydmljZSwgYW55LCBHZXRBbGxGbj4+LFxuICAgICAgICBFeHRyYWN0R2V0QWxsUGFyYW1zRmlsdGVyVHlwZTxBcGlTZXJ2aWNlR2V0QWxsRmlsdGVyVHlwZTxTZXJ2aWNlLCBhbnksIEdldEFsbEZuPj5cbiAgICA+KHNlcnZpY2UgYXMgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPikud2l0aExvb2t1cCgocGFyYW1zLCBzZXJ2aWNlLCBzZWFyY2gpID0+IHtcbiAgICAgICAgaWYgKHNlYXJjaCAhPSBudWxsICYmIHNlYXJjaC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpZiAob3B0cz8uc2VhcmNoPy5maWx0ZXIpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogcGFyYW1zPy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGxpbWl0OiBwYXJhbXM/LmxpbWl0LFxuICAgICAgICAgICAgICAgICAgICBzb3J0OiBwYXJhbXM/LnNvcnQsXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnM6IDxEYXRhTGlzdEZpbHRlcnNUeXBlPEV4dHJhY3RHZXRBbGxQYXJhbXNGaWx0ZXJUeXBlPEFwaVNlcnZpY2VHZXRBbGxGaWx0ZXJUeXBlPFNlcnZpY2UsIGFueSwgR2V0QWxsRm4+Pj4+e1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4ue1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcHRzLnNlYXJjaC5maWx0ZXIucHJvcGVydHldOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWFyY2gsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoTW9kZTogb3B0cy5zZWFyY2guZmlsdGVyLm1hdGNoTW9kZSA/PyAnZXF1YWxzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG9wdHM/LnNlYXJjaD8uZ2xvYmFsRmlsdGVyKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0ge1xuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHBhcmFtcz8ub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBsaW1pdDogcGFyYW1zPy5saW1pdCxcbiAgICAgICAgICAgICAgICAgICAgc29ydDogcGFyYW1zPy5zb3J0LFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHNlYXJjaFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdHM/LnNvcnQgJiYgb3B0cy5zb3J0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICAgICAgc29ydDogb3B0cz8uc29ydFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0cz8ubGltaXQgIT0gbnVsbCkge1xuICAgICAgICAgICAgcGFyYW1zID0ge1xuICAgICAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgICAgICBsaW1pdDogb3B0cz8ubGltaXRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIChzZXJ2aWNlIGFzIGFueSlbZ2V0QWxsRm4gYXMga2V5b2Ygb2JqZWN0XSh0b0dldEFsbFBhcmFtc0FzVXJsUXVlcnkocGFyYW1zID8/IHt9KSkgYXMgT2JzZXJ2YWJsZTx7XG4gICAgICAgICAgICAgICAgZGF0YT86IEV4dHJhY3RTZXJ2aWNlR2V0QWxsRGF0YVR5cGU8U2VydmljZSwgR2V0QWxsRm4+W107XG4gICAgICAgICAgICAgICAgdG90YWxDb3VudD86IG51bWJlcjtcbiAgICAgICAgICAgIH0+XG4gICAgICAgICkucGlwZShtYXAocmVzID0+IHJlcy5kYXRhID8/IFtdKSk7XG4gICAgfSk7XG59XG4iXX0=
@@ -1,67 +0,0 @@
1
- import { Injector, inject } from '@angular/core';
2
- import { apiServiceGetAll } from '@mediusinc/mng-commons-data-api';
3
- import { TableviewDataProviderInst, TableviewDescriptorInst, TableviewInputBuilder } from '@mediusinc/mng-commons/tableview/api';
4
- /**
5
- * Creates a tableview with a given model, service and sorts/filters extracted from Data API Get All request params, service, and optional build function.
6
- *
7
- * @param {ModelDescriptor<Model>} model - The model descriptor.
8
- * @param {ServiceClassType<Service>} service - The class type of the service.
9
- * @param {TypeDescriptor<RequestParam> | TableviewWithGetAllParamsOpts<RequestParam, TableModel>} paramsOrOpts - The request param of get all request. Filters and sorts will be taken from here.
10
- * @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
11
- *
12
- * @returns A tableview instance with descriptor, data provider and actions.
13
- */
14
- export function tableviewWithGetAllParams(model, service, params, buildFn) {
15
- const builder = new TableviewInputBuilder(new TableviewDescriptorInst(model), new TableviewDataProviderInst(service), inject(Injector));
16
- buildFn?.(builder);
17
- return builder.build();
18
- }
19
- /**
20
- * Creates a tableview with a mulit-model (separate for add, edit and details), service and sorts/filters from API service's provided getAll function.
21
- *
22
- * @param {ModelDescriptor<Model>} model - The model descriptor.
23
- * @param {ServiceClassType<Service>} service - The class type of the service.
24
- * @param {TableviewWithGetAllParamsOpts} opts - Options providing get all request parameters and models for table, add and edit.
25
- * @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
26
- *
27
- * @returns A tableview instance with descriptor, data provider and actions.
28
- */
29
- export function tableviewMultiModelWithGetAllParams(model, service, opts, buildFn) {
30
- const builder = new TableviewInputBuilder(new TableviewDescriptorInst(model, opts), new TableviewDataProviderInst(service), inject(Injector));
31
- buildFn?.(builder);
32
- return builder.build();
33
- }
34
- /**
35
- * Creates a tableview with a given model, service and sorts/filters from API service's provided getAll function.
36
- *
37
- * @param {ModelDescriptor<Model>} model - The model descriptor.
38
- * @param {ServiceClassType<Service>} service - The class type of the service.
39
- * @param {GetAllFn} getAllFn - The function from service for executing getAll requests. Filters and sorts will be taken from here.
40
- * @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
41
- *
42
- * @returns A tableview instance with descriptor, data provider and actions.
43
- */
44
- export function tableviewWithApiServiceGetAll(model, service, getAllFn, buildFn) {
45
- const builder = new TableviewInputBuilder(new TableviewDescriptorInst(model), new TableviewDataProviderInst(service), inject(Injector));
46
- builder.withAdjustDataProvider(dataProvider => dataProvider.withGetAll((params, service) => apiServiceGetAll(service, getAllFn, params)));
47
- buildFn?.(builder);
48
- return builder.build();
49
- }
50
- /**
51
- * Creates a tableview with a given model, service and sorts/filters from API service's provided getAll function.
52
- *
53
- * @param {ModelDescriptor<Model>} model - The model descriptor.
54
- * @param {ServiceClassType<Service>} service - The class type of the service.
55
- * @param {GetAllFn} serviceGetAllFn - The function from service for executing getAll requests. Filters and sorts will be taken from here.
56
- * @param {Required<TableviewDescriptorInstConstructorOpts<TableModel, AddModel, EditModel>>} - Required options: all remaining models for multi-tableview must be defined here.
57
- * @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
58
- *
59
- * @returns A tableview instance with descriptor, data provider and actions.
60
- */
61
- export function tableviewMultiModelWithApiServiceGetAll(model, service, serviceGetAllFn, opts, buildFn) {
62
- const builder = new TableviewInputBuilder(new TableviewDescriptorInst(model, opts), new TableviewDataProviderInst(service), inject(Injector));
63
- builder.withAdjustDataProvider(dataProvider => dataProvider.withGetAll((params, service) => apiServiceGetAll(service, serviceGetAllFn, params)));
64
- buildFn?.(builder);
65
- return builder.build();
66
- }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWdldC1hbGwtcGFyYW1zLWNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvaGVscGVycy90YWJsZXZpZXctZ2V0LWFsbC1wYXJhbXMtY3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE9BQU8sRUFPSCxnQkFBZ0IsRUFDbkIsTUFBTSxpQ0FBaUMsQ0FBQztBQUd6QyxPQUFPLEVBQ0gseUJBQXlCLEVBRXpCLHVCQUF1QixFQUV2QixxQkFBcUIsRUFDeEIsTUFBTSxzQ0FBc0MsQ0FBQztBQU05Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBT3JDLEtBQTZCLEVBQzdCLE9BQWtDLEVBQ2xDLE1BQW9DLEVBQ3BDLE9BYVM7SUFFVCxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFxQixDQVlyQyxJQUFJLHVCQUF1QixDQUErRCxLQUFLLENBQUMsRUFDaEcsSUFBSSx5QkFBeUIsQ0FBaUMsT0FBTyxDQUFDLEVBQ3RFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FDbkIsQ0FBQztJQUNGLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQzNCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsbUNBQW1DLENBVy9DLEtBQTZCLEVBQzdCLE9BQWtDLEVBQ2xDLElBQTRGLEVBQzVGLE9BYVM7SUFFVCxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFxQixDQVlyQyxJQUFJLHVCQUF1QixDQUFpRixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQ3hILElBQUkseUJBQXlCLENBQTZGLE9BQU8sQ0FBQyxFQUNsSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQ25CLENBQUM7SUFDRixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztBQUMzQixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLDZCQUE2QixDQVN6QyxLQUE2QixFQUM3QixPQUFrQyxFQUNsQyxRQUFrQixFQUNsQixPQWFTO0lBRVQsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBcUIsQ0FZckMsSUFBSSx1QkFBdUIsQ0FBb0UsS0FBSyxDQUFDLEVBQ3JHLElBQUkseUJBQXlCLENBQXdFLE9BQU8sQ0FBQyxFQUM3RyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQ25CLENBQUM7SUFDRixPQUFPLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFFBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakosT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsdUNBQXVDLENBWW5ELEtBQTZCLEVBQzdCLE9BQWtDLEVBQ2xDLGVBQWdDLEVBQ2hDLElBQXVGLEVBQ3ZGLE9BYVM7SUFFVCxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFxQixDQVlyQyxJQUFJLHVCQUF1QixDQUFpRixLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQ3hILElBQUkseUJBQXlCLENBQTZGLE9BQU8sQ0FBQyxFQUNsSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQ25CLENBQUM7SUFDRixPQUFPLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGVBQXNCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hKLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIEFwaVNlcnZpY2VHZXRBbGxGaWx0ZXJUeXBlLFxuICAgIEV4dHJhY3RHZXRBbGxQYXJhbXNGaWx0ZXJUeXBlLFxuICAgIEV4dHJhY3RHZXRBbGxQYXJhbXNTb3J0VHlwZSxcbiAgICBFeHRyYWN0U2VydmljZUdldEFsbERhdGFUeXBlLFxuICAgIEdldEFsbEh0dHBSZXNwb25zZVR5cGUsXG4gICAgR2V0QWxsUGFyYW1zRGVmYXVsdFdvRmlsdGVyc1R5cGUsXG4gICAgYXBpU2VydmljZUdldEFsbFxufSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zLWRhdGEtYXBpJztcbmltcG9ydCB7Q2xhc3NGdW5jdGlvbktleXNXaXRoQW55QXJnc0FuZFJldHVyblR5cGUsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge01vZGVsRGVzY3JpcHRvciwgVHlwZURlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuaW1wb3J0IHtcbiAgICBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0LFxuICAgIFRhYmxldmlld0Rlc2NyaXB0b3JGaWVsZHNNYW5hZ2VNdWx0aVR5cGUsXG4gICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3QsXG4gICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3RDb25zdHJ1Y3Rvck9wdHMsXG4gICAgVGFibGV2aWV3SW5wdXRCdWlsZGVyXG59IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbnR5cGUgVGFibGV2aWV3V2l0aEdldEFsbFBhcmFtc09wdHM8UmVxdWVzdFBhcmFtLCBUYWJsZU1vZGVsLCBBZGRNb2RlbCwgRWRpdE1vZGVsPiA9IHtcbiAgICByZXF1ZXN0UGFyYW1zVHlwZTogVHlwZURlc2NyaXB0b3I8UmVxdWVzdFBhcmFtPjtcbn0gJiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdENvbnN0cnVjdG9yT3B0czxUYWJsZU1vZGVsLCBBZGRNb2RlbCwgRWRpdE1vZGVsPjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgdGFibGV2aWV3IHdpdGggYSBnaXZlbiBtb2RlbCwgc2VydmljZSBhbmQgc29ydHMvZmlsdGVycyBleHRyYWN0ZWQgZnJvbSBEYXRhIEFQSSBHZXQgQWxsIHJlcXVlc3QgcGFyYW1zLCBzZXJ2aWNlLCBhbmQgb3B0aW9uYWwgYnVpbGQgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHtNb2RlbERlc2NyaXB0b3I8TW9kZWw+fSBtb2RlbCAtIFRoZSBtb2RlbCBkZXNjcmlwdG9yLlxuICogQHBhcmFtIHtTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+fSBzZXJ2aWNlIC0gVGhlIGNsYXNzIHR5cGUgb2YgdGhlIHNlcnZpY2UuXG4gKiBAcGFyYW0ge1R5cGVEZXNjcmlwdG9yPFJlcXVlc3RQYXJhbT4gfCBUYWJsZXZpZXdXaXRoR2V0QWxsUGFyYW1zT3B0czxSZXF1ZXN0UGFyYW0sIFRhYmxlTW9kZWw+fSBwYXJhbXNPck9wdHMgLSBUaGUgcmVxdWVzdCBwYXJhbSBvZiBnZXQgYWxsIHJlcXVlc3QuIEZpbHRlcnMgYW5kIHNvcnRzIHdpbGwgYmUgdGFrZW4gZnJvbSBoZXJlLlxuICogQHBhcmFtIHsoYnVpbGRlcjogVGFibGV2aWV3QnVpbGRlcikgPT4gdm9pZH0gW2J1aWxkRm5dIC0gVGhlIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgdGFibGV2aWV3IHVzaW5nIHRoZSBwcmVwYXJlZCBidWlsZGVyLlxuICpcbiAqIEByZXR1cm5zIEEgdGFibGV2aWV3IGluc3RhbmNlIHdpdGggZGVzY3JpcHRvciwgZGF0YSBwcm92aWRlciBhbmQgYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld1dpdGhHZXRBbGxQYXJhbXM8XG4gICAgTW9kZWwsXG4gICAgU2VydmljZSxcbiAgICBSZXF1ZXN0UGFyYW0gZXh0ZW5kcyBHZXRBbGxQYXJhbXNEZWZhdWx0V29GaWx0ZXJzVHlwZSxcbiAgICBTb3J0cyA9IEV4dHJhY3RHZXRBbGxQYXJhbXNTb3J0VHlwZTxSZXF1ZXN0UGFyYW0+LFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBFeHRyYWN0R2V0QWxsUGFyYW1zRmlsdGVyVHlwZTxSZXF1ZXN0UGFyYW0+XG4+KFxuICAgIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8TW9kZWw+LFxuICAgIHNlcnZpY2U6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgcGFyYW1zOiBUeXBlRGVzY3JpcHRvcjxSZXF1ZXN0UGFyYW0+LFxuICAgIGJ1aWxkRm4/OiAoXG4gICAgICAgIGJ1aWxkZXI6IFRhYmxldmlld0lucHV0QnVpbGRlcjxcbiAgICAgICAgICAgIE1vZGVsLFxuICAgICAgICAgICAgU2VydmljZSxcbiAgICAgICAgICAgIFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBNb2RlbCwgTW9kZWwsIE1vZGVsLCBNb2RlbD4sXG4gICAgICAgICAgICBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgICAgICBTb3J0cyxcbiAgICAgICAgICAgIEZpbHRlcnMsXG4gICAgICAgICAgICBNb2RlbCxcbiAgICAgICAgICAgIE1vZGVsLFxuICAgICAgICAgICAgTW9kZWwsXG4gICAgICAgICAgICBNb2RlbFxuICAgICAgICA+XG4gICAgKSA9PiB2b2lkXG4pIHtcbiAgICBjb25zdCBidWlsZGVyID0gbmV3IFRhYmxldmlld0lucHV0QnVpbGRlcjxcbiAgICAgICAgTW9kZWwsXG4gICAgICAgIFNlcnZpY2UsXG4gICAgICAgIFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBNb2RlbCwgTW9kZWwsIE1vZGVsLCBNb2RlbD4sXG4gICAgICAgIFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPixcbiAgICAgICAgU29ydHMsXG4gICAgICAgIEZpbHRlcnMsXG4gICAgICAgIE1vZGVsLFxuICAgICAgICBNb2RlbCxcbiAgICAgICAgTW9kZWwsXG4gICAgICAgIE1vZGVsXG4gICAgPihcbiAgICAgICAgbmV3IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBNb2RlbCwgTW9kZWwsIE1vZGVsLCBNb2RlbD4obW9kZWwpLFxuICAgICAgICBuZXcgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+KHNlcnZpY2UpLFxuICAgICAgICBpbmplY3QoSW5qZWN0b3IpXG4gICAgKTtcbiAgICBidWlsZEZuPy4oYnVpbGRlcik7XG4gICAgcmV0dXJuIGJ1aWxkZXIuYnVpbGQoKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdGFibGV2aWV3IHdpdGggYSBtdWxpdC1tb2RlbCAoc2VwYXJhdGUgZm9yIGFkZCwgZWRpdCBhbmQgZGV0YWlscyksIHNlcnZpY2UgYW5kIHNvcnRzL2ZpbHRlcnMgZnJvbSBBUEkgc2VydmljZSdzIHByb3ZpZGVkIGdldEFsbCBmdW5jdGlvbi5cbiAqXG4gKiBAcGFyYW0ge01vZGVsRGVzY3JpcHRvcjxNb2RlbD59IG1vZGVsIC0gVGhlIG1vZGVsIGRlc2NyaXB0b3IuXG4gKiBAcGFyYW0ge1NlcnZpY2VDbGFzc1R5cGU8U2VydmljZT59IHNlcnZpY2UgLSBUaGUgY2xhc3MgdHlwZSBvZiB0aGUgc2VydmljZS5cbiAqIEBwYXJhbSB7VGFibGV2aWV3V2l0aEdldEFsbFBhcmFtc09wdHN9IG9wdHMgLSBPcHRpb25zIHByb3ZpZGluZyBnZXQgYWxsIHJlcXVlc3QgcGFyYW1ldGVycyBhbmQgbW9kZWxzIGZvciB0YWJsZSwgYWRkIGFuZCBlZGl0LlxuICogQHBhcmFtIHsoYnVpbGRlcjogVGFibGV2aWV3QnVpbGRlcikgPT4gdm9pZH0gW2J1aWxkRm5dIC0gVGhlIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgdGFibGV2aWV3IHVzaW5nIHRoZSBwcmVwYXJlZCBidWlsZGVyLlxuICpcbiAqIEByZXR1cm5zIEEgdGFibGV2aWV3IGluc3RhbmNlIHdpdGggZGVzY3JpcHRvciwgZGF0YSBwcm92aWRlciBhbmQgYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld011bHRpTW9kZWxXaXRoR2V0QWxsUGFyYW1zPFxuICAgIE1vZGVsLFxuICAgIFNlcnZpY2UsXG4gICAgUmVxdWVzdFBhcmFtIGV4dGVuZHMgR2V0QWxsUGFyYW1zRGVmYXVsdFdvRmlsdGVyc1R5cGUsXG4gICAgU29ydHMgPSBFeHRyYWN0R2V0QWxsUGFyYW1zU29ydFR5cGU8UmVxdWVzdFBhcmFtPixcbiAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0gRXh0cmFjdEdldEFsbFBhcmFtc0ZpbHRlclR5cGU8UmVxdWVzdFBhcmFtPixcbiAgICBUYWJsZU1vZGVsID0gTW9kZWwsXG4gICAgQWRkTW9kZWwgPSBNb2RlbCxcbiAgICBFZGl0TW9kZWwgPSBNb2RlbCxcbiAgICBGaWVsZHNNb2RlbCA9IFRhYmxldmlld0Rlc2NyaXB0b3JGaWVsZHNNYW5hZ2VNdWx0aVR5cGU8TW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWw+XG4+KFxuICAgIG1vZGVsOiBNb2RlbERlc2NyaXB0b3I8TW9kZWw+LFxuICAgIHNlcnZpY2U6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgb3B0czogUmVxdWlyZWQ8VGFibGV2aWV3V2l0aEdldEFsbFBhcmFtc09wdHM8UmVxdWVzdFBhcmFtLCBUYWJsZU1vZGVsLCBBZGRNb2RlbCwgRWRpdE1vZGVsPj4sXG4gICAgYnVpbGRGbj86IChcbiAgICAgICAgYnVpbGRlcjogVGFibGV2aWV3SW5wdXRCdWlsZGVyPFxuICAgICAgICAgICAgTW9kZWwsXG4gICAgICAgICAgICBTZXJ2aWNlLFxuICAgICAgICAgICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWwsIEZpZWxkc01vZGVsPixcbiAgICAgICAgICAgIFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+LCBUYWJsZU1vZGVsLCBBZGRNb2RlbCwgRWRpdE1vZGVsPixcbiAgICAgICAgICAgIFNvcnRzLFxuICAgICAgICAgICAgRmlsdGVycyxcbiAgICAgICAgICAgIFRhYmxlTW9kZWwsXG4gICAgICAgICAgICBBZGRNb2RlbCxcbiAgICAgICAgICAgIEVkaXRNb2RlbCxcbiAgICAgICAgICAgIEZpZWxkc01vZGVsXG4gICAgICAgID5cbiAgICApID0+IHZvaWRcbikge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVGFibGV2aWV3SW5wdXRCdWlsZGVyPFxuICAgICAgICBNb2RlbCxcbiAgICAgICAgU2VydmljZSxcbiAgICAgICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWwsIEZpZWxkc01vZGVsPixcbiAgICAgICAgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWw+LFxuICAgICAgICBTb3J0cyxcbiAgICAgICAgRmlsdGVycyxcbiAgICAgICAgVGFibGVNb2RlbCxcbiAgICAgICAgQWRkTW9kZWwsXG4gICAgICAgIEVkaXRNb2RlbCxcbiAgICAgICAgRmllbGRzTW9kZWxcbiAgICA+KFxuICAgICAgICBuZXcgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWwsIEZpZWxkc01vZGVsPihtb2RlbCwgb3B0cyksXG4gICAgICAgIG5ldyBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPiwgVGFibGVNb2RlbCwgQWRkTW9kZWwsIEVkaXRNb2RlbD4oc2VydmljZSksXG4gICAgICAgIGluamVjdChJbmplY3RvcilcbiAgICApO1xuICAgIGJ1aWxkRm4/LihidWlsZGVyKTtcbiAgICByZXR1cm4gYnVpbGRlci5idWlsZCgpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0YWJsZXZpZXcgd2l0aCBhIGdpdmVuIG1vZGVsLCBzZXJ2aWNlIGFuZCBzb3J0cy9maWx0ZXJzIGZyb20gQVBJIHNlcnZpY2UncyBwcm92aWRlZCBnZXRBbGwgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIHtNb2RlbERlc2NyaXB0b3I8TW9kZWw+fSBtb2RlbCAtIFRoZSBtb2RlbCBkZXNjcmlwdG9yLlxuICogQHBhcmFtIHtTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+fSBzZXJ2aWNlIC0gVGhlIGNsYXNzIHR5cGUgb2YgdGhlIHNlcnZpY2UuXG4gKiBAcGFyYW0ge0dldEFsbEZufSBnZXRBbGxGbiAtIFRoZSBmdW5jdGlvbiBmcm9tIHNlcnZpY2UgZm9yIGV4ZWN1dGluZyBnZXRBbGwgcmVxdWVzdHMuIEZpbHRlcnMgYW5kIHNvcnRzIHdpbGwgYmUgdGFrZW4gZnJvbSBoZXJlLlxuICogQHBhcmFtIHsoYnVpbGRlcjogVGFibGV2aWV3QnVpbGRlcikgPT4gdm9pZH0gW2J1aWxkRm5dIC0gVGhlIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgdGFibGV2aWV3IHVzaW5nIHRoZSBwcmVwYXJlZCBidWlsZGVyLlxuICpcbiAqIEByZXR1cm5zIEEgdGFibGV2aWV3IGluc3RhbmNlIHdpdGggZGVzY3JpcHRvciwgZGF0YSBwcm92aWRlciBhbmQgYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld1dpdGhBcGlTZXJ2aWNlR2V0QWxsPFxuICAgIE1vZGVsLFxuICAgIFNlcnZpY2UsXG4gICAgR2V0QWxsRm4gZXh0ZW5kcyBDbGFzc0Z1bmN0aW9uS2V5c1dpdGhBbnlBcmdzQW5kUmV0dXJuVHlwZTxTZXJ2aWNlLCBPYnNlcnZhYmxlPEdldEFsbEh0dHBSZXNwb25zZVR5cGU8VGFibGVNb2RlbD4+PixcbiAgICBUYWJsZU1vZGVsID0gRXh0cmFjdFNlcnZpY2VHZXRBbGxEYXRhVHlwZTxTZXJ2aWNlLCBHZXRBbGxGbj4sXG4gICAgUmVxdWVzdFBhcmFtcyBleHRlbmRzIEdldEFsbFBhcmFtc0RlZmF1bHRXb0ZpbHRlcnNUeXBlID0gQXBpU2VydmljZUdldEFsbEZpbHRlclR5cGU8U2VydmljZSwgVGFibGVNb2RlbCwgR2V0QWxsRm4+LFxuICAgIFNvcnRzID0gRXh0cmFjdEdldEFsbFBhcmFtc1NvcnRUeXBlPFJlcXVlc3RQYXJhbXM+LFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBFeHRyYWN0R2V0QWxsUGFyYW1zRmlsdGVyVHlwZTxSZXF1ZXN0UGFyYW1zPlxuPihcbiAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsPixcbiAgICBzZXJ2aWNlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+LFxuICAgIGdldEFsbEZuOiBHZXRBbGxGbixcbiAgICBidWlsZEZuPzogKFxuICAgICAgICBidWlsZGVyOiBUYWJsZXZpZXdJbnB1dEJ1aWxkZXI8XG4gICAgICAgICAgICBNb2RlbCxcbiAgICAgICAgICAgIFNlcnZpY2UsXG4gICAgICAgICAgICBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxNb2RlbCwgU29ydHMsIEZpbHRlcnMsIHVuZGVmaW5lZCwgVGFibGVNb2RlbCwgTW9kZWwsIE1vZGVsLCBNb2RlbD4sXG4gICAgICAgICAgICBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPiwgVGFibGVNb2RlbD4sXG4gICAgICAgICAgICBTb3J0cyxcbiAgICAgICAgICAgIEZpbHRlcnMsXG4gICAgICAgICAgICBUYWJsZU1vZGVsLFxuICAgICAgICAgICAgTW9kZWwsXG4gICAgICAgICAgICBNb2RlbCxcbiAgICAgICAgICAgIE1vZGVsXG4gICAgICAgID5cbiAgICApID0+IHZvaWRcbikge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVGFibGV2aWV3SW5wdXRCdWlsZGVyPFxuICAgICAgICBNb2RlbCxcbiAgICAgICAgU2VydmljZSxcbiAgICAgICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFRhYmxlTW9kZWwsIE1vZGVsLCBNb2RlbCwgTW9kZWw+LFxuICAgICAgICBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPiwgVGFibGVNb2RlbD4sXG4gICAgICAgIFNvcnRzLFxuICAgICAgICBGaWx0ZXJzLFxuICAgICAgICBUYWJsZU1vZGVsLFxuICAgICAgICBNb2RlbCxcbiAgICAgICAgTW9kZWwsXG4gICAgICAgIE1vZGVsXG4gICAgPihcbiAgICAgICAgbmV3IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBUYWJsZU1vZGVsLCBNb2RlbCwgTW9kZWwsIE1vZGVsPihtb2RlbCksXG4gICAgICAgIG5ldyBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPiwgVGFibGVNb2RlbD4oc2VydmljZSksXG4gICAgICAgIGluamVjdChJbmplY3RvcilcbiAgICApO1xuICAgIGJ1aWxkZXIud2l0aEFkanVzdERhdGFQcm92aWRlcihkYXRhUHJvdmlkZXIgPT4gZGF0YVByb3ZpZGVyLndpdGhHZXRBbGwoKHBhcmFtcywgc2VydmljZSkgPT4gYXBpU2VydmljZUdldEFsbChzZXJ2aWNlLCBnZXRBbGxGbiBhcyBhbnksIHBhcmFtcykpKTtcbiAgICBidWlsZEZuPy4oYnVpbGRlcik7XG4gICAgcmV0dXJuIGJ1aWxkZXIuYnVpbGQoKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdGFibGV2aWV3IHdpdGggYSBnaXZlbiBtb2RlbCwgc2VydmljZSBhbmQgc29ydHMvZmlsdGVycyBmcm9tIEFQSSBzZXJ2aWNlJ3MgcHJvdmlkZWQgZ2V0QWxsIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSB7TW9kZWxEZXNjcmlwdG9yPE1vZGVsPn0gbW9kZWwgLSBUaGUgbW9kZWwgZGVzY3JpcHRvci5cbiAqIEBwYXJhbSB7U2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPn0gc2VydmljZSAtIFRoZSBjbGFzcyB0eXBlIG9mIHRoZSBzZXJ2aWNlLlxuICogQHBhcmFtIHtHZXRBbGxGbn0gc2VydmljZUdldEFsbEZuIC0gVGhlIGZ1bmN0aW9uIGZyb20gc2VydmljZSBmb3IgZXhlY3V0aW5nIGdldEFsbCByZXF1ZXN0cy4gRmlsdGVycyBhbmQgc29ydHMgd2lsbCBiZSB0YWtlbiBmcm9tIGhlcmUuXG4gKiBAcGFyYW0ge1JlcXVpcmVkPFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0Q29uc3RydWN0b3JPcHRzPFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWw+Pn0gLSBSZXF1aXJlZCBvcHRpb25zOiBhbGwgcmVtYWluaW5nIG1vZGVscyBmb3IgbXVsdGktdGFibGV2aWV3IG11c3QgYmUgZGVmaW5lZCBoZXJlLlxuICogQHBhcmFtIHsoYnVpbGRlcjogVGFibGV2aWV3QnVpbGRlcikgPT4gdm9pZH0gW2J1aWxkRm5dIC0gVGhlIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgdGFibGV2aWV3IHVzaW5nIHRoZSBwcmVwYXJlZCBidWlsZGVyLlxuICpcbiAqIEByZXR1cm5zIEEgdGFibGV2aWV3IGluc3RhbmNlIHdpdGggZGVzY3JpcHRvciwgZGF0YSBwcm92aWRlciBhbmQgYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld011bHRpTW9kZWxXaXRoQXBpU2VydmljZUdldEFsbDxcbiAgICBNb2RlbCxcbiAgICBTZXJ2aWNlLFxuICAgIFNlcnZpY2VHZXRBbGxGbiBleHRlbmRzIENsYXNzRnVuY3Rpb25LZXlzV2l0aEFueUFyZ3NBbmRSZXR1cm5UeXBlPFNlcnZpY2UsIE9ic2VydmFibGU8R2V0QWxsSHR0cFJlc3BvbnNlVHlwZTxUYWJsZU1vZGVsPj4+LFxuICAgIFRhYmxlTW9kZWwsXG4gICAgQWRkTW9kZWwsXG4gICAgRWRpdE1vZGVsLFxuICAgIFNlcnZpY2VHZXRBbGxSZXF1ZXN0UGFyYW1zIGV4dGVuZHMgR2V0QWxsUGFyYW1zRGVmYXVsdFdvRmlsdGVyc1R5cGUgPSBBcGlTZXJ2aWNlR2V0QWxsRmlsdGVyVHlwZTxTZXJ2aWNlLCBUYWJsZU1vZGVsLCBTZXJ2aWNlR2V0QWxsRm4+LFxuICAgIFNvcnRzID0gRXh0cmFjdEdldEFsbFBhcmFtc1NvcnRUeXBlPFNlcnZpY2VHZXRBbGxSZXF1ZXN0UGFyYW1zPixcbiAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0gRXh0cmFjdEdldEFsbFBhcmFtc0ZpbHRlclR5cGU8U2VydmljZUdldEFsbFJlcXVlc3RQYXJhbXM+LFxuICAgIEZpZWxkc01vZGVsID0gVGFibGV2aWV3RGVzY3JpcHRvckZpZWxkc01hbmFnZU11bHRpVHlwZTxNb2RlbCwgQWRkTW9kZWwsIEVkaXRNb2RlbD5cbj4oXG4gICAgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxNb2RlbD4sXG4gICAgc2VydmljZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPixcbiAgICBzZXJ2aWNlR2V0QWxsRm46IFNlcnZpY2VHZXRBbGxGbixcbiAgICBvcHRzOiBSZXF1aXJlZDxUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdENvbnN0cnVjdG9yT3B0czxUYWJsZU1vZGVsLCBBZGRNb2RlbCwgRWRpdE1vZGVsPj4sXG4gICAgYnVpbGRGbj86IChcbiAgICAgICAgYnVpbGRlcjogVGFibGV2aWV3SW5wdXRCdWlsZGVyPFxuICAgICAgICAgICAgTW9kZWwsXG4gICAgICAgICAgICBTZXJ2aWNlLFxuICAgICAgICAgICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWwsIEZpZWxkc01vZGVsPixcbiAgICAgICAgICAgIFRhYmxldmlld0RhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+LCBUYWJsZU1vZGVsLCBBZGRNb2RlbCwgRWRpdE1vZGVsPixcbiAgICAgICAgICAgIFNvcnRzLFxuICAgICAgICAgICAgRmlsdGVycyxcbiAgICAgICAgICAgIFRhYmxlTW9kZWwsXG4gICAgICAgICAgICBBZGRNb2RlbCxcbiAgICAgICAgICAgIEVkaXRNb2RlbCxcbiAgICAgICAgICAgIEZpZWxkc01vZGVsXG4gICAgICAgID5cbiAgICApID0+IHZvaWRcbikge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVGFibGV2aWV3SW5wdXRCdWlsZGVyPFxuICAgICAgICBNb2RlbCxcbiAgICAgICAgU2VydmljZSxcbiAgICAgICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWwsIEZpZWxkc01vZGVsPixcbiAgICAgICAgVGFibGV2aWV3RGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWw+LFxuICAgICAgICBTb3J0cyxcbiAgICAgICAgRmlsdGVycyxcbiAgICAgICAgVGFibGVNb2RlbCxcbiAgICAgICAgQWRkTW9kZWwsXG4gICAgICAgIEVkaXRNb2RlbCxcbiAgICAgICAgRmllbGRzTW9kZWxcbiAgICA+KFxuICAgICAgICBuZXcgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFRhYmxlTW9kZWwsIEFkZE1vZGVsLCBFZGl0TW9kZWwsIEZpZWxkc01vZGVsPihtb2RlbCwgb3B0cyksXG4gICAgICAgIG5ldyBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPiwgVGFibGVNb2RlbCwgQWRkTW9kZWwsIEVkaXRNb2RlbD4oc2VydmljZSksXG4gICAgICAgIGluamVjdChJbmplY3RvcilcbiAgICApO1xuICAgIGJ1aWxkZXIud2l0aEFkanVzdERhdGFQcm92aWRlcihkYXRhUHJvdmlkZXIgPT4gZGF0YVByb3ZpZGVyLndpdGhHZXRBbGwoKHBhcmFtcywgc2VydmljZSkgPT4gYXBpU2VydmljZUdldEFsbChzZXJ2aWNlLCBzZXJ2aWNlR2V0QWxsRm4gYXMgYW55LCBwYXJhbXMpKSk7XG4gICAgYnVpbGRGbj8uKGJ1aWxkZXIpO1xuICAgIHJldHVybiBidWlsZGVyLmJ1aWxkKCk7XG59XG4iXX0=
@@ -1,10 +0,0 @@
1
- // schema
2
- export * from './schema/columns-from-schema';
3
- export * from './schema/enum-from-schema';
4
- export * from './schema/fields-from-schema';
5
- // helpers
6
- export * from './helpers/lookup-get-all-create';
7
- export * from './helpers/tableview-get-all-params-create';
8
- // filter
9
- export * from './filter/generic-filters';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90YWJsZXZpZXcvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVM7QUFDVCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxVQUFVO0FBQ1YsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELFNBQVM7QUFDVCxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc2NoZW1hXG5leHBvcnQgKiBmcm9tICcuL3NjaGVtYS9jb2x1bW5zLWZyb20tc2NoZW1hJztcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hL2VudW0tZnJvbS1zY2hlbWEnO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlbWEvZmllbGRzLWZyb20tc2NoZW1hJztcblxuLy8gaGVscGVyc1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2xvb2t1cC1nZXQtYWxsLWNyZWF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMvdGFibGV2aWV3LWdldC1hbGwtcGFyYW1zLWNyZWF0ZSc7XG5cbi8vIGZpbHRlclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIvZ2VuZXJpYy1maWx0ZXJzJztcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLXRhYmxldmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RhYmxldmlldy9zcmMvbWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLXRhYmxldmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,179 +0,0 @@
1
- import { enumModelFromSchema } from './enum-from-schema';
2
- import { fromSchemaFilterNonArrayProperties } from './internal/common-from-schema';
3
- const defaultGetter = value => {
4
- if (typeof value === 'object') {
5
- const valueObj = value;
6
- return (valueObj['title'] ??
7
- valueObj['name'] ??
8
- valueObj['naziv'] ??
9
- valueObj['code'] ??
10
- valueObj['sifra'] ??
11
- valueObj['id'] ??
12
- valueObj['uuid'] ??
13
- valueObj[Object.keys(valueObj)[0]]);
14
- }
15
- else {
16
- return value;
17
- }
18
- };
19
- /**
20
- * <em>Experimental:</em> Builder for adding columns to table.
21
- *
22
- * @experimental
23
- */
24
- export class SchemaColumnsBuilder {
25
- constructor(descriptor, schema, opts) {
26
- this.descriptor = descriptor;
27
- this.schema = schema;
28
- this.opts = opts;
29
- }
30
- mergeColumnsOpts(property, opts) {
31
- return {
32
- ...this.opts,
33
- columnType: this.opts?.columnTypes?.[property],
34
- getter: opts?.getters?.[property] ?? this.opts?.getters?.[property],
35
- enumModel: opts?.enumModels?.[property] ?? this.opts?.enumModels?.[property],
36
- enumSchema: opts?.enumSchemas?.[property] ?? this.opts?.enumSchemas?.[property],
37
- ...opts
38
- };
39
- }
40
- mergeColumnOpts(property, opts) {
41
- return {
42
- ...this.opts,
43
- columnType: this.opts?.columnTypes?.[property],
44
- getter: this.opts?.getters?.[property],
45
- enumModel: this.opts?.enumModels?.[property],
46
- enumSchema: this.opts?.enumSchemas?.[property],
47
- ...opts
48
- };
49
- }
50
- /**
51
- * <em>Experimental:</em> Adds a single column via {addColumnFromSchema}.
52
- *
53
- * @experimental
54
- *
55
- * @param {Property} property - The property to add the column for.
56
- * @param {ColumnFromSchemaOptsType<SchModel[Property], SchModel, any, Model>} opts - Additional options.
57
- *
58
- * @return {ColumnDescriptor<NonNullable<Model[Property]>, Model, Model[Property]>} The added column descriptor.
59
- */
60
- add(property, opts) {
61
- return addColumnFromSchema(this.descriptor, property, this.schema.properties[property], this.mergeColumnOpts(property, opts));
62
- }
63
- /**
64
- * <em>Experimental:</em> Adds all columns from the non-array schema properties via {addColumnFromSchema}.
65
- *
66
- * @experimental
67
- *
68
- * @param {ColumnsFromSchemaOptsType<SchModel>} opts - Additional options.
69
- *
70
- * @return {this} - The current instance of the builder.
71
- */
72
- withAddAll(opts) {
73
- this.addColumns(undefined, opts);
74
- return this;
75
- }
76
- withAdd(propOrOpts, ...properties) {
77
- if (typeof propOrOpts === 'object') {
78
- this.addColumns(properties.length === 0 ? undefined : properties, propOrOpts);
79
- }
80
- else {
81
- this.addColumns([propOrOpts, ...properties]);
82
- }
83
- return this;
84
- }
85
- /**
86
- * <em>Experimental:</em> Adds a single column via {addColumnFromSchema} where property schema is manually provided.
87
- *
88
- * @experimental
89
- *
90
- * @param {Property} property - The property to add the column for.
91
- * @param {SchemaProperty} schemaProperty - Manually provided schema property.
92
- * @param {ColumnFromSchemaOptsType} opts - Additional options.
93
- *
94
- * @return {ColumnDescriptor<NonNullable<Model[Property]>, Model, Model[Property]>} The added column descriptor.
95
- */
96
- addFromSchema(property, schemaProperty, opts) {
97
- return addColumnFromSchema(this.descriptor, property, schemaProperty, this.mergeColumnOpts(property, opts));
98
- }
99
- addColumns(properties, opts) {
100
- const addProperties = properties ?? fromSchemaFilterNonArrayProperties(this.schema.properties);
101
- if (addProperties) {
102
- addProperties.forEach(property => {
103
- addColumnFromSchema(this.descriptor, property, this.schema.properties[property], this.mergeColumnsOpts(property, opts));
104
- });
105
- }
106
- }
107
- }
108
- /**
109
- * <em>Experimental:</em> Creates builder for adding columns to descriptor based on provided model schema.
110
- *
111
- * @experimental
112
- *
113
- * @param {TableviewDescriptorInst<Model, any, any, any> | TableDescriptorInst<Model, any, any>} descriptor - Descriptor to add columns to.
114
- * @param {SchemaModel<SchModel>} schema - The schema with metadata about properties for fields.
115
- * @param {ColumnsFromSchemaOptsType<SchModel>} [opts] - Additional options.
116
- *
117
- * @return {SchemaColumnsBuilder<Model, SchModel>} - The column schema builder instance.
118
- */
119
- export function columnsFromSchema(descriptor, schema, opts) {
120
- return new SchemaColumnsBuilder(descriptor, schema, opts);
121
- }
122
- /**
123
- * <em>Experimental:</em> Adds a column to table descriptor based on the given schema property and options.
124
- *
125
- * @param {TableviewDescriptorInst<Model, any, any, any> | TableDescriptorInst<Model, any, any>} descriptor - The table view descriptor or table descriptor to add the column to.
126
- * @param {Property} property - The property key of the model to create the column for.
127
- * @param {SchemaProperty} propertySchema - The schema property for the property.
128
- * @param {ColumnFromSchemaOptsType<Model[Property], Model, any, Model>} [opts] - The options for the column.
129
- *
130
- * @return {ColumnDescriptor<NonNullable<Model[Property]>, Model, Model[Property]>} - The added column descriptor.
131
- */
132
- export function addColumnFromSchema(descriptor, property, propertySchema, opts) {
133
- const propertyType = opts?.columnType ?? propertySchema?.type;
134
- const column = descriptor.addColumn(property);
135
- // Handle different property types
136
- switch (propertyType) {
137
- case 'number':
138
- column.asNumber({
139
- minFractionDigits: opts?.numberMinFractionDigits,
140
- maxFractionDigits: opts?.numberMaxFractionDigits,
141
- minIntegerDigits: opts?.numberMinIntegerDigits
142
- });
143
- break;
144
- case 'boolean':
145
- column.asBoolean(undefined, undefined, true);
146
- break;
147
- case 'date':
148
- column.asDate(opts?.dateFormat ?? 'dd.MM.YYYY');
149
- break;
150
- case 'enum':
151
- // eslint-disable-next-line no-case-declarations
152
- const enumModel = opts?.enumSchema ? enumModelFromSchema(opts.enumSchema) : opts?.enumModel;
153
- if (enumModel) {
154
- column.asEnumUnsafe(enumModel);
155
- }
156
- break;
157
- case 'date-time':
158
- column.asDate(opts?.dateTimeFormat ?? 'dd.MM.YYYY HH:mm');
159
- break;
160
- case 'currency':
161
- column.asCurrency({
162
- currency: opts?.currency,
163
- currencyDisplay: opts?.currencyDisplay,
164
- currencyProperty: opts?.currencyProperty,
165
- minFractionDigits: opts?.numberMinFractionDigits,
166
- maxFractionDigits: opts?.numberMaxFractionDigits,
167
- minIntegerDigits: opts?.numberMinIntegerDigits
168
- });
169
- break;
170
- case 'object':
171
- column.withGetter(defaultGetter);
172
- break;
173
- }
174
- // Add optional filter, sort and getters
175
- if (opts?.getter)
176
- column.withGetter(opts?.getter);
177
- return column;
178
- }
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1mcm9tLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvc2NoZW1hL2NvbHVtbnMtZnJvbS1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUE2QmpGLE1BQU0sYUFBYSxHQUFzQixLQUFLLENBQUMsRUFBRTtJQUM3QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sUUFBUSxHQUFHLEtBQWUsQ0FBQztRQUNqQyxPQUFPLENBQ0gsUUFBUSxDQUFDLE9BQXVCLENBQUM7WUFDakMsUUFBUSxDQUFDLE1BQXNCLENBQUM7WUFDaEMsUUFBUSxDQUFDLE9BQXVCLENBQUM7WUFDakMsUUFBUSxDQUFDLE1BQXNCLENBQUM7WUFDaEMsUUFBUSxDQUFDLE9BQXVCLENBQUM7WUFDakMsUUFBUSxDQUFDLElBQW9CLENBQUM7WUFDOUIsUUFBUSxDQUFDLE1BQXNCLENBQUM7WUFDaEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFpQixDQUFDLENBQ3JELENBQUM7SUFDTixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUNxQixVQUFnRyxFQUNoRyxNQUE2QixFQUN0QyxJQUEwQztRQUZqQyxlQUFVLEdBQVYsVUFBVSxDQUFzRjtRQUNoRyxXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUN0QyxTQUFJLEdBQUosSUFBSSxDQUFzQztJQUNuRCxDQUFDO0lBRUksZ0JBQWdCLENBQUMsUUFBYSxFQUFFLElBQWdDO1FB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UHJvcGVydHl9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMtZGF0YS1hcGknO1xuaW1wb3J0IHtHZXR0ZXJGbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7RW51bURlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuaW1wb3J0IHtDb2x1bW5EZXNjcmlwdG9yLCBUYWJsZURlc2NyaXB0b3JJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxlL2FwaSc7XG5pbXBvcnQge1RhYmxldmlld0Rlc2NyaXB0b3JJbnN0fSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge2VudW1Nb2RlbEZyb21TY2hlbWF9IGZyb20gJy4vZW51bS1mcm9tLXNjaGVtYSc7XG5pbXBvcnQge2Zyb21TY2hlbWFGaWx0ZXJOb25BcnJheVByb3BlcnRpZXN9IGZyb20gJy4vaW50ZXJuYWwvY29tbW9uLWZyb20tc2NoZW1hJztcblxudHlwZSBDb2x1bW5UeXBlID0gJ251bWJlcicgfCAnY3VycmVuY3knIHwgJ2Jvb2xlYW4nIHwgJ3N0cmluZycgfCAndGV4dCcgfCAndGV4dGFyZWEnIHwgJ2RhdGUnIHwgJ2RhdGUtdGltZScgfCAnZW51bScgfCAnb2JqZWN0JztcblxudHlwZSBDb2x1bW5Gcm9tU2NoZW1hQ29tbW9uT3B0c1R5cGU8TW9kZWw+ID0ge1xuICAgIGN1cnJlbmN5UHJvcGVydHk/OiBrZXlvZiBNb2RlbDtcbiAgICBjdXJyZW5jeT86IHN0cmluZztcbiAgICBjdXJyZW5jeURpc3BsYXk/OiAnc3ltYm9sJyB8ICdjb2RlJyB8ICduYW1lJztcbiAgICBkYXRlRm9ybWF0Pzogc3RyaW5nO1xuICAgIGRhdGVUaW1lRm9ybWF0Pzogc3RyaW5nO1xuICAgIG51bWJlck1pbkludGVnZXJEaWdpdHM/OiBudW1iZXI7XG4gICAgbnVtYmVyTWluRnJhY3Rpb25EaWdpdHM/OiBudW1iZXI7XG4gICAgbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHM/OiBudW1iZXI7XG59O1xuXG50eXBlIENvbHVtbnNGcm9tU2NoZW1hT3B0c1R5cGU8TW9kZWwgPSBhbnk+ID0gQ29sdW1uRnJvbVNjaGVtYUNvbW1vbk9wdHNUeXBlPE1vZGVsPiAmIHtcbiAgICBjb2x1bW5UeXBlcz86IFBhcnRpYWw8UmVjb3JkPGtleW9mIE1vZGVsLCBDb2x1bW5UeXBlPj47XG4gICAgZW51bU1vZGVscz86IFBhcnRpYWw8UmVjb3JkPGtleW9mIE1vZGVsLCBFbnVtRGVzY3JpcHRvcjxhbnk+Pj47XG4gICAgZW51bVNjaGVtYXM/OiBQYXJ0aWFsPFJlY29yZDxrZXlvZiBNb2RlbCwgU2NoZW1hRW51bTxhbnk+Pj47XG4gICAgZ2V0dGVycz86IHtbSyBpbiBrZXlvZiBNb2RlbF0/OiBHZXR0ZXJGbjxNb2RlbFtLXSwgTW9kZWw+fTtcbn07XG5cbnR5cGUgQ29sdW1uRnJvbVNjaGVtYU9wdHNUeXBlPENvbHVtbiA9IGFueSwgTW9kZWwgPSBhbnksIEVudW0gPSBhbnk+ID0gQ29sdW1uRnJvbVNjaGVtYUNvbW1vbk9wdHNUeXBlPE1vZGVsPiAmIHtcbiAgICBjb2x1bW5UeXBlPzogQ29sdW1uVHlwZTtcbiAgICBnZXR0ZXI/OiBHZXR0ZXJGbjxDb2x1bW4sIE1vZGVsPjtcbiAgICBlbnVtTW9kZWw/OiBFbnVtRGVzY3JpcHRvcjxFbnVtPjtcbiAgICBlbnVtU2NoZW1hPzogU2NoZW1hRW51bTxFbnVtPjtcbn07XG5cbmNvbnN0IGRlZmF1bHRHZXR0ZXI6IEdldHRlckZuPHVua25vd24+ID0gdmFsdWUgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlT2JqID0gdmFsdWUgYXMgb2JqZWN0O1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdmFsdWVPYmpbJ3RpdGxlJyBhcyBrZXlvZiBvYmplY3RdID8/XG4gICAgICAgICAgICB2YWx1ZU9ialsnbmFtZScgYXMga2V5b2Ygb2JqZWN0XSA/P1xuICAgICAgICAgICAgdmFsdWVPYmpbJ25heml2JyBhcyBrZXlvZiBvYmplY3RdID8/XG4gICAgICAgICAgICB2YWx1ZU9ialsnY29kZScgYXMga2V5b2Ygb2JqZWN0XSA/P1xuICAgICAgICAgICAgdmFsdWVPYmpbJ3NpZnJhJyBhcyBrZXlvZiBvYmplY3RdID8/XG4gICAgICAgICAgICB2YWx1ZU9ialsnaWQnIGFzIGtleW9mIG9iamVjdF0gPz9cbiAgICAgICAgICAgIHZhbHVlT2JqWyd1dWlkJyBhcyBrZXlvZiBvYmplY3RdID8/XG4gICAgICAgICAgICB2YWx1ZU9ialtPYmplY3Qua2V5cyh2YWx1ZU9iailbMF0gYXMga2V5b2Ygb2JqZWN0XVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG59O1xuXG4vKipcbiAqIDxlbT5FeHBlcmltZW50YWw6PC9lbT4gQnVpbGRlciBmb3IgYWRkaW5nIGNvbHVtbnMgdG8gdGFibGUuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgU2NoZW1hQ29sdW1uc0J1aWxkZXI8TW9kZWwsIFNjaE1vZGVsID0gTW9kZWw+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBkZXNjcmlwdG9yOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxNb2RlbCwgYW55LCBhbnksIGFueT4gfCBUYWJsZURlc2NyaXB0b3JJbnN0PE1vZGVsLCBhbnksIGFueT4sXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgc2NoZW1hOiBTY2hlbWFNb2RlbDxTY2hNb2RlbD4sXG4gICAgICAgIHByaXZhdGUgb3B0cz86IENvbHVtbnNGcm9tU2NoZW1hT3B0c1R5cGU8U2NoTW9kZWw+XG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBtZXJnZUNvbHVtbnNPcHRzKHByb3BlcnR5OiBhbnksIG9wdHM/OiBDb2x1bW5zRnJvbVNjaGVtYU9wdHNUeXBlKSB7XG4gICAgICAgIHJldHVybiA8Q29sdW1uRnJvbVNjaGVtYU9wdHNUeXBlPntcbiAgICAgICAgICAgIC4uLnRoaXMub3B0cyxcbiAgICAgICAgICAgIGNvbHVtblR5cGU6IHRoaXMub3B0cz8uY29sdW1uVHlwZXM/Lltwcm9wZXJ0eSBhcyBrZXlvZiBvYmplY3RdLFxuICAgICAgICAgICAgZ2V0dGVyOiBvcHRzPy5nZXR0ZXJzPy5bcHJvcGVydHldID8/IHRoaXMub3B0cz8uZ2V0dGVycz8uW3Byb3BlcnR5IGFzIGtleW9mIG9iamVjdF0sXG4gICAgICAgICAgICBlbnVtTW9kZWw6IG9wdHM/LmVudW1Nb2RlbHM/Lltwcm9wZXJ0eV0gPz8gdGhpcy5vcHRzPy5lbnVtTW9kZWxzPy5bcHJvcGVydHkgYXMga2V5b2Ygb2JqZWN0XSxcbiAgICAgICAgICAgIGVudW1TY2hlbWE6IG9wdHM/LmVudW1TY2hlbWFzPy5bcHJvcGVydHldID8/IHRoaXMub3B0cz8uZW51bVNjaGVtYXM/Lltwcm9wZXJ0eSBhcyBrZXlvZiBvYmplY3RdLFxuICAgICAgICAgICAgLi4ub3B0c1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgbWVyZ2VDb2x1bW5PcHRzKHByb3BlcnR5OiBhbnksIG9wdHM/OiBDb2x1bW5Gcm9tU2NoZW1hT3B0c1R5cGUpIHtcbiAgICAgICAgcmV0dXJuIDxDb2x1bW5Gcm9tU2NoZW1hT3B0c1R5cGU+e1xuICAgICAgICAgICAgLi4udGhpcy5vcHRzLFxuICAgICAgICAgICAgY29sdW1uVHlwZTogdGhpcy5vcHRzPy5jb2x1bW5UeXBlcz8uW3Byb3BlcnR5IGFzIGtleW9mIG9iamVjdF0sXG4gICAgICAgICAgICBnZXR0ZXI6IHRoaXMub3B0cz8uZ2V0dGVycz8uW3Byb3BlcnR5IGFzIGtleW9mIG9iamVjdF0sXG4gICAgICAgICAgICBlbnVtTW9kZWw6IHRoaXMub3B0cz8uZW51bU1vZGVscz8uW3Byb3BlcnR5IGFzIGtleW9mIG9iamVjdF0sXG4gICAgICAgICAgICBlbnVtU2NoZW1hOiB0aGlzLm9wdHM/LmVudW1TY2hlbWFzPy5bcHJvcGVydHkgYXMga2V5b2Ygb2JqZWN0XSxcbiAgICAgICAgICAgIC4uLm9wdHNcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiA8ZW0+RXhwZXJpbWVudGFsOjwvZW0+IEFkZHMgYSBzaW5nbGUgY29sdW1uIHZpYSB7YWRkQ29sdW1uRnJvbVNjaGVtYX0uXG4gICAgICpcbiAgICAgKiBAZXhwZXJpbWVudGFsXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1Byb3BlcnR5fSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSB0byBhZGQgdGhlIGNvbHVtbiBmb3IuXG4gICAgICogQHBhcmFtIHtDb2x1bW5Gcm9tU2NoZW1hT3B0c1R5cGU8U2NoTW9kZWxbUHJvcGVydHldLCBTY2hNb2RlbCwgYW55LCBNb2RlbD59IG9wdHMgLSBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJuIHtDb2x1bW5EZXNjcmlwdG9yPE5vbk51bGxhYmxlPE1vZGVsW1Byb3BlcnR5XT4sIE1vZGVsLCBNb2RlbFtQcm9wZXJ0eV0+fSBUaGUgYWRkZWQgY29sdW1uIGRlc2NyaXB0b3IuXG4gICAgICovXG4gICAgcHVibGljIGFkZDxQcm9wZXJ0eSBleHRlbmRzIEV4dHJhY3Q8a2V5b2YgTW9kZWwsIGtleW9mIFNjaE1vZGVsPj4oXG4gICAgICAgIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgICAgICAgb3B0cz86IENvbHVtbkZyb21TY2hlbWFPcHRzVHlwZTxTY2hNb2RlbFtQcm9wZXJ0eV0sIFNjaE1vZGVsLCBhbnk+XG4gICAgKTogQ29sdW1uRGVzY3JpcHRvcjxOb25OdWxsYWJsZTxNb2RlbFtQcm9wZXJ0eV0+LCBNb2RlbCwgTW9kZWxbUHJvcGVydHldPiB7XG4gICAgICAgIHJldHVybiBhZGRDb2x1bW5Gcm9tU2NoZW1hKFxuICAgICAgICAgICAgdGhpcy5kZXNjcmlwdG9yLFxuICAgICAgICAgICAgcHJvcGVydHksXG4gICAgICAgICAgICB0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzW3Byb3BlcnR5XSxcbiAgICAgICAgICAgIHRoaXMubWVyZ2VDb2x1bW5PcHRzKHByb3BlcnR5LCBvcHRzKSBhcyBDb2x1bW5Gcm9tU2NoZW1hT3B0c1R5cGU8TW9kZWxbUHJvcGVydHldLCBNb2RlbCwgYW55PiB8IHVuZGVmaW5lZFxuICAgICAgICApIGFzIHVua25vd24gYXMgQ29sdW1uRGVzY3JpcHRvcjxOb25OdWxsYWJsZTxNb2RlbFtQcm9wZXJ0eV0+LCBNb2RlbCwgTW9kZWxbUHJvcGVydHldPjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiA8ZW0+RXhwZXJpbWVudGFsOjwvZW0+IEFkZHMgYWxsIGNvbHVtbnMgZnJvbSB0aGUgbm9uLWFycmF5IHNjaGVtYSBwcm9wZXJ0aWVzIHZpYSB7YWRkQ29sdW1uRnJvbVNjaGVtYX0uXG4gICAgICpcbiAgICAgKiBAZXhwZXJpbWVudGFsXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0NvbHVtbnNGcm9tU2NoZW1hT3B0c1R5cGU8U2NoTW9kZWw+fSBvcHRzIC0gQWRkaXRpb25hbCBvcHRpb25zLlxuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc30gLSBUaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aEFkZEFsbChvcHRzPzogQ29sdW1uc0Zyb21TY2hlbWFPcHRzVHlwZTxTY2hNb2RlbD4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5hZGRDb2x1bW5zKHVuZGVmaW5lZCwgb3B0cyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDxlbT5FeHBlcmltZW50YWw6PC9lbT4gQWRkcyBjb2x1bW5zIGZvciBwcm9wZXJ0aWVzIHZpYSB7YWRkQ29sdW1uRnJvbVNjaGVtYX0uXG4gICAgICpcbiAgICAgKiBAZXhwZXJpbWVudGFsXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0NvbHVtbnNGcm9tU2NoZW1hT3B0c1R5cGU8U2NoTW9kZWw+fSBvcHRzIC0gQWRkaXRpb25hbCBvcHRpb25zLlxuICAgICAqIEBwYXJhbSB7Li4uUHJvcGVydHlbXX0gcHJvcGVydGllcyAtIFByb3BlcnRpZXMgdG8gYWRkIGNvbHVtbnMgZm9yLiBJZiBub24gcHJvdmlkZWQsIGFsbCBub24tYXJyYXkgcHJvcGVydGllcyBmcm9tIHNjaGVtYSB3aWxsIGJlIGFkZGVkLlxuICAgICAqXG4gICAgICogQHJldHVybiB7dGhpc30gLSBUaGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGUgYnVpbGRlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aEFkZDxQcm9wZXJ0eSBleHRlbmRzIEV4dHJhY3Q8a2V5b2YgTW9kZWwsIGtleW9mIFNjaE1vZGVsPj4ob3B0czogQ29sdW1uc0Zyb21TY2hlbWFPcHRzVHlwZTxTY2hNb2RlbD4sIC4uLnByb3BlcnRpZXM6IFByb3BlcnR5W10pOiB0aGlzO1xuICAgIC8qKlxuICAgICAqIDxlbT5FeHBlcmltZW50YWw6PC9lbT4gQWRkcyBjb2x1bW5zIGZvciBwcm9wZXJ0aWVzIHZpYSB7YWRkQ29sdW1uRnJvbVNjaGVtYX0uXG4gICAgICpcbiAgICAgKiBAZXhwZXJpbWVudGFsXG4gICAgICpcbiAgICAgKiBAcGFyYW0gey4uLlByb3BlcnR5W119IHByb3BlcnRpZXMgLSBQcm9wZXJ0aWVzIHRvIGFkZCBjb2x1bW5zIGZvci4gSWYgbm9uIHByb3ZpZGVkLCBhbGwgbm9uLWFycmF5IHByb3BlcnRpZXMgZnJvbSBzY2hlbWEgd2lsbCBiZSBhZGRlZC5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge3RoaXN9IC0gVGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YgdGhlIGJ1aWxkZXIuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhBZGQ8UHJvcGVydHkgZXh0ZW5kcyBFeHRyYWN0PGtleW9mIE1vZGVsLCBrZXlvZiBTY2hNb2RlbD4+KC4uLnByb3BlcnRpZXM6IFByb3BlcnR5W10pOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoQWRkPFByb3BlcnR5IGV4dGVuZHMgRXh0cmFjdDxrZXlvZiBNb2RlbCwga2V5b2YgU2NoTW9kZWw+Pihwcm9wT3JPcHRzOiBDb2x1bW5zRnJvbVNjaGVtYU9wdHNUeXBlPFNjaE1vZGVsPiB8IFByb3BlcnR5LCAuLi5wcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKTogdGhpcyB7XG4gICAgICAgIGlmICh0eXBlb2YgcHJvcE9yT3B0cyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkQ29sdW1ucyhwcm9wZXJ0aWVzLmxlbmd0aCA9PT0gMCA/IHVuZGVmaW5lZCA6IHByb3BlcnRpZXMsIHByb3BPck9wdHMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hZGRDb2x1bW5zKFtwcm9wT3JPcHRzLCAuLi5wcm9wZXJ0aWVzXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogPGVtPkV4cGVyaW1lbnRhbDo8L2VtPiBBZGRzIGEgc2luZ2xlIGNvbHVtbiB2aWEge2FkZENvbHVtbkZyb21TY2hlbWF9IHdoZXJlIHByb3BlcnR5IHNjaGVtYSBpcyBtYW51YWxseSBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBleHBlcmltZW50YWxcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7UHJvcGVydHl9IHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IHRvIGFkZCB0aGUgY29sdW1uIGZvci5cbiAgICAgKiBAcGFyYW0ge1NjaGVtYVByb3BlcnR5fSBzY2hlbWFQcm9wZXJ0eSAtIE1hbnVhbGx5IHByb3ZpZGVkIHNjaGVtYSBwcm9wZXJ0eS5cbiAgICAgKiBAcGFyYW0ge0NvbHVtbkZyb21TY2hlbWFPcHRzVHlwZX0gb3B0cyAtIEFkZGl0aW9uYWwgb3B0aW9ucy5cbiAgICAgKlxuICAgICAqIEByZXR1cm4ge0NvbHVtbkRlc2NyaXB0b3I8Tm9uTnVsbGFibGU8TW9kZWxbUHJvcGVydHldPiwgTW9kZWwsIE1vZGVsW1Byb3BlcnR5XT59IFRoZSBhZGRlZCBjb2x1bW4gZGVzY3JpcHRvci5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkRnJvbVNjaGVtYTxQcm9wZXJ0eSBleHRlbmRzIGtleW9mIE1vZGVsPihcbiAgICAgICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgICAgICBzY2hlbWFQcm9wZXJ0eTogU2NoZW1hUHJvcGVydHksXG4gICAgICAgIG9wdHM/OiBDb2x1bW5Gcm9tU2NoZW1hT3B0c1R5cGU8TW9kZWxbUHJvcGVydHldLCBNb2RlbD5cbiAgICApOiBDb2x1bW5EZXNjcmlwdG9yPE5vbk51bGxhYmxlPE1vZGVsW1Byb3BlcnR5XT4sIE1vZGVsLCBNb2RlbFtQcm9wZXJ0eV0+IHtcbiAgICAgICAgcmV0dXJuIGFkZENvbHVtbkZyb21TY2hlbWEoXG4gICAgICAgICAgICB0aGlzLmRlc2NyaXB0b3IsXG4gICAgICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgICAgIHNjaGVtYVByb3BlcnR5LFxuICAgICAgICAgICAgdGhpcy5tZXJnZUNvbHVtbk9wdHMocHJvcGVydHksIG9wdHMpIGFzIENvbHVtbkZyb21TY2hlbWFPcHRzVHlwZTxNb2RlbFtQcm9wZXJ0eV0sIE1vZGVsLCBhbnk+IHwgdW5kZWZpbmVkXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRDb2x1bW5zPFByb3BlcnR5IGV4dGVuZHMgRXh0cmFjdDxrZXlvZiBNb2RlbCwga2V5b2YgU2NoTW9kZWw+Pihwcm9wZXJ0aWVzPzogUHJvcGVydHlbXSwgb3B0cz86IENvbHVtbnNGcm9tU2NoZW1hT3B0c1R5cGU8U2NoTW9kZWw+KSB7XG4gICAgICAgIGNvbnN0IGFkZFByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzID8/IGZyb21TY2hlbWFGaWx0ZXJOb25BcnJheVByb3BlcnRpZXM8U2NoTW9kZWw+KHRoaXMuc2NoZW1hLnByb3BlcnRpZXMpO1xuXG4gICAgICAgIGlmIChhZGRQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBhZGRQcm9wZXJ0aWVzLmZvckVhY2gocHJvcGVydHkgPT4ge1xuICAgICAgICAgICAgICAgIGFkZENvbHVtbkZyb21TY2hlbWEoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVzY3JpcHRvcixcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydHkgYXMgYW55LFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVtYS5wcm9wZXJ0aWVzW3Byb3BlcnR5XSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXJnZUNvbHVtbnNPcHRzKHByb3BlcnR5IGFzIHVua25vd24gYXMga2V5b2YgTW9kZWwsIG9wdHMpIGFzIENvbHVtbkZyb21TY2hlbWFPcHRzVHlwZTxNb2RlbFtQcm9wZXJ0eV0sIE1vZGVsLCBhbnk+IHwgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIDxlbT5FeHBlcmltZW50YWw6PC9lbT4gQ3JlYXRlcyBidWlsZGVyIGZvciBhZGRpbmcgY29sdW1ucyB0byBkZXNjcmlwdG9yIGJhc2VkIG9uIHByb3ZpZGVkIG1vZGVsIHNjaGVtYS5cbiAqXG4gKiBAZXhwZXJpbWVudGFsXG4gKlxuICogQHBhcmFtIHtUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxNb2RlbCwgYW55LCBhbnksIGFueT4gfCBUYWJsZURlc2NyaXB0b3JJbnN0PE1vZGVsLCBhbnksIGFueT59IGRlc2NyaXB0b3IgLSBEZXNjcmlwdG9yIHRvIGFkZCBjb2x1bW5zIHRvLlxuICogQHBhcmFtIHtTY2hlbWFNb2RlbDxTY2hNb2RlbD59IHNjaGVtYSAtIFRoZSBzY2hlbWEgd2l0aCBtZXRhZGF0YSBhYm91dCBwcm9wZXJ0aWVzIGZvciBmaWVsZHMuXG4gKiBAcGFyYW0ge0NvbHVtbnNGcm9tU2NoZW1hT3B0c1R5cGU8U2NoTW9kZWw+fSBbb3B0c10gLSBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gKlxuICogQHJldHVybiB7U2NoZW1hQ29sdW1uc0J1aWxkZXI8TW9kZWwsIFNjaE1vZGVsPn0gLSBUaGUgY29sdW1uIHNjaGVtYSBidWlsZGVyIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29sdW1uc0Zyb21TY2hlbWE8TW9kZWwsIFNjaE1vZGVsID0gTW9kZWw+KFxuICAgIGRlc2NyaXB0b3I6IFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PGFueSwgYW55LCBhbnksIGFueSwgTW9kZWwsIGFueSwgYW55LCBhbnk+IHwgVGFibGVEZXNjcmlwdG9ySW5zdDxNb2RlbCwgYW55LCBhbnk+LFxuICAgIHNjaGVtYTogU2NoZW1hTW9kZWw8U2NoTW9kZWw+LFxuICAgIG9wdHM/OiBDb2x1bW5zRnJvbVNjaGVtYU9wdHNUeXBlPFNjaE1vZGVsPlxuKTogU2NoZW1hQ29sdW1uc0J1aWxkZXI8TW9kZWwsIFNjaE1vZGVsPiB7XG4gICAgcmV0dXJuIG5ldyBTY2hlbWFDb2x1bW5zQnVpbGRlcjxNb2RlbCwgU2NoTW9kZWw+KGRlc2NyaXB0b3IsIHNjaGVtYSwgb3B0cyk7XG59XG5cbi8qKlxuICogPGVtPkV4cGVyaW1lbnRhbDo8L2VtPiBBZGRzIGEgY29sdW1uIHRvIHRhYmxlIGRlc2NyaXB0b3IgYmFzZWQgb24gdGhlIGdpdmVuIHNjaGVtYSBwcm9wZXJ0eSBhbmQgb3B0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge1RhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBhbnksIGFueSwgYW55PiB8IFRhYmxlRGVzY3JpcHRvckluc3Q8TW9kZWwsIGFueSwgYW55Pn0gZGVzY3JpcHRvciAtIFRoZSB0YWJsZSB2aWV3IGRlc2NyaXB0b3Igb3IgdGFibGUgZGVzY3JpcHRvciB0byBhZGQgdGhlIGNvbHVtbiB0by5cbiAqIEBwYXJhbSB7UHJvcGVydHl9IHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IGtleSBvZiB0aGUgbW9kZWwgdG8gY3JlYXRlIHRoZSBjb2x1bW4gZm9yLlxuICogQHBhcmFtIHtTY2hlbWFQcm9wZXJ0eX0gcHJvcGVydHlTY2hlbWEgLSBUaGUgc2NoZW1hIHByb3BlcnR5IGZvciB0aGUgcHJvcGVydHkuXG4gKiBAcGFyYW0ge0NvbHVtbkZyb21TY2hlbWFPcHRzVHlwZTxNb2RlbFtQcm9wZXJ0eV0sIE1vZGVsLCBhbnksIE1vZGVsPn0gW29wdHNdIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSBjb2x1bW4uXG4gKlxuICogQHJldHVybiB7Q29sdW1uRGVzY3JpcHRvcjxOb25OdWxsYWJsZTxNb2RlbFtQcm9wZXJ0eV0+LCBNb2RlbCwgTW9kZWxbUHJvcGVydHldPn0gLSBUaGUgYWRkZWQgY29sdW1uIGRlc2NyaXB0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRDb2x1bW5Gcm9tU2NoZW1hPFByb3BlcnR5IGV4dGVuZHMga2V5b2YgVGFibGVNb2RlbCwgTW9kZWwsIFRhYmxlTW9kZWwgPSBNb2RlbD4oXG4gICAgZGVzY3JpcHRvcjogVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIGFueSwgYW55LCBhbnksIFRhYmxlTW9kZWwsIGFueSwgYW55LCBhbnk+IHwgVGFibGVEZXNjcmlwdG9ySW5zdDxUYWJsZU1vZGVsLCBhbnksIGFueT4sXG4gICAgcHJvcGVydHk6IFByb3BlcnR5LFxuICAgIHByb3BlcnR5U2NoZW1hOiBTY2hlbWFQcm9wZXJ0eSxcbiAgICBvcHRzPzogQ29sdW1uRnJvbVNjaGVtYU9wdHNUeXBlPFRhYmxlTW9kZWxbUHJvcGVydHldLCBUYWJsZU1vZGVsLCBhbnk+XG4pOiBDb2x1bW5EZXNjcmlwdG9yPE5vbk51bGxhYmxlPFRhYmxlTW9kZWxbUHJvcGVydHldPiwgVGFibGVNb2RlbCwgVGFibGVNb2RlbFtQcm9wZXJ0eV0+IHtcbiAgICBjb25zdCBwcm9wZXJ0eVR5cGUgPSBvcHRzPy5jb2x1bW5UeXBlID8/IHByb3BlcnR5U2NoZW1hPy50eXBlO1xuXG4gICAgY29uc3QgY29sdW1uID0gZGVzY3JpcHRvci5hZGRDb2x1bW4ocHJvcGVydHkpO1xuXG4gICAgLy8gSGFuZGxlIGRpZmZlcmVudCBwcm9wZXJ0eSB0eXBlc1xuICAgIHN3aXRjaCAocHJvcGVydHlUeXBlKSB7XG4gICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICBjb2x1bW4uYXNOdW1iZXIoe1xuICAgICAgICAgICAgICAgIG1pbkZyYWN0aW9uRGlnaXRzOiBvcHRzPy5udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cyxcbiAgICAgICAgICAgICAgICBtYXhGcmFjdGlvbkRpZ2l0czogb3B0cz8ubnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMsXG4gICAgICAgICAgICAgICAgbWluSW50ZWdlckRpZ2l0czogb3B0cz8ubnVtYmVyTWluSW50ZWdlckRpZ2l0c1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYm9vbGVhbic6XG4gICAgICAgICAgICBjb2x1bW4uYXNCb29sZWFuKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkYXRlJzpcbiAgICAgICAgICAgIGNvbHVtbi5hc0RhdGUob3B0cz8uZGF0ZUZvcm1hdCA/PyAnZGQuTU0uWVlZWScpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2VudW0nOlxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNhc2UtZGVjbGFyYXRpb25zXG4gICAgICAgICAgICBjb25zdCBlbnVtTW9kZWwgPSBvcHRzPy5lbnVtU2NoZW1hID8gZW51bU1vZGVsRnJvbVNjaGVtYShvcHRzLmVudW1TY2hlbWEpIDogb3B0cz8uZW51bU1vZGVsO1xuICAgICAgICAgICAgaWYgKGVudW1Nb2RlbCkge1xuICAgICAgICAgICAgICAgIGNvbHVtbi5hc0VudW1VbnNhZmUoZW51bU1vZGVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkYXRlLXRpbWUnOlxuICAgICAgICAgICAgY29sdW1uLmFzRGF0ZShvcHRzPy5kYXRlVGltZUZvcm1hdCA/PyAnZGQuTU0uWVlZWSBISDptbScpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2N1cnJlbmN5JzpcbiAgICAgICAgICAgIGNvbHVtbi5hc0N1cnJlbmN5KHtcbiAgICAgICAgICAgICAgICBjdXJyZW5jeTogb3B0cz8uY3VycmVuY3ksXG4gICAgICAgICAgICAgICAgY3VycmVuY3lEaXNwbGF5OiBvcHRzPy5jdXJyZW5jeURpc3BsYXksXG4gICAgICAgICAgICAgICAgY3VycmVuY3lQcm9wZXJ0eTogb3B0cz8uY3VycmVuY3lQcm9wZXJ0eSxcbiAgICAgICAgICAgICAgICBtaW5GcmFjdGlvbkRpZ2l0czogb3B0cz8ubnVtYmVyTWluRnJhY3Rpb25EaWdpdHMsXG4gICAgICAgICAgICAgICAgbWF4RnJhY3Rpb25EaWdpdHM6IG9wdHM/Lm51bWJlck1heEZyYWN0aW9uRGlnaXRzLFxuICAgICAgICAgICAgICAgIG1pbkludGVnZXJEaWdpdHM6IG9wdHM/Lm51bWJlck1pbkludGVnZXJEaWdpdHNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICAgICAgICBjb2x1bW4ud2l0aEdldHRlcihkZWZhdWx0R2V0dGVyKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIEFkZCBvcHRpb25hbCBmaWx0ZXIsIHNvcnQgYW5kIGdldHRlcnNcbiAgICBpZiAob3B0cz8uZ2V0dGVyKSBjb2x1bW4ud2l0aEdldHRlcihvcHRzPy5nZXR0ZXIpO1xuXG4gICAgcmV0dXJuIGNvbHVtbjtcbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { enumModelGeneric } from '@mediusinc/mng-commons/model';
2
- /**
3
- * <em>Experimental:</em> Emulates an enum model object from enum schema.
4
- *
5
- * @experimental
6
- *
7
- * @param {SchemaEnum<Enum>} enumSchema - The schema of the enum.
8
- *
9
- * @returns {EnumDescriptor<Enum>} - The generated enum model descriptor.
10
- */
11
- export function enumModelFromSchema(enumSchema) {
12
- const enumObj = {};
13
- enumSchema.values
14
- .map((v, idx) => ({ value: v, constant: enumSchema.constants[idx] }))
15
- .forEach(({ value, constant }) => {
16
- const valueAsStrOrInt = value;
17
- enumObj[constant] = valueAsStrOrInt;
18
- if (typeof valueAsStrOrInt === 'number' && enumObj[valueAsStrOrInt] == null)
19
- enumObj[valueAsStrOrInt] = constant;
20
- });
21
- return enumModelGeneric(enumObj, enumSchema.name.replace(/\d+$/, ''));
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1mcm9tLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvc2NoZW1hL2VudW0tZnJvbS1zY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFpQixnQkFBZ0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRTlFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFPLFVBQTRCO0lBQ2xFLE1BQU0sT0FBTyxHQUE2QyxFQUFFLENBQUM7SUFDN0QsVUFBVSxDQUFDLE1BQU07U0FDWixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDbEUsT0FBTyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFDLEVBQUUsRUFBRTtRQUMzQixNQUFNLGVBQWUsR0FBRyxLQUFtQyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxlQUFlLENBQUM7UUFDcEMsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUk7WUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ3JILENBQUMsQ0FBQyxDQUFDO0lBQ1AsT0FBTyxnQkFBZ0IsQ0FBTyxPQUFPLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2NoZW1hRW51bX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy1kYXRhLWFwaSc7XG5pbXBvcnQge0VudW1EZXNjcmlwdG9yLCBlbnVtTW9kZWxHZW5lcmljfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuLyoqXG4gKiA8ZW0+RXhwZXJpbWVudGFsOjwvZW0+IEVtdWxhdGVzIGFuIGVudW0gbW9kZWwgb2JqZWN0IGZyb20gZW51bSBzY2hlbWEuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICpcbiAqIEBwYXJhbSB7U2NoZW1hRW51bTxFbnVtPn0gZW51bVNjaGVtYSAtIFRoZSBzY2hlbWEgb2YgdGhlIGVudW0uXG4gKlxuICogQHJldHVybnMge0VudW1EZXNjcmlwdG9yPEVudW0+fSAtIFRoZSBnZW5lcmF0ZWQgZW51bSBtb2RlbCBkZXNjcmlwdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW51bU1vZGVsRnJvbVNjaGVtYTxFbnVtPihlbnVtU2NoZW1hOiBTY2hlbWFFbnVtPEVudW0+KTogRW51bURlc2NyaXB0b3I8RW51bT4ge1xuICAgIGNvbnN0IGVudW1PYmo6IFJlY29yZDxzdHJpbmcgfCBudW1iZXIsIHN0cmluZyB8IG51bWJlcj4gPSB7fTtcbiAgICBlbnVtU2NoZW1hLnZhbHVlc1xuICAgICAgICAubWFwKCh2LCBpZHgpID0+ICh7dmFsdWU6IHYsIGNvbnN0YW50OiBlbnVtU2NoZW1hLmNvbnN0YW50c1tpZHhdfSkpXG4gICAgICAgIC5mb3JFYWNoKCh7dmFsdWUsIGNvbnN0YW50fSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVBc1N0ck9ySW50ID0gdmFsdWUgYXMgdW5rbm93biBhcyBzdHJpbmcgfCBudW1iZXI7XG4gICAgICAgICAgICBlbnVtT2JqW2NvbnN0YW50XSA9IHZhbHVlQXNTdHJPckludDtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWVBc1N0ck9ySW50ID09PSAnbnVtYmVyJyAmJiBlbnVtT2JqW3ZhbHVlQXNTdHJPckludF0gPT0gbnVsbCkgZW51bU9ialt2YWx1ZUFzU3RyT3JJbnRdID0gY29uc3RhbnQ7XG4gICAgICAgIH0pO1xuICAgIHJldHVybiBlbnVtTW9kZWxHZW5lcmljPEVudW0+KGVudW1PYmosIGVudW1TY2hlbWEubmFtZS5yZXBsYWNlKC9cXGQrJC8sICcnKSk7XG59XG4iXX0=