File: js/__improved-model/model-swtch/build-callback.js
/* jshint ignore:start */
if (typeof define !== 'function') { var define = require('amdefine')(module) }
/* jshint ignore:end */
define(function (require, exports, module) {
'use strict';
var _ = require('lodash');
function setCallback(model, values) {
model.set(values);
}
/**
* Builds the callback function according to the type of the action.
*
* @param {[type]} model [description]
* @param {[type]} action [description]
* @return {[type]} [description]
*/
module.exports = function buildCallback(model, action) {
if (_.isFunction(action)) {
// simple callback
return _.partial(action, model);
} else {
// setting callback
return _.partial(setCallback, model, action);
}
};
});