UNPKG

@nodeboot/starter-persistence

Version:

Nodeboot starter package for persistence. Supports data access layer auto-configuration providing features like database initialization, consistency check, entity mapping, repository pattern, transactions, paging, migrations, persistence listeners, persis

35 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PersistenceNamingStrategy = PersistenceNamingStrategy; const PersistenceContext_1 = require("../PersistenceContext"); /** * Decorator to register a custom naming strategy for the persistence layer. * * This decorator sets the given class as the active naming strategy to be used by TypeORM * when generating database table and column names. * * @template T - A class implementing TypeORM's NamingStrategyInterface. * @returns {ClassDecorator} The class decorator function. * * @example * ```ts * import {PersistenceNamingStrategy} from "@nodeboot/starter-persistence"; * import {DefaultNamingStrategy, NamingStrategyInterface} from "typeorm"; * * @PersistenceNamingStrategy() * class CustomNamingStrategy extends DefaultNamingStrategy implements NamingStrategyInterface { * tableName(className: string, customName: string): string { * return customName ? customName.toLowerCase() : className.toLowerCase(); * } * } * ``` * * @author * Manuel Santos <https://github.com/manusant> */ function PersistenceNamingStrategy() { return (target) => { PersistenceContext_1.PersistenceContext.get().namingStrategy = target; }; } //# sourceMappingURL=PersistenceNamingStrategy.js.map