UNPKG

lendb-server

Version:

`LenDB Server` is a wrapper around another database called Acebase that acts like a client. Think of it as parse-server and firebase had baby then voilah!!! `Hello World!!` LenDB is born.

88 lines (87 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RegisterHook = exports.RefHooks = exports.Authhooks = void 0; exports.Authhooks = []; exports.RefHooks = []; class Hook { constructor() { this._refhooks = []; this._authHooks = []; } addOrReplaceRefHook(hook) { const { ref: table, event } = hook; const el = this._refhooks.findIndex((h) => h.ref == table && h.event == event); if (el == -1) { this._refhooks.push(hook); } else { this.refHooks[el] = hook; } } addOrReplaceAuthHook(hook) { } beforeAdd(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "beforeAdd" }); } afterAdd(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "afterAdd" }); } beforeUpdate(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "beforeUpdate" }); } afterUpdate(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "afterUpdate" }); } beforeDestroy(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "beforeDestroy", }); } afterDestroy(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "afterDestroy" }); } beforeFind(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "beforeFind" }); } afterFind(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "afterFind" }); } liveAdd(ref, callback) { this.addOrReplaceRefHook({ ref, callback, event: "liveAdd" }); } liveUpdate(ref, callback) { this.addOrReplaceRefHook({ ref, callback, event: "liveUpdate" }); } liveDestroy(ref, callback) { this.addOrReplaceRefHook({ ref, callback, event: "liveDestroy" }); } beforeLoad(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "beforeLoad" }); } afterLoad(ref, callback) { this.addOrReplaceRefHook({ ref: ref, callback, event: "afterLoad" }); } beforeLogin(callback) { } //todo Auth Hooks afterLogin(callback) { } beforeTokenLogin(callback) { } afterTokenLogin(callback) { } beforeRegister(callback) { } afterRegister(callback) { } get refHooks() { return this._refhooks; } get authHooks() { return this._authHooks; } } exports.default = Hook; function RegisterHook(hook) { let temp = new Hook(); hook(temp); exports.RefHooks = temp.refHooks; exports.Authhooks = temp.authHooks; } exports.RegisterHook = RegisterHook;