salix/loopback/util/hook.js

30 lines
704 B
JavaScript

/**
* Computes the final instance state after hook is executed.
*
* @param {Object} ctx The hook context
* @return {Object} The final instance state
*/
exports.getFinalState = function(ctx) {
if (ctx.isNewInstance)
return ctx.instance;
if (ctx.currentInstance) {
return Object.assign({},
ctx.currentInstance.__data,
ctx.data || ctx.instance
);
}
return null;
};
/**
* Determines if hook is affecting multiple instances.
*
* @param {Object} ctx The hook context
* @return {Boolean} %true for multiple instances, %false otherwhise
*/
exports.isMultiple = function(ctx) {
return !ctx.isNewInstance && !ctx.currentInstance;
};