cnhis-design-vue 3.1.14-beta.8 → 3.1.15-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/README.md +23 -23
  2. package/es/_virtual/plugin-vue_export-helper.js +9 -0
  3. package/es/node_modules/@formily/path/esm/contexts.js +22 -0
  4. package/es/node_modules/@formily/path/esm/destructor.js +124 -0
  5. package/es/node_modules/@formily/path/esm/index.js +579 -0
  6. package/es/node_modules/@formily/path/esm/matcher.js +199 -0
  7. package/es/node_modules/@formily/path/esm/parser.js +402 -0
  8. package/es/node_modules/@formily/path/esm/shared.js +73 -0
  9. package/es/node_modules/@formily/path/esm/tokenizer.js +287 -0
  10. package/es/node_modules/@formily/path/esm/tokens.js +240 -0
  11. package/es/node_modules/@formily/path/esm/types.js +17 -0
  12. package/es/packages/big-table/index.d.ts +14 -0
  13. package/es/packages/big-table/index.js +1 -2
  14. package/es/packages/big-table/src/BigTable.js +5 -3
  15. package/es/packages/big-table/src/BigTable.vue.d.ts +36 -13
  16. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +44 -31
  17. package/es/packages/big-table/src/bigTableProps.d.ts +4 -0
  18. package/es/packages/big-table/src/bigTableProps.js +1 -0
  19. package/es/packages/big-table/src/components/NoData.js +73 -3
  20. package/es/packages/big-table/src/components/edit-form/edit-date.js +11 -3
  21. package/es/packages/big-table/src/components/edit-form/edit-input.js +15 -4
  22. package/es/packages/big-table/src/components/edit-form/edit-separate.js +89 -3
  23. package/es/packages/big-table/src/components/edit-form/edit-separate.vue.d.ts +9 -14
  24. package/es/packages/big-table/src/components/edit-form/edit-time.d.ts +43 -0
  25. package/es/packages/big-table/src/components/edit-form/edit-time.js +52 -0
  26. package/es/packages/big-table/src/components/input-button.js +34 -3
  27. package/es/packages/big-table/src/components/separate.js +29 -3
  28. package/es/packages/big-table/src/components/separate.vue.d.ts +3 -4
  29. package/es/packages/big-table/src/hooks/useColumnConfigAdaptor.js +51 -12
  30. package/es/packages/big-table/src/hooks/useEdit.d.ts +51 -13
  31. package/es/packages/big-table/src/hooks/useEdit.js +4 -3
  32. package/es/packages/big-table/src/hooks/useFormat.js +8 -1
  33. package/es/packages/big-table/src/hooks/useSeparateRow.js +4 -4
  34. package/es/packages/big-table/src/utils.js +2 -1
  35. package/es/packages/big-table/style/index.css +156 -2
  36. package/es/packages/bpmn-workflow/index.js +1 -2
  37. package/es/packages/bpmn-workflow/src/BpmnWorkflow.js +253 -3
  38. package/es/packages/button-print/index.js +1 -2
  39. package/es/packages/button-print/src/ButtonPrint.js +5 -3
  40. package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.js +6 -7
  41. package/es/packages/button-print/src/components/IdentityVerification.js +129 -3
  42. package/es/packages/button-print/src/utils/print.d.ts +1 -1
  43. package/es/packages/button-print/src/utils/print.js +4 -4
  44. package/es/packages/chunk-upload/index.js +1 -1
  45. package/es/packages/chunk-upload/src/chunk-upload-new.js +474 -3
  46. package/es/packages/chunk-upload/src/vod-chunk-upload/index.js +2 -3
  47. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.js +328 -3
  48. package/es/packages/chunk-upload/src/vod-upload-modal.js +3 -4
  49. package/es/packages/drag-layout/index.js +1 -2
  50. package/es/packages/drag-layout/src/DragFormLeftItem.js +123 -3
  51. package/es/packages/drag-layout/src/DragFormRightItem.js +268 -3
  52. package/es/packages/drag-layout/src/DragLayout.js +658 -3
  53. package/es/packages/fabric-chart/index.d.ts +2 -0
  54. package/es/packages/fabric-chart/index.js +1 -2
  55. package/es/packages/fabric-chart/src/FabricChart.js +315 -3
  56. package/es/packages/fabric-chart/src/FabricChart.vue.d.ts +2 -0
  57. package/es/packages/fabric-chart/src/components/PopupTip.js +33 -3
  58. package/es/packages/fabric-chart/src/hooks/useCenter.js +41 -25
  59. package/es/packages/fabric-chart/src/hooks/useDraw.js +1 -0
  60. package/es/packages/fabric-chart/src/hooks/useEvent.js +9 -7
  61. package/es/packages/fabric-chart/src/hooks/useLeft.js +28 -17
  62. package/es/packages/fabric-chart/src/hooks/useRight.js +2 -13
  63. package/es/packages/fabric-chart/src/hooks/useTop.js +9 -10
  64. package/es/packages/fabric-chart/src/interface.d.ts +4 -0
  65. package/es/packages/field-set/index.d.ts +2509 -5166
  66. package/es/packages/field-set/index.js +1 -2
  67. package/es/packages/field-set/src/FieldSet.js +346 -3
  68. package/es/packages/field-set/src/FieldSet.vue.d.ts +2492 -5169
  69. package/es/packages/form-render/index.d.ts +0 -2
  70. package/es/packages/form-render/index.js +2 -3
  71. package/es/packages/form-render/src/FormRender.js +203 -3
  72. package/es/packages/form-render/src/FormRender.vue.d.ts +0 -2
  73. package/es/packages/form-render/src/components/renderer/cascader.d.ts +6 -6
  74. package/es/packages/form-render/src/components/renderer/cascader.js +73 -85
  75. package/es/packages/form-render/src/components/renderer/combination.d.ts +6 -0
  76. package/es/packages/form-render/src/components/renderer/combination.js +76 -20
  77. package/es/packages/form-render/src/components/renderer/formItem.js +1 -1
  78. package/es/packages/form-render/src/components/renderer/input.js +5 -16
  79. package/es/packages/form-render/src/components/renderer/inputNumber.d.ts +12 -0
  80. package/es/packages/form-render/src/components/renderer/inputNumber.js +11 -4
  81. package/es/packages/form-render/src/components/renderer/radio.d.ts +12 -4
  82. package/es/packages/form-render/src/components/renderer/radio.js +23 -5
  83. package/es/packages/form-render/src/components/renderer/select.js +56 -56
  84. package/es/packages/form-render/src/components/renderer/simpleComponent.d.ts +17 -2
  85. package/es/packages/form-render/src/components/renderer/simpleComponent.js +16 -14
  86. package/es/packages/form-render/src/hooks/useAsyncQueue.d.ts +1 -1
  87. package/es/packages/form-render/src/hooks/useAsyncQueue.js +1 -1
  88. package/es/packages/form-render/src/hooks/useChangeContext.d.ts +1 -1
  89. package/es/packages/form-render/src/hooks/useChangeContext.js +1 -1
  90. package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +16 -10
  91. package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +3 -2
  92. package/es/packages/form-render/src/hooks/useFormItemDeps.js +5 -6
  93. package/es/packages/form-render/src/hooks/useFormRequest.d.ts +2 -2
  94. package/es/packages/form-render/src/types/fieldItem.d.ts +123 -35
  95. package/es/packages/form-render/src/types/index.d.ts +4 -2
  96. package/es/packages/form-render/src/utils/index.d.ts +8 -4
  97. package/es/packages/form-render/src/utils/index.js +45 -16
  98. package/es/packages/form-table/index.js +1 -2
  99. package/es/packages/form-table/src/FormTable.js +475 -3
  100. package/es/packages/form-table/src/components/index.js +28 -42
  101. package/es/packages/form-table/src/components/table-age.js +232 -3
  102. package/es/packages/form-table/src/components/table-date-picker.js +176 -3
  103. package/es/packages/form-table/src/components/table-digital.js +138 -3
  104. package/es/packages/form-table/src/components/table-input-password.js +138 -3
  105. package/es/packages/form-table/src/components/table-input.js +124 -3
  106. package/es/packages/form-table/src/components/table-month-picker.js +100 -3
  107. package/es/packages/form-table/src/components/table-search-more.js +5 -3
  108. package/es/packages/form-table/src/components/table-search-more.vue_vue_type_script_setup_true_lang.js +2 -2
  109. package/es/packages/form-table/src/components/table-search.js +5 -3
  110. package/es/packages/form-table/src/components/table-search.vue_vue_type_script_setup_true_lang.js +2 -2
  111. package/es/packages/form-table/src/components/table-select-multiple.js +161 -3
  112. package/es/packages/form-table/src/components/table-select.js +156 -3
  113. package/es/packages/form-table/src/components/table-textarea.js +154 -3
  114. package/es/packages/form-table/src/components/table-time-picker.js +146 -3
  115. package/es/packages/form-table/src/components/table-tree-select.js +282 -3
  116. package/es/packages/form-table/src/components/text-over-tooltip.js +63 -3
  117. package/es/packages/index.css +159 -2
  118. package/es/packages/info-header/index.d.ts +1376 -361
  119. package/es/packages/info-header/index.js +1 -2
  120. package/es/packages/info-header/src/HiddenContent.js +65 -3
  121. package/es/packages/info-header/src/HiddenContent.vue.d.ts +689 -178
  122. package/es/packages/info-header/src/InfoEllipsis.js +43 -0
  123. package/es/packages/info-header/src/InfoEllipsis.vue.d.ts +833 -0
  124. package/es/packages/info-header/src/InfoHeader.js +229 -3
  125. package/es/packages/info-header/src/InfoHeader.vue.d.ts +1376 -361
  126. package/es/packages/info-header/style/index.css +3 -0
  127. package/es/packages/map/index.js +1 -2
  128. package/es/packages/map/src/Map.js +337 -3
  129. package/es/packages/scale-view/index.js +1 -2
  130. package/es/packages/scale-view/src/ScaleView.js +418 -3
  131. package/es/packages/scale-view/src/components/AnswerParse.js +79 -3
  132. package/es/packages/scale-view/src/components/EvaluateCountdown.js +108 -3
  133. package/es/packages/scale-view/src/components/EvaluatePage.js +140 -3
  134. package/es/packages/scale-view/src/components/LoadingCom.js +17 -5
  135. package/es/packages/scale-view/src/components/NoData.js +73 -3
  136. package/es/packages/scale-view/src/components/formitem/r-cascader.js +3 -3
  137. package/es/packages/scale-view/src/components/formitem/r-select.js +3 -3
  138. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.js +78 -3
  139. package/es/packages/select-label/index.js +3 -5
  140. package/es/packages/select-label/src/LabelFormContent.js +441 -3
  141. package/es/packages/select-label/src/SelectLabel.js +5 -3
  142. package/es/packages/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.js +5 -21
  143. package/es/packages/select-label/src/components/label-classify.js +128 -3
  144. package/es/packages/select-person/index.js +1 -2
  145. package/es/packages/select-person/src/SearchTree.js +5 -3
  146. package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.js +2 -2
  147. package/es/packages/select-person/src/SelectPerson.js +5 -3
  148. package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +4 -5
  149. package/es/packages/shortcut-provider/index.js +1 -2
  150. package/es/packages/shortcut-provider/src/ShortcutProvider.js +33 -3
  151. package/es/packages/shortcut-provider/src/types/index.d.ts +11 -9
  152. package/es/packages/shortcut-provider/src/utils/index.js +5 -5
  153. package/es/packages/shortcut-setter/index.d.ts +3247 -1486
  154. package/es/packages/shortcut-setter/index.js +1 -2
  155. package/es/packages/shortcut-setter/src/ShortcutSetter.js +42 -3
  156. package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +3247 -1486
  157. package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +139 -3
  158. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +1700 -1661
  159. package/es/packages/steps-wheel/index.js +1 -2
  160. package/es/packages/steps-wheel/src/StepsWheel.js +264 -3
  161. package/es/packages/time-line/index.js +1 -2
  162. package/es/packages/time-line/src/TimeLine.js +69 -3
  163. package/es/src/components/SelectPage/SelectPage.js +62 -3
  164. package/es/src/components/SelectPage/index.js +2 -3
  165. package/es/src/components/SlotRender/SlotRender.d.ts +4 -8
  166. package/es/src/components/SlotRender/SlotRender.js +4 -5
  167. package/es/src/components/SvgIcon/SvgIcon.js +35 -3
  168. package/es/src/components/SvgIcon/index.js +2 -3
  169. package/es/src/components/TextOverTooltip/TextOverTooltip.js +75 -3
  170. package/es/src/components/TextOverTooltip/index.js +2 -3
  171. package/es/src/components/player-vod/index.js +13 -3
  172. package/es/src/utils/anime.d.ts +1 -1
  173. package/global.d.ts +8 -8
  174. package/package.json +2 -2
  175. package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  176. package/es/packages/big-table/src/components/edit-form/edit-separate.vue_vue_type_script_setup_true_lang.js +0 -90
  177. package/es/packages/big-table/src/components/input-button.vue_vue_type_script_setup_true_lang.js +0 -33
  178. package/es/packages/big-table/src/components/separate.vue_vue_type_script_setup_true_lang.js +0 -24
  179. package/es/packages/bpmn-workflow/src/BpmnWorkflow.vue_vue_type_script_setup_true_lang.js +0 -252
  180. package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.js +0 -128
  181. package/es/packages/chunk-upload/src/chunk-upload-new.vue_vue_type_script_setup_true_lang.js +0 -473
  182. package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue_vue_type_script_setup_true_lang.js +0 -327
  183. package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.js +0 -122
  184. package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.js +0 -267
  185. package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.js +0 -659
  186. package/es/packages/fabric-chart/src/FabricChart.vue_vue_type_script_setup_true_lang.js +0 -305
  187. package/es/packages/fabric-chart/src/components/PopupTip.vue_vue_type_script_setup_true_lang.js +0 -32
  188. package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.js +0 -22
  189. package/es/packages/field-set/src/NewFieldSet.js +0 -4
  190. package/es/packages/field-set/src/NewFieldSet.vue.d.ts +0 -2607
  191. package/es/packages/field-set/src/NewFieldSet.vue_vue_type_script_setup_true_lang.js +0 -299
  192. package/es/packages/field-set/src/OldFieldSet.js +0 -4
  193. package/es/packages/field-set/src/OldFieldSet.vue.d.ts +0 -2610
  194. package/es/packages/field-set/src/OldFieldSet.vue_vue_type_script_setup_true_lang.js +0 -330
  195. package/es/packages/form-render/src/FormRender.vue_vue_type_script_setup_true_lang.js +0 -187
  196. package/es/packages/form-table/src/FormTable.vue_vue_type_script_setup_true_lang.js +0 -474
  197. package/es/packages/form-table/src/components/table-age.vue_vue_type_script_setup_true_lang.js +0 -232
  198. package/es/packages/form-table/src/components/table-date-picker.vue_vue_type_script_setup_true_lang.js +0 -175
  199. package/es/packages/form-table/src/components/table-digital.vue_vue_type_script_setup_true_lang.js +0 -138
  200. package/es/packages/form-table/src/components/table-input-password.vue_vue_type_script_setup_true_lang.js +0 -138
  201. package/es/packages/form-table/src/components/table-input.vue_vue_type_script_setup_true_lang.js +0 -124
  202. package/es/packages/form-table/src/components/table-month-picker.vue_vue_type_script_setup_true_lang.js +0 -99
  203. package/es/packages/form-table/src/components/table-select-multiple.vue_vue_type_script_setup_true_lang.js +0 -160
  204. package/es/packages/form-table/src/components/table-select.vue_vue_type_script_setup_true_lang.js +0 -155
  205. package/es/packages/form-table/src/components/table-textarea.vue_vue_type_script_setup_true_lang.js +0 -153
  206. package/es/packages/form-table/src/components/table-time-picker.vue_vue_type_script_setup_true_lang.js +0 -145
  207. package/es/packages/form-table/src/components/table-tree-select.vue_vue_type_script_setup_true_lang.js +0 -281
  208. package/es/packages/form-table/src/components/text-over-tooltip.vue_vue_type_script_setup_true_lang.js +0 -62
  209. package/es/packages/info-header/src/HiddenContent.vue_vue_type_script_setup_true_lang.js +0 -66
  210. package/es/packages/info-header/src/InfoHeader.vue_vue_type_script_setup_true_lang.js +0 -233
  211. package/es/packages/map/src/Map.vue_vue_type_script_setup_true_lang.js +0 -336
  212. package/es/packages/scale-view/src/ScaleView.vue_vue_type_script_setup_true_lang.js +0 -422
  213. package/es/packages/scale-view/src/components/AnswerParse.vue_vue_type_script_setup_true_lang.js +0 -78
  214. package/es/packages/scale-view/src/components/EvaluateCountdown.vue_vue_type_script_setup_true_lang.js +0 -107
  215. package/es/packages/scale-view/src/components/EvaluatePage.vue_vue_type_script_setup_true_lang.js +0 -139
  216. package/es/packages/scale-view/src/components/LoadingCom.vue_vue_type_template_id_413329b0_lang.js +0 -16
  217. package/es/packages/scale-view/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
  218. package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -77
  219. package/es/packages/select-label/src/LabelFormContent.vue_vue_type_script_setup_true_lang.js +0 -441
  220. package/es/packages/select-label/src/components/label-classify.vue_vue_type_script_setup_true_lang.js +0 -127
  221. package/es/packages/shortcut-provider/src/ShortcutProvider.vue_vue_type_script_setup_true_lang.js +0 -32
  222. package/es/packages/shortcut-setter/src/ShortcutSetter.vue_vue_type_script_setup_true_lang.js +0 -38
  223. package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue_vue_type_script_setup_true_lang.js +0 -125
  224. package/es/packages/steps-wheel/src/StepsWheel.vue_vue_type_script_setup_true_lang.js +0 -263
  225. package/es/packages/time-line/src/TimeLine.vue_vue_type_script_setup_true_lang.js +0 -68
  226. package/es/src/components/SelectPage/SelectPage.vue_vue_type_script_setup_true_lang.js +0 -61
  227. package/es/src/components/SvgIcon/SvgIcon.vue_vue_type_script_setup_true_lang.js +0 -34
  228. package/es/src/components/TextOverTooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -74
  229. package/es/src/components/player-vod/index.vue_vue_type_script_setup_true_lang.js +0 -12
