@eggjs/orm-plugin 4.0.0-beta.35 → 4.0.0-beta.36

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.
@@ -0,0 +1,10 @@
1
+ //#region \0@oxc-project+runtime@0.103.0/helpers/decorate.js
2
+ function __decorate(decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ }
8
+
9
+ //#endregion
10
+ export { __decorate };
@@ -0,0 +1,7 @@
1
+ //#region \0@oxc-project+runtime@0.103.0/helpers/decorateMetadata.js
2
+ function __decorateMetadata(k, v) {
3
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
4
+ }
5
+
6
+ //#endregion
7
+ export { __decorateMetadata };
package/dist/app.d.ts CHANGED
@@ -1,14 +1,18 @@
1
- import type { Application, ILifecycleBoot } from 'egg';
2
- export default class OrmAppBootHook implements ILifecycleBoot {
3
- private readonly app;
4
- private readonly dataSourceManager;
5
- private readonly leoricRegister;
6
- private readonly modelProtoManager;
7
- private readonly modelProtoHook;
8
- private readonly ormLoadUnitHook;
9
- constructor(app: Application);
10
- configWillLoad(): void;
11
- configDidLoad(): void;
12
- didLoad(): Promise<void>;
13
- beforeClose(): Promise<void>;
1
+ import { Application, ILifecycleBoot } from "egg";
2
+
3
+ //#region src/app.d.ts
4
+ declare class OrmAppBootHook implements ILifecycleBoot {
5
+ private readonly app;
6
+ private readonly dataSourceManager;
7
+ private readonly leoricRegister;
8
+ private readonly modelProtoManager;
9
+ private readonly modelProtoHook;
10
+ private readonly ormLoadUnitHook;
11
+ constructor(app: Application);
12
+ configWillLoad(): void;
13
+ configDidLoad(): void;
14
+ didLoad(): Promise<void>;
15
+ beforeClose(): Promise<void>;
14
16
  }
17
+ //#endregion
18
+ export { OrmAppBootHook as default };
package/dist/app.js CHANGED
@@ -1,50 +1,42 @@
1
- import { MODEL_PROTO_IMPL_TYPE } from '@eggjs/orm-decorator';
2
1
  import { DataSourceManager } from "./lib/DataSourceManager.js";
2
+ import { ModelProtoManager } from "./lib/ModelProtoManager.js";
3
3
  import { LeoricRegister } from "./lib/LeoricRegister.js";
4
4
  import { ModelProtoHook } from "./lib/ModelProtoHook.js";
5
- import { ModelProtoManager } from "./lib/ModelProtoManager.js";
6
5
  import { ORMLoadUnitHook } from "./lib/ORMLoadUnitHook.js";
7
- import { SingletonModelObject } from "./lib/SingletonModelObject.js";
8
6
  import SingletonModelProto from "./lib/SingletonModelProto.js";
9
- export default class OrmAppBootHook {
10
- app;
11
- dataSourceManager;
12
- leoricRegister;
13
- modelProtoManager;
14
- modelProtoHook;
15
- ormLoadUnitHook;
16
- constructor(app) {
17
- this.app = app;
18
- this.dataSourceManager = new DataSourceManager();
19
- this.modelProtoManager = new ModelProtoManager();
20
- this.leoricRegister = new LeoricRegister(this.modelProtoManager, this.dataSourceManager);
21
- this.modelProtoHook = new ModelProtoHook(this.modelProtoManager);
22
- this.app.eggPrototypeCreatorFactory.registerPrototypeCreator(MODEL_PROTO_IMPL_TYPE, SingletonModelProto.createProto);
23
- this.app.leoricRegister = this.leoricRegister;
24
- this.ormLoadUnitHook = new ORMLoadUnitHook();
25
- }
26
- configWillLoad() {
27
- this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.modelProtoHook);
28
- this.app.eggObjectFactory.registerEggObjectCreateMethod(SingletonModelProto, SingletonModelObject.createObject);
29
- this.app.loadUnitLifecycleUtil.registerLifecycle(this.ormLoadUnitHook);
30
- }
31
- configDidLoad() {
32
- const config = this.app.config.orm;
33
- if (config.datasources) {
34
- for (const datasource of config.datasources) {
35
- this.dataSourceManager.addConfig(datasource);
36
- }
37
- }
38
- else {
39
- this.dataSourceManager.addDefaultConfig(config);
40
- }
41
- }
42
- async didLoad() {
43
- await this.app.moduleHandler.ready();
44
- await this.leoricRegister.register();
45
- }
46
- async beforeClose() {
47
- this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.modelProtoHook);
48
- }
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLG1CQUFtQixNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNoQixHQUFHLENBQWM7SUFDakIsaUJBQWlCLENBQW9CO0lBQ3JDLGNBQWMsQ0FBaUI7SUFDL0IsaUJBQWlCLENBQW9CO0lBQ3JDLGNBQWMsQ0FBaUI7SUFDL0IsZUFBZSxDQUFrQjtJQUVsRCxZQUFZLEdBQWdCO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyx3QkFBd0IsQ0FDMUQscUJBQXFCLEVBQ3JCLG1CQUFtQixDQUFDLFdBQVcsQ0FDaEMsQ0FBQztRQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyw2QkFBNkIsQ0FBQyxtQkFBbUIsRUFBRSxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoSCxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQsYUFBYTtRQUNYLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUNuQyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN2QixLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0YifQ==
7
+ import { SingletonModelObject } from "./lib/SingletonModelObject.js";
8
+ import { MODEL_PROTO_IMPL_TYPE } from "@eggjs/orm-decorator";
9
+
10
+ //#region src/app.ts
11
+ var OrmAppBootHook = class {
12
+ constructor(app) {
13
+ this.app = app;
14
+ this.dataSourceManager = new DataSourceManager();
15
+ this.modelProtoManager = new ModelProtoManager();
16
+ this.leoricRegister = new LeoricRegister(this.modelProtoManager, this.dataSourceManager);
17
+ this.modelProtoHook = new ModelProtoHook(this.modelProtoManager);
18
+ this.app.eggPrototypeCreatorFactory.registerPrototypeCreator(MODEL_PROTO_IMPL_TYPE, SingletonModelProto.createProto);
19
+ this.app.leoricRegister = this.leoricRegister;
20
+ this.ormLoadUnitHook = new ORMLoadUnitHook();
21
+ }
22
+ configWillLoad() {
23
+ this.app.eggPrototypeLifecycleUtil.registerLifecycle(this.modelProtoHook);
24
+ this.app.eggObjectFactory.registerEggObjectCreateMethod(SingletonModelProto, SingletonModelObject.createObject);
25
+ this.app.loadUnitLifecycleUtil.registerLifecycle(this.ormLoadUnitHook);
26
+ }
27
+ configDidLoad() {
28
+ const config = this.app.config.orm;
29
+ if (config.datasources) for (const datasource of config.datasources) this.dataSourceManager.addConfig(datasource);
30
+ else this.dataSourceManager.addDefaultConfig(config);
31
+ }
32
+ async didLoad() {
33
+ await this.app.moduleHandler.ready();
34
+ await this.leoricRegister.register();
35
+ }
36
+ async beforeClose() {
37
+ this.app.eggPrototypeLifecycleUtil.deleteLifecycle(this.modelProtoHook);
38
+ }
39
+ };
40
+
41
+ //#endregion
42
+ export { OrmAppBootHook as default };
@@ -1,8 +1,11 @@
1
- import type { OrmConfig } from '../lib/DataSourceManager.ts';
2
- export interface AppOrmConfig extends OrmConfig {
3
- datasources?: OrmConfig[];
1
+ import { OrmConfig } from "../lib/DataSourceManager.js";
2
+
3
+ //#region src/config/config.default.d.ts
4
+ interface AppOrmConfig extends OrmConfig {
5
+ datasources?: OrmConfig[];
4
6
  }
5
7
  declare const _default: {
6
- orm: AppOrmConfig;
8
+ orm: AppOrmConfig;
7
9
  };
8
- export default _default;
10
+ //#endregion
11
+ export { AppOrmConfig, _default as default };
@@ -1,4 +1,5 @@
1
- export default {
2
- orm: {},
3
- };
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLGVBQWU7SUFDYixHQUFHLEVBQUUsRUFBa0I7Q0FDeEIsQ0FBQyJ9
1
+ //#region src/config/config.default.ts
2
+ var config_default_default = { orm: {} };
3
+
4
+ //#endregion
5
+ export { config_default_default as default };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import './types.ts';
2
- import { LeoricRegister } from './lib/LeoricRegister.ts';
3
- import { Orm } from './lib/SingletonORM.ts';
4
- export { Orm, LeoricRegister };
1
+ import { LeoricRegister } from "./lib/LeoricRegister.js";
2
+ import { Orm } from "./lib/SingletonORM.js";
3
+ import "./types.js";
4
+ export { LeoricRegister, Orm };
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- import "./types.js";
2
1
  import { LeoricRegister } from "./lib/LeoricRegister.js";
3
2
  import { Orm } from "./lib/SingletonORM.js";
4
- export { Orm, LeoricRegister };
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxDQUFDIn0=
3
+ import "./types.js";
4
+
5
+ export { LeoricRegister, Orm };
@@ -1,20 +1,23 @@
1
- export interface OrmConfig {
2
- client: string;
3
- database: string;
4
- host: string;
5
- port: number;
6
- user: string;
7
- define: object;
8
- options: object;
9
- charset: string;
10
- [key: string]: any;
1
+ //#region src/lib/DataSourceManager.d.ts
2
+ interface OrmConfig {
3
+ client: string;
4
+ database: string;
5
+ host: string;
6
+ port: number;
7
+ user: string;
8
+ define: object;
9
+ options: object;
10
+ charset: string;
11
+ [key: string]: any;
11
12
  }
12
- export declare class DataSourceManager {
13
- private readonly dataSourceConfigs;
14
- private defaultDataSourceConfig?;
15
- constructor();
16
- addDefaultConfig(config: OrmConfig): void;
17
- getDefaultConfig(): OrmConfig | undefined;
18
- addConfig(config: OrmConfig): void;
19
- getConfig(name: string): OrmConfig | undefined;
13
+ declare class DataSourceManager {
14
+ private readonly dataSourceConfigs;
15
+ private defaultDataSourceConfig?;
16
+ constructor();
17
+ addDefaultConfig(config: OrmConfig): void;
18
+ getDefaultConfig(): OrmConfig | undefined;
19
+ addConfig(config: OrmConfig): void;
20
+ getConfig(name: string): OrmConfig | undefined;
20
21
  }
22
+ //#endregion
23
+ export { DataSourceManager, OrmConfig };
@@ -1,23 +1,22 @@
1
- export class DataSourceManager {
2
- dataSourceConfigs;
3
- defaultDataSourceConfig;
4
- constructor() {
5
- this.dataSourceConfigs = [];
6
- }
7
- addDefaultConfig(config) {
8
- this.defaultDataSourceConfig = config;
9
- }
10
- getDefaultConfig() {
11
- return this.defaultDataSourceConfig;
12
- }
13
- addConfig(config) {
14
- this.dataSourceConfigs.push(config);
15
- }
16
- getConfig(name) {
17
- if (this.defaultDataSourceConfig?.database === name) {
18
- return this.defaultDataSourceConfig;
19
- }
20
- return this.dataSourceConfigs.find((t) => t.database === name);
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVNvdXJjZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0RhdGFTb3VyY2VNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThCQSxNQUFNLE9BQU8saUJBQWlCO0lBQ1gsaUJBQWlCLENBQWM7SUFDeEMsdUJBQXVCLENBQWE7SUFFNUM7UUFDRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFpQjtRQUNoQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsTUFBTSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWlCO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLFFBQVEsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ2pFLENBQUM7Q0FDRiJ9
1
+ //#region src/lib/DataSourceManager.ts
2
+ var DataSourceManager = class {
3
+ constructor() {
4
+ this.dataSourceConfigs = [];
5
+ }
6
+ addDefaultConfig(config) {
7
+ this.defaultDataSourceConfig = config;
8
+ }
9
+ getDefaultConfig() {
10
+ return this.defaultDataSourceConfig;
11
+ }
12
+ addConfig(config) {
13
+ this.dataSourceConfigs.push(config);
14
+ }
15
+ getConfig(name) {
16
+ if (this.defaultDataSourceConfig?.database === name) return this.defaultDataSourceConfig;
17
+ return this.dataSourceConfigs.find((t) => t.database === name);
18
+ }
19
+ };
20
+
21
+ //#endregion
22
+ export { DataSourceManager };
@@ -1,16 +1,20 @@
1
- import { ModelMetadata } from '@eggjs/orm-decorator';
2
- import { Base } from 'sdk-base';
3
- import { DataSourceManager, type OrmConfig } from './DataSourceManager.ts';
4
- import { ModelProtoManager } from './ModelProtoManager.ts';
5
- import type { RealmType } from './types.ts';
6
- export declare class LeoricRegister extends Base {
7
- private readonly modelProtoManager;
8
- private readonly dataSourceManager;
9
- readonly realmMap: Map<string, RealmType>;
10
- constructor(modelProtoManager: ModelProtoManager, dataSourceManager: DataSourceManager);
11
- getConfig(datasource?: string): OrmConfig | undefined;
12
- getRealm(config: OrmConfig | undefined): RealmType | undefined;
13
- getOrCreateRealm(datasource: string | undefined): any;
14
- generateLeoricAttributes(metadata: ModelMetadata): Record<string, any>;
15
- register(): Promise<void>;
1
+ import { DataSourceManager, OrmConfig } from "./DataSourceManager.js";
2
+ import { ModelProtoManager } from "./ModelProtoManager.js";
3
+ import { RealmType } from "./types.js";
4
+ import { ModelMetadata } from "@eggjs/orm-decorator";
5
+ import { Base } from "sdk-base";
6
+
7
+ //#region src/lib/LeoricRegister.d.ts
8
+ declare class LeoricRegister extends Base {
9
+ private readonly modelProtoManager;
10
+ private readonly dataSourceManager;
11
+ readonly realmMap: Map<string, RealmType>;
12
+ constructor(modelProtoManager: ModelProtoManager, dataSourceManager: DataSourceManager);
13
+ getConfig(datasource?: string): OrmConfig | undefined;
14
+ getRealm(config: OrmConfig | undefined): RealmType | undefined;
15
+ getOrCreateRealm(datasource: string | undefined): any;
16
+ generateLeoricAttributes(metadata: ModelMetadata): Record<string, any>;
17
+ register(): Promise<void>;
16
18
  }
19
+ //#endregion
20
+ export { LeoricRegister };
@@ -1,84 +1,67 @@
1
- import { ModelMetadata, ModelMetadataUtil } from '@eggjs/orm-decorator';
2
- import Realm from 'leoric';
3
- import { Base } from 'sdk-base';
4
- import { DataSourceManager } from "./DataSourceManager.js";
5
- import { ModelProtoManager } from "./ModelProtoManager.js";
6
- export class LeoricRegister extends Base {
7
- modelProtoManager;
8
- dataSourceManager;
9
- realmMap;
10
- constructor(modelProtoManager, dataSourceManager) {
11
- super();
12
- this.modelProtoManager = modelProtoManager;
13
- this.dataSourceManager = dataSourceManager;
14
- this.realmMap = new Map();
15
- }
16
- getConfig(datasource) {
17
- let config;
18
- if (!datasource) {
19
- config = this.dataSourceManager.getDefaultConfig();
20
- }
21
- else {
22
- config = this.dataSourceManager.getConfig(datasource);
23
- }
24
- return config;
25
- }
26
- getRealm(config) {
27
- if (!config?.database) {
28
- return undefined;
29
- }
30
- const realm = this.realmMap.get(config.database);
31
- return realm;
32
- }
33
- getOrCreateRealm(datasource) {
34
- const config = this.getConfig(datasource);
35
- let realm;
36
- if (config) {
37
- realm = this.getRealm(config);
38
- if (realm) {
39
- return realm;
40
- }
41
- }
42
- realm = new Realm({ ...config });
43
- this.realmMap.set(config.database, realm);
44
- return realm;
45
- }
46
- generateLeoricAttributes(metadata) {
47
- const attributes = {};
48
- for (const attribute of metadata.attributes) {
49
- attributes[attribute.propertyName] = {
50
- columnName: attribute.attributeName,
51
- type: attribute.dataType,
52
- allowNull: attribute.allowNull,
53
- primaryKey: attribute.primary,
54
- unique: attribute.unique,
55
- autoIncrement: attribute.autoIncrement,
56
- };
57
- }
58
- return attributes;
59
- }
60
- async register() {
61
- for (const { proto, clazz } of this.modelProtoManager.getProtos()) {
62
- const metadata = ModelMetadataUtil.getModelMetadata(clazz);
63
- if (!metadata)
64
- throw new Error(`not found metadata for model ${proto.id}`);
65
- const realm = this.getOrCreateRealm(metadata.dataSource);
66
- realm.models[clazz.name] = clazz;
67
- realm[clazz.name] = clazz;
68
- const attributes = this.generateLeoricAttributes(metadata);
69
- const hooks = {};
70
- for (const hookName of Realm.hookNames) {
71
- if (clazz[hookName]) {
72
- hooks[hookName] = clazz[hookName];
73
- }
74
- }
75
- clazz.init(attributes, {
76
- tableName: metadata.tableName,
77
- hooks,
78
- }, {});
79
- }
80
- await Promise.all(Array.from(this.realmMap.values()).map((realm) => realm.connect()));
81
- this.ready(true);
82
- }
83
- }
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGVvcmljUmVnaXN0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL0xlb3JpY1JlZ2lzdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEtBQUssTUFBTSxRQUFRLENBQUM7QUFDM0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLEVBQUUsaUJBQWlCLEVBQWtCLE1BQU0sd0JBQXdCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0QsTUFBTSxPQUFPLGNBQWUsU0FBUSxJQUFJO0lBQ3JCLGlCQUFpQixDQUFvQjtJQUNyQyxpQkFBaUIsQ0FBb0I7SUFDN0MsUUFBUSxDQUF5QjtJQUUxQyxZQUFZLGlCQUFvQyxFQUFFLGlCQUFvQztRQUNwRixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLENBQUMsVUFBbUI7UUFDM0IsSUFBSSxNQUE2QixDQUFDO1FBQ2xDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUE2QjtRQUNwQyxJQUFJ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
1
+ import { ModelMetadata, ModelMetadataUtil } from "@eggjs/orm-decorator";
2
+ import Realm from "leoric";
3
+ import { Base } from "sdk-base";
4
+
5
+ //#region src/lib/LeoricRegister.ts
6
+ var LeoricRegister = class extends Base {
7
+ constructor(modelProtoManager, dataSourceManager) {
8
+ super();
9
+ this.modelProtoManager = modelProtoManager;
10
+ this.dataSourceManager = dataSourceManager;
11
+ this.realmMap = /* @__PURE__ */ new Map();
12
+ }
13
+ getConfig(datasource) {
14
+ let config;
15
+ if (!datasource) config = this.dataSourceManager.getDefaultConfig();
16
+ else config = this.dataSourceManager.getConfig(datasource);
17
+ return config;
18
+ }
19
+ getRealm(config) {
20
+ if (!config?.database) return;
21
+ return this.realmMap.get(config.database);
22
+ }
23
+ getOrCreateRealm(datasource) {
24
+ const config = this.getConfig(datasource);
25
+ let realm;
26
+ if (config) {
27
+ realm = this.getRealm(config);
28
+ if (realm) return realm;
29
+ }
30
+ realm = new Realm({ ...config });
31
+ this.realmMap.set(config.database, realm);
32
+ return realm;
33
+ }
34
+ generateLeoricAttributes(metadata) {
35
+ const attributes = {};
36
+ for (const attribute of metadata.attributes) attributes[attribute.propertyName] = {
37
+ columnName: attribute.attributeName,
38
+ type: attribute.dataType,
39
+ allowNull: attribute.allowNull,
40
+ primaryKey: attribute.primary,
41
+ unique: attribute.unique,
42
+ autoIncrement: attribute.autoIncrement
43
+ };
44
+ return attributes;
45
+ }
46
+ async register() {
47
+ for (const { proto, clazz } of this.modelProtoManager.getProtos()) {
48
+ const metadata = ModelMetadataUtil.getModelMetadata(clazz);
49
+ if (!metadata) throw new Error(`not found metadata for model ${proto.id}`);
50
+ const realm = this.getOrCreateRealm(metadata.dataSource);
51
+ realm.models[clazz.name] = clazz;
52
+ realm[clazz.name] = clazz;
53
+ const attributes = this.generateLeoricAttributes(metadata);
54
+ const hooks = {};
55
+ for (const hookName of Realm.hookNames) if (clazz[hookName]) hooks[hookName] = clazz[hookName];
56
+ clazz.init(attributes, {
57
+ tableName: metadata.tableName,
58
+ hooks
59
+ }, {});
60
+ }
61
+ await Promise.all(Array.from(this.realmMap.values()).map((realm) => realm.connect()));
62
+ this.ready(true);
63
+ }
64
+ };
65
+
66
+ //#endregion
67
+ export { LeoricRegister };
@@ -1,8 +1,12 @@
1
- import type { LifecycleHook } from '@eggjs/lifecycle';
2
- import type { EggPrototype, EggPrototypeLifecycleContext } from '@eggjs/metadata';
3
- import { ModelProtoManager } from './ModelProtoManager.ts';
4
- export declare class ModelProtoHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
5
- private readonly modelProtoManager;
6
- constructor(modelProtoManager: ModelProtoManager);
7
- postCreate(ctx: EggPrototypeLifecycleContext, obj: EggPrototype): Promise<void>;
1
+ import { ModelProtoManager } from "./ModelProtoManager.js";
2
+ import { EggPrototype, EggPrototypeLifecycleContext } from "@eggjs/metadata";
3
+ import { LifecycleHook } from "@eggjs/lifecycle";
4
+
5
+ //#region src/lib/ModelProtoHook.d.ts
6
+ declare class ModelProtoHook implements LifecycleHook<EggPrototypeLifecycleContext, EggPrototype> {
7
+ private readonly modelProtoManager;
8
+ constructor(modelProtoManager: ModelProtoManager);
9
+ postCreate(ctx: EggPrototypeLifecycleContext, obj: EggPrototype): Promise<void>;
8
10
  }
11
+ //#endregion
12
+ export { ModelProtoHook };
@@ -1,18 +1,17 @@
1
- import { IS_MODEL, ModelMetaBuilder, ModelMetadataUtil } from '@eggjs/orm-decorator';
2
- import { ModelProtoManager } from "./ModelProtoManager.js";
3
- export class ModelProtoHook {
4
- modelProtoManager;
5
- constructor(modelProtoManager) {
6
- this.modelProtoManager = modelProtoManager;
7
- }
8
- async postCreate(ctx, obj) {
9
- if (!obj.getMetaData(IS_MODEL)) {
10
- return;
11
- }
12
- const builder = new ModelMetaBuilder(ctx.clazz);
13
- const metadata = builder.build();
14
- ModelMetadataUtil.setModelMetadata(ctx.clazz, metadata);
15
- this.modelProtoManager.addProto(ctx.clazz, obj);
16
- }
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxQcm90b0hvb2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL01vZGVsUHJvdG9Ib29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRCxNQUFNLE9BQU8sY0FBYztJQUNSLGlCQUFpQixDQUFvQjtJQUV0RCxZQUFZLGlCQUFvQztRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBaUMsRUFBRSxHQUFpQjtRQUNuRSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDRiJ9
1
+ import { IS_MODEL, ModelMetaBuilder, ModelMetadataUtil } from "@eggjs/orm-decorator";
2
+
3
+ //#region src/lib/ModelProtoHook.ts
4
+ var ModelProtoHook = class {
5
+ constructor(modelProtoManager) {
6
+ this.modelProtoManager = modelProtoManager;
7
+ }
8
+ async postCreate(ctx, obj) {
9
+ if (!obj.getMetaData(IS_MODEL)) return;
10
+ const metadata = new ModelMetaBuilder(ctx.clazz).build();
11
+ ModelMetadataUtil.setModelMetadata(ctx.clazz, metadata);
12
+ this.modelProtoManager.addProto(ctx.clazz, obj);
13
+ }
14
+ };
15
+
16
+ //#endregion
17
+ export { ModelProtoHook };
@@ -1,11 +1,15 @@
1
- import type { EggProtoImplClass } from '@eggjs/core-decorator';
2
- import type { EggPrototype } from '@eggjs/metadata';
3
- export interface ModelProtoPair {
4
- proto: EggPrototype;
5
- clazz: EggProtoImplClass;
1
+ import { EggPrototype } from "@eggjs/metadata";
2
+ import { EggProtoImplClass } from "@eggjs/core-decorator";
3
+
4
+ //#region src/lib/ModelProtoManager.d.ts
5
+ interface ModelProtoPair {
6
+ proto: EggPrototype;
7
+ clazz: EggProtoImplClass;
6
8
  }
7
- export declare class ModelProtoManager {
8
- private readonly protos;
9
- addProto(clazz: EggProtoImplClass, proto: EggPrototype): void;
10
- getProtos(): Array<ModelProtoPair>;
9
+ declare class ModelProtoManager {
10
+ private readonly protos;
11
+ addProto(clazz: EggProtoImplClass, proto: EggPrototype): void;
12
+ getProtos(): Array<ModelProtoPair>;
11
13
  }
14
+ //#endregion
15
+ export { ModelProtoManager, ModelProtoPair };
@@ -1,10 +1,18 @@
1
- export class ModelProtoManager {
2
- protos = [];
3
- addProto(clazz, proto) {
4
- this.protos.push({ proto, clazz });
5
- }
6
- getProtos() {
7
- return this.protos.slice();
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kZWxQcm90b01hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL01vZGVsUHJvdG9NYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sT0FBTyxpQkFBaUI7SUFDWCxNQUFNLEdBQTBCLEVBQUUsQ0FBQztJQUVwRCxRQUFRLENBQUMsS0FBd0IsRUFBRSxLQUFtQjtRQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDRiJ9
1
+ //#region src/lib/ModelProtoManager.ts
2
+ var ModelProtoManager = class {
3
+ constructor() {
4
+ this.protos = [];
5
+ }
6
+ addProto(clazz, proto) {
7
+ this.protos.push({
8
+ proto,
9
+ clazz
10
+ });
11
+ }
12
+ getProtos() {
13
+ return this.protos.slice();
14
+ }
15
+ };
16
+
17
+ //#endregion
18
+ export { ModelProtoManager };
@@ -1,5 +1,9 @@
1
- import type { LifecycleHook } from '@eggjs/lifecycle';
2
- import { type LoadUnit, type LoadUnitLifecycleContext } from '@eggjs/metadata';
3
- export declare class ORMLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
4
- postCreate(_ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
1
+ import { LoadUnit, LoadUnitLifecycleContext } from "@eggjs/metadata";
2
+ import { LifecycleHook } from "@eggjs/lifecycle";
3
+
4
+ //#region src/lib/ORMLoadUnitHook.d.ts
5
+ declare class ORMLoadUnitHook implements LifecycleHook<LoadUnitLifecycleContext, LoadUnit> {
6
+ postCreate(_ctx: LoadUnitLifecycleContext, loadUnit: LoadUnit): Promise<void>;
5
7
  }
8
+ //#endregion
9
+ export { ORMLoadUnitHook };