ember-lifeline
Version:
Ember.js addon for lifecycle aware async tasks and DOM events.
22 lines (19 loc) • 538 B
JavaScript
export default function getTask(obj, taskOrName, taskName) {
let type = typeof taskOrName;
let task;
if (type === 'function') {
task = taskOrName;
} else if (type === 'string') {
task = obj[taskOrName];
if (typeof task !== 'function') {
throw new TypeError(
`The method name '${taskOrName}' passed to ${taskName} does not resolve to a valid function.`
);
}
} else {
throw new TypeError(
`You must pass a task function or method name to '${taskName}'.`
);
}
return task;
}