package/README.md CHANGED
@@ -1,23 +1,23 @@
1
- # Vue 3 + Typescript + Vite
2
-
3
- This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
4
-
5
- ## Recommended IDE Setup
6
-
7
- - [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar)
8
-
9
- ## Type Support For `.vue` Imports in TS
10
-
11
- Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's `.vue` type support plugin by running `Volar: Switch TS Plugin on/off` from VSCode command palette.
12
-
13
- ## 使用
14
- ```JavaScript
15
- import { createApp } from "vue";
16
- import App from "./App.vue";
17
- import cui from "cnhis-design-vue";
18
- import "cnhis-design-vue/es/index.css";
19
-
20
- const app = createApp(App);
21
- app.use(cui);
22
- app.mount("#app");
23
- ```
1
+ # Vue 3 + Typescript + Vite
2
+
3
+ This template should help get you started developing with Vue 3 and Typescript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
4
+
5
+ ## Recommended IDE Setup
6
+
7
+ - [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar)
8
+
9
+ ## Type Support For `.vue` Imports in TS
10
+
11
+ Since TypeScript cannot handle type information for `.vue` imports, they are shimmed to be a generic Vue component type by default. In most cases this is fine if you don't really care about component prop types outside of templates. However, if you wish to get actual prop types in `.vue` imports (for example to get props validation when using manual `h(...)` calls), you can enable Volar's `.vue` type support plugin by running `Volar: Switch TS Plugin on/off` from VSCode command palette.
12
+
13
+ ## 使用
14
+ ```JavaScript
15
+ import { createApp } from "vue";
16
+ import App from "./App.vue";
17
+ import cui from "cnhis-design-vue";
18
+ import "cnhis-design-vue/es/index.css";
19
+
20
+ const app = createApp(App);
21
+ app.use(cui);
22
+ app.mount("#app");
23
+ ```
@@ -0,0 +1,9 @@
1
+ var _export_sfc = (sfc, props) => {
2
+ const target = sfc.__vccOpts || sfc;
3
+ for (const [key, val] of props) {
4
+ target[key] = val;
5
+ }
6
+ return target;
7
+ };
8
+
9
+ export { _export_sfc as default };
@@ -0,0 +1,22 @@
1
+ var __assign = (undefined && undefined.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var ContextType = function (flag, props) {
13
+ return __assign({ flag: flag }, props);
14
+ };
15
+ var bracketContext = ContextType('[]');
16
+ var bracketArrayContext = ContextType('[\\d]');
17
+ var bracketDContext = ContextType('[[]]');
18
+ var parenContext = ContextType('()');
19
+ var braceContext = ContextType('{}');
20
+ var destructorContext = ContextType('{x}');
21
+
22
+ export { braceContext, bracketArrayContext, bracketContext, bracketDContext, destructorContext, parenContext };
@@ -0,0 +1,124 @@
1
+ import { isObjectPattern, isIdentifier, isArrayPattern, isDestructorExpression } from './types.js';
2
+ import { isNum } from './shared.js';
3
+
4
+ var DestructorCache = new Map();
5
+ var isValid = function (val) { return val !== undefined && val !== null; };
6
+ var getDestructor = function (source) {
7
+ return DestructorCache.get(source);
8
+ };
9
+ var setDestructor = function (source, rules) {
10
+ DestructorCache.set(source, rules);
11
+ };
12
+ var parseDestructorRules = function (node) {
13
+ var rules = [];
14
+ if (isObjectPattern(node)) {
15
+ var index_1 = 0;
16
+ node.properties.forEach(function (child) {
17
+ rules[index_1] = {
18
+ path: [],
19
+ };
20
+ rules[index_1].key = child.key.value;
21
+ rules[index_1].path.push(child.key.value);
22
+ if (isIdentifier(child.value)) {
23
+ rules[index_1].key = child.value.value;
24
+ }
25
+ var basePath = rules[index_1].path;
26
+ var childRules = parseDestructorRules(child.value);
27
+ var k = index_1;
28
+ childRules.forEach(function (rule) {
29
+ if (rules[k]) {
30
+ rules[k].key = rule.key;
31
+ rules[k].path = basePath.concat(rule.path);
32
+ }
33
+ else {
34
+ rules[k] = {
35
+ key: rule.key,
36
+ path: basePath.concat(rule.path),
37
+ };
38
+ }
39
+ k++;
40
+ });
41
+ if (k > index_1) {
42
+ index_1 = k;
43
+ }
44
+ else {
45
+ index_1++;
46
+ }
47
+ });
48
+ return rules;
49
+ }
50
+ else if (isArrayPattern(node)) {
51
+ var index_2 = 0;
52
+ node.elements.forEach(function (child, key) {
53
+ rules[index_2] = {
54
+ path: [],
55
+ };
56
+ rules[index_2].key = key;
57
+ rules[index_2].path.push(key);
58
+ if (isIdentifier(child)) {
59
+ rules[index_2].key = child.value;
60
+ }
61
+ var basePath = rules[index_2].path;
62
+ var childRules = parseDestructorRules(child);
63
+ var k = index_2;
64
+ childRules.forEach(function (rule) {
65
+ if (rules[k]) {
66
+ rules[k].key = rule.key;
67
+ rules[k].path = basePath.concat(rule.path);
68
+ }
69
+ else {
70
+ rules[k] = {
71
+ key: rule.key,
72
+ path: basePath.concat(rule.path),
73
+ };
74
+ }
75
+ k++;
76
+ });
77
+ if (k > index_2) {
78
+ index_2 = k;
79
+ }
80
+ else {
81
+ index_2++;
82
+ }
83
+ });
84
+ return rules;
85
+ }
86
+ if (isDestructorExpression(node)) {
87
+ return parseDestructorRules(node.value);
88
+ }
89
+ return rules;
90
+ };
91
+ var setInByDestructor = function (source, rules, value, mutators) {
92
+ rules.forEach(function (_a) {
93
+ var key = _a.key, path = _a.path;
94
+ mutators.setIn([key], source, mutators.getIn(path, value));
95
+ });
96
+ };
97
+ var getInByDestructor = function (source, rules, mutators) {
98
+ var response = {};
99
+ if (rules.length) {
100
+ if (isNum(rules[0].path[0])) {
101
+ response = [];
102
+ }
103
+ }
104
+ source = isValid(source) ? source : {};
105
+ rules.forEach(function (_a) {
106
+ var key = _a.key, path = _a.path;
107
+ mutators.setIn(path, response, source[key]);
108
+ });
109
+ return response;
110
+ };
111
+ var deleteInByDestructor = function (source, rules, mutators) {
112
+ rules.forEach(function (_a) {
113
+ var key = _a.key;
114
+ mutators.deleteIn([key], source);
115
+ });
116
+ };
117
+ var existInByDestructor = function (source, rules, start, mutators) {
118
+ return rules.every(function (_a) {
119
+ var key = _a.key;
120
+ return mutators.existIn([key], source, start);
121
+ });
122
+ };
123
+
124
+ export { deleteInByDestructor, existInByDestructor, getDestructor, getInByDestructor, parseDestructorRules, setDestructor, setInByDestructor };