@things-factory/meta-ui 9.1.19 → 10.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist-client/component/grist/editor/grist-editor-code-input.d.ts +5 -3
  2. package/dist-client/component/grist/editor/grist-editor-code-input.js +1 -0
  3. package/dist-client/component/grist/editor/grist-editor-code-input.js.map +1 -1
  4. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.d.ts +5 -3
  5. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.js +1 -0
  6. package/dist-client/component/grist/editor/grist-editor-meta-code-selector.js.map +1 -1
  7. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.d.ts +6 -3
  8. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.js +22 -17
  9. package/dist-client/component/grist/editor/grist-editor-meta-object-selector.js.map +1 -1
  10. package/dist-client/component/grist/renderer/grist-renderer-code-input.d.ts +1 -1
  11. package/dist-client/component/grist/renderer/grist-renderer-code-input.js +1 -0
  12. package/dist-client/component/grist/renderer/grist-renderer-code-input.js.map +1 -1
  13. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.d.ts +1 -1
  14. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.js +1 -0
  15. package/dist-client/component/grist/renderer/grist-renderer-meta-code-selector.js.map +1 -1
  16. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.d.ts +1 -1
  17. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.js +1 -0
  18. package/dist-client/component/grist/renderer/grist-renderer-meta-object-selector.js.map +1 -1
  19. package/dist-client/component/popup/code-input-editor-popup.d.ts +4 -3
  20. package/dist-client/component/popup/code-input-editor-popup.js +1 -0
  21. package/dist-client/component/popup/code-input-editor-popup.js.map +1 -1
  22. package/dist-client/component/popup/file-upload-popup.d.ts +1 -1
  23. package/dist-client/component/popup/file-upload-popup.js +1 -0
  24. package/dist-client/component/popup/file-upload-popup.js.map +1 -1
  25. package/dist-client/component/popup/meta-object-selector-popup.js +1 -0
  26. package/dist-client/component/popup/meta-object-selector-popup.js.map +1 -1
  27. package/dist-client/dynamic-menus.js +1 -0
  28. package/dist-client/dynamic-menus.js.map +1 -1
  29. package/dist-client/mixin/meta-base-mixin.d.ts +70 -11
  30. package/dist-client/mixin/meta-base-mixin.js +1 -0
  31. package/dist-client/mixin/meta-base-mixin.js.map +1 -1
  32. package/dist-client/mixin/meta-basic-grist-mixin.d.ts +124 -42
  33. package/dist-client/mixin/meta-basic-grist-mixin.js +1 -0
  34. package/dist-client/mixin/meta-basic-grist-mixin.js.map +1 -1
  35. package/dist-client/mixin/meta-button-mixin.d.ts +31 -28
  36. package/dist-client/mixin/meta-button-mixin.js +1 -0
  37. package/dist-client/mixin/meta-button-mixin.js.map +1 -1
  38. package/dist-client/mixin/meta-form-mixin.d.ts +71 -41
  39. package/dist-client/mixin/meta-form-mixin.js +1 -0
  40. package/dist-client/mixin/meta-form-mixin.js.map +1 -1
  41. package/dist-client/mixin/meta-grist-tab-mixin.d.ts +125 -44
  42. package/dist-client/mixin/meta-grist-tab-mixin.js +1 -0
  43. package/dist-client/mixin/meta-grist-tab-mixin.js.map +1 -1
  44. package/dist-client/mixin/meta-main-tab-mixin.d.ts +120 -42
  45. package/dist-client/mixin/meta-main-tab-mixin.js +1 -0
  46. package/dist-client/mixin/meta-main-tab-mixin.js.map +1 -1
  47. package/dist-client/mixin/meta-master-detail-mixin.d.ts +135 -46
  48. package/dist-client/mixin/meta-master-detail-mixin.js +1 -0
  49. package/dist-client/mixin/meta-master-detail-mixin.js.map +1 -1
  50. package/dist-client/mixin/meta-service-mixin.d.ts +29 -17
  51. package/dist-client/mixin/meta-service-mixin.js +1 -0
  52. package/dist-client/mixin/meta-service-mixin.js.map +1 -1
  53. package/dist-client/mixin/meta-tab-detail-mixin.d.ts +126 -42
  54. package/dist-client/mixin/meta-tab-detail-mixin.js +1 -0
  55. package/dist-client/mixin/meta-tab-detail-mixin.js.map +1 -1
  56. package/dist-client/mixin/meta-tab-mixin.d.ts +59 -32
  57. package/dist-client/mixin/meta-tab-mixin.js +1 -0
  58. package/dist-client/mixin/meta-tab-mixin.js.map +1 -1
  59. package/dist-client/pages/activity/meta-activity-define-page.d.ts +3 -1
  60. package/dist-client/pages/activity/meta-activity-define-page.js +2 -1
  61. package/dist-client/pages/activity/meta-activity-define-page.js.map +1 -1
  62. package/dist-client/pages/activity/meta-activity-list-page.d.ts +1 -1
  63. package/dist-client/pages/activity/meta-activity-list-page.js +1 -0
  64. package/dist-client/pages/activity/meta-activity-list-page.js.map +1 -1
  65. package/dist-client/pages/activity/meta-activity-viewer-element.d.ts +1 -4
  66. package/dist-client/pages/activity/meta-activity-viewer-element.js +1 -5
  67. package/dist-client/pages/activity/meta-activity-viewer-element.js.map +1 -1
  68. package/dist-client/pages/activity/meta-activity-writer-element.d.ts +2 -4
  69. package/dist-client/pages/activity/meta-activity-writer-element.js +1 -0
  70. package/dist-client/pages/activity/meta-activity-writer-element.js.map +1 -1
  71. package/dist-client/pages/activity/meta-activiy-mixin.d.ts +1 -3
  72. package/dist-client/pages/activity/meta-activiy-mixin.js +1 -0
  73. package/dist-client/pages/activity/meta-activiy-mixin.js.map +1 -1
  74. package/dist-client/pages/button-role/button-role-detail.d.ts +54 -39
  75. package/dist-client/pages/button-role/button-role-detail.js +1 -1
  76. package/dist-client/pages/button-role/button-role-detail.js.map +1 -1
  77. package/dist-client/pages/button-role/button-role-page.d.ts +63 -47
  78. package/dist-client/pages/button-role/button-role-page.js +1 -0
  79. package/dist-client/pages/button-role/button-role-page.js.map +1 -1
  80. package/dist-client/pages/doc-number/doc-number-page.d.ts +3 -1
  81. package/dist-client/pages/doc-number/doc-number-page.js +1 -0
  82. package/dist-client/pages/doc-number/doc-number-page.js.map +1 -1
  83. package/dist-client/pages/doc-number/next-doc-number-popup.d.ts +4 -1
  84. package/dist-client/pages/doc-number/next-doc-number-popup.js +1 -0
  85. package/dist-client/pages/doc-number/next-doc-number-popup.js.map +1 -1
  86. package/dist-client/pages/entity/config-entity.d.ts +4 -1
  87. package/dist-client/pages/entity/config-entity.js +1 -0
  88. package/dist-client/pages/entity/config-entity.js.map +1 -1
  89. package/dist-client/pages/entity/main-menu-selector.d.ts +33 -15
  90. package/dist-client/pages/entity/main-menu-selector.js +1 -0
  91. package/dist-client/pages/entity/main-menu-selector.js.map +1 -1
  92. package/dist-client/pages/history/history-copy-list-popup.d.ts +13 -8
  93. package/dist-client/pages/history/history-copy-list-popup.js +1 -0
  94. package/dist-client/pages/history/history-copy-list-popup.js.map +1 -1
  95. package/dist-client/pages/history/history-json-list-popup.d.ts +13 -8
  96. package/dist-client/pages/history/history-json-list-popup.js +1 -2
  97. package/dist-client/pages/history/history-json-list-popup.js.map +1 -1
  98. package/dist-client/pages/menu/dynamic-menu-template.d.ts +1 -1
  99. package/dist-client/pages/menu/dynamic-menu-template.js +1 -0
  100. package/dist-client/pages/menu/dynamic-menu-template.js.map +1 -1
  101. package/dist-client/pages/menu/dynamic-menu.d.ts +9 -3
  102. package/dist-client/pages/menu/dynamic-menu.js +1 -0
  103. package/dist-client/pages/menu/dynamic-menu.js.map +1 -1
  104. package/dist-client/pages/menu/export-menu-popup.d.ts +11 -12
  105. package/dist-client/pages/menu/export-menu-popup.js +1 -0
  106. package/dist-client/pages/menu/export-menu-popup.js.map +1 -1
  107. package/dist-client/pages/meta-form-element.d.ts +45 -41
  108. package/dist-client/pages/meta-form-element.js +1 -0
  109. package/dist-client/pages/meta-form-element.js.map +1 -1
  110. package/dist-client/pages/meta-grist-element.d.ts +52 -38
  111. package/dist-client/pages/meta-grist-element.js +1 -0
  112. package/dist-client/pages/meta-grist-element.js.map +1 -1
  113. package/dist-client/pages/meta-grist-page.d.ts +55 -38
  114. package/dist-client/pages/meta-grist-page.js +1 -0
  115. package/dist-client/pages/meta-grist-page.js.map +1 -1
  116. package/dist-client/pages/meta-grist-tab-element.d.ts +57 -44
  117. package/dist-client/pages/meta-grist-tab-element.js +1 -0
  118. package/dist-client/pages/meta-grist-tab-element.js.map +1 -1
  119. package/dist-client/pages/meta-grist-tab-page.d.ts +57 -44
  120. package/dist-client/pages/meta-grist-tab-page.js +1 -0
  121. package/dist-client/pages/meta-grist-tab-page.js.map +1 -1
  122. package/dist-client/pages/meta-main-tab-element.d.ts +49 -42
  123. package/dist-client/pages/meta-main-tab-element.js +1 -0
  124. package/dist-client/pages/meta-main-tab-element.js.map +1 -1
  125. package/dist-client/pages/meta-main-tab-page.d.ts +52 -42
  126. package/dist-client/pages/meta-main-tab-page.js +1 -0
  127. package/dist-client/pages/meta-main-tab-page.js.map +1 -1
  128. package/dist-client/pages/meta-master-detail-element.d.ts +59 -46
  129. package/dist-client/pages/meta-master-detail-element.js +1 -0
  130. package/dist-client/pages/meta-master-detail-element.js.map +1 -1
  131. package/dist-client/pages/meta-master-detail-page.d.ts +62 -46
  132. package/dist-client/pages/meta-master-detail-page.js +1 -0
  133. package/dist-client/pages/meta-master-detail-page.js.map +1 -1
  134. package/dist-client/pages/meta-tab-detail-element.d.ts +50 -42
  135. package/dist-client/pages/meta-tab-detail-element.js +1 -0
  136. package/dist-client/pages/meta-tab-detail-element.js.map +1 -1
  137. package/dist-client/pages/meta-tab-detail-page.d.ts +53 -42
  138. package/dist-client/pages/meta-tab-detail-page.js +1 -0
  139. package/dist-client/pages/meta-tab-detail-page.js.map +1 -1
  140. package/dist-client/pages/meta-tab-element.d.ts +40 -32
  141. package/dist-client/pages/meta-tab-element.js +1 -0
  142. package/dist-client/pages/meta-tab-element.js.map +1 -1
  143. package/dist-client/pages/printer-device/printer-device-page.d.ts +3 -1
  144. package/dist-client/pages/printer-device/printer-device-page.js +1 -0
  145. package/dist-client/pages/printer-device/printer-device-page.js.map +1 -1
  146. package/dist-client/pages/template/doc-template-page.d.ts +3 -1
  147. package/dist-client/pages/template/doc-template-page.js +1 -0
  148. package/dist-client/pages/template/doc-template-page.js.map +1 -1
  149. package/dist-client/pages/template/template-file-page.d.ts +3 -1
  150. package/dist-client/pages/template/template-file-page.js +1 -0
  151. package/dist-client/pages/template/template-file-page.js.map +1 -1
  152. package/dist-client/pages/terms/config-terminology.d.ts +1 -1
  153. package/dist-client/pages/terms/config-terminology.js +1 -0
  154. package/dist-client/pages/terms/config-terminology.js.map +1 -1
  155. package/dist-client/pages/work-code/work-code-detail-popup.d.ts +52 -39
  156. package/dist-client/pages/work-code/work-code-detail-popup.js +1 -0
  157. package/dist-client/pages/work-code/work-code-detail-popup.js.map +1 -1
  158. package/dist-client/pages/work-code/work-code-page.d.ts +4 -1
  159. package/dist-client/pages/work-code/work-code-page.js +1 -0
  160. package/dist-client/pages/work-code/work-code-page.js.map +1 -1
  161. package/dist-client/tsconfig.tsbuildinfo +1 -1
  162. package/dist-client/utils/grist-default-value.d.ts +8 -2
  163. package/dist-client/utils/grist-default-value.js +1 -0
  164. package/dist-client/utils/grist-default-value.js.map +1 -1
  165. package/dist-client/utils/meta-api.d.ts +270 -82
  166. package/dist-client/utils/meta-api.js +1 -0
  167. package/dist-client/utils/meta-api.js.map +1 -1
  168. package/dist-client/utils/meta-crypto.d.ts +1 -1
  169. package/dist-client/utils/meta-crypto.js +1 -0
  170. package/dist-client/utils/meta-crypto.js.map +1 -1
  171. package/dist-client/utils/meta-ui-util.d.ts +262 -64
  172. package/dist-client/utils/meta-ui-util.js +1 -0
  173. package/dist-client/utils/meta-ui-util.js.map +1 -1
  174. package/dist-client/utils/rest-service-util.d.ts +11 -11
  175. package/dist-client/utils/rest-service-util.js +1 -0
  176. package/dist-client/utils/rest-service-util.js.map +1 -1
  177. package/dist-client/utils/service-util.d.ts +107 -32
  178. package/dist-client/utils/service-util.js +1 -0
  179. package/dist-client/utils/service-util.js.map +1 -1
  180. package/dist-client/utils/ui-util.d.ts +17 -17
  181. package/dist-client/utils/ui-util.js +1 -0
  182. package/dist-client/utils/ui-util.js.map +1 -1
  183. package/dist-client/utils/value-util.d.ts +6 -6
  184. package/dist-client/utils/value-util.js +1 -0
  185. package/dist-client/utils/value-util.js.map +1 -1
  186. package/dist-server/tsconfig.tsbuildinfo +1 -1
  187. package/package.json +24 -24
