amis-core 6.8.0 → 6.9.0-rc.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/esm/Root.js +1 -1
- package/esm/RootRenderer.d.ts +1 -1
- package/esm/RootRenderer.js +24 -2
- package/esm/SchemaRenderer.js +29 -15
- package/esm/Scoped.js +1 -1
- package/esm/StatusScoped.js +1 -1
- package/esm/WithRootStore.js +1 -1
- package/esm/WithStore.js +1 -1
- package/esm/actions/Action.js +1 -1
- package/esm/actions/AjaxAction.js +1 -1
- package/esm/actions/BreakAction.js +1 -1
- package/esm/actions/BroadcastAction.js +1 -1
- package/esm/actions/CmptAction.js +1 -1
- package/esm/actions/ContinueAction.js +1 -1
- package/esm/actions/CopyAction.js +1 -1
- package/esm/actions/CustomAction.js +1 -1
- package/esm/actions/DialogAction.js +1 -1
- package/esm/actions/DrawerAction.js +1 -1
- package/esm/actions/EmailAction.js +1 -1
- package/esm/actions/EventAction.js +1 -1
- package/esm/actions/LinkAction.js +1 -1
- package/esm/actions/LoopAction.js +1 -1
- package/esm/actions/PageAction.js +1 -1
- package/esm/actions/ParallelAction.js +1 -1
- package/esm/actions/PrintAction.js +1 -1
- package/esm/actions/StatusAction.js +1 -1
- package/esm/actions/SwitchAction.js +1 -1
- package/esm/actions/ToastAction.js +1 -1
- package/esm/actions/WaitAction.js +1 -1
- package/esm/components/CustomStyle.js +1 -1
- package/esm/components/ErrorBoundary.js +1 -1
- package/esm/components/LazyComponent.d.ts +40 -2
- package/esm/components/LazyComponent.js +13 -7
- package/esm/components/Overlay.js +1 -1
- package/esm/components/PopOver.d.ts +1 -1
- package/esm/components/PopOver.js +1 -1
- package/esm/env.js +1 -1
- package/esm/envOverwrite.js +1 -1
- package/esm/factory.d.ts +13 -2
- package/esm/factory.js +157 -45
- package/esm/index.d.ts +4 -4
- package/esm/index.js +5 -5
- package/esm/locale.js +1 -1
- package/esm/polyfills.js +1 -1
- package/esm/renderers/Form.js +3 -3
- package/esm/renderers/Item.js +6 -6
- package/esm/renderers/Options.d.ts +3 -3
- package/esm/renderers/Options.js +42 -19
- package/esm/renderers/Placeholder.js +1 -1
- package/esm/renderers/builtin.js +1 -1
- package/esm/renderers/register.js +1 -1
- package/esm/renderers/wrapControl.js +1 -1
- package/esm/store/app.js +1 -1
- package/esm/store/combo.js +1 -1
- package/esm/store/crud.js +1 -1
- package/esm/store/form.js +1 -1
- package/esm/store/formItem.js +1 -1
- package/esm/store/iRenderer.js +1 -1
- package/esm/store/index.d.ts +1 -0
- package/esm/store/index.js +3 -2
- package/esm/store/list.js +1 -1
- package/esm/store/manager.js +1 -1
- package/esm/store/modal.js +1 -1
- package/esm/store/node.js +1 -1
- package/esm/store/pagination.js +1 -1
- package/esm/store/root.d.ts +2 -0
- package/esm/store/root.js +45 -21
- package/esm/store/service.js +1 -1
- package/esm/store/status.js +1 -1
- package/esm/store/table.js +1 -1
- package/esm/store/table2.js +1 -1
- package/esm/theme.js +1 -1
- package/esm/types.d.ts +4 -2
- package/esm/utils/Animation.js +1 -1
- package/esm/utils/ColorScale.js +1 -1
- package/esm/utils/DataSchema.js +1 -1
- package/esm/utils/DataScope.js +1 -1
- package/esm/utils/RootClose.js +1 -1
- package/esm/utils/SimpleMap.js +1 -1
- package/esm/utils/api.d.ts +21 -1
- package/esm/utils/api.js +133 -41
- package/esm/utils/arraySlice.js +1 -1
- package/esm/utils/attachmentAdpator.js +1 -1
- package/esm/utils/autobind.js +1 -1
- package/esm/utils/browser.js +1 -1
- package/esm/utils/columnsSplit.js +1 -1
- package/esm/utils/concatData.js +1 -1
- package/esm/utils/dataMapping.js +1 -1
- package/esm/utils/date.js +1 -1
- package/esm/utils/debug.js +1 -1
- package/esm/utils/decodeEntity.js +1 -1
- package/esm/utils/dom.js +1 -1
- package/esm/utils/errors.js +1 -1
- package/esm/utils/escapeHtml.js +1 -1
- package/esm/utils/filter-schema.js +1 -1
- package/esm/utils/filter.js +1 -1
- package/esm/utils/formatDuration.js +1 -1
- package/esm/utils/formula.js +1 -1
- package/esm/utils/getVariable.js +1 -1
- package/esm/utils/grammar.js +1 -1
- package/esm/utils/handleAction.js +1 -1
- package/esm/utils/helper.js +1 -1
- package/esm/utils/highlight.js +1 -1
- package/esm/utils/icon.js +1 -1
- package/esm/utils/image.js +1 -1
- package/esm/utils/isPureVariable.js +1 -1
- package/esm/utils/json-schema-2-amis-schema.js +1 -1
- package/esm/utils/keyToPath.js +1 -1
- package/esm/utils/labelToString.js +1 -1
- package/esm/utils/makeSorter.js +1 -1
- package/esm/utils/math.js +1 -1
- package/esm/utils/memoryParse.js +1 -1
- package/esm/utils/normalizeLink.js +1 -1
- package/esm/utils/normalizeOptions.js +1 -1
- package/esm/utils/object.js +1 -1
- package/esm/utils/offset.js +1 -1
- package/esm/utils/offsetParent.js +1 -1
- package/esm/utils/optionValueCompare.js +1 -1
- package/esm/utils/position.js +1 -1
- package/esm/utils/prettyBytes.js +1 -1
- package/esm/utils/printElement.js +1 -1
- package/esm/utils/renderer-event.js +1 -1
- package/esm/utils/replaceText.js +1 -1
- package/esm/utils/resize-sensor.js +1 -1
- package/esm/utils/resolveCondition.js +1 -1
- package/esm/utils/resolveVariable.js +1 -1
- package/esm/utils/resolveVariableAndFilter.js +1 -1
- package/esm/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/esm/utils/scrollPosition.js +1 -1
- package/esm/utils/string2regExp.js +1 -1
- package/esm/utils/stripNumber.js +1 -1
- package/esm/utils/style-helper.js +1 -1
- package/esm/utils/style.js +1 -1
- package/esm/utils/toNumber.js +1 -1
- package/esm/utils/tokenize.js +1 -1
- package/esm/utils/tpl-builtin.js +1 -1
- package/esm/utils/tpl-lodash.js +1 -1
- package/esm/utils/tpl.js +1 -1
- package/esm/utils/uncontrollable.js +1 -1
- package/esm/utils/validateId.js +1 -1
- package/esm/utils/validations.js +1 -1
- package/esm/utils/visitedCache.js +1 -1
- package/lib/Root.js +1 -1
- package/lib/RootRenderer.js +23 -1
- package/lib/SchemaRenderer.js +27 -13
- package/lib/Scoped.js +1 -1
- package/lib/StatusScoped.js +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithStore.js +1 -1
- package/lib/actions/Action.js +1 -1
- package/lib/actions/AjaxAction.js +1 -1
- package/lib/actions/BreakAction.js +1 -1
- package/lib/actions/BroadcastAction.js +1 -1
- package/lib/actions/CmptAction.js +1 -1
- package/lib/actions/ContinueAction.js +1 -1
- package/lib/actions/CopyAction.js +1 -1
- package/lib/actions/CustomAction.js +1 -1
- package/lib/actions/DialogAction.js +1 -1
- package/lib/actions/DrawerAction.js +1 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/EventAction.js +1 -1
- package/lib/actions/LinkAction.js +1 -1
- package/lib/actions/LoopAction.js +1 -1
- package/lib/actions/PageAction.js +1 -1
- package/lib/actions/ParallelAction.js +1 -1
- package/lib/actions/PrintAction.js +1 -1
- package/lib/actions/StatusAction.js +1 -1
- package/lib/actions/SwitchAction.js +1 -1
- package/lib/actions/ToastAction.js +1 -1
- package/lib/actions/WaitAction.js +1 -1
- package/lib/components/CustomStyle.js +1 -1
- package/lib/components/ErrorBoundary.js +1 -1
- package/lib/components/LazyComponent.d.ts +40 -2
- package/lib/components/LazyComponent.js +14 -7
- package/lib/components/Overlay.js +1 -1
- package/lib/components/PopOver.d.ts +1 -1
- package/lib/components/PopOver.js +1 -1
- package/lib/env.js +1 -1
- package/lib/envOverwrite.js +1 -1
- package/lib/factory.d.ts +13 -2
- package/lib/factory.js +161 -44
- package/lib/index.d.ts +4 -4
- package/lib/index.js +10 -2
- package/lib/locale.js +1 -1
- package/lib/polyfills.js +1 -1
- package/lib/renderers/Form.js +1 -1
- package/lib/renderers/Item.js +6 -6
- package/lib/renderers/Options.d.ts +3 -3
- package/lib/renderers/Options.js +42 -19
- package/lib/renderers/Placeholder.js +1 -1
- package/lib/renderers/builtin.js +1 -1
- package/lib/renderers/register.js +1 -1
- package/lib/renderers/wrapControl.js +1 -1
- package/lib/store/app.js +1 -1
- package/lib/store/combo.d.ts +24 -25
- package/lib/store/combo.js +1 -1
- package/lib/store/crud.js +2 -2
- package/lib/store/form.d.ts +10 -11
- package/lib/store/form.js +1 -1
- package/lib/store/formItem.js +1 -1
- package/lib/store/iRenderer.js +1 -1
- package/lib/store/index.d.ts +1 -0
- package/lib/store/index.js +3 -1
- package/lib/store/list.js +1 -1
- package/lib/store/manager.js +1 -1
- package/lib/store/modal.js +1 -1
- package/lib/store/node.js +1 -1
- package/lib/store/pagination.js +1 -1
- package/lib/store/root.d.ts +2 -0
- package/lib/store/root.js +43 -19
- package/lib/store/service.js +1 -1
- package/lib/store/status.js +1 -1
- package/lib/store/table.d.ts +20 -21
- package/lib/store/table.js +1 -1
- package/lib/store/table2.js +1 -1
- package/lib/theme.js +1 -1
- package/lib/types.d.ts +4 -2
- package/lib/utils/Animation.js +1 -1
- package/lib/utils/ColorScale.js +1 -1
- package/lib/utils/DataSchema.js +1 -1
- package/lib/utils/DataScope.js +1 -1
- package/lib/utils/RootClose.js +1 -1
- package/lib/utils/SimpleMap.js +1 -1
- package/lib/utils/api.d.ts +21 -1
- package/lib/utils/api.js +136 -40
- package/lib/utils/arraySlice.js +1 -1
- package/lib/utils/attachmentAdpator.js +1 -1
- package/lib/utils/autobind.js +1 -1
- package/lib/utils/browser.js +1 -1
- package/lib/utils/columnsSplit.js +1 -1
- package/lib/utils/concatData.js +1 -1
- package/lib/utils/dataMapping.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/debug.js +2 -2
- package/lib/utils/decodeEntity.js +1 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/errors.js +1 -1
- package/lib/utils/escapeHtml.js +1 -1
- package/lib/utils/filter-schema.js +1 -1
- package/lib/utils/filter.js +1 -1
- package/lib/utils/formatDuration.js +1 -1
- package/lib/utils/formula.js +1 -1
- package/lib/utils/getVariable.js +1 -1
- package/lib/utils/grammar.js +1 -1
- package/lib/utils/handleAction.js +1 -1
- package/lib/utils/helper.js +1 -1
- package/lib/utils/highlight.js +1 -1
- package/lib/utils/icon.js +1 -1
- package/lib/utils/image.js +1 -1
- package/lib/utils/isPureVariable.js +1 -1
- package/lib/utils/json-schema-2-amis-schema.js +1 -1
- package/lib/utils/keyToPath.js +1 -1
- package/lib/utils/labelToString.js +1 -1
- package/lib/utils/makeSorter.js +1 -1
- package/lib/utils/math.js +1 -1
- package/lib/utils/memoryParse.js +1 -1
- package/lib/utils/normalizeLink.js +1 -1
- package/lib/utils/normalizeOptions.js +1 -1
- package/lib/utils/object.js +1 -1
- package/lib/utils/offset.js +1 -1
- package/lib/utils/offsetParent.js +1 -1
- package/lib/utils/optionValueCompare.js +1 -1
- package/lib/utils/position.js +1 -1
- package/lib/utils/prettyBytes.js +1 -1
- package/lib/utils/printElement.js +1 -1
- package/lib/utils/renderer-event.js +1 -1
- package/lib/utils/replaceText.js +1 -1
- package/lib/utils/resize-sensor.js +1 -1
- package/lib/utils/resolveCondition.js +1 -1
- package/lib/utils/resolveVariable.js +1 -1
- package/lib/utils/resolveVariableAndFilter.js +1 -1
- package/lib/utils/resolveVariableAndFilterForAsync.js +1 -1
- package/lib/utils/scrollPosition.js +1 -1
- package/lib/utils/string2regExp.js +1 -1
- package/lib/utils/stripNumber.js +1 -1
- package/lib/utils/style-helper.js +1 -1
- package/lib/utils/style.js +1 -1
- package/lib/utils/toNumber.js +1 -1
- package/lib/utils/tokenize.js +1 -1
- package/lib/utils/tpl-builtin.js +1 -1
- package/lib/utils/tpl-lodash.js +1 -1
- package/lib/utils/tpl.js +1 -1
- package/lib/utils/uncontrollable.js +1 -1
- package/lib/utils/validateId.js +1 -1
- package/lib/utils/validations.js +1 -1
- package/lib/utils/visitedCache.js +1 -1
- package/package.json +2 -2
package/esm/store/crud.js
CHANGED
package/esm/store/form.js
CHANGED
package/esm/store/formItem.js
CHANGED
package/esm/store/iRenderer.js
CHANGED
package/esm/store/index.d.ts
CHANGED
|
@@ -122,4 +122,5 @@ export declare const RendererStore: import("mobx-state-tree").IModelType<{
|
|
|
122
122
|
export type IRendererStore = Instance<typeof RendererStore>;
|
|
123
123
|
export { iRendererStore, IIRendererStore };
|
|
124
124
|
export declare const RegisterStore: (store: any) => void;
|
|
125
|
+
export declare const registerStore: (store: any) => void;
|
|
125
126
|
export { ServiceStore, IServiceStore, FormStore, IFormStore, ComboStore, IComboStore, CRUDStore, ICRUDStore, TableStore, IColumn, IRow, ITableStore, TableStore2, ITableStore2, IColumn2, IRow2, ListStore, IListStore, ModalStore, IModalStore, FormItemStore, IFormItemStore, PaginationStore, IPaginationStore, AppStore, IAppStore, StoreNode, IStoreNode };
|
package/esm/store/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-rc.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -86,5 +86,6 @@ var RendererStore = types
|
|
|
86
86
|
var RegisterStore = function (store) {
|
|
87
87
|
allowedStoreList.push(store);
|
|
88
88
|
};
|
|
89
|
+
var registerStore = RegisterStore;
|
|
89
90
|
|
|
90
|
-
export { RegisterStore, RendererStore };
|
|
91
|
+
export { RegisterStore, RendererStore, registerStore };
|
package/esm/store/list.js
CHANGED
package/esm/store/manager.js
CHANGED
package/esm/store/modal.js
CHANGED
package/esm/store/node.js
CHANGED
package/esm/store/pagination.js
CHANGED
package/esm/store/root.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
|
|
|
33
33
|
runtimeError: import("mobx-state-tree").IType<any, any, any>;
|
|
34
34
|
runtimeErrorStack: import("mobx-state-tree").IType<any, any, any>;
|
|
35
35
|
query: import("mobx-state-tree").IType<any, any, any>;
|
|
36
|
+
ready: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
|
|
36
37
|
}, {
|
|
37
38
|
readonly parentStore: any;
|
|
38
39
|
readonly __: any;
|
|
@@ -84,5 +85,6 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
|
|
|
84
85
|
updateContext(context: any): void;
|
|
85
86
|
setRuntimeError(error: any, errorStack: any): void;
|
|
86
87
|
updateLocation(location?: any, parseFn?: Function): void;
|
|
88
|
+
init: (schema: any) => Promise<any>;
|
|
87
89
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
|
88
90
|
export type IRootStore = Instance<typeof RootStore>;
|
package/esm/store/root.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-rc.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { __assign } from 'tslib';
|
|
7
|
-
import { types } from 'mobx-state-tree';
|
|
6
|
+
import { __assign, __generator } from 'tslib';
|
|
7
|
+
import { types, flow } from 'mobx-state-tree';
|
|
8
8
|
import { parseQuery, isObjectShallowModified } from '../utils/helper.js';
|
|
9
9
|
import { ServiceStore } from './service.js';
|
|
10
10
|
import '../utils/api.js';
|
|
@@ -52,7 +52,8 @@ var RootStore = ServiceStore.named('RootStore')
|
|
|
52
52
|
.props({
|
|
53
53
|
runtimeError: types.frozen(),
|
|
54
54
|
runtimeErrorStack: types.frozen(),
|
|
55
|
-
query: types.frozen()
|
|
55
|
+
query: types.frozen(),
|
|
56
|
+
ready: false
|
|
56
57
|
})
|
|
57
58
|
.volatile(function (self) {
|
|
58
59
|
return {
|
|
@@ -72,22 +73,45 @@ var RootStore = ServiceStore.named('RootStore')
|
|
|
72
73
|
return result;
|
|
73
74
|
}
|
|
74
75
|
}); })
|
|
75
|
-
.actions(function (self) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
76
|
+
.actions(function (self) {
|
|
77
|
+
var init = flow(function init(fn) {
|
|
78
|
+
var ret;
|
|
79
|
+
return __generator(this, function (_a) {
|
|
80
|
+
switch (_a.label) {
|
|
81
|
+
case 0:
|
|
82
|
+
_a.trys.push([0, , 3, 4]);
|
|
83
|
+
ret = fn();
|
|
84
|
+
if (!(ret === null || ret === void 0 ? void 0 : ret.then)) return [3 /*break*/, 2];
|
|
85
|
+
return [4 /*yield*/, ret];
|
|
86
|
+
case 1:
|
|
87
|
+
_a.sent();
|
|
88
|
+
_a.label = 2;
|
|
89
|
+
case 2: return [3 /*break*/, 4];
|
|
90
|
+
case 3:
|
|
91
|
+
self.ready = true;
|
|
92
|
+
return [7 /*endfinally*/];
|
|
93
|
+
case 4: return [2 /*return*/];
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
return {
|
|
98
|
+
updateContext: function (context) {
|
|
99
|
+
// 因为 context 不是受控属性,直接共用引用好了
|
|
100
|
+
// 否则还会触发孩子节点的重新渲染
|
|
101
|
+
Object.assign(self.context, context);
|
|
102
|
+
},
|
|
103
|
+
setRuntimeError: function (error, errorStack) {
|
|
104
|
+
self.runtimeError = error;
|
|
105
|
+
self.runtimeErrorStack = errorStack;
|
|
106
|
+
},
|
|
107
|
+
updateLocation: function (location, parseFn) {
|
|
108
|
+
var query = parseFn ? parseFn(location) : parseQuery(location);
|
|
109
|
+
if (isObjectShallowModified(query, self.query, false)) {
|
|
110
|
+
self.query = query;
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
init: init
|
|
114
|
+
};
|
|
115
|
+
});
|
|
92
116
|
|
|
93
117
|
export { RootStore };
|
package/esm/store/service.js
CHANGED
package/esm/store/status.js
CHANGED
package/esm/store/table.js
CHANGED
package/esm/store/table2.js
CHANGED
package/esm/theme.js
CHANGED
package/esm/types.d.ts
CHANGED
|
@@ -181,6 +181,8 @@ export interface BaseApiObject {
|
|
|
181
181
|
export type ClassName = string | {
|
|
182
182
|
[propName: string]: boolean | undefined | null | string;
|
|
183
183
|
};
|
|
184
|
+
export type RequestAdaptor = (api: ApiObject, context: any) => ApiObject | Promise<ApiObject>;
|
|
185
|
+
export type ResponseAdaptor = (payload: object, response: fetcherResult, api: ApiObject, context: any) => any;
|
|
184
186
|
export interface ApiObject extends BaseApiObject {
|
|
185
187
|
config?: {
|
|
186
188
|
withCredentials?: boolean;
|
|
@@ -193,8 +195,8 @@ export interface ApiObject extends BaseApiObject {
|
|
|
193
195
|
body?: PlainObject;
|
|
194
196
|
query?: PlainObject;
|
|
195
197
|
mockResponse?: PlainObject;
|
|
196
|
-
adaptor?:
|
|
197
|
-
requestAdaptor?:
|
|
198
|
+
adaptor?: ResponseAdaptor;
|
|
199
|
+
requestAdaptor?: RequestAdaptor;
|
|
198
200
|
/**
|
|
199
201
|
* api 发送上下文,可以用来传递一些数据给 api 的 adaptor
|
|
200
202
|
* @readonly
|
package/esm/utils/Animation.js
CHANGED
package/esm/utils/ColorScale.js
CHANGED
package/esm/utils/DataSchema.js
CHANGED
package/esm/utils/DataScope.js
CHANGED
package/esm/utils/RootClose.js
CHANGED
package/esm/utils/SimpleMap.js
CHANGED
package/esm/utils/api.d.ts
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
|
-
import { Api, ApiObject, EventTrack, fetcherResult, Payload } from '../types';
|
|
1
|
+
import { Api, ApiObject, EventTrack, fetcherResult, Payload, RequestAdaptor, ResponseAdaptor } from '../types';
|
|
2
2
|
import { FetcherConfig } from '../factory';
|
|
3
3
|
interface ApiCacheConfig extends ApiObject {
|
|
4
4
|
cachedPromise: Promise<any>;
|
|
5
5
|
requestTime: number;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* 添加全局发送适配器
|
|
9
|
+
* @param adaptor
|
|
10
|
+
*/
|
|
11
|
+
export declare function addApiRequestAdaptor(adaptor: RequestAdaptor): () => void;
|
|
12
|
+
/**
|
|
13
|
+
* 删除全局发送适配器
|
|
14
|
+
* @param adaptor
|
|
15
|
+
*/
|
|
16
|
+
export declare function removeApiRequestAdaptor(adaptor: RequestAdaptor): void;
|
|
17
|
+
/**
|
|
18
|
+
* 添加全局响应适配器
|
|
19
|
+
* @param adaptor
|
|
20
|
+
*/
|
|
21
|
+
export declare function addApiResponseAdator(adaptor: ResponseAdaptor): () => void;
|
|
22
|
+
/**
|
|
23
|
+
* 删除全局响应适配器
|
|
24
|
+
* @param adaptor
|
|
25
|
+
*/
|
|
26
|
+
export declare function removeApiResponseAdaptor(adaptor: ResponseAdaptor): void;
|
|
7
27
|
export declare function normalizeApi(api: Api, defaultMethod?: string): ApiObject;
|
|
8
28
|
export declare function buildApi(api: Api, data?: object, options?: {
|
|
9
29
|
autoAppend?: boolean;
|
package/esm/utils/api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* amis-core v6.
|
|
2
|
+
* amis-core v6.9.0-rc.0
|
|
3
3
|
* Copyright 2018-2024 fex
|
|
4
4
|
*/
|
|
5
5
|
|
|
@@ -23,6 +23,40 @@ import isEqual from 'lodash/isEqual';
|
|
|
23
23
|
|
|
24
24
|
var rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head|jsonp|js):/i;
|
|
25
25
|
var apiCaches = [];
|
|
26
|
+
var requestAdaptors = [];
|
|
27
|
+
var responseAdaptors = [];
|
|
28
|
+
/**
|
|
29
|
+
* 添加全局发送适配器
|
|
30
|
+
* @param adaptor
|
|
31
|
+
*/
|
|
32
|
+
function addApiRequestAdaptor(adaptor) {
|
|
33
|
+
requestAdaptors.push(adaptor);
|
|
34
|
+
return function () { return removeApiRequestAdaptor(adaptor); };
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 删除全局发送适配器
|
|
38
|
+
* @param adaptor
|
|
39
|
+
*/
|
|
40
|
+
function removeApiRequestAdaptor(adaptor) {
|
|
41
|
+
var idx = requestAdaptors.findIndex(function (i) { return i === adaptor; });
|
|
42
|
+
~idx && requestAdaptors.splice(idx, 1);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 添加全局响应适配器
|
|
46
|
+
* @param adaptor
|
|
47
|
+
*/
|
|
48
|
+
function addApiResponseAdator(adaptor) {
|
|
49
|
+
responseAdaptors.push(adaptor);
|
|
50
|
+
return function () { return removeApiResponseAdaptor(adaptor); };
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 删除全局响应适配器
|
|
54
|
+
* @param adaptor
|
|
55
|
+
*/
|
|
56
|
+
function removeApiResponseAdaptor(adaptor) {
|
|
57
|
+
var idx = responseAdaptors.findIndex(function (i) { return i === adaptor; });
|
|
58
|
+
~idx && responseAdaptors.splice(idx, 1);
|
|
59
|
+
}
|
|
26
60
|
var isIE = !!document.documentMode;
|
|
27
61
|
function normalizeApi(api, defaultMethod) {
|
|
28
62
|
if (defaultMethod === void 0) { defaultMethod = 'get'; }
|
|
@@ -375,27 +409,57 @@ function wrapFetcher(fn, tracker) {
|
|
|
375
409
|
var wrappedFetcher = function (api, data, options) {
|
|
376
410
|
var _a, _b, _c;
|
|
377
411
|
return __awaiter(this, void 0, void 0, function () {
|
|
378
|
-
var
|
|
412
|
+
var adaptors, adaptor_1, apiCache, timeStamp;
|
|
413
|
+
var _this = this;
|
|
379
414
|
return __generator(this, function (_d) {
|
|
380
415
|
switch (_d.label) {
|
|
381
416
|
case 0:
|
|
382
417
|
api = buildApi(api, data, options);
|
|
383
418
|
api.context = data;
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
419
|
+
adaptors = requestAdaptors.concat();
|
|
420
|
+
if (api.requestAdaptor) {
|
|
421
|
+
adaptor_1 = api.requestAdaptor;
|
|
422
|
+
adaptors.unshift(function (api, context) { return __awaiter(_this, void 0, void 0, function () {
|
|
423
|
+
var originQuery, originQueryCopy, idx;
|
|
424
|
+
return __generator(this, function (_a) {
|
|
425
|
+
switch (_a.label) {
|
|
426
|
+
case 0:
|
|
427
|
+
originQuery = api.query;
|
|
428
|
+
originQueryCopy = isPlainObject(api.query)
|
|
429
|
+
? cloneDeep(api.query)
|
|
430
|
+
: api.query;
|
|
431
|
+
debug('api', 'before requestAdaptor', api);
|
|
432
|
+
return [4 /*yield*/, adaptor_1.call(api, api, context)];
|
|
433
|
+
case 1:
|
|
434
|
+
api = (_a.sent()) || api;
|
|
435
|
+
if (api.query !== originQuery ||
|
|
436
|
+
(isPlainObject(api.query) && !isEqual(api.query, originQueryCopy))) {
|
|
437
|
+
idx = api.url.indexOf('?');
|
|
438
|
+
api.url = "".concat(~idx ? api.url.substring(0, idx) : api.url, "?").concat(qsstringify(api.query));
|
|
439
|
+
}
|
|
440
|
+
debug('api', 'after requestAdaptor', api);
|
|
441
|
+
return [2 /*return*/, api];
|
|
442
|
+
}
|
|
443
|
+
});
|
|
444
|
+
}); });
|
|
397
445
|
}
|
|
398
|
-
|
|
446
|
+
if (!adaptors.length) return [3 /*break*/, 2];
|
|
447
|
+
return [4 /*yield*/, adaptors.reduce(function (api, fn) { return __awaiter(_this, void 0, void 0, function () {
|
|
448
|
+
var ret;
|
|
449
|
+
return __generator(this, function (_a) {
|
|
450
|
+
switch (_a.label) {
|
|
451
|
+
case 0: return [4 /*yield*/, api];
|
|
452
|
+
case 1:
|
|
453
|
+
ret = _a.sent();
|
|
454
|
+
return [4 /*yield*/, fn(ret, data)];
|
|
455
|
+
case 2:
|
|
456
|
+
ret = (_a.sent()) || ret;
|
|
457
|
+
return [2 /*return*/, ret];
|
|
458
|
+
}
|
|
459
|
+
});
|
|
460
|
+
}); }, Promise.resolve(api))];
|
|
461
|
+
case 1:
|
|
462
|
+
api = _d.sent();
|
|
399
463
|
_d.label = 2;
|
|
400
464
|
case 2:
|
|
401
465
|
if (api.data &&
|
|
@@ -462,30 +526,58 @@ function wrapFetcher(fn, tracker) {
|
|
|
462
526
|
return wrappedFetcher;
|
|
463
527
|
}
|
|
464
528
|
function wrapAdaptor(promise, api, context) {
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
529
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
530
|
+
var adaptors, adaptor_2, response;
|
|
531
|
+
var _this = this;
|
|
532
|
+
return __generator(this, function (_a) {
|
|
533
|
+
switch (_a.label) {
|
|
534
|
+
case 0:
|
|
535
|
+
adaptors = responseAdaptors.concat();
|
|
536
|
+
if (api.adaptor) {
|
|
537
|
+
adaptor_2 = api.adaptor;
|
|
538
|
+
adaptors.push(function (payload, response, api, context) { return __awaiter(_this, void 0, void 0, function () {
|
|
539
|
+
var result;
|
|
540
|
+
return __generator(this, function (_a) {
|
|
541
|
+
switch (_a.label) {
|
|
542
|
+
case 0:
|
|
543
|
+
debug('api', 'before adaptor data', response.data);
|
|
544
|
+
result = adaptor_2(response.data, response, api, context);
|
|
545
|
+
if (!(result === null || result === void 0 ? void 0 : result.then)) return [3 /*break*/, 2];
|
|
546
|
+
return [4 /*yield*/, result];
|
|
547
|
+
case 1:
|
|
548
|
+
result = _a.sent();
|
|
549
|
+
_a.label = 2;
|
|
550
|
+
case 2:
|
|
551
|
+
debug('api', 'after adaptor data', result);
|
|
552
|
+
return [2 /*return*/, result];
|
|
553
|
+
}
|
|
554
|
+
});
|
|
555
|
+
}); });
|
|
556
|
+
}
|
|
557
|
+
return [4 /*yield*/, adaptors.reduce(function (promise, adaptor) { return __awaiter(_this, void 0, void 0, function () {
|
|
558
|
+
var response, result;
|
|
559
|
+
var _a;
|
|
560
|
+
return __generator(this, function (_b) {
|
|
561
|
+
switch (_b.label) {
|
|
562
|
+
case 0: return [4 /*yield*/, promise];
|
|
563
|
+
case 1:
|
|
564
|
+
response = _b.sent();
|
|
565
|
+
result = (_a = adaptor(response.data, response, api, context)) !== null && _a !== void 0 ? _a : response.data;
|
|
566
|
+
if (!(result === null || result === void 0 ? void 0 : result.then)) return [3 /*break*/, 3];
|
|
567
|
+
return [4 /*yield*/, result];
|
|
568
|
+
case 2:
|
|
569
|
+
result = _b.sent();
|
|
570
|
+
_b.label = 3;
|
|
571
|
+
case 3: return [2 /*return*/, __assign(__assign({}, response), { data: result })];
|
|
572
|
+
}
|
|
573
|
+
});
|
|
574
|
+
}); }, promise)];
|
|
575
|
+
case 1:
|
|
576
|
+
response = _a.sent();
|
|
577
|
+
return [2 /*return*/, responseAdaptor(response, api)];
|
|
578
|
+
}
|
|
579
|
+
});
|
|
580
|
+
});
|
|
489
581
|
}
|
|
490
582
|
/**
|
|
491
583
|
* 请求远程 js 文件然后 new Function 执行,用于 schemaApi 支持 JavaScript
|
|
@@ -705,4 +797,4 @@ function normalizeApiResponseData(data) {
|
|
|
705
797
|
}
|
|
706
798
|
// window.apiCaches = apiCaches;
|
|
707
799
|
|
|
708
|
-
export { buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher };
|
|
800
|
+
export { addApiRequestAdaptor, addApiResponseAdator, buildApi, callStrFunction, clearApiCache, getApiCache, isApiOutdated, isApiOutdatedWithData, isEffectiveApi, isSameApi, isValidApi, jsFetcher, jsonpFetcher, normalizeApi, normalizeApiResponseData, removeApiRequestAdaptor, removeApiResponseAdaptor, responseAdaptor, setApiCache, str2AsyncFunction, str2function, wrapAdaptor, wrapFetcher };
|
package/esm/utils/arraySlice.js
CHANGED
package/esm/utils/autobind.js
CHANGED
package/esm/utils/browser.js
CHANGED
package/esm/utils/concatData.js
CHANGED
package/esm/utils/dataMapping.js
CHANGED
package/esm/utils/date.js
CHANGED
package/esm/utils/debug.js
CHANGED
package/esm/utils/dom.js
CHANGED
package/esm/utils/errors.js
CHANGED