quaerateum
Version:
Simple typescript ORM for node.js based on data-mapper, unit-of-work and identity-map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JS.
30 lines (21 loc) • 686 B
text/typescript
import { NamingStrategy } from './NamingStrategy';
export class MongoNamingStrategy implements NamingStrategy {
classToTableName(entityName: string): string {
return entityName.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
}
joinColumnName(propertyName: string): string {
return propertyName;
}
joinKeyColumnName(entityName: string, referencedColumnName?: string): string {
return entityName;
}
joinTableName(sourceEntity: string, targetEntity: string, propertyName?: string): string {
return '';
}
propertyToColumnName(propertyName: string): string {
return propertyName;
}
referenceColumnName(): string {
return '_id';
}
}