UNPKG

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.

48 lines (37 loc) 955 B
import { MetadataStorage } from '../metadata'; export function BeforeCreate() { return hook('beforeCreate'); } export function AfterCreate() { return hook('afterCreate'); } export function BeforeUpdate() { return hook('beforeUpdate'); } export function AfterUpdate() { return hook('afterUpdate'); } /** * Called before deleting entity, but only when providing initialized entity to EM#remove() */ export function BeforeDelete() { return hook('beforeDelete'); } /** * Called after deleting entity, but only when providing initialized entity to EM#remove() */ export function AfterDelete() { return hook('afterDelete'); } function hook(type: string) { return function (target: any, method: string) { const meta = MetadataStorage.getMetadata(target.constructor.name); if (!meta.hooks) { meta.hooks = {}; } if (!meta.hooks[type]) { meta.hooks[type] = []; } meta.hooks[type].push(method); }; }