@techextensor/tab-core-utility 2.2.9 → 2.2.11

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.
Files changed (95) hide show
  1. package/esm2022/index.mjs +65 -63
  2. package/index.d.ts +0 -52
  3. package/package.json +1 -1
  4. package/esm2022/lib/tab-core-utility/app/constants/api-constants.mjs +0 -33
  5. package/esm2022/lib/tab-core-utility/app/constants/common.mjs +0 -33
  6. package/esm2022/lib/tab-core-utility/app/constants/error-messages.mjs +0 -13
  7. package/esm2022/lib/tab-core-utility/app/constants/storage-constants.mjs +0 -16
  8. package/esm2022/lib/tab-core-utility/app/crud/tab-delete.service.mjs +0 -145
  9. package/esm2022/lib/tab-core-utility/app/crud/tab-get.service.mjs +0 -131
  10. package/esm2022/lib/tab-core-utility/app/crud/tab-insert.service.mjs +0 -77
  11. package/esm2022/lib/tab-core-utility/app/crud/tab-update.service.mjs +0 -105
  12. package/esm2022/lib/tab-core-utility/app/crud/tab-workflow.service.mjs +0 -43
  13. package/esm2022/lib/tab-core-utility/app/enums/controllers.enum.mjs +0 -26
  14. package/esm2022/lib/tab-core-utility/app/enums/dsq.enum.mjs +0 -48
  15. package/esm2022/lib/tab-core-utility/app/enums/permission.enum.mjs +0 -20
  16. package/esm2022/lib/tab-core-utility/app/enums/query.enum.mjs +0 -14
  17. package/esm2022/lib/tab-core-utility/app/enums/workflow.enum.mjs +0 -37
  18. package/esm2022/lib/tab-core-utility/app/helpers/common/app.helpers.mjs +0 -70
  19. package/esm2022/lib/tab-core-utility/app/helpers/common/dsq.helpers.mjs +0 -70
  20. package/esm2022/lib/tab-core-utility/app/helpers/common/req-res.helpers.mjs +0 -64
  21. package/esm2022/lib/tab-core-utility/app/helpers/common/template.helpers.mjs +0 -58
  22. package/esm2022/lib/tab-core-utility/app/helpers/common/where-clause.helpers.mjs +0 -208
  23. package/esm2022/lib/tab-core-utility/app/helpers/screen/forms.helpers.mjs +0 -38
  24. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.mjs +0 -78
  25. package/esm2022/lib/tab-core-utility/app/helpers/screen/grid.helpers.mjs +0 -112
  26. package/esm2022/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.mjs +0 -77
  27. package/esm2022/lib/tab-core-utility/app/helpers/screen/plugin.helpers.mjs +0 -55
  28. package/esm2022/lib/tab-core-utility/app/helpers/screen/screen.helpers.mjs +0 -26
  29. package/esm2022/lib/tab-core-utility/app/interfaces/grid.interface.mjs +0 -3
  30. package/esm2022/lib/tab-core-utility/app/interfaces/orgInfo.interface.mjs +0 -2
  31. package/esm2022/lib/tab-core-utility/app/interfaces/schema.interface.mjs +0 -2
  32. package/esm2022/lib/tab-core-utility/app/models/api-query.class.mjs +0 -47
  33. package/esm2022/lib/tab-core-utility/app/models/app-object.class.mjs +0 -30
  34. package/esm2022/lib/tab-core-utility/app/models/common.class.mjs +0 -12
  35. package/esm2022/lib/tab-core-utility/app/models/data-source-queries.class.mjs +0 -31
  36. package/esm2022/lib/tab-core-utility/app/utils/filter.util.mjs +0 -75
  37. package/esm2022/lib/tab-core-utility/app/utils/form-builder.util.mjs +0 -39
  38. package/esm2022/lib/tab-core-utility/app/utils/json.util.mjs +0 -138
  39. package/esm2022/lib/tab-core-utility/app/utils/operators.util.mjs +0 -129
  40. package/esm2022/lib/tab-core-utility/app/utils/req-res.util.mjs +0 -168
  41. package/esm2022/lib/tab-core-utility/app/utils/tab-app.util.mjs +0 -99
  42. package/esm2022/lib/tab-core-utility/auth/idb-storage.service.mjs +0 -69
  43. package/esm2022/lib/tab-core-utility/auth/session-storage.service.mjs +0 -52
  44. package/esm2022/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.mjs +0 -26
  45. package/esm2022/lib/tab-core-utility/core/error-handler/error-handler.store.mjs +0 -21
  46. package/esm2022/lib/tab-core-utility/core/error-handler/models/error-handler.state.mjs +0 -5
  47. package/esm2022/lib/tab-core-utility/core/util/auth.utils.mjs +0 -21
  48. package/esm2022/lib/tab-core-utility/store/auth.store.mjs +0 -43
  49. package/esm2022/lib/tab-core-utility/store/orginfo.store.mjs +0 -42
  50. package/lib/tab-core-utility/app/constants/api-constants.d.ts +0 -30
  51. package/lib/tab-core-utility/app/constants/common.d.ts +0 -8
  52. package/lib/tab-core-utility/app/constants/error-messages.d.ts +0 -6
  53. package/lib/tab-core-utility/app/constants/storage-constants.d.ts +0 -15
  54. package/lib/tab-core-utility/app/crud/tab-delete.service.d.ts +0 -51
  55. package/lib/tab-core-utility/app/crud/tab-get.service.d.ts +0 -58
  56. package/lib/tab-core-utility/app/crud/tab-insert.service.d.ts +0 -37
  57. package/lib/tab-core-utility/app/crud/tab-update.service.d.ts +0 -14
  58. package/lib/tab-core-utility/app/crud/tab-workflow.service.d.ts +0 -20
  59. package/lib/tab-core-utility/app/enums/controllers.enum.d.ts +0 -24
  60. package/lib/tab-core-utility/app/enums/dsq.enum.d.ts +0 -42
  61. package/lib/tab-core-utility/app/enums/permission.enum.d.ts +0 -16
  62. package/lib/tab-core-utility/app/enums/query.enum.d.ts +0 -11
  63. package/lib/tab-core-utility/app/enums/workflow.enum.d.ts +0 -30
  64. package/lib/tab-core-utility/app/helpers/common/app.helpers.d.ts +0 -32
  65. package/lib/tab-core-utility/app/helpers/common/dsq.helpers.d.ts +0 -32
  66. package/lib/tab-core-utility/app/helpers/common/req-res.helpers.d.ts +0 -62
  67. package/lib/tab-core-utility/app/helpers/common/template.helpers.d.ts +0 -25
  68. package/lib/tab-core-utility/app/helpers/common/where-clause.helpers.d.ts +0 -82
  69. package/lib/tab-core-utility/app/helpers/screen/forms.helpers.d.ts +0 -11
  70. package/lib/tab-core-utility/app/helpers/screen/grid-column-data.helpers.d.ts +0 -33
  71. package/lib/tab-core-utility/app/helpers/screen/grid.helpers.d.ts +0 -63
  72. package/lib/tab-core-utility/app/helpers/screen/media-upload.helpers.d.ts +0 -38
  73. package/lib/tab-core-utility/app/helpers/screen/plugin.helpers.d.ts +0 -25
  74. package/lib/tab-core-utility/app/helpers/screen/screen.helpers.d.ts +0 -11
  75. package/lib/tab-core-utility/app/interfaces/grid.interface.d.ts +0 -110
  76. package/lib/tab-core-utility/app/interfaces/orgInfo.interface.d.ts +0 -31
  77. package/lib/tab-core-utility/app/interfaces/schema.interface.d.ts +0 -11
  78. package/lib/tab-core-utility/app/models/api-query.class.d.ts +0 -69
  79. package/lib/tab-core-utility/app/models/app-object.class.d.ts +0 -74
  80. package/lib/tab-core-utility/app/models/common.class.d.ts +0 -24
  81. package/lib/tab-core-utility/app/models/data-source-queries.class.d.ts +0 -95
  82. package/lib/tab-core-utility/app/utils/filter.util.d.ts +0 -30
  83. package/lib/tab-core-utility/app/utils/form-builder.util.d.ts +0 -13
  84. package/lib/tab-core-utility/app/utils/json.util.d.ts +0 -25
  85. package/lib/tab-core-utility/app/utils/operators.util.d.ts +0 -21
  86. package/lib/tab-core-utility/app/utils/req-res.util.d.ts +0 -61
  87. package/lib/tab-core-utility/app/utils/tab-app.util.d.ts +0 -48
  88. package/lib/tab-core-utility/auth/idb-storage.service.d.ts +0 -14
  89. package/lib/tab-core-utility/auth/session-storage.service.d.ts +0 -22
  90. package/lib/tab-core-utility/core/error-handler/error-handler-interceptor.service.d.ts +0 -3
  91. package/lib/tab-core-utility/core/error-handler/error-handler.store.d.ts +0 -10
  92. package/lib/tab-core-utility/core/error-handler/models/error-handler.state.d.ts +0 -5
  93. package/lib/tab-core-utility/core/util/auth.utils.d.ts +0 -9
  94. package/lib/tab-core-utility/store/auth.store.d.ts +0 -19
  95. package/lib/tab-core-utility/store/orginfo.store.d.ts +0 -22
