1
0
mirror of synced 2026-03-24 20:18:35 +08:00

feat(data-source): 支持在指定js环境下不执行init的配置

This commit is contained in:
roymondchen
2023-12-18 17:27:37 +08:00
parent 2a5b9ec6bd
commit 86bdb9f099
3 changed files with 20 additions and 4 deletions

View File

@@ -29,10 +29,17 @@ import type { DataSourceManagerData, DataSourceManagerOptions } from './types';
class DataSourceManager extends EventEmitter {
private static dataSourceClassMap = new Map<string, typeof DataSource>();
public static registe<T extends typeof DataSource = typeof DataSource>(type: string, dataSource: T) {
public static register<T extends typeof DataSource = typeof DataSource>(type: string, dataSource: T) {
DataSourceManager.dataSourceClassMap.set(type, dataSource);
}
/**
* @deprecated
*/
public static registe<T extends typeof DataSource = typeof DataSource>(type: string, dataSource: T) {
DataSourceManager.register(type, dataSource);
}
public static getDataSourceClass(type: string) {
return DataSourceManager.dataSourceClassMap.get(type);
}
@@ -66,6 +73,10 @@ class DataSourceManager extends EventEmitter {
return;
}
if (this.app.jsEngine && ds.schema.disabledInitInJsEngine?.includes(this.app.jsEngine)) {
return;
}
const beforeInit: ((...args: any[]) => any)[] = [];
const afterInit: ((...args: any[]) => any)[] = [];
@@ -239,6 +250,6 @@ class DataSourceManager extends EventEmitter {
}
}
DataSourceManager.registe('http', HttpDataSource as any);
DataSourceManager.register('http', HttpDataSource as any);
export default DataSourceManager;