lux-framework
Version:
Build scalable, Node.js-powered REST APIs with almost no code.
18 lines (16 loc) • 339 B
JavaScript
// @flow
import type Model, { Model$Hook } from '../index';
/**
* @private
*/
export default function runHooks(
record: Model,
trx: Object,
...hooks: Array<void | Model$Hook>
): Promise<void> {
return hooks
.filter(Boolean)
.reduce((prev, next) => (
prev.then(() => next(record, trx))
), Promise.resolve());
}