Files
zyt/TUICallKit-Vue3/TUIKit/states/chat-uikit-engine-lite/utils/validate-initialization.ts
T
2026-03-11 09:49:47 +08:00

36 lines
1.0 KiB
TypeScript

/* eslint-disable prefer-rest-params */
import type { ITUIChatEngine } from '../interface/engine';
import Middleware from './middleware';
import { ERROR_CODE_ENGINE, ERROR_MSG_ENGINE } from '../const';
export default function validateInitialization(
TUIChatEngine: ITUIChatEngine,
target: any,
APIList: object,
) {
const obj = Object.create(null);
Object.keys(APIList).forEach((api) => {
if (!target[api]) {
return;
}
obj[api] = target[api];
const validateMiddleware = new Middleware();
target[api] = function () {
const args = Array.from(arguments);
validateMiddleware
.use((options: any, next: any) => {
if (TUIChatEngine.isInited) {
return next();
}
return Promise.reject({
code: ERROR_CODE_ENGINE.NOT_INIT,
message: `${api} | ${ERROR_MSG_ENGINE.NOT_INIT}`,
});
})
.use((options: any) => obj[api].apply(target, options));
return validateMiddleware.run(args);
};
});
}