@@ -1,75 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /**
3
- * Returns the filter value type as a string.
4
- * @param type The filter value type.
5
- * @returns The filter value type as a string.
6
- */
7
- export function getFilterValueTypeInString(type) {
8
- switch (type) {
9
- case 1:
10
- return 'Literal';
11
- case 2:
12
- return 'Parameter';
13
- case 3:
14
- return 'Property';
15
- case 4:
16
- return 'Global';
17
- default:
18
- return '';
19
- }
20
- }
21
- /**
22
- * Returns the conjunction clause name based on the type.
23
- * @param type The conjunction clause type.
24
- * @returns The conjunction clause name.
25
- */
26
- export function getConjuctionClauseName(type) {
27
- return type === 1 ? 'and' : 'or';
28
- }
29
- /**
30
- * Returns the conjunction clause value based on the type.
31
- * @param type The conjunction clause name.
32
- * @returns The conjunction clause value.
33
- */
34
- export function getConjuctionClause(type) {
35
- return type === 'and' ? 1 : 2;
36
- }
37
- /**
38
- * Returns the filter type based on the element.
39
- * @param element The filter element.
40
- * @returns The filter type.
41
- */
42
- export function getFilterType(element) {
43
- switch (element.ValueType) {
44
- case 1:
45
- return element.Value;
46
- case 2:
47
- return '@' + element.Value;
48
- case 3:
49
- return '((' + element.Value + '))';
50
- case 4:
51
- return '[[' + element.Value + ']]';
52
- default:
53
- return '';
54
- }
55
- }
56
- /**
57
- * Returns the filter value type as an integer.
58
- * @param type The filter value type.
59
- * @returns The filter value type as an integer.
60
- */
61
- export function getFilterValueTypeInInt(type) {
62
- switch (type) {
63
- case 'Literal':
64
- return '1';
65
- case 'Parameter':
66
- return '2';
67
- case 'Property':
68
- return '3';
69
- case 'Global':
70
- return '4';
71
- default:
72
- return '0';
73
- }
74
- }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvZmlsdGVyLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsSUFBWTtJQUNyRCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxDQUFDO1lBQ0osT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxDQUFDO1lBQ0osT0FBTyxXQUFXLENBQUM7UUFDckIsS0FBSyxDQUFDO1lBQ0osT0FBTyxVQUFVLENBQUM7UUFDcEIsS0FBSyxDQUFDO1lBQ0osT0FBTyxRQUFRLENBQUM7UUFDbEI7WUFDRSxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxJQUFZO0lBQ2xELE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDbkMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBWTtJQUM5QyxPQUFPLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxPQUFZO0lBQ3hDLFFBQVEsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzFCLEtBQUssQ0FBQztZQUNKLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztRQUN2QixLQUFLLENBQUM7WUFDSixPQUFPLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzdCLEtBQUssQ0FBQztZQUNKLE9BQU8sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLEtBQUssQ0FBQztZQUNKLE9BQU8sSUFBSSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3JDO1lBQ0UsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsSUFBWTtJQUNsRCxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ2IsS0FBSyxTQUFTO1lBQ1osT0FBTyxHQUFHLENBQUM7UUFDYixLQUFLLFdBQVc7WUFDZCxPQUFPLEdBQUcsQ0FBQztRQUNiLEtBQUssVUFBVTtZQUNiLE9BQU8sR0FBRyxDQUFDO1FBQ2IsS0FBSyxRQUFRO1lBQ1gsT0FBTyxHQUFHLENBQUM7UUFDYjtZQUNFLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBmaWx0ZXIgdmFsdWUgdHlwZSBhcyBhIHN0cmluZy5cclxuICogQHBhcmFtIHR5cGUgVGhlIGZpbHRlciB2YWx1ZSB0eXBlLlxyXG4gKiBAcmV0dXJucyBUaGUgZmlsdGVyIHZhbHVlIHR5cGUgYXMgYSBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsdGVyVmFsdWVUeXBlSW5TdHJpbmcodHlwZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICBzd2l0Y2ggKHR5cGUpIHtcclxuICAgIGNhc2UgMTpcclxuICAgICAgcmV0dXJuICdMaXRlcmFsJztcclxuICAgIGNhc2UgMjpcclxuICAgICAgcmV0dXJuICdQYXJhbWV0ZXInO1xyXG4gICAgY2FzZSAzOlxyXG4gICAgICByZXR1cm4gJ1Byb3BlcnR5JztcclxuICAgIGNhc2UgNDpcclxuICAgICAgcmV0dXJuICdHbG9iYWwnO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuICcnO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFJldHVybnMgdGhlIGNvbmp1bmN0aW9uIGNsYXVzZSBuYW1lIGJhc2VkIG9uIHRoZSB0eXBlLlxyXG4gKiBAcGFyYW0gdHlwZSBUaGUgY29uanVuY3Rpb24gY2xhdXNlIHR5cGUuXHJcbiAqIEByZXR1cm5zIFRoZSBjb25qdW5jdGlvbiBjbGF1c2UgbmFtZS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25qdWN0aW9uQ2xhdXNlTmFtZSh0eXBlOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gIHJldHVybiB0eXBlID09PSAxID8gJ2FuZCcgOiAnb3InO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJucyB0aGUgY29uanVuY3Rpb24gY2xhdXNlIHZhbHVlIGJhc2VkIG9uIHRoZSB0eXBlLlxyXG4gKiBAcGFyYW0gdHlwZSBUaGUgY29uanVuY3Rpb24gY2xhdXNlIG5hbWUuXHJcbiAqIEByZXR1cm5zIFRoZSBjb25qdW5jdGlvbiBjbGF1c2UgdmFsdWUuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uanVjdGlvbkNsYXVzZSh0eXBlOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gIHJldHVybiB0eXBlID09PSAnYW5kJyA/IDEgOiAyO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJucyB0aGUgZmlsdGVyIHR5cGUgYmFzZWQgb24gdGhlIGVsZW1lbnQuXHJcbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBmaWx0ZXIgZWxlbWVudC5cclxuICogQHJldHVybnMgVGhlIGZpbHRlciB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlclR5cGUoZWxlbWVudDogYW55KTogc3RyaW5nIHtcclxuICBzd2l0Y2ggKGVsZW1lbnQuVmFsdWVUeXBlKSB7XHJcbiAgICBjYXNlIDE6XHJcbiAgICAgIHJldHVybiBlbGVtZW50LlZhbHVlO1xyXG4gICAgY2FzZSAyOlxyXG4gICAgICByZXR1cm4gJ0AnICsgZWxlbWVudC5WYWx1ZTtcclxuICAgIGNhc2UgMzpcclxuICAgICAgcmV0dXJuICcoKCcgKyBlbGVtZW50LlZhbHVlICsgJykpJztcclxuICAgIGNhc2UgNDpcclxuICAgICAgcmV0dXJuICdbWycgKyBlbGVtZW50LlZhbHVlICsgJ11dJztcclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiAnJztcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBmaWx0ZXIgdmFsdWUgdHlwZSBhcyBhbiBpbnRlZ2VyLlxyXG4gKiBAcGFyYW0gdHlwZSBUaGUgZmlsdGVyIHZhbHVlIHR5cGUuXHJcbiAqIEByZXR1cm5zIFRoZSBmaWx0ZXIgdmFsdWUgdHlwZSBhcyBhbiBpbnRlZ2VyLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpbHRlclZhbHVlVHlwZUluSW50KHR5cGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICBjYXNlICdMaXRlcmFsJzpcclxuICAgICAgcmV0dXJuICcxJztcclxuICAgIGNhc2UgJ1BhcmFtZXRlcic6XHJcbiAgICAgIHJldHVybiAnMic7XHJcbiAgICBjYXNlICdQcm9wZXJ0eSc6XHJcbiAgICAgIHJldHVybiAnMyc7XHJcbiAgICBjYXNlICdHbG9iYWwnOlxyXG4gICAgICByZXR1cm4gJzQnO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuICcwJztcclxuICB9XHJcbn1cclxuIl19
@@ -1,39 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /**
3
- * Returns the form builder type based on the data type.
4
- * @param dataType The data type.
5
- * @returns The form builder type.
6
- */
7
- export function getFormBuilderType(dataType) {
8
- if ([1, 7, 13].includes(dataType))
9
- return 'textfield';
10
- else if ([2, 3, 4].includes(dataType))
11
- return 'number';
12
- else if ([5, 6].includes(dataType))
13
- return 'datetime';
14
- else
15
- return 'textfield';
16
- }
17
- /**
18
- * Returns the field type based on the data type and whether it's a lookup.
19
- * @param dataType The data type.
20
- * @param isLookup Indicates if it's a lookup field.
21
- * @returns The field type.
22
- */
23
- export function getFieldsType(dataType, isLookup) {
24
- if (isLookup && dataType !== 6)
25
- return 'string';
26
- if ([1, 2, 16].includes(dataType))
27
- return 'number';
28
- else if (dataType === 3)
29
- return 'boolean';
30
- else if ([4, ...Array.from({ length: 9 }, (_, i) => i + 7)].includes(dataType))
31
- return 'string';
32
- else if (dataType === 5)
33
- return 'Date';
34
- else if (dataType === 6)
35
- return 'date';
36
- else
37
- return 'string';
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1idWlsZGVyLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvZm9ybS1idWlsZGVyLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBZ0I7SUFDakQsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUFFLE9BQU8sV0FBVyxDQUFDO1NBQ2pELElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFBRSxPQUFPLFFBQVEsQ0FBQztTQUNsRCxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFBRSxPQUFPLFVBQVUsQ0FBQzs7UUFDakQsT0FBTyxXQUFXLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxRQUFnQixFQUFFLFFBQWE7SUFDM0QsSUFBSSxRQUFRLElBQUksUUFBUSxLQUFLLENBQUM7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUNoRCxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQUUsT0FBTyxRQUFRLENBQUM7U0FDOUMsSUFBSSxRQUFRLEtBQUssQ0FBQztRQUFFLE9BQU8sU0FBUyxDQUFDO1NBQ3JDLElBQ0gsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUVyRSxPQUFPLFFBQVEsQ0FBQztTQUNiLElBQUksUUFBUSxLQUFLLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQztTQUNsQyxJQUFJLFFBQVEsS0FBSyxDQUFDO1FBQUUsT0FBTyxNQUFNLENBQUM7O1FBQ2xDLE9BQU8sUUFBUSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBmb3JtIGJ1aWxkZXIgdHlwZSBiYXNlZCBvbiB0aGUgZGF0YSB0eXBlLlxyXG4gKiBAcGFyYW0gZGF0YVR5cGUgVGhlIGRhdGEgdHlwZS5cclxuICogQHJldHVybnMgVGhlIGZvcm0gYnVpbGRlciB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1CdWlsZGVyVHlwZShkYXRhVHlwZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICBpZiAoWzEsIDcsIDEzXS5pbmNsdWRlcyhkYXRhVHlwZSkpIHJldHVybiAndGV4dGZpZWxkJztcclxuICBlbHNlIGlmIChbMiwgMywgNF0uaW5jbHVkZXMoZGF0YVR5cGUpKSByZXR1cm4gJ251bWJlcic7XHJcbiAgZWxzZSBpZiAoWzUsIDZdLmluY2x1ZGVzKGRhdGFUeXBlKSkgcmV0dXJuICdkYXRldGltZSc7XHJcbiAgZWxzZSByZXR1cm4gJ3RleHRmaWVsZCc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXR1cm5zIHRoZSBmaWVsZCB0eXBlIGJhc2VkIG9uIHRoZSBkYXRhIHR5cGUgYW5kIHdoZXRoZXIgaXQncyBhIGxvb2t1cC5cclxuICogQHBhcmFtIGRhdGFUeXBlIFRoZSBkYXRhIHR5cGUuXHJcbiAqIEBwYXJhbSBpc0xvb2t1cCBJbmRpY2F0ZXMgaWYgaXQncyBhIGxvb2t1cCBmaWVsZC5cclxuICogQHJldHVybnMgVGhlIGZpZWxkIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmllbGRzVHlwZShkYXRhVHlwZTogbnVtYmVyLCBpc0xvb2t1cDogYW55KTogc3RyaW5nIHtcclxuICBpZiAoaXNMb29rdXAgJiYgZGF0YVR5cGUgIT09IDYpIHJldHVybiAnc3RyaW5nJztcclxuICBpZiAoWzEsIDIsIDE2XS5pbmNsdWRlcyhkYXRhVHlwZSkpIHJldHVybiAnbnVtYmVyJztcclxuICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gMykgcmV0dXJuICdib29sZWFuJztcclxuICBlbHNlIGlmIChcclxuICAgIFs0LCAuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiA5IH0sIChfLCBpKSA9PiBpICsgNyldLmluY2x1ZGVzKGRhdGFUeXBlKVxyXG4gIClcclxuICAgIHJldHVybiAnc3RyaW5nJztcclxuICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gNSkgcmV0dXJuICdEYXRlJztcclxuICBlbHNlIGlmIChkYXRhVHlwZSA9PT0gNikgcmV0dXJuICdkYXRlJztcclxuICBlbHNlIHJldHVybiAnc3RyaW5nJztcclxufVxyXG4iXX0=
@@ -1,138 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
- /* eslint-disable no-prototype-builtins */
3
- /* eslint-disable @typescript-eslint/no-explicit-any */
4
- /**
5
- * Validates if a string is a valid JSON.
6
- * @param str The string to validate.
7
- * @returns True if the string is a valid JSON, false otherwise.
8
- */
9
- export function validateJSON(str) {
10
- try {
11
- const json = JSON.parse(str);
12
- return Object.prototype.toString.call(json).slice(8, -1) === 'Object';
13
- }
14
- catch (e) {
15
- return false;
16
- }
17
- }
18
- /**
19
- * Creates dynamic data based on the input object
20
- * @param obj The input object to create dynamic data from
21
- * @returns The formatted array
22
- */
23
- export function createDynamicData(obj) {
24
- return formatArray(obj);
25
- }
26
- /**
27
- * Formats the input object into a new array with AppFieldID and Value pairs
28
- * @param input The input object to be formatted
29
- * @returns The formatted array with AppFieldID and Value pairs
30
- */
31
- function formatArray(input) {
32
- if (input !== null) {
33
- const newObj = Object.keys(input).map((key) => {
34
- let Value = '';
35
- if (Array.isArray(input[key])) {
36
- if (key === 'Child_Relationship') {
37
- Value = handleChildRelationship(input[key]);
38
- }
39
- else {
40
- Value = handleObject(input[key]);
41
- }
42
- }
43
- else if (typeof input[key] === 'object') {
44
- Value = handleObject(input[key]);
45
- }
46
- else {
47
- Value = input[key];
48
- }
49
- return { AppFieldID: key, Value };
50
- });
51
- return newObj;
52
- }
53
- return null;
54
- }
55
- /**
56
- * Handles the Child_Relationship key in the input object
57
- * @param child The value of the Child_Relationship key
58
- * @returns The JSON stringified value if not null, empty, or 'null'; otherwise null
59
- */
60
- function handleChildRelationship(child) {
61
- if (child !== null && child !== '' && child !== 'null') {
62
- return JSON.stringify(child);
63
- }
64
- else {
65
- return null;
66
- }
67
- }
68
- /**
69
- * Handles object keys in the input object based on specific cases
70
- * @param obj The object to be handled
71
- * @returns The JSON stringified value based on specific cases or recursively formats the object
72
- */
73
- function handleObject(obj) {
74
- if (obj === null) {
75
- return null;
76
- }
77
- switch (Object.keys(obj)[0]) {
78
- case 'Container':
79
- case 'Setting_Value':
80
- case 'Child_Relationship':
81
- case 'ScreenConfiguration':
82
- case 'AppObjectConfiguration':
83
- case 'SchemaConfig':
84
- case 'Criteria':
85
- case 'ApplyCriteria':
86
- case 'SLASetting':
87
- return JSON.stringify(obj);
88
- default:
89
- return formatArray(obj);
90
- }
91
- }
92
- /**
93
- * Removes blank values from the input object
94
- * @param dataObj The input object to remove blank values from
95
- */
96
- export function removeBlankValue(dataObj) {
97
- Object.keys(dataObj).forEach((key) => {
98
- if (Array.isArray(dataObj[key])) {
99
- dataObj[key].forEach((item, i) => {
100
- if (isValueBlank(item.Value)) {
101
- dataObj[key].splice(i, 1);
102
- }
103
- else {
104
- removeBlankValue(item);
105
- }
106
- });
107
- if (dataObj[key].length === 0) {
108
- delete dataObj[key];
109
- }
110
- }
111
- else if (dataObj[key] && typeof dataObj[key] === 'object') {
112
- removeBlankValue(dataObj[key]);
113
- if (Object.keys(dataObj[key]).length === 0) {
114
- delete dataObj[key];
115
- }
116
- }
117
- else if (key === 'Value' && isValueBlank(dataObj[key])) {
118
- delete dataObj[key];
119
- }
120
- });
121
- }
122
- /**
123
- * Removes blank array keys from the input object
124
- * @param dataObj The input object to remove blank array keys from
125
- */
126
- export function removeBlankArrayKeys(dataObj) {
127
- dataObj.forEach((element, i) => {
128
- if (element && element.hasOwnProperty('Value')) {
129
- if (typeof element.Value === 'object' && element.Value.length == 0) {
130
- dataObj.splice(i, 1);
131
- }
132
- }
133
- });
134
- }
135
- function isValueBlank(value) {
136
- return value === null || value === '';
137
- }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL2pzb24udXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQsMENBQTBDO0FBQzFDLHVEQUF1RDtBQUV2RDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQztJQUN4RSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVE7SUFDeEMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDMUIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFdBQVcsQ0FBQyxLQUFVO0lBQzdCLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25CLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxLQUFLLEdBQVEsRUFBRSxDQUFDO1lBQ3BCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM5QixJQUFJLEdBQUcsS0FBSyxvQkFBb0Is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TyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVELGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RCLENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxHQUFHLEtBQUssT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBWTtJQUMvQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLENBQU0sRUFBRSxFQUFFO1FBQ3ZDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMvQyxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25FLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsS0FBVTtJQUM5QixPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXHJcbi8qIGVzbGludC1kaXNhYmxlIG5vLXByb3RvdHlwZS1idWlsdGlucyAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG4vKipcclxuICogVmFsaWRhdGVzIGlmIGEgc3RyaW5nIGlzIGEgdmFsaWQgSlNPTi5cclxuICogQHBhcmFtIHN0ciBUaGUgc3RyaW5nIHRvIHZhbGlkYXRlLlxyXG4gKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBzdHJpbmcgaXMgYSB2YWxpZCBKU09OLCBmYWxzZSBvdGhlcndpc2UuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVKU09OKHN0cjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgdHJ5IHtcclxuICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKHN0cik7XHJcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGpzb24pLnNsaWNlKDgsIC0xKSA9PT0gJ09iamVjdCc7XHJcbiAgfSBjYXRjaCAoZSkge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgZHluYW1pYyBkYXRhIGJhc2VkIG9uIHRoZSBpbnB1dCBvYmplY3RcclxuICogQHBhcmFtIG9iaiBUaGUgaW5wdXQgb2JqZWN0IHRvIGNyZWF0ZSBkeW5hbWljIGRhdGEgZnJvbVxyXG4gKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIGFycmF5XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRHluYW1pY0RhdGEob2JqOiBhbnkpIHtcclxuICByZXR1cm4gZm9ybWF0QXJyYXkob2JqKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEZvcm1hdHMgdGhlIGlucHV0IG9iamVjdCBpbnRvIGEgbmV3IGFycmF5IHdpdGggQXBwRmllbGRJRCBhbmQgVmFsdWUgcGFpcnNcclxuICogQHBhcmFtIGlucHV0IFRoZSBpbnB1dCBvYmplY3QgdG8gYmUgZm9ybWF0dGVkXHJcbiAqIEByZXR1cm5zIFRoZSBmb3JtYXR0ZWQgYXJyYXkgd2l0aCBBcHBGaWVsZElEIGFuZCBWYWx1ZSBwYWlyc1xyXG4gKi9cclxuZnVuY3Rpb24gZm9ybWF0QXJyYXkoaW5wdXQ6IGFueSkge1xyXG4gIGlmIChpbnB1dCAhPT0gbnVsbCkge1xyXG4gICAgY29uc3QgbmV3T2JqID0gT2JqZWN0LmtleXMoaW5wdXQpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGxldCBWYWx1ZTogYW55ID0gJyc7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGlucHV0W2tleV0pKSB7XHJcbiAgICAgICAgaWYgKGtleSA9PT0gJ0NoaWxkX1JlbGF0aW9uc2hpcCcpIHtcclxuICAgICAgICAgIFZhbHVlID0gaGFuZGxlQ2hpbGRSZWxhdGlvbnNoaXAoaW5wdXRba2V5XSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIFZhbHVlID0gaGFuZGxlT2JqZWN0KGlucHV0W2tleV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXRba2V5XSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICBWYWx1ZSA9IGhhbmRsZU9iamVjdChpbnB1dFtrZXldKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBWYWx1ZSA9IGlucHV0W2tleV07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHsgQXBwRmllbGRJRDoga2V5LCBWYWx1ZSB9O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbmV3T2JqO1xyXG4gIH1cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhhbmRsZXMgdGhlIENoaWxkX1JlbGF0aW9uc2hpcCBrZXkgaW4gdGhlIGlucHV0IG9iamVjdFxyXG4gKiBAcGFyYW0gY2hpbGQgVGhlIHZhbHVlIG9mIHRoZSBDaGlsZF9SZWxhdGlvbnNoaXAga2V5XHJcbiAqIEByZXR1cm5zIFRoZSBKU09OIHN0cmluZ2lmaWVkIHZhbHVlIGlmIG5vdCBudWxsLCBlbXB0eSwgb3IgJ251bGwnOyBvdGhlcndpc2UgbnVsbFxyXG4gKi9cclxuZnVuY3Rpb24gaGFuZGxlQ2hpbGRSZWxhdGlvbnNoaXAoY2hpbGQ6IGFueSkge1xyXG4gIGlmIChjaGlsZCAhPT0gbnVsbCAmJiBjaGlsZCAhPT0gJycgJiYgY2hpbGQgIT09ICdudWxsJykge1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGNoaWxkKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogSGFuZGxlcyBvYmplY3Qga2V5cyBpbiB0aGUgaW5wdXQgb2JqZWN0IGJhc2VkIG9uIHNwZWNpZmljIGNhc2VzXHJcbiAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byBiZSBoYW5kbGVkXHJcbiAqIEByZXR1cm5zIFRoZSBKU09OIHN0cmluZ2lmaWVkIHZhbHVlIGJhc2VkIG9uIHNwZWNpZmljIGNhc2VzIG9yIHJlY3Vyc2l2ZWx5IGZvcm1hdHMgdGhlIG9iamVjdFxyXG4gKi9cclxuZnVuY3Rpb24gaGFuZGxlT2JqZWN0KG9iajogYW55KSB7XHJcbiAgaWYgKG9iaiA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIHN3aXRjaCAoT2JqZWN0LmtleXMob2JqKVswXSkge1xyXG4gICAgY2FzZSAnQ29udGFpbmVyJzpcclxuICAgIGNhc2UgJ1NldHRpbmdfVmFsdWUnOlxyXG4gICAgY2FzZSAnQ2hpbGRfUmVsYXRpb25zaGlwJzpcclxuICAgIGNhc2UgJ1NjcmVlbkNvbmZpZ3VyYXRpb24nOlxyXG4gICAgY2FzZSAnQXBwT2JqZWN0Q29uZmlndXJhdGlvbic6XHJcbiAgICBjYXNlICdTY2hlbWFDb25maWcnOlxyXG4gICAgY2FzZSAnQ3JpdGVyaWEnOlxyXG4gICAgY2FzZSAnQXBwbHlDcml0ZXJpYSc6XHJcbiAgICBjYXNlICdTTEFTZXR0aW5nJzpcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gZm9ybWF0QXJyYXkob2JqKTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGJsYW5rIHZhbHVlcyBmcm9tIHRoZSBpbnB1dCBvYmplY3RcclxuICogQHBhcmFtIGRhdGFPYmogVGhlIGlucHV0IG9iamVjdCB0byByZW1vdmUgYmxhbmsgdmFsdWVzIGZyb21cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmo6IGFueSkge1xyXG4gIE9iamVjdC5rZXlzKGRhdGFPYmopLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YU9ialtrZXldKSkge1xyXG4gICAgICBkYXRhT2JqW2tleV0uZm9yRWFjaCgoaXRlbTogeyBWYWx1ZTogYW55IH0sIGk6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpc1ZhbHVlQmxhbmsoaXRlbS5WYWx1ZSkpIHtcclxuICAgICAgICAgIGRhdGFPYmpba2V5XS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlbW92ZUJsYW5rVmFsdWUoaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKGRhdGFPYmpba2V5XS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICBkZWxldGUgZGF0YU9ialtrZXldO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGRhdGFPYmpba2V5XSAmJiB0eXBlb2YgZGF0YU9ialtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICByZW1vdmVCbGFua1ZhbHVlKGRhdGFPYmpba2V5XSk7XHJcbiAgICAgIGlmIChPYmplY3Qua2V5cyhkYXRhT2JqW2tleV0pLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoa2V5ID09PSAnVmFsdWUnICYmIGlzVmFsdWVCbGFuayhkYXRhT2JqW2tleV0pKSB7XHJcbiAgICAgIGRlbGV0ZSBkYXRhT2JqW2tleV07XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIGJsYW5rIGFycmF5IGtleXMgZnJvbSB0aGUgaW5wdXQgb2JqZWN0XHJcbiAqIEBwYXJhbSBkYXRhT2JqIFRoZSBpbnB1dCBvYmplY3QgdG8gcmVtb3ZlIGJsYW5rIGFycmF5IGtleXMgZnJvbVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUJsYW5rQXJyYXlLZXlzKGRhdGFPYmo6IGFueSkge1xyXG4gIGRhdGFPYmouZm9yRWFjaCgoZWxlbWVudDogYW55LCBpOiBhbnkpID0+IHtcclxuICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQuaGFzT3duUHJvcGVydHkoJ1ZhbHVlJykpIHtcclxuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LlZhbHVlID09PSAnb2JqZWN0JyAmJiBlbGVtZW50LlZhbHVlLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgZGF0YU9iai5zcGxpY2UoaSwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNWYWx1ZUJsYW5rKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICByZXR1cm4gdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnO1xyXG59XHJcbiJdfQ==
@@ -1,129 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /**
3
- * Converts a relational operator value to a number.
4
- * @param dataType The relational operator value as a string.
5
- * @returns The relational operator value as a number.
6
- */
7
- export function getRelationalOperatorValueToNumber(dataType) {
8
- const operatorsMap = {
9
- greaterthan: 1,
10
- lessthan: 2,
11
- equal: 3,
12
- in: 4,
13
- notin: 5,
14
- isnull: 6,
15
- isnotnull: 7,
16
- notequal: 8,
17
- greaterthanorequal: 9,
18
- lessthanorequal: 10,
19
- contains: 11,
20
- notcontains: 12,
21
- startswith: 13,
22
- notstartswith: 14,
23
- endswith: 15,
24
- notendswith: 16,
25
- between: 17,
26
- notbetween: 18,
27
- splitcontains: 19,
28
- notsplitcontains: 20,
29
- };
30
- return operatorsMap[dataType] || 0;
31
- }
32
- /**
33
- * Converts a relational operator value to a string.
34
- * @param dataType The relational operator value as a number.
35
- * @returns The relational operator value as a string.
36
- */
37
- export function getRelationalOperatorValueToString(dataType) {
38
- const operatorsMap = {
39
- 1: 'greaterthan',
40
- 2: 'lessthan',
41
- 3: 'equal',
42
- 4: 'in',
43
- 5: 'notin',
44
- 6: 'isnull',
45
- 7: 'isnotnull',
46
- 8: 'notequal',
47
- 9: 'greaterthanorequal',
48
- 10: 'lessthanorequal',
49
- 11: 'contains',
50
- 12: 'notcontains',
51
- 13: 'startswith',
52
- 14: 'notstartswith',
53
- 15: 'endswith',
54
- 16: 'notendswith',
55
- 17: 'between',
56
- 18: 'notbetween',
57
- 19: 'splitcontains',
58
- 20: 'notsplitcontains',
59
- };
60
- return operatorsMap[dataType] || '';
61
- }
62
- /**
63
- * Returns a list of operators for the query builder based on the data type.
64
- * @param dataType The data type.
65
- * @returns A list of operators.
66
- */
67
- export function getOperatorListForQueryBuilder(dataType) {
68
- let operators = [];
69
- if (dataType === 'string') {
70
- operators = [
71
- { value: 'equal', key: 'Equal To' },
72
- { value: 'in', key: 'IN' },
73
- { value: 'notin', key: 'NOT IN' },
74
- { value: 'isnull', key: 'Is NULL' },
75
- { value: 'isnotnull', key: 'Is Not NULL' },
76
- { value: 'notequal', key: 'Not Equal To' },
77
- { value: 'contains', key: 'Contains' },
78
- { value: 'notcontains', key: 'Not Contains' },
79
- { value: 'startswith', key: 'Starts With' },
80
- { value: 'notstartswith', key: 'Not Starts With' },
81
- { value: 'endswith', key: 'Ends With' },
82
- { value: 'notendswith', key: 'Not Ends With' },
83
- { value: 'splitcontains', key: 'SplitContains' },
84
- { value: 'notsplitcontains', key: 'Not SplitContains' },
85
- ];
86
- }
87
- else if (dataType === 'number') {
88
- operators = [
89
- { value: 'greaterthan', key: 'Greater Than' },
90
- { value: 'lessthan', key: 'Less Than' },
91
- { value: 'equal', key: 'Equal To' },
92
- { value: 'isnull', key: 'Is NULL' },
93
- { value: 'isnotnull', key: 'Is Not NULL' },
94
- { value: 'notequal', key: 'Not Equal To' },
95
- { value: 'greaterthanorequal', key: 'Greater Than OR Equal To' },
96
- { value: 'lessthanorequal', key: 'Less Than OR Equal To' },
97
- ];
98
- }
99
- else if (dataType === 'Date' || dataType === 'date') {
100
- operators = [
101
- { value: 'greaterthan', key: 'Greater Than' },
102
- { value: 'lessthan', key: 'Less Than' },
103
- { value: 'equal', key: 'Equal To' },
104
- { value: 'isnull', key: 'Is NULL' },
105
- { value: 'isnotnull', key: 'Is Not NULL' },
106
- { value: 'notequal', key: 'Not Equal To' },
107
- { value: 'greaterthanorequal', key: 'Greater Than OR Equal To' },
108
- { value: 'lessthanorequal', key: 'Less Than OR Equal To' },
109
- { value: 'contains', key: 'Contains' },
110
- { value: 'notcontains', key: 'Not Contains' },
111
- { value: 'startswith', key: 'Starts With' },
112
- { value: 'notstartswith', key: 'Not Starts With' },
113
- { value: 'endswith', key: 'Ends With' },
114
- { value: 'notendswith', key: 'Not Ends With' },
115
- ];
116
- }
117
- else if (dataType === 'boolean') {
118
- operators = [
119
- { value: 'equal', key: 'Equal To' },
120
- { value: 'isnull', key: 'Is NULL' },
121
- { value: 'isnotnull', key: 'Is Not NULL' },
122
- { value: 'notequal', key: 'Not Equal To' },
123
- { value: 'contains', key: 'Contains' },
124
- { value: 'notcontains', key: 'Not Contains' },
125
- ];
126
- }
127
- return operators;
128
- }
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL3NyYy9saWIvdGFiLWNvcmUtdXRpbGl0eS9hcHAvdXRpbHMvb3BlcmF0b3JzLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0NBQWtDLENBQUMsUUFBZ0I7SUFDakUsTUFBTSxZQUFZLEdBQTJCO1FBQzNDLFdBQVcsRUFBRSxDQUFDO1FBQ2QsUUFBUSxFQUFFLENBQUM7UUFDWCxLQUFLLEVBQUUsQ0FBQztRQUNSLEVBQUUsRUFBRSxDQUFDO1FBQ0wsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQztRQUNULFNBQVMsRUFBRSxDQUFDO1FBQ1osUUFBUSxFQUFFLENBQUM7UUFDWCxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JCLGVBQWUsRUFBRSxFQUFFO1FBQ25CLFFBQVEsRUFBRSxFQUFFO1FBQ1osV0FBVyxFQUFFLEVBQUU7UUFDZixVQUFVLEVBQUUsRUFBRTtRQUNkLGFBQWEsRUFBRSxFQUFFO1FBQ2pCLFFBQVEsRUFBRSxFQUFFO1FBQ1osV0FBVyxFQUFFLEVBQUU7UUFDZixPQUFPLEVBQUUsRUFBRTtRQUNYLFVBQVUsRUFBRSxFQUFFO1FBQ2QsYUFBYSxFQUFFLEVBQUU7UUFDakIsZ0JBQWdCLEVBQUUsRUFBRTtLQUNyQixDQUFDO0lBQ0YsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGtDQUFrQyxDQUFDLFFBQWdCO0lBQ2pFLE1BQU0sWUFBWSxHQUEyQjtRQUMzQyxDQUFDLEVBQUUsYUFBYTtRQUNoQixDQUFDLEVBQUUsVUFBVTtRQUNiLENBQUMsRUFBRSxPQUFPO1FBQ1YsQ0FBQyxFQUFFLElBQUk7UUFDUCxD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QUcsRUFBRSxTQUFTLEVBQUU7WUFDbkMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUU7WUFDMUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUU7WUFDMUMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUU7WUFDdEMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUU7U0FDOUMsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG4vKipcclxuICogQ29udmVydHMgYSByZWxhdGlvbmFsIG9wZXJhdG9yIHZhbHVlIHRvIGEgbnVtYmVyLlxyXG4gKiBAcGFyYW0gZGF0YVR5cGUgVGhlIHJlbGF0aW9uYWwgb3BlcmF0b3IgdmFsdWUgYXMgYSBzdHJpbmcuXHJcbiAqIEByZXR1cm5zIFRoZSByZWxhdGlvbmFsIG9wZXJhdG9yIHZhbHVlIGFzIGEgbnVtYmVyLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbGF0aW9uYWxPcGVyYXRvclZhbHVlVG9OdW1iZXIoZGF0YVR5cGU6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgY29uc3Qgb3BlcmF0b3JzTWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xyXG4gICAgZ3JlYXRlcnRoYW46IDEsXHJcbiAgICBsZXNzdGhhbjogMixcclxuICAgIGVxdWFsOiAzLFxyXG4gICAgaW46IDQsXHJcbiAgICBub3RpbjogNSxcclxuICAgIGlzbnVsbDogNixcclxuICAgIGlzbm90bnVsbDogNyxcclxuICAgIG5vdGVxdWFsOiA4LFxyXG4gICAgZ3JlYXRlcnRoYW5vcmVxdWFsOiA5LFxyXG4gICAgbGVzc3RoYW5vcmVxdWFsOiAxMCxcclxuICAgIGNvbnRhaW5zOiAxMSxcclxuICAgIG5vdGNvbnRhaW5zOiAxMixcclxuICAgIHN0YXJ0c3dpdGg6IDEzLFxyXG4gICAgbm90c3RhcnRzd2l0aDogMTQsXHJcbiAgICBlbmRzd2l0aDogMTUsXHJcbiAgICBub3RlbmRzd2l0aDogMTYsXHJcbiAgICBiZXR3ZWVuOiAxNyxcclxuICAgIG5vdGJldHdlZW46IDE4LFxyXG4gICAgc3BsaXRjb250YWluczogMTksXHJcbiAgICBub3RzcGxpdGNvbnRhaW5zOiAyMCxcclxuICB9O1xyXG4gIHJldHVybiBvcGVyYXRvcnNNYXBbZGF0YVR5cGVdIHx8IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0cyBhIHJlbGF0aW9uYWwgb3BlcmF0b3IgdmFsdWUgdG8gYSBzdHJpbmcuXHJcbiAqIEBwYXJhbSBkYXRhVHlwZSBUaGUgcmVsYXRpb25hbCBvcGVyYXRvciB2YWx1ZSBhcyBhIG51bWJlci5cclxuICogQHJldHVybnMgVGhlIHJlbGF0aW9uYWwgb3BlcmF0b3IgdmFsdWUgYXMgYSBzdHJpbmcuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsYXRpb25hbE9wZXJhdG9yVmFsdWVUb1N0cmluZyhkYXRhVHlwZTogbnVtYmVyKTogc3RyaW5nIHtcclxuICBjb25zdCBvcGVyYXRvcnNNYXA6IFJlY29yZDxudW1iZXIsIHN0cmluZz4gPSB7XHJcbiAgICAxOiAnZ3JlYXRlcnRoYW4nLFxyXG4gICAgMjogJ2xlc3N0aGFuJyxcclxuICAgIDM6ICdlcXVhbCcsXHJcbiAgICA0OiAnaW4nLFxyXG4gICAgNTogJ25vdGluJyxcclxuICAgIDY6ICdpc251bGwnLFxyXG4gICAgNzogJ2lzbm90bnVsbCcsXHJcbiAgICA4OiAnbm90ZXF1YWwnLFxyXG4gICAgOTogJ2dyZWF0ZXJ0aGFub3JlcXVhbCcsXHJcbiAgICAxMDogJ2xlc3N0aGFub3JlcXVhbCcsXHJcbiAgICAxMTogJ2NvbnRhaW5zJyxcclxuICAgIDEyOiAnbm90Y29udGFpbnMnLFxyXG4gICAgMTM6ICdzdGFydHN3aXRoJyxcclxuICAgIDE0OiAnbm90c3RhcnRzd2l0aCcsXHJcbiAgICAxNTogJ2VuZHN3aXRoJyxcclxuICAgIDE2OiAnbm90ZW5kc3dpdGgnLFxyXG4gICAgMTc6ICdiZXR3ZWVuJyxcclxuICAgIDE4OiAnbm90YmV0d2VlbicsXHJcbiAgICAxOTogJ3NwbGl0Y29udGFpbnMnLFxyXG4gICAgMjA6ICdub3RzcGxpdGNvbnRhaW5zJyxcclxuICB9O1xyXG4gIHJldHVybiBvcGVyYXRvcnNNYXBbZGF0YVR5cGVdIHx8ICcnO1xyXG59XHJcblxyXG4vKipcclxuICogUmV0dXJucyBhIGxpc3Qgb2Ygb3BlcmF0b3JzIGZvciB0aGUgcXVlcnkgYnVpbGRlciBiYXNlZCBvbiB0aGUgZGF0YSB0eXBlLlxyXG4gKiBAcGFyYW0gZGF0YVR5cGUgVGhlIGRhdGEgdHlwZS5cclxuICogQHJldHVybnMgQSBsaXN0IG9mIG9wZXJhdG9ycy5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRPcGVyYXRvckxpc3RGb3JRdWVyeUJ1aWxkZXIoXHJcbiAgZGF0YVR5cGU6IGFueVxyXG4pOiB7IHZhbHVlOiBzdHJpbmc7IGtleTogc3RyaW5nIH1bXSB7XHJcbiAgbGV0IG9wZXJhdG9yczogeyB2YWx1ZTogc3RyaW5nOyBrZXk6IHN0cmluZyB9W10gPSBbXTtcclxuICBpZiAoZGF0YVR5cGUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBvcGVyYXRvcnMgPSBbXHJcbiAgICAgIHsgdmFsdWU6ICdlcXVhbCcsIGtleTogJ0VxdWFsIFRvJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnaW4nLCBrZXk6ICdJTicgfSxcclxuICAgICAgeyB2YWx1ZTogJ25vdGluJywga2V5OiAnTk9UIElOJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnaXNudWxsJywga2V5OiAnSXMgTlVMTCcgfSxcclxuICAgICAgeyB2YWx1ZTogJ2lzbm90bnVsbCcsIGtleTogJ0lzIE5vdCBOVUxMJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnbm90ZXF1YWwnLCBrZXk6ICdOb3QgRXF1YWwgVG8nIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdjb250YWlucycsIGtleTogJ0NvbnRhaW5zJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnbm90Y29udGFpbnMnLCBrZXk6ICdOb3QgQ29udGFpbnMnIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdzdGFydHN3aXRoJywga2V5OiAnU3RhcnRzIFdpdGgnIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdub3RzdGFydHN3aXRoJywga2V5OiAnTm90IFN0YXJ0cyBXaXRoJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnZW5kc3dpdGgnLCBrZXk6ICdFbmRzIFdpdGgnIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdub3RlbmRzd2l0aCcsIGtleTogJ05vdCBFbmRzIFdpdGgnIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdzcGxpdGNvbnRhaW5zJywga2V5OiAnU3BsaXRDb250YWlucycgfSxcclxuICAgICAgeyB2YWx1ZTogJ25vdHNwbGl0Y29udGFpbnMnLCBrZXk6ICdOb3QgU3BsaXRDb250YWlucycgfSxcclxuICAgIF07XHJcbiAgfSBlbHNlIGlmIChkYXRhVHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgIG9wZXJhdG9ycyA9IFtcclxuICAgICAgeyB2YWx1ZTogJ2dyZWF0ZXJ0aGFuJywga2V5OiAnR3JlYXRlciBUaGFuJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnbGVzc3RoYW4nLCBrZXk6ICdMZXNzIFRoYW4nIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdlcXVhbCcsIGtleTogJ0VxdWFsIFRvJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnaXNudWxsJywga2V5OiAnSXMgTlVMTCcgfSxcclxuICAgICAgeyB2YWx1ZTogJ2lzbm90bnVsbCcsIGtleTogJ0lzIE5vdCBOVUxMJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnbm90ZXF1YWwnLCBrZXk6ICdOb3QgRXF1YWwgVG8nIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdncmVhdGVydGhhbm9yZXF1YWwnLCBrZXk6ICdHcmVhdGVyIFRoYW4gT1IgRXF1YWwgVG8nIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdsZXNzdGhhbm9yZXF1YWwnLCBrZXk6ICdMZXNzIFRoYW4gT1IgRXF1YWwgVG8nIH0sXHJcbiAgICBdO1xyXG4gIH0gZWxzZSBpZiAoZGF0YVR5cGUgPT09ICdEYXRlJyB8fCBkYXRhVHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICBvcGVyYXRvcnMgPSBbXHJcbiAgICAgIHsgdmFsdWU6ICdncmVhdGVydGhhbicsIGtleTogJ0dyZWF0ZXIgVGhhbicgfSxcclxuICAgICAgeyB2YWx1ZTogJ2xlc3N0aGFuJywga2V5OiAnTGVzcyBUaGFuJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnZXF1YWwnLCBrZXk6ICdFcXVhbCBUbycgfSxcclxuICAgICAgeyB2YWx1ZTogJ2lzbnVsbCcsIGtleTogJ0lzIE5VTEwnIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdpc25vdG51bGwnLCBrZXk6ICdJcyBOb3QgTlVMTCcgfSxcclxuICAgICAgeyB2YWx1ZTogJ25vdGVxdWFsJywga2V5OiAnTm90IEVxdWFsIFRvJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnZ3JlYXRlcnRoYW5vcmVxdWFsJywga2V5OiAnR3JlYXRlciBUaGFuIE9SIEVxdWFsIFRvJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnbGVzc3RoYW5vcmVxdWFsJywga2V5OiAnTGVzcyBUaGFuIE9SIEVxdWFsIFRvJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnY29udGFpbnMnLCBrZXk6ICdDb250YWlucycgfSxcclxuICAgICAgeyB2YWx1ZTogJ25vdGNvbnRhaW5zJywga2V5OiAnTm90IENvbnRhaW5zJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnc3RhcnRzd2l0aCcsIGtleTogJ1N0YXJ0cyBXaXRoJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnbm90c3RhcnRzd2l0aCcsIGtleTogJ05vdCBTdGFydHMgV2l0aCcgfSxcclxuICAgICAgeyB2YWx1ZTogJ2VuZHN3aXRoJywga2V5OiAnRW5kcyBXaXRoJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnbm90ZW5kc3dpdGgnLCBrZXk6ICdOb3QgRW5kcyBXaXRoJyB9LFxyXG4gICAgXTtcclxuICB9IGVsc2UgaWYgKGRhdGFUeXBlID09PSAnYm9vbGVhbicpIHtcclxuICAgIG9wZXJhdG9ycyA9IFtcclxuICAgICAgeyB2YWx1ZTogJ2VxdWFsJywga2V5OiAnRXF1YWwgVG8nIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdpc251bGwnLCBrZXk6ICdJcyBOVUxMJyB9LFxyXG4gICAgICB7IHZhbHVlOiAnaXNub3RudWxsJywga2V5OiAnSXMgTm90IE5VTEwnIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdub3RlcXVhbCcsIGtleTogJ05vdCBFcXVhbCBUbycgfSxcclxuICAgICAgeyB2YWx1ZTogJ2NvbnRhaW5zJywga2V5OiAnQ29udGFpbnMnIH0sXHJcbiAgICAgIHsgdmFsdWU6ICdub3Rjb250YWlucycsIGtleTogJ05vdCBDb250YWlucycgfSxcclxuICAgIF07XHJcbiAgfVxyXG4gIHJldHVybiBvcGVyYXRvcnM7XHJcbn1cclxuIl19
@@ -1,168 +0,0 @@
1
- /* eslint-disable no-prototype-builtins */
2
- /* eslint-disable @typescript-eslint/no-explicit-any */
3
- import { HttpHeaders } from '@angular/common/http';
4
- import { Common } from '../constants/common';
5
- import { getAppObject, getDsqIdfromSelectedAppObjectDSQArray, } from './tab-app.util';
6
- import { API } from '../constants/api-constants';
7
- import { getFormBuilderType } from './form-builder.util';
8
- import { StorageConstants } from '../constants/storage-constants';
9
- // import { inject } from '@angular/core';
10
- import { SessionStorageService } from '../../auth/session-storage.service';
11
- import { API_URL } from '../../core/http-client/api-url.token';
12
- // const sessionStorageService = inject(SessionStorageService);
13
- const sessionStorageService = new SessionStorageService();
14
- /**
15
- * Delete a key from the response object
16
- *
17
- * @param response - The response object
18
- * @param key - The key to be deleted
19
- * @returns any - The updated response object
20
- */
21
- export function deleteKeyFromResponse(response, key) {
22
- delete response[key];
23
- return response;
24
- }
25
- /**
26
- * Remove the primary key from the response object
27
- *
28
- * @param response - The response object
29
- * @param field - The field to be removed as primary key
30
- * @returns any - The updated response object
31
- */
32
- export function removePrimaryKey(response, field) {
33
- if (field) {
34
- deleteKeyFromResponse(response, field);
35
- }
36
- return response;
37
- }
38
- /**
39
- * Remove multiple primary keys from the response object
40
- *
41
- * @param response - The response object
42
- * @param fields - The array of fields to be removed as primary keys
43
- * @returns any - The updated response object
44
- */
45
- export function removeMultiplePrimaryKey(response, fields) {
46
- fields.forEach((element) => {
47
- delete response[element.FieldName];
48
- });
49
- return response;
50
- }
51
- /**
52
- * Get the HttpHeaders for API requests
53
- *
54
- * @returns HttpHeaders | null - The HttpHeaders object or null
55
- */
56
- export function getHeaders() {
57
- const token = sessionStorageService.getSessionStorage(StorageConstants.token);
58
- const staticToken = sessionStorageService.getSessionStorage(StorageConstants.staticToken);
59
- if (!token && staticToken) {
60
- // Token is empty but staticToken is not
61
- return new HttpHeaders({
62
- 'Content-Type': 'application/json',
63
- Authorization: staticToken,
64
- ApplicationCode: Common.applicationCode,
65
- });
66
- }
67
- else if (token) {
68
- // Token is not empty
69
- return new HttpHeaders({
70
- 'Content-Type': 'application/json',
71
- Authorization: token,
72
- ApplicationCode: Common.applicationCode,
73
- });
74
- }
75
- // Handle the case when both tokens are empty
76
- return null;
77
- }
78
- /**
79
- * Get the primary key fields from the AppObject
80
- *
81
- * @param appObject - The AppObject
82
- * @returns AppFields[] | null - The array of primary key fields or null
83
- */
84
- export function getPrimaryKeyFields(appObject) {
85
- if (appObject.Fields.length) {
86
- return appObject.Fields.filter((field) => field.IsPrimaryKey);
87
- }
88
- return null;
89
- }
90
- /**
91
- * Get the edit record ID from the response object
92
- *
93
- * @param response - The response object
94
- * @param fieldName - The field name for the edit record ID
95
- * @returns any - The edit record ID
96
- */
97
- export function getEditRecordId(response, fieldName) {
98
- let recordId = null;
99
- if (fieldName) {
100
- recordId = response[fieldName] || null;
101
- }
102
- else {
103
- recordId = response.Id || response.ID || null;
104
- }
105
- return recordId;
106
- }
107
- /**
108
- * Generate the fields schema based on the AppFields
109
- *
110
- * @param fields - The AppFields object
111
- * @returns any - The generated fields schema
112
- */
113
- export function generateFieldsSchema(fields) {
114
- let schema = {};
115
- if (fields.hasOwnProperty('LookUpDetails')) {
116
- const selectedAppObject = getAppObject(fields.LookUpDetails.LookupObject);
117
- const dsqID = getDsqIdfromSelectedAppObjectDSQArray(selectedAppObject?.DataSourceQueries, fields.LookUpDetails.LookupObject, 'List');
118
- schema = {
119
- label: fields.DisplayName,
120
- type: 'select',
121
- key: fields.SystemDBFieldName,
122
- input: true,
123
- dataSrc: 'url',
124
- valueProperty: fields.LookUpDetails.LookupField,
125
- template: `<span>{{ item.${fields.LookUpDetails.DisplayField} }}</span>`,
126
- selectValues: 'Result',
127
- data: {
128
- url: `${API_URL}${API.getListFromDsq}${dsqID}`, // API.getListFromDsq + dsqID,
129
- headers: [
130
- {
131
- "key": "Applicationcode",
132
- "value": sessionStorageService.getSessionStorage(StorageConstants.applicationCode)
133
- },
134
- {
135
- "key": "Authorization",
136
- "value": sessionStorageService.getSessionStorage(StorageConstants.token)
137
- }
138
- ],
139
- },
140
- };
141
- }
142
- else {
143
- schema = {
144
- label: fields.DisplayName,
145
- type: getFormBuilderType(fields.FieldType.DataType),
146
- key: fields.SystemDBFieldName,
147
- input: true,
148
- };
149
- }
150
- return schema;
151
- }
152
- /**
153
- * Get the HttpHeaders for form data requests
154
- *
155
- * @returns HttpHeaders | null - The HttpHeaders object or null
156
- */
157
- export function getFormDataHeaders() {
158
- const isToken = sessionStorageService.getSessionStorage(StorageConstants.token);
159
- if (isToken) {
160
- return new HttpHeaders({
161
- Accept: '*/*',
162
- Authorization: isToken,
163
- ApplicationCode: Common.applicationCode,
164
- });
165
- }
166
- return null;
167
- }
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxLXJlcy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL3V0aWxzL3JlcS1yZXMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQ0FBMEM7QUFDMUMsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUNMLFlBQVksRUFDWixxQ0FBcUMsR0FDdEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRCwrREFBK0Q7QUFDL0QsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7QUFFMUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFFBQWEsRUFBRSxHQUFXO0lBQzlELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JCLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBYSxFQUFFLEtBQWE7SUFDM0QsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6QyxD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QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zICovXHJcbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbW1vbiB9IGZyb20gJy4uL2NvbnN0YW50cy9jb21tb24nO1xyXG5pbXBvcnQgeyBBcHBPYmplY3QgfSBmcm9tICcuLi9tb2RlbHMvYXBwLW9iamVjdC5jbGFzcyc7XHJcbmltcG9ydCB7XHJcbiAgZ2V0QXBwT2JqZWN0LFxyXG4gIGdldERzcUlkZnJvbVNlbGVjdGVkQXBwT2JqZWN0RFNRQXJyYXksXHJcbn0gZnJvbSAnLi90YWItYXBwLnV0aWwnO1xyXG5pbXBvcnQgeyBBcHBGaWVsZHMgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS1zb3VyY2UtcXVlcmllcy5jbGFzcyc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0Rm9ybUJ1aWxkZXJUeXBlIH0gZnJvbSAnLi9mb3JtLWJ1aWxkZXIudXRpbCc7XHJcbmltcG9ydCB7IFN0b3JhZ2VDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvc3RvcmFnZS1jb25zdGFudHMnO1xyXG4vLyBpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aC9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEFQSV9VUkwgfSBmcm9tICcuLi8uLi9jb3JlL2h0dHAtY2xpZW50L2FwaS11cmwudG9rZW4nO1xyXG5cclxuLy8gY29uc3Qgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KFNlc3Npb25TdG9yYWdlU2VydmljZSk7XHJcbmNvbnN0IHNlc3Npb25TdG9yYWdlU2VydmljZSA9IG5ldyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UoKTtcclxuXHJcbi8qKlxyXG4gKiBEZWxldGUgYSBrZXkgZnJvbSB0aGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGtleSAtIFRoZSBrZXkgdG8gYmUgZGVsZXRlZFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgdXBkYXRlZCByZXNwb25zZSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVLZXlGcm9tUmVzcG9uc2UocmVzcG9uc2U6IGFueSwga2V5OiBzdHJpbmcpIHtcclxuICBkZWxldGUgcmVzcG9uc2Vba2V5XTtcclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIHByaW1hcnkga2V5IGZyb20gdGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKlxyXG4gKiBAcGFyYW0gcmVzcG9uc2UgLSBUaGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqIEBwYXJhbSBmaWVsZCAtIFRoZSBmaWVsZCB0byBiZSByZW1vdmVkIGFzIHByaW1hcnkga2V5XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSB1cGRhdGVkIHJlc3BvbnNlIG9iamVjdFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVByaW1hcnlLZXkocmVzcG9uc2U6IGFueSwgZmllbGQ6IHN0cmluZykge1xyXG4gIGlmIChmaWVsZCkge1xyXG4gICAgZGVsZXRlS2V5RnJvbVJlc3BvbnNlKHJlc3BvbnNlLCBmaWVsZCk7XHJcbiAgfVxyXG4gIHJldHVybiByZXNwb25zZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBtdWx0aXBsZSBwcmltYXJ5IGtleXMgZnJvbSB0aGUgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqXHJcbiAqIEBwYXJhbSByZXNwb25zZSAtIFRoZSByZXNwb25zZSBvYmplY3RcclxuICogQHBhcmFtIGZpZWxkcyAtIFRoZSBhcnJheSBvZiBmaWVsZHMgdG8gYmUgcmVtb3ZlZCBhcyBwcmltYXJ5IGtleXNcclxuICogQHJldHVybnMgYW55IC0gVGhlIHVwZGF0ZWQgcmVzcG9uc2Ugb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTXVsdGlwbGVQcmltYXJ5S2V5KHJlc3BvbnNlOiBhbnksIGZpZWxkczogYW55KSB7XHJcbiAgZmllbGRzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgZGVsZXRlIHJlc3BvbnNlW2VsZW1lbnQuRmllbGROYW1lXTtcclxuICB9KTtcclxuICByZXR1cm4gcmVzcG9uc2U7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEh0dHBIZWFkZXJzIGZvciBBUEkgcmVxdWVzdHNcclxuICpcclxuICogQHJldHVybnMgSHR0cEhlYWRlcnMgfCBudWxsIC0gVGhlIEh0dHBIZWFkZXJzIG9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0SGVhZGVycygpIHtcclxuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnRva2VuKTtcclxuICBjb25zdCBzdGF0aWNUb2tlbiA9IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnN0YXRpY1Rva2VuKTtcclxuICBcclxuICBpZiAoIXRva2VuICYmIHN0YXRpY1Rva2VuKSB7XHJcbiAgICAgIC8vIFRva2VuIGlzIGVtcHR5IGJ1dCBzdGF0aWNUb2tlbiBpcyBub3RcclxuICAgICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogc3RhdGljVG9rZW4sXHJcbiAgICAgICAgICBBcHBsaWNhdGlvbkNvZGU6IENvbW1vbi5hcHBsaWNhdGlvbkNvZGUsXHJcbiAgICAgIH0pO1xyXG4gIH0gZWxzZSBpZiAodG9rZW4pIHtcclxuICAgICAgLy8gVG9rZW4gaXMgbm90IGVtcHR5XHJcbiAgICAgIHJldHVybiBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgIEF1dGhvcml6YXRpb246IHRva2VuLFxyXG4gICAgICAgICAgQXBwbGljYXRpb25Db2RlOiBDb21tb24uYXBwbGljYXRpb25Db2RlLFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLy8gSGFuZGxlIHRoZSBjYXNlIHdoZW4gYm90aCB0b2tlbnMgYXJlIGVtcHR5XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIHByaW1hcnkga2V5IGZpZWxkcyBmcm9tIHRoZSBBcHBPYmplY3RcclxuICpcclxuICogQHBhcmFtIGFwcE9iamVjdCAtIFRoZSBBcHBPYmplY3RcclxuICogQHJldHVybnMgQXBwRmllbGRzW10gfCBudWxsIC0gVGhlIGFycmF5IG9mIHByaW1hcnkga2V5IGZpZWxkcyBvciBudWxsXHJcbiAqL1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFByaW1hcnlLZXlGaWVsZHMoYXBwT2JqZWN0OiBBcHBPYmplY3QpIHtcclxuICBpZiAoYXBwT2JqZWN0LkZpZWxkcy5sZW5ndGgpIHtcclxuICAgIHJldHVybiBhcHBPYmplY3QuRmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkLklzUHJpbWFyeUtleSk7XHJcbiAgfVxyXG4gIHJldHVybiBudWxsO1xyXG59XHJcblxyXG4vKipcclxuICogR2V0IHRoZSBlZGl0IHJlY29yZCBJRCBmcm9tIHRoZSByZXNwb25zZSBvYmplY3RcclxuICpcclxuICogQHBhcmFtIHJlc3BvbnNlIC0gVGhlIHJlc3BvbnNlIG9iamVjdFxyXG4gKiBAcGFyYW0gZmllbGROYW1lIC0gVGhlIGZpZWxkIG5hbWUgZm9yIHRoZSBlZGl0IHJlY29yZCBJRFxyXG4gKiBAcmV0dXJucyBhbnkgLSBUaGUgZWRpdCByZWNvcmQgSURcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRFZGl0UmVjb3JkSWQocmVzcG9uc2U6IGFueSwgZmllbGROYW1lOiBhbnkpIHtcclxuICBsZXQgcmVjb3JkSWQgPSBudWxsO1xyXG4gIGlmIChmaWVsZE5hbWUpIHtcclxuICAgIHJlY29yZElkID0gcmVzcG9uc2VbZmllbGROYW1lXSB8fCBudWxsO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZWNvcmRJZCA9IHJlc3BvbnNlLklkIHx8IHJlc3BvbnNlLklEIHx8IG51bGw7XHJcbiAgfVxyXG4gIHJldHVybiByZWNvcmRJZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYXRlIHRoZSBmaWVsZHMgc2NoZW1hIGJhc2VkIG9uIHRoZSBBcHBGaWVsZHNcclxuICpcclxuICogQHBhcmFtIGZpZWxkcyAtIFRoZSBBcHBGaWVsZHMgb2JqZWN0XHJcbiAqIEByZXR1cm5zIGFueSAtIFRoZSBnZW5lcmF0ZWQgZmllbGRzIHNjaGVtYVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRmllbGRzU2NoZW1hKGZpZWxkczogQXBwRmllbGRzKSB7XHJcbiAgbGV0IHNjaGVtYSA9IHt9O1xyXG4gIGlmIChmaWVsZHMuaGFzT3duUHJvcGVydHkoJ0xvb2tVcERldGFpbHMnKSkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRBcHBPYmplY3Q6IEFwcE9iamVjdCA9IGdldEFwcE9iamVjdChcclxuICAgICAgZmllbGRzLkxvb2tVcERldGFpbHMuTG9va3VwT2JqZWN0XHJcbiAgICApO1xyXG4gICAgY29uc3QgZHNxSUQgPSBnZXREc3FJZGZyb21TZWxlY3RlZEFwcE9iamVjdERTUUFycmF5KFxyXG4gICAgICBzZWxlY3RlZEFwcE9iamVjdD8uRGF0YVNvdXJjZVF1ZXJpZXMsXHJcbiAgICAgIGZpZWxkcy5Mb29rVXBEZXRhaWxzLkxvb2t1cE9iamVjdCxcclxuICAgICAgJ0xpc3QnXHJcbiAgICApO1xyXG4gICAgc2NoZW1hID0ge1xyXG4gICAgICBsYWJlbDogZmllbGRzLkRpc3BsYXlOYW1lLFxyXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcclxuICAgICAga2V5OiBmaWVsZHMuU3lzdGVtREJGaWVsZE5hbWUsXHJcbiAgICAgIGlucHV0OiB0cnVlLFxyXG4gICAgICBkYXRhU3JjOiAndXJsJyxcclxuICAgICAgdmFsdWVQcm9wZXJ0eTogZmllbGRzLkxvb2tVcERldGFpbHMuTG9va3VwRmllbGQsXHJcbiAgICAgIHRlbXBsYXRlOiBgPHNwYW4+e3sgaXRlbS4ke2ZpZWxkcy5Mb29rVXBEZXRhaWxzLkRpc3BsYXlGaWVsZH0gfX08L3NwYW4+YCxcclxuICAgICAgc2VsZWN0VmFsdWVzOiAnUmVzdWx0JyxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHVybDogYCR7QVBJX1VSTH0ke0FQSS5nZXRMaXN0RnJvbURzcX0ke2RzcUlEfWAsLy8gQVBJLmdldExpc3RGcm9tRHNxICsgZHNxSUQsXHJcbiAgICAgICAgaGVhZGVyczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcImtleVwiOiBcIkFwcGxpY2F0aW9uY29kZVwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLmFwcGxpY2F0aW9uQ29kZSlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwia2V5XCI6IFwiQXV0aG9yaXphdGlvblwiLFxyXG4gICAgICAgICAgICBcInZhbHVlXCI6IHNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRTZXNzaW9uU3RvcmFnZShTdG9yYWdlQ29uc3RhbnRzLnRva2VuKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgIFxyXG4gICAgfTtcclxuICB9IGVsc2Uge1xyXG4gICAgc2NoZW1hID0ge1xyXG4gICAgICBsYWJlbDogZmllbGRzLkRpc3BsYXlOYW1lLFxyXG4gICAgICB0eXBlOiBnZXRGb3JtQnVpbGRlclR5cGUoZmllbGRzLkZpZWxkVHlwZS5EYXRhVHlwZSksXHJcbiAgICAgIGtleTogZmllbGRzLlN5c3RlbURCRmllbGROYW1lLFxyXG4gICAgICBpbnB1dDogdHJ1ZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIHJldHVybiBzY2hlbWE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZXQgdGhlIEh0dHBIZWFkZXJzIGZvciBmb3JtIGRhdGEgcmVxdWVzdHNcclxuICpcclxuICogQHJldHVybnMgSHR0cEhlYWRlcnMgfCBudWxsIC0gVGhlIEh0dHBIZWFkZXJzIG9iamVjdCBvciBudWxsXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybURhdGFIZWFkZXJzKCkge1xyXG4gIGNvbnN0IGlzVG9rZW4gPSBzZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoXHJcbiAgICBTdG9yYWdlQ29uc3RhbnRzLnRva2VuXHJcbiAgKTtcclxuICBpZiAoaXNUb2tlbikge1xyXG4gICAgcmV0dXJuIG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgIEFjY2VwdDogJyovKicsXHJcbiAgICAgIEF1dGhvcml6YXRpb246IGlzVG9rZW4sXHJcbiAgICAgIEFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZXR1cm4gbnVsbDtcclxufVxyXG4iXX0=