@midwayjs/mikro 3.4.0-beta.1

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/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # midway Mikro component
2
+
3
+ this is a sub package for midway.
4
+
5
+ Document: [https://midwayjs.org](https://midwayjs.org)
6
+
7
+ ## License
8
+
9
+ [MIT]((http://github.com/midwayjs/midway/blob/master/LICENSE))
@@ -0,0 +1,11 @@
1
+ import { ILifeCycle, IMidwayApplication, IMidwayContainer, MidwayDecoratorService } from '@midwayjs/core';
2
+ import { MikroDataSourceManager } from './dataSourceManager';
3
+ export declare class MikroConfiguration implements ILifeCycle {
4
+ app: IMidwayApplication;
5
+ decoratorService: MidwayDecoratorService;
6
+ dataSourceManager: MikroDataSourceManager;
7
+ init(): Promise<void>;
8
+ onReady(container: IMidwayContainer): Promise<void>;
9
+ onStop(container: IMidwayContainer): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=configuration.d.ts.map
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (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
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MikroConfiguration = void 0;
13
+ const core_1 = require("@midwayjs/core");
14
+ const decorator_1 = require("@midwayjs/decorator");
15
+ const decorator_2 = require("./decorator");
16
+ const dataSourceManager_1 = require("./dataSourceManager");
17
+ let MikroConfiguration = class MikroConfiguration {
18
+ async init() {
19
+ this.decoratorService.registerPropertyHandler(decorator_2.ENTITY_MODEL_KEY, (propertyName, meta) => {
20
+ return this.dataSourceManager
21
+ .getDataSource(meta.connectionName)
22
+ .em.getRepository(meta.modelKey);
23
+ });
24
+ }
25
+ async onReady(container) {
26
+ this.dataSourceManager = await container.getAsync(dataSourceManager_1.MikroDataSourceManager);
27
+ }
28
+ async onStop(container) {
29
+ if (this.dataSourceManager) {
30
+ await this.dataSourceManager.stop();
31
+ }
32
+ }
33
+ };
34
+ __decorate([
35
+ (0, decorator_1.App)(),
36
+ __metadata("design:type", Object)
37
+ ], MikroConfiguration.prototype, "app", void 0);
38
+ __decorate([
39
+ (0, decorator_1.Inject)(),
40
+ __metadata("design:type", core_1.MidwayDecoratorService)
41
+ ], MikroConfiguration.prototype, "decoratorService", void 0);
42
+ __decorate([
43
+ (0, decorator_1.Init)(),
44
+ __metadata("design:type", Function),
45
+ __metadata("design:paramtypes", []),
46
+ __metadata("design:returntype", Promise)
47
+ ], MikroConfiguration.prototype, "init", null);
48
+ MikroConfiguration = __decorate([
49
+ (0, decorator_1.Configuration)({
50
+ importConfigs: [
51
+ {
52
+ default: {
53
+ mikro: {},
54
+ },
55
+ },
56
+ ],
57
+ namespace: 'mikro',
58
+ })
59
+ ], MikroConfiguration);
60
+ exports.MikroConfiguration = MikroConfiguration;
61
+ //# sourceMappingURL=configuration.js.map
@@ -0,0 +1,11 @@
1
+ import { DataSourceManager } from '@midwayjs/core';
2
+ import { MikroORM, IDatabaseDriver, Connection } from '@mikro-orm/core';
3
+ export declare class MikroDataSourceManager extends DataSourceManager<MikroORM<IDatabaseDriver<Connection>>> {
4
+ mikroConfig: any;
5
+ init(): Promise<void>;
6
+ getName(): string;
7
+ protected createDataSource(config: any, dataSourceName: string): Promise<MikroORM<IDatabaseDriver<Connection>>>;
8
+ protected checkConnected(dataSource: MikroORM<IDatabaseDriver<Connection>>): Promise<boolean>;
9
+ protected destroyDataSource(dataSource: MikroORM<IDatabaseDriver<Connection>>): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=dataSourceManager.d.ts.map
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (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
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MikroDataSourceManager = void 0;
13
+ const decorator_1 = require("@midwayjs/decorator");
14
+ const core_1 = require("@midwayjs/core");
15
+ const core_2 = require("@mikro-orm/core");
16
+ let MikroDataSourceManager = class MikroDataSourceManager extends core_1.DataSourceManager {
17
+ async init() {
18
+ await this.initDataSource(this.mikroConfig);
19
+ }
20
+ getName() {
21
+ return 'mikro';
22
+ }
23
+ async createDataSource(config, dataSourceName) {
24
+ return core_2.MikroORM.init(config);
25
+ }
26
+ async checkConnected(dataSource) {
27
+ return dataSource.isConnected();
28
+ }
29
+ async destroyDataSource(dataSource) {
30
+ if (dataSource.isConnected()) {
31
+ await dataSource.close();
32
+ }
33
+ }
34
+ };
35
+ __decorate([
36
+ (0, decorator_1.Config)('mikro'),
37
+ __metadata("design:type", Object)
38
+ ], MikroDataSourceManager.prototype, "mikroConfig", void 0);
39
+ __decorate([
40
+ (0, decorator_1.Init)(),
41
+ __metadata("design:type", Function),
42
+ __metadata("design:paramtypes", []),
43
+ __metadata("design:returntype", Promise)
44
+ ], MikroDataSourceManager.prototype, "init", null);
45
+ MikroDataSourceManager = __decorate([
46
+ (0, decorator_1.Provide)(),
47
+ (0, decorator_1.Scope)(decorator_1.ScopeEnum.Singleton)
48
+ ], MikroDataSourceManager);
49
+ exports.MikroDataSourceManager = MikroDataSourceManager;
50
+ //# sourceMappingURL=dataSourceManager.js.map
@@ -0,0 +1,3 @@
1
+ export declare const ENTITY_MODEL_KEY = "mikro:entity_model_key";
2
+ export declare function InjectRepository(modelKey: any, connectionName?: string): PropertyDecorator;
3
+ //# sourceMappingURL=decorator.d.ts.map
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InjectRepository = exports.ENTITY_MODEL_KEY = void 0;
4
+ const decorator_1 = require("@midwayjs/decorator");
5
+ exports.ENTITY_MODEL_KEY = 'mikro:entity_model_key';
6
+ function InjectRepository(modelKey, connectionName = 'default') {
7
+ return (0, decorator_1.createCustomPropertyDecorator)(exports.ENTITY_MODEL_KEY, {
8
+ modelKey,
9
+ connectionName,
10
+ });
11
+ }
12
+ exports.InjectRepository = InjectRepository;
13
+ //# sourceMappingURL=decorator.js.map
@@ -0,0 +1,5 @@
1
+ export { MikroConfiguration as Configuration } from './configuration';
2
+ export * from './decorator';
3
+ export * from './interface';
4
+ export * from './dataSourceManager';
5
+ //# sourceMappingURL=index.d.ts.map
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Configuration = void 0;
18
+ var configuration_1 = require("./configuration");
19
+ Object.defineProperty(exports, "Configuration", { enumerable: true, get: function () { return configuration_1.MikroConfiguration; } });
20
+ __exportStar(require("./decorator"), exports);
21
+ __exportStar(require("./interface"), exports);
22
+ __exportStar(require("./dataSourceManager"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import { Options, Configuration, IDatabaseDriver } from '@mikro-orm/core';
2
+ import { DataSourceManagerConfigOption } from '@midwayjs/core';
3
+ export declare type MikroConfigOptions<D extends IDatabaseDriver> = DataSourceManagerConfigOption<Options<D> | Configuration<D>>;
4
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interface.js.map
package/index.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { MikroConfigOptions } from './dist/index';
2
+
3
+ export * from './dist/index';
4
+
5
+ declare module '@midwayjs/core/dist/interface' {
6
+ interface MidwayConfig {
7
+ mikro?: PowerPartial<MikroConfigOptions>;
8
+ }
9
+ }
package/package.json ADDED
@@ -0,0 +1,39 @@
1
+ {
2
+ "name": "@midwayjs/mikro",
3
+ "version": "3.4.0-beta.1",
4
+ "main": "dist/index",
5
+ "typings": "index.d.ts",
6
+ "files": [
7
+ "dist/**/*.js",
8
+ "dist/**/*.d.ts",
9
+ "index.d.ts"
10
+ ],
11
+ "devDependencies": {
12
+ "@midwayjs/core": "^3.4.0-beta.1",
13
+ "@midwayjs/decorator": "^3.4.0-beta.1",
14
+ "@midwayjs/mock": "^3.4.0-beta.1",
15
+ "@mikro-orm/core": "5.2.0",
16
+ "@mikro-orm/entity-generator": "5.2.0",
17
+ "@mikro-orm/sql-highlighter": "1.0.1",
18
+ "@mikro-orm/sqlite": "5.2.0",
19
+ "sqlite3": "5.0.8"
20
+ },
21
+ "author": {
22
+ "name": "czy88840616",
23
+ "email": "czy88840616@gmail.com"
24
+ },
25
+ "engines": {
26
+ "node": ">=15.14.0"
27
+ },
28
+ "license": "MIT",
29
+ "scripts": {
30
+ "build": "tsc",
31
+ "test": "node --require=ts-node/register ../../node_modules/.bin/jest --runInBand",
32
+ "cov": "node --require=ts-node/register ../../node_modules/.bin/jest --runInBand --coverage --forceExit"
33
+ },
34
+ "repository": {
35
+ "type": "git",
36
+ "url": "http://github.com/midwayjs/midway.git"
37
+ },
38
+ "gitHead": "14d8440f20978426184c988808343cc24bcf6e20"
39
+ }