@nestjs/typeorm
Version:
Nest - modern, fast, powerful node.js web framework (@typeorm)
52 lines (51 loc) • 2.26 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var TypeOrmModule_1;
import { Module } from '@nestjs/common';
import { EntitiesMetadataStorage } from './entities-metadata.storage.js';
import { TypeOrmCoreModule } from './typeorm-core.module.js';
import { DEFAULT_DATA_SOURCE_NAME } from './typeorm.constants.js';
import { createTypeOrmProviders } from './typeorm.providers.js';
/**
* @publicApi
*/
let TypeOrmModule = TypeOrmModule_1 = class TypeOrmModule {
/**
* Registers the TypeORM module with the given options.
*
* @param options The TypeORM data source options.
* @param name Optional data source name. When provided, it overrides
* `options.name` (if any) so the data source name can be configured
* separately from the connection options – mirroring `forRootAsync`.
*/
static forRoot(options, name) {
const resolvedOptions = name !== undefined ? { ...(options ?? {}), name } : options;
return {
module: TypeOrmModule_1,
imports: [TypeOrmCoreModule.forRoot(resolvedOptions)],
};
}
static forFeature(entities = [], dataSource = DEFAULT_DATA_SOURCE_NAME) {
const providers = createTypeOrmProviders(entities, dataSource);
EntitiesMetadataStorage.addEntitiesByDataSource(dataSource, [...entities]);
return {
module: TypeOrmModule_1,
providers: providers,
exports: providers,
};
}
static forRootAsync(options) {
return {
module: TypeOrmModule_1,
imports: [TypeOrmCoreModule.forRootAsync(options)],
};
}
};
TypeOrmModule = TypeOrmModule_1 = __decorate([
Module({})
], TypeOrmModule);
export { TypeOrmModule };