@@ -4,7 +4,7 @@
4
4
  * @author Shortstop <shortstop@hatiolab.com>
5
5
  * @description 데이터 핸들링 관련 유틸리티 함수 정의
6
6
  */
7
- export class ValueUtil {
7
+ export declare class ValueUtil {
8
8
  /**
9
9
  * @description object, string, number, array 빈 값 여부 검사
10
10
  **********************************************************
@@ -41,7 +41,7 @@ export class ValueUtil {
41
41
  * @param {String} value
42
42
  * @returns
43
43
  */
44
- static toBoolean(value: string): boolean;
44
+ static toBoolean(value: any): boolean;
45
45
  /**
46
46
  * @description config, data의 key 값을 비교해 결과를 리턴한다.
47
47
  * 값에 * 는 체크하지 않는다.
@@ -61,7 +61,7 @@ export class ValueUtil {
61
61
  * @param {Boolean} isTransMsg
62
62
  * @returns
63
63
  */
64
- static setParams(retObj: any, dataObj: any, key: string, isTransMsg: boolean): any;
64
+ static setParams(retObj: any, dataObj: any, key: any, isTransMsg: any): any;
65
65
  /**
66
66
  * @description data에서 key(Array)를 찾아 리턴
67
67
  ********************************************
@@ -69,7 +69,7 @@ export class ValueUtil {
69
69
  * @param {...String} keys
70
70
  * @returns
71
71
  */
72
- static getParams(data: any, ...keys: string[]): any;
72
+ static getParams(data: any, ...keys: any[]): any;
73
73
  /**
74
74
  * @description sourceList에 존재하는 오브젝트의 keys 필드들을 targetList로 복사
75
75
  ***********************************************************************
@@ -78,7 +78,7 @@ export class ValueUtil {
78
78
  * @param {...String} keys
79
79
  * @returns {Array} 복사한 객체 리스트
80
80
  */
81
- static populateArray(sourceList: any[], targetList: any[], ...keys: string[]): any[];
81
+ static populateArray(sourceList: any, targetList: any, ...keys: any[]): any;
82
82
  /**
83
83
  * @description source에 존재하는 keys 필드들을 target으로 복사
84
84
  ********************************************************
@@ -87,7 +87,7 @@ export class ValueUtil {
87
87
  * @param {...String} keys
88
88
  * @returns {Object} 복사한 객체
89
89
  */
90
- static populateObject(source: any, target: any, ...keys: string[]): any;
90
+ static populateObject(source: any, target: any, ...keys: any[]): any;
91
91
  /**
92
92
  * @description source에 존재하는 keys 필드들을 target으로 복사
93
93
  ********************************************************
@@ -1,3 +1,4 @@
1
+ // @ts-nocheck
1
2
  import isEqual from 'lodash-es/isEqual';
2
3
  import { TermsUtil } from './terms-util';
3
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"value-util.js","sourceRoot":"","sources":["../../client/utils/value-util.js"],"names":[],"mappings":"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","sourcesContent":["import isEqual from 'lodash-es/isEqual'\n\nimport { TermsUtil } from './terms-util'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Shortstop <shortstop@hatiolab.com>\n * @description 데이터 핸들링 관련 유틸리티 함수 정의\n */\nexport class ValueUtil {\n /**\n * @description object, string, number, array 빈 값 여부 검사\n **********************************************************\n * @param {Object} value\n * @returns {Boolean}\n */\n static isEmpty(value) {\n if (value === undefined) {\n return true\n } else if (value === null) {\n return true\n } else if (typeof value === 'boolean') {\n return false\n } else if (typeof value === 'string' || typeof value === 'number') {\n if (value == '') return true\n } else if (Array.isArray(value)) {\n if (value.length == 0) return true\n } else if (typeof value === 'object') {\n if (Object.keys(value).length == 0) return true\n }\n\n return false\n }\n\n /**\n * @description object, string, number, array 빈 값이 아닌지 여부 검사\n *****************************************************************\n * @param {Object} value\n * @returns {Boolean}\n */\n static isNotEmpty(value) {\n return !ValueUtil.isEmpty(value)\n }\n\n /**\n * @description 두 객체가 동일한지 비교\n **********************************\n * @param {*} data1\n * @param {*} data2\n * @returns\n */\n static isEquals(data1, data2) {\n return isEqual(data1, data2)\n }\n\n /**\n * @description 값을 정수로 변환\n **********************************\n * @param {*} value\n * @param {*} defaultValue\n * @returns\n */\n static toInteger(value, defaultValue) {\n return ValueUtil.isEmpty(value) ? (defaultValue ? defaultValue : 0) : parseInt(value)\n }\n\n /**\n * @description 값을 Boolean으로 변환\n **********************************\n * @param {String} value\n * @returns\n */\n static toBoolean(value) {\n return ValueUtil.isEmpty(value) ? false : value == 'true' || value == 't' || value == 'TRUE' || value == 'T' || value == 'on' || value == 'ON'\n }\n\n /**\n * @description config, data의 key 값을 비교해 결과를 리턴한다.\n * 값에 * 는 체크하지 않는다.\n ****************************************\n * @param {Object} config\n * @param {Object} data\n * @param {String || Array} keys\n * @returns\n */\n static compareObjectValues(config, data, keys) {\n let isEquals = true\n\n keys.forEach(key => {\n let compareValue = config[key]\n\n if (compareValue === '*') {\n return\n }\n\n let recordValue = data[key] || ''\n\n if (ValueUtil.isEmpty(compareValue)) {\n if (ValueUtil.isNotEmpty(recordValue)) {\n isEquals = false\n }\n } else {\n if (compareValue != recordValue) {\n isEquals = false\n }\n }\n\n if (!isEquals) {\n return\n }\n })\n\n return isEquals\n }\n\n /**\n * @description dataObject 에서 key 값을 찾아 isTransMsg 옵션을 적용해 retObjct에 반영한다.\n **********************************************************************************\n * @param {Object} retObj\n * @param {Object} dataObj\n * @param {String} key\n * @param {Boolean} isTransMsg\n * @returns\n */\n static setParams(retObj, dataObj, key, isTransMsg) {\n let value = ValueUtil.getParams(dataObj, key)\n\n if (ValueUtil.isNotEmpty(value)) {\n retObj[key] = isTransMsg === true ? TermsUtil.t(value) : value\n }\n\n return retObj\n }\n\n /**\n * @description data에서 key(Array)를 찾아 리턴\n ********************************************\n * @param {Object} data\n * @param {...String} keys\n * @returns\n */\n static getParams(data, ...keys) {\n // probably same as followings\n // return lodash.get(data, keys.join('.'))\n\n // keys 파라미터가 없으면 return\n if (arguments.length <= 1) {\n return undefined\n }\n\n let key = keys[0]\n // data 에 key가 없으면 return\n if (ValueUtil.isEmpty(data[key])) {\n return undefined\n }\n\n let paramData = data[key]\n if (keys.length > 1) {\n // 현재 이후에 키가 더 있으면 재귀 호출\n return ValueUtil.getParams(paramData, ...keys.slice(1))\n } else {\n return paramData\n }\n }\n\n /**\n * @description sourceList에 존재하는 오브젝트의 keys 필드들을 targetList로 복사\n ***********************************************************************\n * @param {Array} sourceList\n * @param {Array} targetList\n * @param {...String} keys\n * @returns {Array} 복사한 객체 리스트\n */\n static populateArray(sourceList, targetList, ...keys) {\n targetList = targetList || []\n keys = keys || Object.keys(sourceList)\n\n if (ValueUtil.isNotEmpty(keys)) {\n targetList = sourceList.map((source, index) => {\n let target = targetList.length > index ? targetList[index] : {}\n return ValueUtil.populateObject(source, target, keys)\n })\n }\n\n return targetList\n }\n\n /**\n * @description source에 존재하는 keys 필드들을 target으로 복사\n ********************************************************\n * @param {Object} source\n * @param {Object} target\n * @param {...String} keys\n * @returns {Object} 복사한 객체\n */\n static populateObject(source, target, ...keys) {\n target = target || {}\n keys = keys || Object.keys(source)\n\n if (ValueUtil.isNotEmpty(keys)) {\n keys.forEach(key => {\n target[key] = source[key]\n })\n }\n\n return target\n }\n\n /**\n * @description source에 존재하는 keys 필드들을 target으로 복사\n ********************************************************\n * @param {Object} sourceObj\n * @param {Object} targetObj\n * @returns {Object} 복사한 객체\n */\n static replaceVariableObject(sourceObj, targetObj) {\n let objKeys = Object.keys(sourceObj)\n let targetKeys = Object.keys(targetObj)\n\n objKeys.forEach(key => {\n let value = sourceObj[key]\n\n if (typeof value == 'string' && value.startsWith('$')) {\n let valueFieldName = value.replace('$', '')\n if (targetKeys.includes(valueFieldName)) {\n sourceObj[key] = targetObj[valueFieldName]\n }\n }\n })\n\n return sourceObj\n }\n}\n"]}
1
+ {"version":3,"file":"value-util.js","sourceRoot":"","sources":["../../client/utils/value-util.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,OAAO,OAAO,MAAM,mBAAmB,CAAA;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;;;GAKG;AACH,MAAM,OAAO,SAAS;IACpB;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK;QAClB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClE,IAAI,KAAK,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAA;QAC9B,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;QACpC,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAA;QACjD,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK;QACrB,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;QAC1B,OAAO,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY;QAClC,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvF,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK;QACpB,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,CAAA;IAChJ,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI;QAC3C,IAAI,QAAQ,GAAG,IAAI,CAAA;QAEnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACjB,IAAI,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAE9B,IAAI,YAAY,KAAK,GAAG,EAAE,CAAC;gBACzB,OAAM;YACR,CAAC;YAED,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAEjC,IAAI,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBACtC,QAAQ,GAAG,KAAK,CAAA;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;oBAChC,QAAQ,GAAG,KAAK,CAAA;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAM;YACR,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU;QAC/C,IAAI,KAAK,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAE7C,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAChE,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI;QAC5B,8BAA8B;QAC9B,0CAA0C;QAE1C,wBAAwB;QACxB,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,yBAAyB;QACzB,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACjC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,wBAAwB;YACxB,OAAO,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI;QAClD,UAAU,GAAG,UAAU,IAAI,EAAE,CAAA;QAC7B,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAEtC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC5C,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC/D,OAAO,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YACvD,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;QAC3C,MAAM,GAAG,MAAM,IAAI,EAAE,CAAA;QACrB,IAAI,GAAG,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAElC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACjB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS;QAC/C,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACpC,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAEvC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;YAE1B,IAAI,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,IAAI,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;gBAC3C,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACxC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,cAAc,CAAC,CAAA;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,SAAS,CAAA;IAClB,CAAC;CACF","sourcesContent":["// @ts-nocheck\nimport isEqual from 'lodash-es/isEqual'\n\nimport { TermsUtil } from './terms-util'\n\n/**\n * @license\n * Copyright © HatioLab Inc. All rights reserved.\n * @author Shortstop <shortstop@hatiolab.com>\n * @description 데이터 핸들링 관련 유틸리티 함수 정의\n */\nexport class ValueUtil {\n /**\n * @description object, string, number, array 빈 값 여부 검사\n **********************************************************\n * @param {Object} value\n * @returns {Boolean}\n */\n static isEmpty(value) {\n if (value === undefined) {\n return true\n } else if (value === null) {\n return true\n } else if (typeof value === 'boolean') {\n return false\n } else if (typeof value === 'string' || typeof value === 'number') {\n if (value == '') return true\n } else if (Array.isArray(value)) {\n if (value.length == 0) return true\n } else if (typeof value === 'object') {\n if (Object.keys(value).length == 0) return true\n }\n\n return false\n }\n\n /**\n * @description object, string, number, array 빈 값이 아닌지 여부 검사\n *****************************************************************\n * @param {Object} value\n * @returns {Boolean}\n */\n static isNotEmpty(value) {\n return !ValueUtil.isEmpty(value)\n }\n\n /**\n * @description 두 객체가 동일한지 비교\n **********************************\n * @param {*} data1\n * @param {*} data2\n * @returns\n */\n static isEquals(data1, data2) {\n return isEqual(data1, data2)\n }\n\n /**\n * @description 값을 정수로 변환\n **********************************\n * @param {*} value\n * @param {*} defaultValue\n * @returns\n */\n static toInteger(value, defaultValue) {\n return ValueUtil.isEmpty(value) ? (defaultValue ? defaultValue : 0) : parseInt(value)\n }\n\n /**\n * @description 값을 Boolean으로 변환\n **********************************\n * @param {String} value\n * @returns\n */\n static toBoolean(value) {\n return ValueUtil.isEmpty(value) ? false : value == 'true' || value == 't' || value == 'TRUE' || value == 'T' || value == 'on' || value == 'ON'\n }\n\n /**\n * @description config, data의 key 값을 비교해 결과를 리턴한다.\n * 값에 * 는 체크하지 않는다.\n ****************************************\n * @param {Object} config\n * @param {Object} data\n * @param {String || Array} keys\n * @returns\n */\n static compareObjectValues(config, data, keys) {\n let isEquals = true\n\n keys.forEach(key => {\n let compareValue = config[key]\n\n if (compareValue === '*') {\n return\n }\n\n let recordValue = data[key] || ''\n\n if (ValueUtil.isEmpty(compareValue)) {\n if (ValueUtil.isNotEmpty(recordValue)) {\n isEquals = false\n }\n } else {\n if (compareValue != recordValue) {\n isEquals = false\n }\n }\n\n if (!isEquals) {\n return\n }\n })\n\n return isEquals\n }\n\n /**\n * @description dataObject 에서 key 값을 찾아 isTransMsg 옵션을 적용해 retObjct에 반영한다.\n **********************************************************************************\n * @param {Object} retObj\n * @param {Object} dataObj\n * @param {String} key\n * @param {Boolean} isTransMsg\n * @returns\n */\n static setParams(retObj, dataObj, key, isTransMsg) {\n let value = ValueUtil.getParams(dataObj, key)\n\n if (ValueUtil.isNotEmpty(value)) {\n retObj[key] = isTransMsg === true ? TermsUtil.t(value) : value\n }\n\n return retObj\n }\n\n /**\n * @description data에서 key(Array)를 찾아 리턴\n ********************************************\n * @param {Object} data\n * @param {...String} keys\n * @returns\n */\n static getParams(data, ...keys) {\n // probably same as followings\n // return lodash.get(data, keys.join('.'))\n\n // keys 파라미터가 없으면 return\n if (arguments.length <= 1) {\n return undefined\n }\n\n let key = keys[0]\n // data 에 key가 없으면 return\n if (ValueUtil.isEmpty(data[key])) {\n return undefined\n }\n\n let paramData = data[key]\n if (keys.length > 1) {\n // 현재 이후에 키가 더 있으면 재귀 호출\n return ValueUtil.getParams(paramData, ...keys.slice(1))\n } else {\n return paramData\n }\n }\n\n /**\n * @description sourceList에 존재하는 오브젝트의 keys 필드들을 targetList로 복사\n ***********************************************************************\n * @param {Array} sourceList\n * @param {Array} targetList\n * @param {...String} keys\n * @returns {Array} 복사한 객체 리스트\n */\n static populateArray(sourceList, targetList, ...keys) {\n targetList = targetList || []\n keys = keys || Object.keys(sourceList)\n\n if (ValueUtil.isNotEmpty(keys)) {\n targetList = sourceList.map((source, index) => {\n let target = targetList.length > index ? targetList[index] : {}\n return ValueUtil.populateObject(source, target, keys)\n })\n }\n\n return targetList\n }\n\n /**\n * @description source에 존재하는 keys 필드들을 target으로 복사\n ********************************************************\n * @param {Object} source\n * @param {Object} target\n * @param {...String} keys\n * @returns {Object} 복사한 객체\n */\n static populateObject(source, target, ...keys) {\n target = target || {}\n keys = keys || Object.keys(source)\n\n if (ValueUtil.isNotEmpty(keys)) {\n keys.forEach(key => {\n target[key] = source[key]\n })\n }\n\n return target\n }\n\n /**\n * @description source에 존재하는 keys 필드들을 target으로 복사\n ********************************************************\n * @param {Object} sourceObj\n * @param {Object} targetObj\n * @returns {Object} 복사한 객체\n */\n static replaceVariableObject(sourceObj, targetObj) {\n let objKeys = Object.keys(sourceObj)\n let targetKeys = Object.keys(targetObj)\n\n objKeys.forEach(key => {\n let value = sourceObj[key]\n\n if (typeof value == 'string' && value.startsWith('$')) {\n let valueFieldName = value.replace('$', '')\n if (targetKeys.includes(valueFieldName)) {\n sourceObj[key] = targetObj[valueFieldName]\n }\n }\n })\n\n return sourceObj\n }\n}\n"]}