chore(data-source): 单独定义Core,避免循环引用

This commit is contained in:
roymondchen 2023-08-29 18:37:15 +08:00
parent 2bd86d2101
commit cd50d36394
6 changed files with 17 additions and 17 deletions

View File

@ -38,7 +38,6 @@
"lodash-es": "^4.17.21"
},
"devDependencies": {
"@tmagic/core": "1.3.0-alpha.21",
"@types/events": "^3.0.0",
"@types/lodash-es": "^4.17.4",
"@types/node": "^15.12.4",

View File

@ -20,12 +20,11 @@ import EventEmitter from 'events';
import { cloneDeep, template } from 'lodash-es';
import type Core from '@tmagic/core';
import type { DataSourceSchema, Id, MNode } from '@tmagic/schema';
import { compiledCond, compiledNode } from '@tmagic/utils';
import { DataSource, HttpDataSource } from './data-sources';
import type { DataSourceManagerData, DataSourceManagerOptions, HttpDataSourceSchema } from './types';
import type { AppCore, DataSourceManagerData, DataSourceManagerOptions, HttpDataSourceSchema } from './types';
class DataSourceManager extends EventEmitter {
private static dataSourceClassMap = new Map<string, typeof DataSource>();
@ -38,7 +37,7 @@ class DataSourceManager extends EventEmitter {
return DataSourceManager.dataSourceClassMap.get(type);
}
public app: Core;
public app: AppCore;
public dataSourceMap = new Map<string, DataSource>();

View File

@ -17,10 +17,10 @@
*/
import { cloneDeep } from 'lodash-es';
import type Core from '@tmagic/core';
import { getDepNodeIds, getNodes, replaceChildNode } from '@tmagic/utils';
import DataSourceManager from './DataSourceManager';
import type { AppCore } from './types';
/**
*
@ -28,7 +28,7 @@ import DataSourceManager from './DataSourceManager';
* @param httpDataSourceOptions http
* @returns DataSourceManager
*/
export const createDataSourceManager = (app: Core) => {
export const createDataSourceManager = (app: AppCore) => {
const { dsl, platform } = app;
if (!dsl?.dataSources) return;

View File

@ -17,10 +17,9 @@
*/
import EventEmitter from 'events';
import type Core from '@tmagic/core';
import type { CodeBlockContent, DataSchema } from '@tmagic/schema';
import type { DataSourceOptions } from '@data-source/types';
import type { AppCore, DataSourceOptions } from '@data-source/types';
import { getDefaultValueFromFields } from '@data-source/util';
/**
@ -35,7 +34,7 @@ export default class DataSource extends EventEmitter {
public data: Record<string, any> = {};
public app: Core;
public app: AppCore;
private fields: DataSchema[] = [];
private methods: CodeBlockContent[] = [];

View File

@ -1,9 +1,15 @@
import type Core from '@tmagic/core';
import type { DataSourceSchema } from '@tmagic/schema';
import type { DataSourceSchema, MApp } from '@tmagic/schema';
export interface AppCore {
dsl?: MApp;
platform?: string;
jsEngine?: string;
request?: RequestFunction;
}
export interface DataSourceOptions {
schema: DataSourceSchema;
app: Core;
app: AppCore;
}
export type Method = 'get' | 'GET' | 'delete' | 'DELETE' | 'post' | 'POST' | 'put' | 'PUT';
@ -29,12 +35,12 @@ export interface HttpDataSourceSchema extends DataSourceSchema {
export interface HttpDataSourceOptions {
schema: HttpDataSourceSchema;
app: Core;
app: AppCore;
request?: RequestFunction;
}
export interface DataSourceManagerOptions {
app: Core;
app: AppCore;
}
export interface DataSourceManagerData {

3
pnpm-lock.yaml generated
View File

@ -206,9 +206,6 @@ importers:
specifier: ^4.17.21
version: 4.17.21
devDependencies:
'@tmagic/core':
specifier: 1.3.0-alpha.21
version: link:../core
'@types/events':
specifier: ^3.0.0
version: 3.0.0