UNPKG

@sqb/connect

Version:

Multi-dialect database connection framework written with TypeScript

64 lines (63 loc) 3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BeforeInsert = BeforeInsert; exports.BeforeUpdate = BeforeUpdate; exports.BeforeDestroy = BeforeDestroy; exports.AfterInsert = AfterInsert; exports.AfterUpdate = AfterUpdate; exports.AfterDestroy = AfterDestroy; const entity_metadata_js_1 = require("../model/entity-metadata.js"); function BeforeInsert() { return (target, propertyKey) => { if (typeof propertyKey !== 'string') throw new Error('You can define a Column for only string properties'); const model = entity_metadata_js_1.EntityMetadata.define(target.constructor); const fn = target.constructor.prototype[propertyKey]; entity_metadata_js_1.EntityMetadata.addEventListener(model, 'before-insert', fn); }; } function BeforeUpdate() { return (target, propertyKey) => { if (typeof propertyKey !== 'string') throw new Error('You can define a Column for only string properties'); const model = entity_metadata_js_1.EntityMetadata.define(target.constructor); const fn = target.constructor.prototype[propertyKey]; entity_metadata_js_1.EntityMetadata.addEventListener(model, 'before-update', fn); }; } function BeforeDestroy() { return (target, propertyKey) => { if (typeof propertyKey !== 'string') throw new Error('You can define a Column for only string properties'); const model = entity_metadata_js_1.EntityMetadata.define(target.constructor); const fn = target.constructor.prototype[propertyKey]; entity_metadata_js_1.EntityMetadata.addEventListener(model, 'before-destroy', fn); }; } function AfterInsert() { return (target, propertyKey) => { if (typeof propertyKey !== 'string') throw new Error('You can define a Column for only string properties'); const model = entity_metadata_js_1.EntityMetadata.define(target.constructor); const fn = target.constructor.prototype[propertyKey]; entity_metadata_js_1.EntityMetadata.addEventListener(model, 'after-insert', fn); }; } function AfterUpdate() { return (target, propertyKey) => { if (typeof propertyKey !== 'string') throw new Error('You can define a Column for only string properties'); const model = entity_metadata_js_1.EntityMetadata.define(target.constructor); const fn = target.constructor.prototype[propertyKey]; entity_metadata_js_1.EntityMetadata.addEventListener(model, 'after-update', fn); }; } function AfterDestroy() { return (target, propertyKey) => { if (typeof propertyKey !== 'string') throw new Error('You can define a Column for only string properties'); const model = entity_metadata_js_1.EntityMetadata.define(target.constructor); const fn = target.constructor.prototype[propertyKey]; entity_metadata_js_1.EntityMetadata.addEventListener(model, 'after-destroy', fn); }; }