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.
- package/README.md +23 -23
- package/es/_virtual/plugin-vue_export-helper.js +9 -0
- package/es/node_modules/@formily/path/esm/contexts.js +22 -0
- package/es/node_modules/@formily/path/esm/destructor.js +124 -0
- package/es/node_modules/@formily/path/esm/index.js +579 -0
- package/es/node_modules/@formily/path/esm/matcher.js +199 -0
- package/es/node_modules/@formily/path/esm/parser.js +402 -0
- package/es/node_modules/@formily/path/esm/shared.js +73 -0
- package/es/node_modules/@formily/path/esm/tokenizer.js +287 -0
- package/es/node_modules/@formily/path/esm/tokens.js +240 -0
- package/es/node_modules/@formily/path/esm/types.js +17 -0
- package/es/packages/big-table/index.d.ts +14 -0
- package/es/packages/big-table/index.js +1 -2
- package/es/packages/big-table/src/BigTable.js +5 -3
- package/es/packages/big-table/src/BigTable.vue.d.ts +36 -13
- package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +44 -31
- package/es/packages/big-table/src/bigTableProps.d.ts +4 -0
- package/es/packages/big-table/src/bigTableProps.js +1 -0
- package/es/packages/big-table/src/components/NoData.js +73 -3
- package/es/packages/big-table/src/components/edit-form/edit-date.js +11 -3
- package/es/packages/big-table/src/components/edit-form/edit-input.js +15 -4
- package/es/packages/big-table/src/components/edit-form/edit-separate.js +89 -3
- package/es/packages/big-table/src/components/edit-form/edit-separate.vue.d.ts +9 -14
- package/es/packages/big-table/src/components/edit-form/edit-time.d.ts +43 -0
- package/es/packages/big-table/src/components/edit-form/edit-time.js +52 -0
- package/es/packages/big-table/src/components/input-button.js +34 -3
- package/es/packages/big-table/src/components/separate.js +29 -3
- package/es/packages/big-table/src/components/separate.vue.d.ts +3 -4
- package/es/packages/big-table/src/hooks/useColumnConfigAdaptor.js +51 -12
- package/es/packages/big-table/src/hooks/useEdit.d.ts +51 -13
- package/es/packages/big-table/src/hooks/useEdit.js +4 -3
- package/es/packages/big-table/src/hooks/useFormat.js +8 -1
- package/es/packages/big-table/src/hooks/useSeparateRow.js +4 -4
- package/es/packages/big-table/src/utils.js +2 -1
- package/es/packages/big-table/style/index.css +156 -2
- package/es/packages/bpmn-workflow/index.js +1 -2
- package/es/packages/bpmn-workflow/src/BpmnWorkflow.js +253 -3
- package/es/packages/button-print/index.js +1 -2
- package/es/packages/button-print/src/ButtonPrint.js +5 -3
- package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.js +6 -7
- package/es/packages/button-print/src/components/IdentityVerification.js +129 -3
- package/es/packages/button-print/src/utils/print.d.ts +1 -1
- package/es/packages/button-print/src/utils/print.js +4 -4
- package/es/packages/chunk-upload/index.js +1 -1
- package/es/packages/chunk-upload/src/chunk-upload-new.js +474 -3
- package/es/packages/chunk-upload/src/vod-chunk-upload/index.js +2 -3
- package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.js +328 -3
- package/es/packages/chunk-upload/src/vod-upload-modal.js +3 -4
- package/es/packages/drag-layout/index.js +1 -2
- package/es/packages/drag-layout/src/DragFormLeftItem.js +123 -3
- package/es/packages/drag-layout/src/DragFormRightItem.js +268 -3
- package/es/packages/drag-layout/src/DragLayout.js +658 -3
- package/es/packages/fabric-chart/index.d.ts +2 -0
- package/es/packages/fabric-chart/index.js +1 -2
- package/es/packages/fabric-chart/src/FabricChart.js +315 -3
- package/es/packages/fabric-chart/src/FabricChart.vue.d.ts +2 -0
- package/es/packages/fabric-chart/src/components/PopupTip.js +33 -3
- package/es/packages/fabric-chart/src/hooks/useCenter.js +41 -25
- package/es/packages/fabric-chart/src/hooks/useDraw.js +1 -0
- package/es/packages/fabric-chart/src/hooks/useEvent.js +9 -7
- package/es/packages/fabric-chart/src/hooks/useLeft.js +28 -17
- package/es/packages/fabric-chart/src/hooks/useRight.js +2 -13
- package/es/packages/fabric-chart/src/hooks/useTop.js +9 -10
- package/es/packages/fabric-chart/src/interface.d.ts +4 -0
- package/es/packages/field-set/index.d.ts +2509 -5166
- package/es/packages/field-set/index.js +1 -2
- package/es/packages/field-set/src/FieldSet.js +346 -3
- package/es/packages/field-set/src/FieldSet.vue.d.ts +2492 -5169
- package/es/packages/form-render/index.d.ts +0 -2
- package/es/packages/form-render/index.js +2 -3
- package/es/packages/form-render/src/FormRender.js +203 -3
- package/es/packages/form-render/src/FormRender.vue.d.ts +0 -2
- package/es/packages/form-render/src/components/renderer/cascader.d.ts +6 -6
- package/es/packages/form-render/src/components/renderer/cascader.js +73 -85
- package/es/packages/form-render/src/components/renderer/combination.d.ts +6 -0
- package/es/packages/form-render/src/components/renderer/combination.js +76 -20
- package/es/packages/form-render/src/components/renderer/formItem.js +1 -1
- package/es/packages/form-render/src/components/renderer/input.js +5 -16
- package/es/packages/form-render/src/components/renderer/inputNumber.d.ts +12 -0
- package/es/packages/form-render/src/components/renderer/inputNumber.js +11 -4
- package/es/packages/form-render/src/components/renderer/radio.d.ts +12 -4
- package/es/packages/form-render/src/components/renderer/radio.js +23 -5
- package/es/packages/form-render/src/components/renderer/select.js +56 -56
- package/es/packages/form-render/src/components/renderer/simpleComponent.d.ts +17 -2
- package/es/packages/form-render/src/components/renderer/simpleComponent.js +16 -14
- package/es/packages/form-render/src/hooks/useAsyncQueue.d.ts +1 -1
- package/es/packages/form-render/src/hooks/useAsyncQueue.js +1 -1
- package/es/packages/form-render/src/hooks/useChangeContext.d.ts +1 -1
- package/es/packages/form-render/src/hooks/useChangeContext.js +1 -1
- package/es/packages/form-render/src/hooks/useFieldListAdaptor.js +16 -10
- package/es/packages/form-render/src/hooks/useFormItemDeps.d.ts +3 -2
- package/es/packages/form-render/src/hooks/useFormItemDeps.js +5 -6
- package/es/packages/form-render/src/hooks/useFormRequest.d.ts +2 -2
- package/es/packages/form-render/src/types/fieldItem.d.ts +123 -35
- package/es/packages/form-render/src/types/index.d.ts +4 -2
- package/es/packages/form-render/src/utils/index.d.ts +8 -4
- package/es/packages/form-render/src/utils/index.js +45 -16
- package/es/packages/form-table/index.js +1 -2
- package/es/packages/form-table/src/FormTable.js +475 -3
- package/es/packages/form-table/src/components/index.js +28 -42
- package/es/packages/form-table/src/components/table-age.js +232 -3
- package/es/packages/form-table/src/components/table-date-picker.js +176 -3
- package/es/packages/form-table/src/components/table-digital.js +138 -3
- package/es/packages/form-table/src/components/table-input-password.js +138 -3
- package/es/packages/form-table/src/components/table-input.js +124 -3
- package/es/packages/form-table/src/components/table-month-picker.js +100 -3
- package/es/packages/form-table/src/components/table-search-more.js +5 -3
- package/es/packages/form-table/src/components/table-search-more.vue_vue_type_script_setup_true_lang.js +2 -2
- package/es/packages/form-table/src/components/table-search.js +5 -3
- package/es/packages/form-table/src/components/table-search.vue_vue_type_script_setup_true_lang.js +2 -2
- package/es/packages/form-table/src/components/table-select-multiple.js +161 -3
- package/es/packages/form-table/src/components/table-select.js +156 -3
- package/es/packages/form-table/src/components/table-textarea.js +154 -3
- package/es/packages/form-table/src/components/table-time-picker.js +146 -3
- package/es/packages/form-table/src/components/table-tree-select.js +282 -3
- package/es/packages/form-table/src/components/text-over-tooltip.js +63 -3
- package/es/packages/index.css +159 -2
- package/es/packages/info-header/index.d.ts +1376 -361
- package/es/packages/info-header/index.js +1 -2
- package/es/packages/info-header/src/HiddenContent.js +65 -3
- package/es/packages/info-header/src/HiddenContent.vue.d.ts +689 -178
- package/es/packages/info-header/src/InfoEllipsis.js +43 -0
- package/es/packages/info-header/src/InfoEllipsis.vue.d.ts +833 -0
- package/es/packages/info-header/src/InfoHeader.js +229 -3
- package/es/packages/info-header/src/InfoHeader.vue.d.ts +1376 -361
- package/es/packages/info-header/style/index.css +3 -0
- package/es/packages/map/index.js +1 -2
- package/es/packages/map/src/Map.js +337 -3
- package/es/packages/scale-view/index.js +1 -2
- package/es/packages/scale-view/src/ScaleView.js +418 -3
- package/es/packages/scale-view/src/components/AnswerParse.js +79 -3
- package/es/packages/scale-view/src/components/EvaluateCountdown.js +108 -3
- package/es/packages/scale-view/src/components/EvaluatePage.js +140 -3
- package/es/packages/scale-view/src/components/LoadingCom.js +17 -5
- package/es/packages/scale-view/src/components/NoData.js +73 -3
- package/es/packages/scale-view/src/components/formitem/r-cascader.js +3 -3
- package/es/packages/scale-view/src/components/formitem/r-select.js +3 -3
- package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.js +78 -3
- package/es/packages/select-label/index.js +3 -5
- package/es/packages/select-label/src/LabelFormContent.js +441 -3
- package/es/packages/select-label/src/SelectLabel.js +5 -3
- package/es/packages/select-label/src/SelectLabel.vue_vue_type_script_setup_true_lang.js +5 -21
- package/es/packages/select-label/src/components/label-classify.js +128 -3
- package/es/packages/select-person/index.js +1 -2
- package/es/packages/select-person/src/SearchTree.js +5 -3
- package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.js +2 -2
- package/es/packages/select-person/src/SelectPerson.js +5 -3
- package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +4 -5
- package/es/packages/shortcut-provider/index.js +1 -2
- package/es/packages/shortcut-provider/src/ShortcutProvider.js +33 -3
- package/es/packages/shortcut-provider/src/types/index.d.ts +11 -9
- package/es/packages/shortcut-provider/src/utils/index.js +5 -5
- package/es/packages/shortcut-setter/index.d.ts +3247 -1486
- package/es/packages/shortcut-setter/index.js +1 -2
- package/es/packages/shortcut-setter/src/ShortcutSetter.js +42 -3
- package/es/packages/shortcut-setter/src/ShortcutSetter.vue.d.ts +3247 -1486
- package/es/packages/shortcut-setter/src/ShortcutSetterItem.js +139 -3
- package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue.d.ts +1700 -1661
- package/es/packages/steps-wheel/index.js +1 -2
- package/es/packages/steps-wheel/src/StepsWheel.js +264 -3
- package/es/packages/time-line/index.js +1 -2
- package/es/packages/time-line/src/TimeLine.js +69 -3
- package/es/src/components/SelectPage/SelectPage.js +62 -3
- package/es/src/components/SelectPage/index.js +2 -3
- package/es/src/components/SlotRender/SlotRender.d.ts +4 -8
- package/es/src/components/SlotRender/SlotRender.js +4 -5
- package/es/src/components/SvgIcon/SvgIcon.js +35 -3
- package/es/src/components/SvgIcon/index.js +2 -3
- package/es/src/components/TextOverTooltip/TextOverTooltip.js +75 -3
- package/es/src/components/TextOverTooltip/index.js +2 -3
- package/es/src/components/player-vod/index.js +13 -3
- package/es/src/utils/anime.d.ts +1 -1
- package/global.d.ts +8 -8
- package/package.json +2 -2
- package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
- package/es/packages/big-table/src/components/edit-form/edit-separate.vue_vue_type_script_setup_true_lang.js +0 -90
- package/es/packages/big-table/src/components/input-button.vue_vue_type_script_setup_true_lang.js +0 -33
- package/es/packages/big-table/src/components/separate.vue_vue_type_script_setup_true_lang.js +0 -24
- package/es/packages/bpmn-workflow/src/BpmnWorkflow.vue_vue_type_script_setup_true_lang.js +0 -252
- package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.js +0 -128
- package/es/packages/chunk-upload/src/chunk-upload-new.vue_vue_type_script_setup_true_lang.js +0 -473
- package/es/packages/chunk-upload/src/vod-chunk-upload/vod-chunk-upload.vue_vue_type_script_setup_true_lang.js +0 -327
- package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.js +0 -122
- package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.js +0 -267
- package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.js +0 -659
- package/es/packages/fabric-chart/src/FabricChart.vue_vue_type_script_setup_true_lang.js +0 -305
- package/es/packages/fabric-chart/src/components/PopupTip.vue_vue_type_script_setup_true_lang.js +0 -32
- package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.js +0 -22
- package/es/packages/field-set/src/NewFieldSet.js +0 -4
- package/es/packages/field-set/src/NewFieldSet.vue.d.ts +0 -2607
- package/es/packages/field-set/src/NewFieldSet.vue_vue_type_script_setup_true_lang.js +0 -299
- package/es/packages/field-set/src/OldFieldSet.js +0 -4
- package/es/packages/field-set/src/OldFieldSet.vue.d.ts +0 -2610
- package/es/packages/field-set/src/OldFieldSet.vue_vue_type_script_setup_true_lang.js +0 -330
- package/es/packages/form-render/src/FormRender.vue_vue_type_script_setup_true_lang.js +0 -187
- package/es/packages/form-table/src/FormTable.vue_vue_type_script_setup_true_lang.js +0 -474
- package/es/packages/form-table/src/components/table-age.vue_vue_type_script_setup_true_lang.js +0 -232
- package/es/packages/form-table/src/components/table-date-picker.vue_vue_type_script_setup_true_lang.js +0 -175
- package/es/packages/form-table/src/components/table-digital.vue_vue_type_script_setup_true_lang.js +0 -138
- package/es/packages/form-table/src/components/table-input-password.vue_vue_type_script_setup_true_lang.js +0 -138
- package/es/packages/form-table/src/components/table-input.vue_vue_type_script_setup_true_lang.js +0 -124
- package/es/packages/form-table/src/components/table-month-picker.vue_vue_type_script_setup_true_lang.js +0 -99
- package/es/packages/form-table/src/components/table-select-multiple.vue_vue_type_script_setup_true_lang.js +0 -160
- package/es/packages/form-table/src/components/table-select.vue_vue_type_script_setup_true_lang.js +0 -155
- package/es/packages/form-table/src/components/table-textarea.vue_vue_type_script_setup_true_lang.js +0 -153
- package/es/packages/form-table/src/components/table-time-picker.vue_vue_type_script_setup_true_lang.js +0 -145
- package/es/packages/form-table/src/components/table-tree-select.vue_vue_type_script_setup_true_lang.js +0 -281
- package/es/packages/form-table/src/components/text-over-tooltip.vue_vue_type_script_setup_true_lang.js +0 -62
- package/es/packages/info-header/src/HiddenContent.vue_vue_type_script_setup_true_lang.js +0 -66
- package/es/packages/info-header/src/InfoHeader.vue_vue_type_script_setup_true_lang.js +0 -233
- package/es/packages/map/src/Map.vue_vue_type_script_setup_true_lang.js +0 -336
- package/es/packages/scale-view/src/ScaleView.vue_vue_type_script_setup_true_lang.js +0 -422
- package/es/packages/scale-view/src/components/AnswerParse.vue_vue_type_script_setup_true_lang.js +0 -78
- package/es/packages/scale-view/src/components/EvaluateCountdown.vue_vue_type_script_setup_true_lang.js +0 -107
- package/es/packages/scale-view/src/components/EvaluatePage.vue_vue_type_script_setup_true_lang.js +0 -139
- package/es/packages/scale-view/src/components/LoadingCom.vue_vue_type_template_id_413329b0_lang.js +0 -16
- package/es/packages/scale-view/src/components/NoData.vue_vue_type_script_setup_true_lang.js +0 -72
- package/es/packages/scale-view/src/components/formitem/text-over-tooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -77
- package/es/packages/select-label/src/LabelFormContent.vue_vue_type_script_setup_true_lang.js +0 -441
- package/es/packages/select-label/src/components/label-classify.vue_vue_type_script_setup_true_lang.js +0 -127
- package/es/packages/shortcut-provider/src/ShortcutProvider.vue_vue_type_script_setup_true_lang.js +0 -32
- package/es/packages/shortcut-setter/src/ShortcutSetter.vue_vue_type_script_setup_true_lang.js +0 -38
- package/es/packages/shortcut-setter/src/ShortcutSetterItem.vue_vue_type_script_setup_true_lang.js +0 -125
- package/es/packages/steps-wheel/src/StepsWheel.vue_vue_type_script_setup_true_lang.js +0 -263
- package/es/packages/time-line/src/TimeLine.vue_vue_type_script_setup_true_lang.js +0 -68
- package/es/src/components/SelectPage/SelectPage.vue_vue_type_script_setup_true_lang.js +0 -61
- package/es/src/components/SvgIcon/SvgIcon.vue_vue_type_script_setup_true_lang.js +0 -34
- package/es/src/components/TextOverTooltip/TextOverTooltip.vue_vue_type_script_setup_true_lang.js +0 -74
- 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,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 };
|