@topvisor/ui 1.1.0 → 1.3.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/.chunks/core-CXqQSo9c.amd.js +2 -0
- package/.chunks/core-CXqQSo9c.amd.js.map +1 -0
- package/.chunks/{core-Dsl28h7N.es.js → core-CY6RkZz2.es.js} +47 -46
- package/.chunks/core-CY6RkZz2.es.js.map +1 -0
- package/.chunks/{datepicker-BTiE5Grw.es.js → datepicker-BiaXdEIn.es.js} +2 -2
- package/.chunks/datepicker-BiaXdEIn.es.js.map +1 -0
- package/.chunks/datepicker-DUoArkDy.amd.js +2 -0
- package/.chunks/datepicker-DUoArkDy.amd.js.map +1 -0
- package/.chunks/dialog_selectorRegions-CPRVbPAk.amd.js +2 -0
- package/.chunks/dialog_selectorRegions-CPRVbPAk.amd.js.map +1 -0
- package/.chunks/dialog_selectorRegions-Zlm6K2mk.es.js +188 -0
- package/.chunks/dialog_selectorRegions-Zlm6K2mk.es.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CLahwA6M.es.js +322 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CLahwA6M.es.js.map +1 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-D8NggYHD.amd.js +2 -0
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-D8NggYHD.amd.js.map +1 -0
- package/.chunks/field-Cvv0SRcJ.amd.js +2 -0
- package/.chunks/field-Cvv0SRcJ.amd.js.map +1 -0
- package/.chunks/field-CyyFzM-Y.es.js +16 -0
- package/.chunks/field-CyyFzM-Y.es.js.map +1 -0
- package/.chunks/forms-CgtkdwgA.amd.js +3 -0
- package/.chunks/forms-CgtkdwgA.amd.js.map +1 -0
- package/.chunks/forms-DarRVke_.es.js +2045 -0
- package/.chunks/forms-DarRVke_.es.js.map +1 -0
- package/.chunks/index-BEI7XZmU.amd.js +2 -0
- package/.chunks/index-BEI7XZmU.amd.js.map +1 -0
- package/.chunks/index-igPkes8X.es.js +48 -0
- package/.chunks/index-igPkes8X.es.js.map +1 -0
- package/.chunks/lazy-40pjr8cZ.es.js +71 -0
- package/.chunks/lazy-40pjr8cZ.es.js.map +1 -0
- package/.chunks/lazy-DSFLxvj4.amd.js +2 -0
- package/.chunks/lazy-DSFLxvj4.amd.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CT-EXxJj.amd.js +2 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CT-EXxJj.amd.js.map +1 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DzJ_pc-d.es.js +184 -0
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-DzJ_pc-d.es.js.map +1 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-BLMYjYLV.amd.js +2 -0
- package/.chunks/menu.vue_vue_type_style_index_0_lang-BLMYjYLV.amd.js.map +1 -0
- package/.chunks/{menu.vue_vue_type_style_index_0_lang-DmY5w4yr.es.js → menu.vue_vue_type_style_index_0_lang-COD_4iTy.es.js} +35 -34
- package/.chunks/menu.vue_vue_type_style_index_0_lang-COD_4iTy.es.js.map +1 -0
- package/.chunks/{notice-CJdCc72d.amd.js → notice-CPtAnc7p.amd.js} +3 -3
- package/.chunks/notice-CPtAnc7p.amd.js.map +1 -0
- package/.chunks/{notice-Cqs1dKt8.es.js → notice-fno9saBY.es.js} +2 -2
- package/.chunks/notice-fno9saBY.es.js.map +1 -0
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-BCfksgg3.es.js → page.vue_vue_type_script_setup_true_lang-BS0aEP4i.es.js} +4 -4
- package/.chunks/page.vue_vue_type_script_setup_true_lang-BS0aEP4i.es.js.map +1 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DLebrPmi.amd.js +2 -0
- package/.chunks/page.vue_vue_type_script_setup_true_lang-DLebrPmi.amd.js.map +1 -0
- package/.chunks/popup-AG94kehM.es.js +459 -0
- package/.chunks/popup-AG94kehM.es.js.map +1 -0
- package/.chunks/popup-CtvJLWn3.amd.js +2 -0
- package/.chunks/popup-CtvJLWn3.amd.js.map +1 -0
- package/.chunks/punycode.es6-CNOnFR2-.amd.js +2 -0
- package/.chunks/{punycode.es6-C2yitnNb.amd.js.map → punycode.es6-CNOnFR2-.amd.js.map} +1 -1
- package/.chunks/punycode.es6-CgGegfA_.es.js +134 -0
- package/.chunks/{punycode.es6-CNI-zL6U.es.js.map → punycode.es6-CgGegfA_.es.js.map} +1 -1
- package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
- package/.chunks/store-YRW59xEF.amd.js +2 -0
- package/.chunks/store-YRW59xEF.amd.js.map +1 -0
- package/.chunks/{utils-B1H3EGkg.es.js → utils-3M9LC_L_.es.js} +2 -2
- package/.chunks/utils-3M9LC_L_.es.js.map +1 -0
- package/.chunks/utils-BitKP31L.es.js +302 -0
- package/.chunks/utils-BitKP31L.es.js.map +1 -0
- package/.chunks/utils-D9D3zzjc.amd.js +2 -0
- package/.chunks/utils-D9D3zzjc.amd.js.map +1 -0
- package/.chunks/utils-DcP4RFmH.amd.js +2 -0
- package/.chunks/utils-DcP4RFmH.amd.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-BK-pTu3V.amd.js +2 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-BK-pTu3V.amd.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-xwjgBq1L.es.js +39 -0
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-xwjgBq1L.es.js.map +1 -0
- package/.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js +2 -0
- package/.chunks/widgetInput.vue_vue_type_style_index_0_lang-Cce9ZdtW.amd.js.map +1 -0
- package/README.md +82 -82
- package/api/additional.amd.js +2 -0
- package/api/additional.amd.js.map +1 -0
- package/api/additional.d.ts +2 -0
- package/api/additional.js +66 -0
- package/api/additional.js.map +1 -0
- package/api/index.amd.js +2 -0
- package/api/index.amd.js.map +1 -0
- package/api/index.d.ts +2 -0
- package/api/index.js +280 -0
- package/api/index.js.map +1 -0
- package/assets/core.css +1 -1
- package/assets/extra.css +1 -0
- package/assets/forms.css +1 -1
- package/assets/formsExt.css +1 -1
- package/assets/layout.css +1 -1
- package/assets/notice.css +1 -1
- package/assets/project.css +1 -1
- package/assets/themes/dark-th.css +1 -1
- package/assets/themes/dark.css +1 -1
- package/assets/themes/light.css +1 -1
- package/charts/charts.amd.js +1 -1
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.d.ts +1 -1
- package/charts/charts.js +11 -11
- package/charts/charts.js.map +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.amd.js.map +1 -1
- package/core/app.d.ts +2 -8
- package/core/app.js +36 -34
- package/core/app.js.map +1 -1
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.d.ts +1 -1
- package/dialog/dialog.js +2 -2
- package/dialog/dialog.js.map +1 -1
- package/extra/extra.amd.js +2 -0
- package/extra/extra.amd.js.map +1 -0
- package/extra/extra.d.ts +2 -0
- package/extra/extra.js +72 -0
- package/extra/extra.js.map +1 -0
- package/forms/forms.amd.js +1 -1
- package/forms/forms.d.ts +1 -1
- package/forms/forms.js +11 -9
- package/forms/helpers.amd.js +1 -1
- package/forms/helpers.amd.js.map +1 -1
- package/forms/helpers.d.ts +0 -1
- package/forms/helpers.js +1 -9
- package/forms/helpers.js.map +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.d.ts +1 -1
- package/formsExt/formsExt.js +524 -320
- package/formsExt/formsExt.js.map +1 -1
- package/icomoon/Read Me.txt +7 -7
- package/icomoon/demo-files/demo.css +158 -158
- package/icomoon/demo-files/demo.js +30 -30
- package/icomoon/demo.css +158 -0
- package/icomoon/demo.html +3782 -3558
- package/icomoon/demo.js +30 -0
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +292 -276
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +828 -780
- package/jquery-ui.min.css +5 -5
- package/layout/layout.amd.js +1 -1
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.d.ts +1 -1
- package/layout/layout.js +29 -29
- package/layout/layout.js.map +1 -1
- package/package.json +36 -33
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.d.ts +1 -1
- package/popup/popup.js +120 -136
- package/popup/popup.js.map +1 -1
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.d.ts +1 -1
- package/popup/worker.js +31 -22
- package/popup/worker.js.map +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.d.ts +1 -1
- package/project/project.js +396 -386
- package/project/project.js.map +1 -1
- package/require/css.amd.js +12 -12
- package/src/api/api/additional.d.ts +1 -0
- package/src/api/api/client/client.d.ts +55 -0
- package/src/api/api/client/request-options.d.ts +1 -0
- package/src/api/api/client/request.d.ts +2 -0
- package/src/api/api/index.d.ts +12 -0
- package/src/api/api/mocker/index.d.ts +9 -0
- package/src/api/api/tests/types.test-d.d.ts +1 -0
- package/src/api/api/types/api.d.ts +144 -0
- package/src/api/api/types/client/client.d.ts +8 -0
- package/src/api/api/types/client/middleware.d.ts +65 -0
- package/src/api/api/types/client/options.d.ts +60 -0
- package/src/api/api/types/client/request-context.d.ts +35 -0
- package/src/api/api/types/client/request-options.d.ts +73 -0
- package/src/api/api/types/client/request.d.ts +91 -0
- package/src/api/api/types/ext.d.ts +51 -0
- package/src/api/api/types/field.d.ts +33 -0
- package/src/api/api/types/index.d.ts +13 -0
- package/src/api/api/types/mocker.d.ts +106 -0
- package/src/api/api/types/schema.d.ts +50 -0
- package/src/api/api/types/tv.d.ts +59 -0
- package/src/api/api/types/utils.d.ts +51 -0
- package/src/api/api/utils/common.d.ts +16 -0
- package/src/api/api/utils/field.d.ts +8 -0
- package/src/api/api/utils/filters.d.ts +48 -0
- package/src/api/api/utils/lazy.d.ts +26 -0
- package/src/components/charts/charts.d.ts +2 -0
- package/{components → src/components}/charts/miniChart/miniChart.vue.d.ts +1 -1
- package/{components → src/components}/charts/miniCharts/miniCharts.d.ts +1 -1
- package/{components → src/components}/charts/miniCharts/miniCharts.vue.d.ts +1 -1
- package/{components → src/components}/core/notice/item/types.d.ts +2 -0
- package/{components → src/components}/dialog/dialog/dialogs/dialogs.vue.d.ts +3 -0
- package/{components → src/components}/dialog/dialog/page/types.d.ts +2 -2
- package/{components → src/components}/dialog/lib/types.d.ts +23 -0
- package/src/components/dialog/lib/utils.d.ts +14 -0
- package/{components → src/components}/dialog/lib/utils.globalEvents.d.ts +2 -2
- package/{components → src/components}/dialog/lib/worker.d.ts +27 -11
- package/src/components/extra/extra.d.ts +1 -0
- package/src/components/extra/rive/rive.vue.d.ts +11 -0
- package/src/components/extra/rive/types.d.ts +7 -0
- package/{components → src/components}/forms/avatar/avatar.vue.d.ts +2 -2
- package/{components/forms/avatar/avatar.d.ts → src/components/forms/avatar/types.d.ts} +4 -10
- package/{components → src/components}/forms/button/button.vue.d.ts +3 -7
- package/{components → src/components}/forms/button/types.d.ts +15 -19
- package/src/components/forms/caption/caption.vue.d.ts +17 -0
- package/src/components/forms/caption/types.d.ts +9 -0
- package/{components → src/components}/forms/checkbox/checkbox.vue.d.ts +3 -3
- package/{components → src/components}/forms/controlLabel/controlLabel.vue.d.ts +1 -1
- package/src/components/forms/forms.d.ts +15 -0
- package/src/components/forms/helpers.d.ts +1 -0
- package/{components → src/components}/forms/hint/hint.vue.d.ts +1 -1
- package/{components → src/components}/forms/input/input.vue.d.ts +2 -3
- package/src/components/forms/input/types.d.ts +23 -0
- package/{components → src/components}/forms/inputDate/inputDate.vue.d.ts +1 -1
- package/src/components/forms/inputDate/types.d.ts +1 -0
- package/src/components/forms/preloader/types.d.ts +3 -0
- package/{components → src/components}/forms/radio/radio.vue.d.ts +1 -1
- package/src/components/forms/select/select.vue.d.ts +17 -0
- package/{components/forms/select/select.d.ts → src/components/forms/select/types.d.ts} +3 -3
- package/{components → src/components}/forms/switcher/switcher.vue.d.ts +1 -1
- package/{components → src/components}/forms/textarea/textarea.vue.d.ts +1 -1
- package/{components/forms/textarea/textarea.d.ts → src/components/forms/textarea/types.d.ts} +4 -0
- package/{components/formsExt/radioGroup/radioGroup.vue.d.ts → src/components/formsExt/checkboxGroup/checkboxGroup.vue.d.ts} +7 -10
- package/src/components/formsExt/checkboxGroup/types.d.ts +19 -0
- package/{components → src/components}/formsExt/editArea/editArea.vue.d.ts +1 -1
- package/{components/formsExt/editArea/editArea.d.ts → src/components/formsExt/editArea/types.d.ts} +1 -1
- package/{components → src/components}/formsExt/editInput/editInput.vue.d.ts +1 -1
- package/{components/formsExt/editInput/editInput.d.ts → src/components/formsExt/editInput/types.d.ts} +1 -1
- package/src/components/formsExt/formsExt.d.ts +8 -0
- package/{components → src/components}/formsExt/info/types.d.ts +1 -1
- package/{components → src/components}/formsExt/menu/menu.vue.d.ts +1 -1
- package/src/components/formsExt/policy/policy.vue.d.ts +8 -0
- package/src/components/formsExt/policy/types.d.ts +20 -0
- package/{components/forms/select/select.vue.d.ts → src/components/formsExt/radioGroup/radioGroup.vue.d.ts} +4 -6
- package/{components/formsExt/radioGroup/radioGroup.d.ts → src/components/formsExt/radioGroup/types.d.ts} +3 -3
- package/src/components/formsExt/selector2/composables/useAPI.d.ts +18 -0
- package/src/components/formsExt/selector2/composables/useMenu.d.ts +16 -0
- package/{components → src/components}/formsExt/selector2/itemMulti.vue.d.ts +1 -1
- package/src/components/formsExt/selector2/selector2.vue.d.ts +43 -0
- package/{components/formsExt/selector2/selector2.d.ts → src/components/formsExt/selector2/types.d.ts} +66 -34
- package/src/components/formsExt/selector2/utils.d.ts +6 -0
- package/{components → src/components}/layout/islandRows/types.d.ts +1 -1
- package/src/components/layout/layout.d.ts +4 -0
- package/src/components/popup/alert/alert.vue.d.ts +25 -0
- package/src/components/popup/alert/types.d.ts +8 -0
- package/src/components/popup/confirm/confirm.vue.d.ts +26 -0
- package/{components/popup/confirm/confirm.d.ts → src/components/popup/confirm/types.d.ts} +3 -3
- package/{components → src/components}/popup/lib/popup.d.ts +6 -2
- package/{components → src/components}/popup/lib/popup.globalEvents.d.ts +6 -0
- package/{components → src/components}/popup/lib/worker.d.ts +8 -6
- package/{components → src/components}/popup/popup/listItem.vue.d.ts +1 -1
- package/src/components/popup/popup/opener.vue.d.ts +17 -0
- package/src/components/popup/popup/popup.vue.d.ts +38 -0
- package/{components/popup/popup/popup.d.ts → src/components/popup/popup/types.d.ts} +20 -11
- package/{components → src/components}/popup/popup/widgetInput.vue.d.ts +1 -1
- package/src/components/popup/popup.d.ts +7 -0
- package/src/components/popup/prompt/prompt.vue.d.ts +26 -0
- package/{components/popup/prompt/prompt.d.ts → src/components/popup/prompt/types.d.ts} +3 -3
- package/src/components/project/project.d.ts +9 -0
- package/{components → src/components}/project/selectorCompetitors/composables.d.ts +1 -2
- package/{components → src/components}/project/selectorCompetitors/selectorCompetitors.vue.d.ts +1 -1
- package/{components/project/selectorCompetitors/selectorCompetitors.d.ts → src/components/project/selectorCompetitors/types.d.ts} +7 -0
- package/{components → src/components}/project/selectorRegion/composables/compare.d.ts +1 -1
- package/{components → src/components}/project/selectorRegion/composables/selectRegion.d.ts +2 -3
- package/{components → src/components}/project/selectorRegion/composables/selectSearcher.d.ts +2 -2
- package/{components → src/components}/project/selectorRegion/composables/selectorRegion.d.ts +2 -2
- package/{components → src/components}/project/selectorRegion/dialog_selectorRegions/dialog_selectorRegions.vue.d.ts +3 -1
- package/{components → src/components}/project/selectorRegion/dialog_selectorRegions/types.d.ts +1 -1
- package/{components → src/components}/project/selectorRegion/selectorRegion.vue.d.ts +1 -1
- package/{components/project/selectorRegion/selectorRegion.d.ts → src/components/project/selectorRegion/types.d.ts} +2 -0
- package/src/components/project/selectorRegion/utils/consts.d.ts +31 -0
- package/{components → src/components}/project/selectorRegion/utils/utils.d.ts +4 -2
- package/{components → src/components}/project/tagSelector/popupOpener/types.d.ts +2 -0
- package/src/components/project/tagSelector/tagIcon/tagIcon.vue.d.ts +4 -0
- package/{components → src/components}/project/tagSelector/types.d.ts +2 -0
- package/{components → src/components}/project/tagSelector/utils/el.d.ts +1 -1
- package/{components → src/components}/tabs/tabs/content.vue.d.ts +1 -1
- package/{components → src/components}/tabs/tabs/tab.vue.d.ts +1 -1
- package/{components → src/components}/tabs/tabs/tabs.vue.d.ts +1 -1
- package/src/components/tabs/tabs.d.ts +3 -0
- package/{components → src/components}/tabsView/tabsView/menu.vue.d.ts +1 -1
- package/{components → src/components}/tabsView/tabsView/menuItem.vue.d.ts +1 -1
- package/{components → src/components}/tabsView/tabsView/menuTitle.vue.d.ts +1 -1
- package/src/components/tabsView/tabsView/store.d.ts +12 -0
- package/{components → src/components}/tabsView/tabsView/tabsView.vue.d.ts +1 -1
- package/{components/tabsView/tabsView/tabsView.d.ts → src/components/tabsView/tabsView/types.d.ts} +2 -2
- package/src/components/tabsView/tabsView.d.ts +3 -0
- package/src/core/app.d.ts +8 -0
- package/{core → src/core}/core/core.d.ts +1 -1
- package/{core → src/core}/core/options.d.ts +7 -6
- package/{core → src/core}/core/state.d.ts +1 -1
- package/src/core/directives/preloader.d.ts +8 -0
- package/{core → src/core}/plugins/core.d.ts +2 -2
- package/{core → src/core}/plugins/i18n.d.ts +4 -4
- package/{core → src/core}/utils/date.d.ts +30 -12
- package/{core → src/core}/utils/dom.d.ts +11 -1
- package/{core → src/core}/utils/route.d.ts +1 -1
- package/{core → src/core}/utils/searchers.d.ts +1 -1
- package/{core → src/core}/utils/store.d.ts +1 -1
- package/{core → src/core}/utils/string.d.ts +13 -1
- package/tabs/tabs.amd.js +1 -1
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.d.ts +1 -1
- package/tabs/tabs.js +14 -14
- package/tabs/tabs.js.map +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.d.ts +1 -1
- package/tabsView/tabsView.js +49 -48
- package/tabsView/tabsView.js.map +1 -1
- package/utils/check.amd.js +1 -1
- package/utils/check.amd.js.map +1 -1
- package/utils/check.d.ts +1 -1
- package/utils/check.js.map +1 -1
- package/utils/clipboard.amd.js +2 -2
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.d.ts +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/clipboard.js.map +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.d.ts +1 -1
- package/utils/date.js +4 -3
- package/utils/device.amd.js +1 -1
- package/utils/device.d.ts +1 -1
- package/utils/device.js +4 -4
- package/utils/dom.amd.js +1 -1
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.d.ts +3 -3
- package/utils/dom.js +27 -22
- package/utils/dom.js.map +1 -1
- package/utils/image.amd.js +2 -2
- package/utils/image.amd.js.map +1 -1
- package/utils/image.d.ts +1 -1
- package/utils/image.js +1 -1
- package/utils/image.js.map +1 -1
- package/utils/keyboard.amd.js +1 -1
- package/utils/keyboard.amd.js.map +1 -1
- package/utils/keyboard.d.ts +1 -1
- package/utils/keyboard.js.map +1 -1
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.d.ts +1 -1
- package/utils/lodash.js +1 -1
- package/utils/number.amd.js +1 -1
- package/utils/number.amd.js.map +1 -1
- package/utils/number.d.ts +1 -1
- package/utils/number.js.map +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.amd.js.map +1 -1
- package/utils/price.d.ts +1 -1
- package/utils/price.js +1 -1
- package/utils/price.js.map +1 -1
- package/utils/route.amd.js +1 -1
- package/utils/route.amd.js.map +1 -1
- package/utils/route.d.ts +1 -1
- package/utils/route.js +26 -19
- package/utils/route.js.map +1 -1
- package/utils/scroll.amd.js +1 -1
- package/utils/scroll.amd.js.map +1 -1
- package/utils/scroll.d.ts +1 -1
- package/utils/scroll.js.map +1 -1
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.amd.js.map +1 -1
- package/utils/searchers.d.ts +1 -1
- package/utils/searchers.js +3 -3
- package/utils/searchers.js.map +1 -1
- package/utils/store.amd.js +1 -1
- package/utils/store.d.ts +1 -1
- package/utils/string.amd.js +1 -1
- package/utils/string.amd.js.map +1 -1
- package/utils/string.d.ts +1 -1
- package/utils/string.js +41 -28
- package/utils/string.js.map +1 -1
- package/utils/system.amd.js +1 -1
- package/utils/system.amd.js.map +1 -1
- package/utils/system.d.ts +1 -1
- package/utils/system.js.map +1 -1
- package/utils/url.amd.js +2 -2
- package/utils/url.amd.js.map +1 -1
- package/utils/url.d.ts +1 -1
- package/utils/url.js +1 -1
- package/utils/url.js.map +1 -1
- package/web-types.json +130 -130
- package/.chunks/core-CcWs0qYw.amd.js +0 -2
- package/.chunks/core-CcWs0qYw.amd.js.map +0 -1
- package/.chunks/core-Dsl28h7N.es.js.map +0 -1
- package/.chunks/datepicker-B6kIyIcw.amd.js +0 -2
- package/.chunks/datepicker-B6kIyIcw.amd.js.map +0 -1
- package/.chunks/datepicker-BTiE5Grw.es.js.map +0 -1
- package/.chunks/dialog_selectorRegions-BZcnnvJM.es.js +0 -140
- package/.chunks/dialog_selectorRegions-BZcnnvJM.es.js.map +0 -1
- package/.chunks/dialog_selectorRegions-CePGUsCo.amd.js +0 -2
- package/.chunks/dialog_selectorRegions-CePGUsCo.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B5hK613K.es.js +0 -266
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B5hK613K.es.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-izSFcRLb.amd.js +0 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-izSFcRLb.amd.js.map +0 -1
- package/.chunks/forms-BsuCen2-.es.js +0 -1999
- package/.chunks/forms-BsuCen2-.es.js.map +0 -1
- package/.chunks/forms-BwGakScF.amd.js +0 -3
- package/.chunks/forms-BwGakScF.amd.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CfM8kOV1.amd.js +0 -2
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CfM8kOV1.amd.js.map +0 -1
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CszHDnB0.es.js +0 -181
- package/.chunks/listItem.vue_vue_type_script_setup_true_lang-CszHDnB0.es.js.map +0 -1
- package/.chunks/menu.vue_vue_type_style_index_0_lang-DQTVNJGq.amd.js +0 -2
- package/.chunks/menu.vue_vue_type_style_index_0_lang-DQTVNJGq.amd.js.map +0 -1
- package/.chunks/menu.vue_vue_type_style_index_0_lang-DmY5w4yr.es.js.map +0 -1
- package/.chunks/notice-CJdCc72d.amd.js.map +0 -1
- package/.chunks/notice-Cqs1dKt8.es.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-1JWduCTr.amd.js +0 -2
- package/.chunks/page.vue_vue_type_script_setup_true_lang-1JWduCTr.amd.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-BCfksgg3.es.js.map +0 -1
- package/.chunks/popup-CLhWWJDe.amd.js +0 -2
- package/.chunks/popup-CLhWWJDe.amd.js.map +0 -1
- package/.chunks/popup-N10MDafw.es.js +0 -416
- package/.chunks/popup-N10MDafw.es.js.map +0 -1
- package/.chunks/punycode.es6-C2yitnNb.amd.js +0 -2
- package/.chunks/punycode.es6-CNI-zL6U.es.js +0 -134
- package/.chunks/store-esTid5oI.amd.js +0 -2
- package/.chunks/store-esTid5oI.amd.js.map +0 -1
- package/.chunks/utils-B1H3EGkg.es.js.map +0 -1
- package/.chunks/utils-B7GVqGBH.amd.js +0 -2
- package/.chunks/utils-B7GVqGBH.amd.js.map +0 -1
- package/.chunks/utils-DIy2mbYd.amd.js +0 -2
- package/.chunks/utils-DIy2mbYd.amd.js.map +0 -1
- package/.chunks/utils-bjr7c5my.es.js +0 -225
- package/.chunks/utils-bjr7c5my.es.js.map +0 -1
- package/CHANGELOG.md +0 -14
- package/components/charts/charts.d.ts +0 -5
- package/components/charts/miniChart/stories/dummy.d.ts +0 -13
- package/components/charts/miniCharts/stories/dummy.d.ts +0 -6
- package/components/dialog/dialog/stories/autoload.d.ts +0 -2
- package/components/dialog/lib/utils.d.ts +0 -14
- package/components/forms/forms.d.ts +0 -27
- package/components/forms/helpers.d.ts +0 -10
- package/components/forms/input/input.d.ts +0 -34
- package/components/forms/inputDate/inputDate.d.ts +0 -3
- package/components/forms/select/stories/exampleOptions.d.ts +0 -5
- package/components/formsExt/formsExt.d.ts +0 -13
- package/components/formsExt/menu/stories/items.d.ts +0 -3
- package/components/formsExt/navigationMenu/navigationMenu.d.ts +0 -24
- package/components/formsExt/navigationMenu/stories/items.d.ts +0 -3
- package/components/formsExt/selector2/api.d.ts +0 -8
- package/components/formsExt/selector2/selector2.vue.d.ts +0 -210
- package/components/formsExt/selector2/stories/dummyAPIRequest.d.ts +0 -10
- package/components/layout/layout.d.ts +0 -9
- package/components/popup/alert/alert.d.ts +0 -8
- package/components/popup/alert/alert.vue.d.ts +0 -31
- package/components/popup/confirm/confirm.vue.d.ts +0 -33
- package/components/popup/popup/opener.vue.d.ts +0 -23
- package/components/popup/popup/popup.vue.d.ts +0 -40
- package/components/popup/popup.d.ts +0 -15
- package/components/popup/prompt/prompt.vue.d.ts +0 -33
- package/components/project/project.d.ts +0 -15
- package/components/project/selectorCompetitors/stories/items.d.ts +0 -3
- package/components/project/selectorCompetitors/types/competitor.d.ts +0 -7
- package/components/project/selectorRegion/stories/searchers.d.ts +0 -3
- package/components/project/selectorRegion/utils/consts.d.ts +0 -18
- package/components/tabs/tabs.d.ts +0 -7
- package/components/tabsView/tabsView/store.d.ts +0 -192
- package/components/tabsView/tabsView.d.ts +0 -7
- package/icomoon/Topvisor icons.json +0 -6260
- /package/assets/{popup.css → widgetInput.css} +0 -0
- /package/{components/charts/miniChart/miniChart.d.ts → src/components/charts/miniChart/types.d.ts} +0 -0
- /package/{components → src/components}/charts/miniChart/utils/consts.d.ts +0 -0
- /package/{components → src/components}/core/notice/item/item.vue.d.ts +0 -0
- /package/{components → src/components}/core/notice/notice.vue.d.ts +0 -0
- /package/{components → src/components}/core/notice/types.d.ts +0 -0
- /package/{components → src/components}/core/notice/utils.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/composables/asyncDialogHandle.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/composables/dialogHandle.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/composables/types.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/composables/utils.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/dialog.vue.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/page/page.vue.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/pageComponent/pageComponent.vue.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/pageComponent/types.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/stories/dialog_example/pages/utils.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog/types.d.ts +0 -0
- /package/{components → src/components}/dialog/dialog.d.ts +0 -0
- /package/{components/forms/checkbox/checkbox.d.ts → src/components/forms/checkbox/types.d.ts} +0 -0
- /package/{components/forms/controlLabel/controlLabel.d.ts → src/components/forms/controlLabel/types.d.ts} +0 -0
- /package/{components/forms/hint/hint.d.ts → src/components/forms/hint/types.d.ts} +0 -0
- /package/{components → src/components}/forms/inputDate/datepicker.d.ts +0 -0
- /package/{components → src/components}/forms/inputRange/inputRange.vue.d.ts +0 -0
- /package/{components/layout/islandRows/islandRowsRow → src/components/forms/inputRange}/types.d.ts +0 -0
- /package/{components → src/components}/forms/loadbar/loadbar.vue.d.ts +0 -0
- /package/{components/project/tagSelector/tagIcon/tagIcon.vue.d.ts → src/components/forms/preloader/preloader.vue.d.ts} +0 -0
- /package/{components/forms/radio/radio.d.ts → src/components/forms/radio/types.d.ts} +0 -0
- /package/{components/forms/switcher/switcher.d.ts → src/components/forms/switcher/types.d.ts} +0 -0
- /package/{components → src/components}/formsExt/info/info.vue.d.ts +0 -0
- /package/{components/formsExt/menu/menu.d.ts → src/components/formsExt/menu/types.d.ts} +0 -0
- /package/{components → src/components}/layout/islandRows/islandRows.vue.d.ts +0 -0
- /package/{components → src/components}/layout/islandRows/islandRowsRow/islandRowsRow.vue.d.ts +0 -0
- /package/{components/forms/inputRange/inputRange.d.ts → src/components/layout/islandRows/islandRowsRow/types.d.ts} +0 -0
- /package/{components → src/components}/layout/islandRows/islandRowsSubTitle/islandRowsSubTitle.vue.d.ts +0 -0
- /package/{components → src/components}/layout/rows/rows.vue.d.ts +0 -0
- /package/{components → src/components}/layout/rows/types.d.ts +0 -0
- /package/{components → src/components}/popup/lib/worker.globalEvents.d.ts +0 -0
- /package/{components → src/components}/popup/worker.d.ts +0 -0
- /package/{components → src/components}/project/tagSelector/popupListItem/tagPopupListItem.vue.d.ts +0 -0
- /package/{components → src/components}/project/tagSelector/popupListItem/types.d.ts +0 -0
- /package/{components → src/components}/project/tagSelector/popupOpener/popupOpener.vue.d.ts +0 -0
- /package/{components → src/components}/project/tagSelector/tagIcon/types.d.ts +0 -0
- /package/{components → src/components}/project/tagSelector/tagSelector.vue.d.ts +0 -0
- /package/{components → src/components}/project/tagSelector/tagsDefaults.d.ts +0 -0
- /package/{components → src/components}/project/tagSelector/utils/utils.d.ts +0 -0
- /package/{components/tabs/tabs/tabs.d.ts → src/components/tabs/tabs/types.d.ts} +0 -0
- /package/{components → src/components}/tabsView/tabsView/menuDelimeter.vue.d.ts +0 -0
- /package/{components → src/components}/tabsView/tabsView/utils.d.ts +0 -0
- /package/{core → src/core}/core/events/resize.d.ts +0 -0
- /package/{core → src/core}/core/events.d.ts +0 -0
- /package/{core → src/core}/core/preloaders.d.ts +0 -0
- /package/{core → src/core}/directives/data.d.ts +0 -0
- /package/{core → src/core}/directives/focus.d.ts +0 -0
- /package/{core → src/core}/directives/scrollIntoView.d.ts +0 -0
- /package/{core → src/core}/directives/scrollShadow.d.ts +0 -0
- /package/{core → src/core}/directives/sticky.d.ts +0 -0
- /package/{core → src/core}/directives/swimUp.d.ts +0 -0
- /package/{core → src/core}/directives/tooltip.d.ts +0 -0
- /package/{core → src/core}/plugins/piniaTPA.d.ts +0 -0
- /package/{core → src/core}/utils/check.d.ts +0 -0
- /package/{core → src/core}/utils/clipboard.d.ts +0 -0
- /package/{core → src/core}/utils/device.d.ts +0 -0
- /package/{core → src/core}/utils/image.d.ts +0 -0
- /package/{core → src/core}/utils/keyboard.d.ts +0 -0
- /package/{core → src/core}/utils/lodash.d.ts +0 -0
- /package/{core → src/core}/utils/number.d.ts +0 -0
- /package/{core → src/core}/utils/price.d.ts +0 -0
- /package/{core → src/core}/utils/scroll.d.ts +0 -0
- /package/{core → src/core}/utils/store/localStorage.d.ts +0 -0
- /package/{core → src/core}/utils/store/plugin.d.ts +0 -0
- /package/{core → src/core}/utils/store/store.d.ts +0 -0
- /package/{core → src/core}/utils/system.d.ts +0 -0
- /package/{core → src/core}/utils/url.d.ts +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Client } from './client/client';
|
|
2
|
+
import { postInWindow, dataToForm } from './utils/lazy';
|
|
3
|
+
export * from './utils/field';
|
|
4
|
+
export * from './utils/common';
|
|
5
|
+
export declare const postInWindow: postInWindow;
|
|
6
|
+
export declare const dataToForm: dataToForm;
|
|
7
|
+
/**
|
|
8
|
+
* Создать API клиент
|
|
9
|
+
*
|
|
10
|
+
* @see Api.Ext.UseExt
|
|
11
|
+
*/
|
|
12
|
+
export declare const createClient: <paths extends Api.PathsAbstract, UseExt extends Api.Ext.UseExt>(clientOptions: Partial<Api.ClientOptions> | undefined, useExt: UseExt) => Client<paths, UseExt>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const genMockResponse: (options: Api.Mocker.Options<any, any>, fields?: readonly string[], params?: Api.Mocker.Params) => Promise<{
|
|
2
|
+
result: any;
|
|
3
|
+
errors: undefined;
|
|
4
|
+
nextOffset: number | undefined;
|
|
5
|
+
total: number | undefined;
|
|
6
|
+
}>;
|
|
7
|
+
export declare const genMockResult: <Options extends Api.Mocker.Options<any, any>>(options: Options, fields?: readonly string[], params?: Api.Mocker.Params) => Api.Mocker.ToMockResult<Options["result"]>;
|
|
8
|
+
export declare const genMockItem: <T extends Api.Mocker.Item>(genItem: T, n: number, seed: number, fields?: readonly string[]) => Api.Mocker.ToMockItem<T>;
|
|
9
|
+
export declare const genMockValue: <T extends Api.Mocker.Value>(genValue: T, n?: number) => Api.Mocker.ToMockValue<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
/**
|
|
3
|
+
* Типы, используемые Api клиентом для работы со схемой расширения
|
|
4
|
+
*
|
|
5
|
+
* В схеме указываться только `POST` запросы в формате `application/json`, мотивация: схема не должна быть перегруженной
|
|
6
|
+
*
|
|
7
|
+
* При этом API обязано поддерживать те же запросы:
|
|
8
|
+
*
|
|
9
|
+
* - с HTTP методом GET: для поддержки кеширования
|
|
10
|
+
* - в формате `multipart/form-data`: для поддержки работы с файлами
|
|
11
|
+
*
|
|
12
|
+
* @see Api.Ext
|
|
13
|
+
*/
|
|
14
|
+
namespace Api {
|
|
15
|
+
/**
|
|
16
|
+
* Параметры запроса метода API
|
|
17
|
+
*
|
|
18
|
+
* @template Path Путь метода API
|
|
19
|
+
*/
|
|
20
|
+
type Params<RequestContext extends Api.ClientRequestContext<any, any, any>, FieldsNarrow extends Api.ParamsFields<RequestContext> | undefined = undefined, Model extends RequestContext['Model'] = RequestContext['Model'], ParamsOriginal extends Api.ParamsOriginal<RequestContext> = Api.ParamsOriginal<RequestContext>> = Omit<ParamsOriginal, 'fields' | 'filters' | 'orders' | 'fetch_style'> & Api.PickAndRetype<ParamsOriginal, 'fields', FieldsNarrow extends Api.Ext.Schemas['Fields'] ? Api.ArrowNarrow<Api.ParamsFields<RequestContext>, FieldsNarrow> : Api.ParamsFields<RequestContext>> & Api.PickAndRetype<ParamsOriginal, 'filters', [Model] extends [never] ? never : Api.Field.Filter<Model>[]> & Api.PickAndRetype<ParamsOriginal, 'orders', [Model] extends [never] ? never : Api.Field.Order<Model>[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Получить параметр списка полей с учетом дженериков модели
|
|
23
|
+
*
|
|
24
|
+
* Если в схеме не указан конкретный тип `fields`, он будет заменен типом из модели
|
|
25
|
+
*/
|
|
26
|
+
type ParamsFields<RequestContext extends Api.ClientRequestContext<any, any, any>, ParamsOriginalFields extends Api.ParamsOriginalFields<RequestContext> = Api.ParamsOriginalFields<RequestContext>> = [RequestContext['Model']] extends [never] ? ParamsOriginalFields : ParamsOriginalFields extends Api.Ext.Schemas['Fields'] ? Api.ModelFields<RequestContext['Model']> : ParamsOriginalFields;
|
|
27
|
+
/**
|
|
28
|
+
* Параметры запроса метода API, классический OpenAPI без дженериков
|
|
29
|
+
*
|
|
30
|
+
* @template Path Путь метода API
|
|
31
|
+
* @template T Интерфейс `paths` в схеме openAPI
|
|
32
|
+
*
|
|
33
|
+
* @see PathsAbstract
|
|
34
|
+
*/
|
|
35
|
+
type ParamsOriginal<RequestContext extends Api.ClientRequestContext<any, any, any>> = RequestContext['Schema']['post'] extends {
|
|
36
|
+
requestBody: {
|
|
37
|
+
content: {
|
|
38
|
+
'application/json': infer P extends Record<string, any>;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
} ? P : Record<string, any>;
|
|
42
|
+
type ParamsOriginalByPath<Paths extends Api.PathsAbstract, Path extends Api.Path<Paths>> = Paths[Path]['post'] extends {
|
|
43
|
+
requestBody: {
|
|
44
|
+
content: {
|
|
45
|
+
'application/json': infer P extends Record<string, any>;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
} ? P : Record<string, any>;
|
|
49
|
+
/**
|
|
50
|
+
* Получить параметр списка полей без учета дженериков модели и преобразовать его в базовый тип `fields`
|
|
51
|
+
*/
|
|
52
|
+
type ParamsOriginalFields<RequestContext extends Api.ClientRequestContext<any, any, any>> = Api.ParamsOriginal<RequestContext> extends {
|
|
53
|
+
fields?: infer Fields extends any[];
|
|
54
|
+
} ? unknown[] extends Fields ? Api.Ext.Schemas['Fields'] : Fields : never;
|
|
55
|
+
/**
|
|
56
|
+
* Тип ответа метода API с расширением дженериков для TV Open API
|
|
57
|
+
*
|
|
58
|
+
* Расширение классического `ResponseOriginal`
|
|
59
|
+
*
|
|
60
|
+
* @template RequestContext Контекст запроса
|
|
61
|
+
* @template Fields Имена полей для выборки, так как это массив, подстановка типа тут работать не будет, подстановка реализуется в js утилите
|
|
62
|
+
* @template FetchStyle Способ получения данных, влияет на тип получения результата, по умолчанию `null` - определяется автоматически
|
|
63
|
+
*
|
|
64
|
+
* @see Api.Ext.FetchStyle
|
|
65
|
+
* @see `ResponseOriginal`
|
|
66
|
+
*/
|
|
67
|
+
type Response<RequestContext extends Api.ClientRequestContext<any, any, any>, Fields extends Api.ParamsFields<RequestContext> | undefined = undefined, FetchStyle extends RequestContext['ParamsFetchStyle'] | null = null, Result extends Api.Result<RequestContext, Fields, FetchStyle> = Api.Result<RequestContext, Fields, FetchStyle>> = Api.ResponseSuccess<Result, RequestContext['Oper']> | Api.ResponseError<Result>;
|
|
68
|
+
/**
|
|
69
|
+
* Тип ответа метода API с произвольной типизацией
|
|
70
|
+
*
|
|
71
|
+
* Для случаев, когда тип не описан в Open API
|
|
72
|
+
*
|
|
73
|
+
* Расширение классического `ResponseOriginal`
|
|
74
|
+
*
|
|
75
|
+
* @see ResponseOriginal
|
|
76
|
+
*/
|
|
77
|
+
type ResponseCustom<Result = any> = Api.ResponseSuccess<Result, any> | Api.ResponseError<Result>;
|
|
78
|
+
/**
|
|
79
|
+
* Тип ответа метода API, классический OpenAPI без дженериков
|
|
80
|
+
*
|
|
81
|
+
* @template Path Путь метода API
|
|
82
|
+
* @template T Интерфейс `paths` в схеме openAPI
|
|
83
|
+
*
|
|
84
|
+
* @see PathsAbstract
|
|
85
|
+
*/
|
|
86
|
+
type ResponseOriginal<RequestContext extends Api.ClientRequestContext<any, any, any>> = RequestContext['Schema']['post']['responses'][200]['content'] extends {
|
|
87
|
+
'application/json': infer R extends Record<string, any>;
|
|
88
|
+
} ? R : never;
|
|
89
|
+
/**
|
|
90
|
+
* Тип `result` в ответе метода API
|
|
91
|
+
*
|
|
92
|
+
* Для методов API без модели и fetchStyle
|
|
93
|
+
*
|
|
94
|
+
* @template Path Путь метода API
|
|
95
|
+
* @template T Интерфейс `paths` в схеме openAPI
|
|
96
|
+
*
|
|
97
|
+
* @see `ResponseOriginal`
|
|
98
|
+
* @see PathsAbstract
|
|
99
|
+
*/
|
|
100
|
+
type ResponseOriginalResult<RequestContext extends Api.ClientRequestContext<any, any, any>> = Exclude<Api.ResponseOriginal<RequestContext>, Api.Ext.Schemas['ResponseError']> extends {
|
|
101
|
+
result?: infer R;
|
|
102
|
+
} ? R : never;
|
|
103
|
+
/**
|
|
104
|
+
* Результат в ответе метода API
|
|
105
|
+
*
|
|
106
|
+
* Не путайте с ответом API `Response`, который помимо результата содержит дополнительную информацию о выполнении метода
|
|
107
|
+
*
|
|
108
|
+
* @see Api.Response
|
|
109
|
+
*/
|
|
110
|
+
type Result<RequestContext extends Api.ClientRequestContext<any, any, any>, Fields extends Api.ParamsFields<RequestContext> | undefined = undefined, FetchStyle extends RequestContext['ParamsFetchStyle'] | null = null, Model extends RequestContext['Model'] = RequestContext['Model'], ResponseOriginalResult extends Api.ResponseOriginalResult<RequestContext> = Api.ResponseOriginalResult<RequestContext>> = [Model] extends [never] ? ResponseOriginalResult : null extends FetchStyle ? RequestContext['Oper'] extends 'get' ? ResultModel<Fields, 'fetchAll', Model> : ResponseOriginalResult : ResultModel<Fields, NonNullable<FetchStyle>, Model>;
|
|
111
|
+
/**
|
|
112
|
+
* Результат в ответе метода API для модели
|
|
113
|
+
*
|
|
114
|
+
* @see Api.Result
|
|
115
|
+
*/
|
|
116
|
+
type ResultModel<Fields extends Api.ModelFields<Model> | undefined, FetchStyle extends Api.Ext.Schemas['FetchStyle'], Model extends Api.Ext.Schemas['Model']> = Fields extends Api.ModelFields<Model> ? ResultByModelFetchStyle<Fields, Model>[FetchStyle] : never;
|
|
117
|
+
/**
|
|
118
|
+
* Преобразование модели в зависимости от `fetchStyle`
|
|
119
|
+
*/
|
|
120
|
+
type ResultByModelFetchStyle<Fields extends Api.ModelFields<Model>, Model extends Api.Ext.Schemas['Model']> = {
|
|
121
|
+
fetchAll: ModelSelected<Fields, Model>[];
|
|
122
|
+
fetchAllNum: number[][];
|
|
123
|
+
fetchAllColumn: Fields[0] extends keyof Model ? Model[Fields[0]][] : never;
|
|
124
|
+
fetch: ModelSelected<Fields, Model>;
|
|
125
|
+
fetchColumn: Fields[0] extends keyof Model ? Model[Fields[0]] : never;
|
|
126
|
+
fetchGroup: Record<string, ModelSelected<Fields, Model>[]>;
|
|
127
|
+
fetchGroupColumn: Fields[0] extends keyof Model ? Record<string, Model[Fields[0]][]> : never;
|
|
128
|
+
fetchUnique: Record<string, ModelSelected<Fields, Model>>;
|
|
129
|
+
fetchUniqueNum: Fields extends [] ? never : Record<string, SelectedModelNum<Fields, Model>>;
|
|
130
|
+
fetchUniqueColumn: Fields[0] extends keyof Model ? Record<string, Model[Fields[0]]> : never;
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Модель только с нужными полями
|
|
134
|
+
*/
|
|
135
|
+
type ModelSelected<Fields extends Api.ModelFields<Model>, Model extends Api.Ext.Schemas['Model']> = Fields extends [] ? never : Omit<Model, Exclude<keyof Model, Fields[number]>>;
|
|
136
|
+
/**
|
|
137
|
+
* Модель только с нужными полями без имен
|
|
138
|
+
*/
|
|
139
|
+
type SelectedModelNum<Fields extends Api.ModelFields<Model>, Model extends Api.Ext.Schemas['Model']> = Fields extends [] ? never : {
|
|
140
|
+
[K in keyof Fields]: Fields[K] extends keyof Model ? Model[Fields[K]] : never;
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
namespace Api {
|
|
3
|
+
type Middleware = {
|
|
4
|
+
onRequest: MiddlewareOnRequest;
|
|
5
|
+
onResponse?: MiddlewareOnResponse;
|
|
6
|
+
onError?: MiddlewareOnError;
|
|
7
|
+
} | {
|
|
8
|
+
onRequest?: MiddlewareOnRequest;
|
|
9
|
+
onResponse: MiddlewareOnResponse;
|
|
10
|
+
onError?: MiddlewareOnError;
|
|
11
|
+
} | {
|
|
12
|
+
onRequest?: MiddlewareOnRequest;
|
|
13
|
+
onResponse?: MiddlewareOnResponse;
|
|
14
|
+
onError: MiddlewareOnError;
|
|
15
|
+
};
|
|
16
|
+
type MiddlewareOnRequest = (ctx: MiddlewareCallbackParams) => void | globalThis.Request | globalThis.Response | undefined | Promise<globalThis.Request | globalThis.Response | undefined | void>;
|
|
17
|
+
type MiddlewareOnResponse = (ctx: MiddlewareCallbackParams & {
|
|
18
|
+
response: globalThis.Response;
|
|
19
|
+
}) => void | globalThis.Response | undefined | Promise<globalThis.Response | undefined | void>;
|
|
20
|
+
type MiddlewareOnError = (ctx: MiddlewareCallbackParams & {
|
|
21
|
+
error: unknown;
|
|
22
|
+
}) => void | globalThis.Response | Error | Promise<void | globalThis.Response | Error>;
|
|
23
|
+
type MiddlewareCallbackParams = {
|
|
24
|
+
readonly useExt: Api.Ext.UseExt;
|
|
25
|
+
readonly requestOptions: Api.ClientRequestOptions;
|
|
26
|
+
/**
|
|
27
|
+
* Параметры запроса
|
|
28
|
+
*
|
|
29
|
+
* Для модификации параметров запроса используйте настройку клиента: `onPrepareData`
|
|
30
|
+
*
|
|
31
|
+
* @see Api.ClientOptions.onPrepareData
|
|
32
|
+
*/
|
|
33
|
+
readonly data: Readonly<Record<string, any>>;
|
|
34
|
+
/**
|
|
35
|
+
* Дополнительная информация о запросе
|
|
36
|
+
*
|
|
37
|
+
* Только для middleware
|
|
38
|
+
*/
|
|
39
|
+
middlewareData: Record<string, any>;
|
|
40
|
+
/**
|
|
41
|
+
* Основные параметры клиента API
|
|
42
|
+
*/
|
|
43
|
+
readonly options: Api.BaseOptions;
|
|
44
|
+
/**
|
|
45
|
+
* Путь схемы OpenAPI
|
|
46
|
+
*/
|
|
47
|
+
readonly schemaPath: Api.PathAbstract;
|
|
48
|
+
/**
|
|
49
|
+
* Уникальный идентификатор этого запроса
|
|
50
|
+
*/
|
|
51
|
+
readonly id: string;
|
|
52
|
+
/**
|
|
53
|
+
* Объект запроса, который будет использоваться в `fetch()`
|
|
54
|
+
*/
|
|
55
|
+
request: globalThis.Request;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Ошибка при разборе результата API
|
|
59
|
+
*/
|
|
60
|
+
type FormatError = (SyntaxError | TypeError) & {
|
|
61
|
+
responseText?: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
namespace Api {
|
|
3
|
+
/**
|
|
4
|
+
* Опции клиента API
|
|
5
|
+
*
|
|
6
|
+
* Опции применяются для всех запросов
|
|
7
|
+
*/
|
|
8
|
+
interface ClientOptions extends BaseOptions, RequestInit {
|
|
9
|
+
/**
|
|
10
|
+
* Расширенные настройки выполнения запроса по умолчанию для всех запросов API клиента
|
|
11
|
+
*/
|
|
12
|
+
requestOptions: Partial<Api.ClientRequestOptions>;
|
|
13
|
+
/**
|
|
14
|
+
* Хук, для модификации параметров запроса
|
|
15
|
+
*
|
|
16
|
+
* Данные `data` безопасно меняются по ссылке
|
|
17
|
+
*
|
|
18
|
+
* Используется перед созданием объекта запроса `Request`
|
|
19
|
+
*
|
|
20
|
+
* Является более оптимальным решением, чем пересоздание запроса через middleware `onRequest()`
|
|
21
|
+
*/
|
|
22
|
+
onPrepareData?: (data: Record<string, any>, options: Omit<Api.MiddlewareCallbackParams, 'request'>) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Выводить ли информацию о перехваченных ошибках API с помощью `console`
|
|
25
|
+
*
|
|
26
|
+
* Только при использовании `useExt`
|
|
27
|
+
*
|
|
28
|
+
* @see console
|
|
29
|
+
*/
|
|
30
|
+
useApiConsole?: boolean;
|
|
31
|
+
}
|
|
32
|
+
type BaseOptions = {
|
|
33
|
+
/**
|
|
34
|
+
* Базовый URL для всех API-запросов
|
|
35
|
+
*/
|
|
36
|
+
baseUrl?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Глобальный сериализатор query-параметров
|
|
39
|
+
*/
|
|
40
|
+
querySerializer: (input: Record<string, any>) => Promise<string> | string;
|
|
41
|
+
/**
|
|
42
|
+
* Глобальный сериализатор тела запроса
|
|
43
|
+
*/
|
|
44
|
+
bodySerializer: (input: Record<string, any>) => string;
|
|
45
|
+
/**
|
|
46
|
+
* Пользовательский реализация `Request`
|
|
47
|
+
*
|
|
48
|
+
* @see Request
|
|
49
|
+
*/
|
|
50
|
+
Request: typeof Request;
|
|
51
|
+
/**
|
|
52
|
+
* Пользовательская реализация `fetch`
|
|
53
|
+
*
|
|
54
|
+
* @see fetch
|
|
55
|
+
*/
|
|
56
|
+
fetch: (input: RequestInfo, init?: RequestInit) => Promise<globalThis.Response>;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
namespace Api {
|
|
3
|
+
/**
|
|
4
|
+
* Контекст выполнения запросов
|
|
5
|
+
*/
|
|
6
|
+
interface ClientRequestContext<Paths extends Api.PathsAbstract, Path extends Api.Path<Paths>, UseExt extends Api.Ext.UseExt> {
|
|
7
|
+
/**
|
|
8
|
+
* @see Api.PathsAbstract
|
|
9
|
+
*/
|
|
10
|
+
Paths: Paths;
|
|
11
|
+
/**
|
|
12
|
+
* @see Api.Path
|
|
13
|
+
*/
|
|
14
|
+
Path: Path;
|
|
15
|
+
/**
|
|
16
|
+
* @see Api.Ext.UseExt
|
|
17
|
+
*/
|
|
18
|
+
UseExt: UseExt;
|
|
19
|
+
/**
|
|
20
|
+
* Схема API метода
|
|
21
|
+
*
|
|
22
|
+
* @see Api.PathsAbstract
|
|
23
|
+
* @see https://learn.openapis.org/specification/paths.html#the-path-item-object
|
|
24
|
+
* @see https://spec.openapis.org/oas/v3.1.0#path-item-object
|
|
25
|
+
*/
|
|
26
|
+
Schema: Paths[Path];
|
|
27
|
+
Oper: UseExt extends true ? Api.Oper<Paths, Path> : never;
|
|
28
|
+
Model: Api.Model<Paths, Path>;
|
|
29
|
+
ParamsFetchStyle: [Api.Model<Paths, Path>] extends [never] ? never : Api.ParamsOriginalByPath<Paths, Path> extends {
|
|
30
|
+
fetch_style?: any;
|
|
31
|
+
} ? Api.Ext.Schemas['FetchStyle'] : never;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
namespace Api {
|
|
3
|
+
/**
|
|
4
|
+
* Расширенные настройки выполнения запроса
|
|
5
|
+
*/
|
|
6
|
+
interface ClientRequestOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Элемент, который получит статус загрузки
|
|
9
|
+
*
|
|
10
|
+
* Для использования в хуке `onLoading()`
|
|
11
|
+
*/
|
|
12
|
+
loadingEl: HTMLElement;
|
|
13
|
+
/**
|
|
14
|
+
* Отображать ли индикатор загрузки
|
|
15
|
+
*
|
|
16
|
+
* Для использования в хуке `onLoading()`
|
|
17
|
+
*/
|
|
18
|
+
loadingShowSpinner: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Событие смены статуса загрузки
|
|
21
|
+
*/
|
|
22
|
+
onLoading?: (isLoading: boolean, ctx: Api.MiddlewareCallbackParams) => void | Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Событие, которое сработает при получении результата API
|
|
25
|
+
*
|
|
26
|
+
* Не путать с результатами `fetch()`
|
|
27
|
+
*
|
|
28
|
+
* Только при использовании `useExt`
|
|
29
|
+
*/
|
|
30
|
+
onApiLoaded?: (res: Api.Response<any>, ctx: Api.MiddlewareCallbackParams) => void | Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Событие, которое сработает при получении ошибки API в `res.errors`
|
|
33
|
+
*
|
|
34
|
+
* Не путать с ошибками `fetch()`
|
|
35
|
+
*
|
|
36
|
+
* Только при использовании `useExt`
|
|
37
|
+
*
|
|
38
|
+
* При переопределении на уровне запроса API, вы можете переиспользовать ранее определенное событие на уровне API клиента:
|
|
39
|
+
* ```
|
|
40
|
+
* onApiError = (res, ctx, prevOnError) => prevOnApiError?.(res, ctx);
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @see createClient
|
|
44
|
+
*/
|
|
45
|
+
onApiError?: (res: Api.Response<any>, ctx: Api.MiddlewareCallbackParams & {
|
|
46
|
+
formatError?: FormatError;
|
|
47
|
+
}, prevOnApiError?: this['onApiError']) => void | Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Событие, которое сработает при получении сообщения API в `res.messages`
|
|
50
|
+
*
|
|
51
|
+
* Только при использовании `useExt`
|
|
52
|
+
*/
|
|
53
|
+
onApiMessage?: (res: Api.Response<any>, ctx: Api.MiddlewareCallbackParams) => void | Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Отклонить предыдущий запрос, если запрошен новый с таким же значением `checkFingerprint`
|
|
56
|
+
*
|
|
57
|
+
* В этом случае запрос вернет результат с ошибкой соединения с кодом `0`
|
|
58
|
+
*/
|
|
59
|
+
checkFingerprint?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Метод HTTP запроса
|
|
62
|
+
*
|
|
63
|
+
* @see https://developer.mozilla.org/ru/docs/Web/HTTP/Reference/Methods
|
|
64
|
+
*/
|
|
65
|
+
method: 'GET' | 'POST';
|
|
66
|
+
/**
|
|
67
|
+
* Ожидаемый тип контента в ответе
|
|
68
|
+
*/
|
|
69
|
+
accept: 'application/json' | 'text/csv';
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
namespace Api {
|
|
3
|
+
/**
|
|
4
|
+
* Объект с запросом к конкретному методу API
|
|
5
|
+
*/
|
|
6
|
+
interface ClientRequest<RequestContext extends Api.ClientRequestContext<any, any, any>, FieldsNarrow extends Api.ParamsFields<RequestContext> | undefined = undefined, Params extends Api.Params<RequestContext> = Api.Params<RequestContext>, ParamsFieldsNarrowed extends Api.PropIfExists<Params, 'fields'> = Api.PropIfExists<Params, 'fields'>> {
|
|
7
|
+
/**
|
|
8
|
+
* Имя метода
|
|
9
|
+
*/
|
|
10
|
+
readonly path: Api.PathAbstract;
|
|
11
|
+
/**
|
|
12
|
+
* Url для обращения к методу API
|
|
13
|
+
*
|
|
14
|
+
* Не включает параметры запроса
|
|
15
|
+
*/
|
|
16
|
+
readonly url: string;
|
|
17
|
+
/**
|
|
18
|
+
* Параметры метода API
|
|
19
|
+
*/
|
|
20
|
+
params: Omit<Params, 'fields'> & (Params extends {
|
|
21
|
+
fields: any;
|
|
22
|
+
} ? Readonly<Pick<Params, 'fields'>> : {});
|
|
23
|
+
/**
|
|
24
|
+
* Опции запроса
|
|
25
|
+
*/
|
|
26
|
+
options: Api.ClientRequestOptions;
|
|
27
|
+
mockerOptions?: Api.Mocker.Options<Api.Mocker.Result, Params>;
|
|
28
|
+
/**
|
|
29
|
+
* Признак загрузки
|
|
30
|
+
*/
|
|
31
|
+
inLoading: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Получить флаг загрузки
|
|
34
|
+
*/
|
|
35
|
+
getInLoading(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Переназначить параметры запроса
|
|
38
|
+
*
|
|
39
|
+
* Полностью заменит предыдущее значение параметров
|
|
40
|
+
*/
|
|
41
|
+
setParams(params: Omit<Params, 'fields' | 'fetch_style'>): this;
|
|
42
|
+
/**
|
|
43
|
+
* Изменить параметры запроса
|
|
44
|
+
*/
|
|
45
|
+
changeParams(params: Partial<Omit<Params, 'fields' | 'fetch_style'>>): this;
|
|
46
|
+
/**
|
|
47
|
+
* Установить расширенные настройки запроса
|
|
48
|
+
*/
|
|
49
|
+
setOptions(options: Partial<Api.ClientRequestOptions>): this;
|
|
50
|
+
/**
|
|
51
|
+
* Установить генератор данных вместо реальных запросов к серверу
|
|
52
|
+
*/
|
|
53
|
+
setMocker<MockerResult extends Api.Mocker.Result>(options?: Api.Mocker.Options<MockerResult, Params>): this;
|
|
54
|
+
/**
|
|
55
|
+
* Выполнить обращение к методу API
|
|
56
|
+
*/
|
|
57
|
+
call<Fields extends ParamsFieldsNarrowed & FieldsNarrow>(fields?: Fields): Promise<RequestContext['UseExt'] extends true ? Api.Response<RequestContext, Fields> : Api.ResponseOriginal<RequestContext>>;
|
|
58
|
+
/**
|
|
59
|
+
* Выполнить обращение к методу API с указанием `fetchStyle`
|
|
60
|
+
*/
|
|
61
|
+
callFetch: <Fields extends ParamsFieldsNarrowed & FieldsNarrow, FetchStyle extends RequestContext['ParamsFetchStyle']>(fetchStyle: FetchStyle, fields?: Fields) => Promise<Api.Response<RequestContext, Fields, FetchStyle>>;
|
|
62
|
+
/**
|
|
63
|
+
* Выполнить обращение к методу API в новом окне
|
|
64
|
+
*
|
|
65
|
+
* Примеры использования:
|
|
66
|
+
* - скачивание файлов
|
|
67
|
+
* - печать документов
|
|
68
|
+
*/
|
|
69
|
+
callInNewWindow(fields?: ParamsFieldsNarrowed & FieldsNarrow): void;
|
|
70
|
+
/**
|
|
71
|
+
* Выполнить обращение к методу API в текущем окне
|
|
72
|
+
*
|
|
73
|
+
* Примеры использования:
|
|
74
|
+
* - переход на станицу интеграции, OAuth
|
|
75
|
+
* - открытие формы оплаты
|
|
76
|
+
*/
|
|
77
|
+
callInSelfWindow(fields?: ParamsFieldsNarrowed & FieldsNarrow): void;
|
|
78
|
+
/** Генерация параметров запроса */
|
|
79
|
+
genData<FetchStyle extends RequestContext['ParamsFetchStyle']>(fields?: FieldsNarrow, fetchStyle?: FetchStyle): Record<string, any>;
|
|
80
|
+
exec(fields?: FieldsNarrow, fetchStyle?: RequestContext['ParamsFetchStyle']): Promise<any>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Объект с запросом к методу API, не описанному в OpenAPI
|
|
84
|
+
*/
|
|
85
|
+
interface ClientRequestCustom<useExt extends Api.Ext.UseExt, Params extends Record<string, any>, Result> extends ClientRequest<Api.ClientRequestContext<any, any, useExt>, any[], Params> {
|
|
86
|
+
params: Params;
|
|
87
|
+
call(fields?: any): Promise<useExt extends true ? Api.ResponseCustom<Result> : Result>;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export {};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { components as FetchStyleComponents } from 'topvisor-openapi/src/ts/FetchStyle';
|
|
2
|
+
import { components as FieldDirectionComponents } from 'topvisor-openapi/src/ts/FieldDirection';
|
|
3
|
+
import { components as FieldFilterComponents } from 'topvisor-openapi/src/ts/FieldFilter';
|
|
4
|
+
import { components as FieldOperatorComponents } from 'topvisor-openapi/src/ts/FieldOperator';
|
|
5
|
+
import { components as FieldOrderComponents } from 'topvisor-openapi/src/ts/FieldOrder';
|
|
6
|
+
import { components as ResponseErrorComponents } from 'topvisor-openapi/src/ts/ResponseError';
|
|
7
|
+
import { components as ResponseSuccessComponents } from 'topvisor-openapi/src/ts/ResponseSuccess';
|
|
8
|
+
import { components as PaginationComponents } from 'topvisor-openapi/src/ts/Pagination';
|
|
9
|
+
declare global {
|
|
10
|
+
namespace Api {
|
|
11
|
+
/**
|
|
12
|
+
* Схемы расширения спецификации OpenAPI для работы с селектором
|
|
13
|
+
*
|
|
14
|
+
* Эти схемы реализуются с помощью Api клиента и дженериков
|
|
15
|
+
*
|
|
16
|
+
* В данном namespace определяются только базовые схемы без дженериков
|
|
17
|
+
*/
|
|
18
|
+
namespace Ext {
|
|
19
|
+
/**
|
|
20
|
+
* Использовать расширение спецификации OpenAPI с селектором
|
|
21
|
+
*/
|
|
22
|
+
type UseExt = boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Базовые структуры расширения селектора для API без дженериков
|
|
25
|
+
*/
|
|
26
|
+
type Schemas = {
|
|
27
|
+
/**
|
|
28
|
+
* Операция метода API
|
|
29
|
+
*
|
|
30
|
+
* Определяет возможные операции метода API
|
|
31
|
+
*/
|
|
32
|
+
Oper: 'get' | 'edit' | 'add' | 'del';
|
|
33
|
+
} & {
|
|
34
|
+
/**
|
|
35
|
+
* Базовый тип для всех моделей
|
|
36
|
+
*/
|
|
37
|
+
Model: Record<string, any>;
|
|
38
|
+
} & {
|
|
39
|
+
/**
|
|
40
|
+
* Базовый тип списка полей
|
|
41
|
+
*
|
|
42
|
+
* @todo Реализовать тип объектов
|
|
43
|
+
*/
|
|
44
|
+
Fields: readonly string[];
|
|
45
|
+
} & {
|
|
46
|
+
FetchStyle: Extract<FetchStyleComponents['schemas']['FetchStyle'], keyof Api.ResultByModelFetchStyle<any, any>>;
|
|
47
|
+
} & FieldDirectionComponents['schemas'] & FieldFilterComponents['schemas'] & FieldOperatorComponents['schemas'] & FieldOrderComponents['schemas'] & ResponseErrorComponents['schemas'] & ResponseSuccessComponents['schemas'] & PaginationComponents['schemas'];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
namespace Api {
|
|
3
|
+
/**
|
|
4
|
+
* Поле - это составляющая часть объектов, которые характеризуются типом, называемым моделью
|
|
5
|
+
*
|
|
6
|
+
* Модель данных обеспечивает доступ и управление к коллекциям
|
|
7
|
+
*
|
|
8
|
+
* Не все API работают с моделью данных
|
|
9
|
+
*/
|
|
10
|
+
namespace Field {
|
|
11
|
+
/**
|
|
12
|
+
* Имя поля
|
|
13
|
+
*/
|
|
14
|
+
type Name<Model extends Api.Ext.Schemas['Model']> = keyof Model extends string ? keyof Model : string;
|
|
15
|
+
/**
|
|
16
|
+
* Фильтр по полю
|
|
17
|
+
*/
|
|
18
|
+
type Filter<Model extends Api.Ext.Schemas['Model'], FieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>> = {
|
|
19
|
+
name: FieldName;
|
|
20
|
+
values: Model[FieldName][];
|
|
21
|
+
} & Omit<Api.Ext.Schemas['FieldFilter'], 'name'>;
|
|
22
|
+
/**
|
|
23
|
+
* Сортировка по полю
|
|
24
|
+
*/
|
|
25
|
+
type Order<Model extends Api.Ext.Schemas['Model'], FieldName extends Api.Field.Name<Model> = Api.Field.Name<Model>> = {
|
|
26
|
+
name: FieldName;
|
|
27
|
+
orderValues?: Model[FieldName][];
|
|
28
|
+
values?: Model[FieldName][];
|
|
29
|
+
} & Omit<Api.Ext.Schemas['FieldOrder'], 'name' | 'orderValues' | 'values'>;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './client/client';
|
|
2
|
+
export * from './client/middleware';
|
|
3
|
+
export * from './client/options';
|
|
4
|
+
export * from './client/request-context';
|
|
5
|
+
export * from './client/request-options';
|
|
6
|
+
export * from './client/request';
|
|
7
|
+
export * from './api';
|
|
8
|
+
export * from './ext';
|
|
9
|
+
export * from './field';
|
|
10
|
+
export * from './mocker';
|
|
11
|
+
export * from './schema';
|
|
12
|
+
export * from './tv';
|
|
13
|
+
export * from './utils';
|