nestjs-express-cassandra
Version:
Express-cassandra module for Nest framework
21 lines (17 loc) • 569 B
text/typescript
import {
EntityOptions,
ExtendedEntityOptions,
} from '../interfaces/decorators.interface';
import { addEntityOptions, setEntityName } from '../utils/metadata';
export function Entity<T>(options: EntityOptions<T>): ClassDecorator {
return (target): void => {
const extended = {
...options,
instanceMethods: target.prototype,
classMethods: target,
};
const entityName = options.name || target.name;
setEntityName(target.prototype, entityName);
addEntityOptions<ExtendedEntityOptions<T>>(target.prototype, extended);
};
}