UNPKG

slim-ef

Version:

An implementation of basic entity framework functionnalities in typescript

41 lines 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEntitySet = exports.getEntitySetKeys = exports.getEntitySchema = exports.DbSetEntity = exports.EntityRepository = void 0; const repositoryMetadataKey = Symbol('entityRepository:key'); const entityMetadataKey = Symbol('entity:key'); const propMetadataKey = Symbol('prop:key'); const propListPropertyName = 'prop:list'; function EntityRepository(entity) { return (target) => { Reflect.defineMetadata(repositoryMetadataKey, entity, target); Reflect.defineMetadata(entityMetadataKey, entity, entity); }; } exports.EntityRepository = EntityRepository; function DbSetEntity(entity) { return (target, propertykey) => { Reflect.defineMetadata(repositoryMetadataKey, entity, target.constructor, propertykey); const props = Reflect.getOwnMetadata(propMetadataKey, target.constructor, propListPropertyName) || []; props.push(propertykey); Reflect.defineMetadata(propMetadataKey, props, target.constructor, propListPropertyName); EntityRepository(entity)(target); }; } exports.DbSetEntity = DbSetEntity; function getEntitySchema(target) { return (Reflect.getOwnMetadata(repositoryMetadataKey, target.constructor) || Reflect.getOwnMetadata(entityMetadataKey, target.constructor) || Reflect.getOwnMetadata(repositoryMetadataKey, target) || Reflect.getOwnMetadata(entityMetadataKey, target)); } exports.getEntitySchema = getEntitySchema; function getEntitySetKeys(target) { return Reflect.getOwnMetadata(propMetadataKey, target.constructor, propListPropertyName); } exports.getEntitySetKeys = getEntitySetKeys; function getEntitySet(target, propertykey) { return (Reflect.getOwnMetadata(entityMetadataKey, target.constructor, propertykey) || Reflect.getOwnMetadata(repositoryMetadataKey, target.constructor, propertykey)); } exports.getEntitySet = getEntitySet; //# sourceMappingURL=repository.decorator.js.map