framework/js/lib/extension-utils.js

18 lines
502 B
JavaScript
Raw Normal View History

2015-04-25 20:58:39 +08:00
export function extend(object, func, extension) {
var original = object[func];
2015-04-25 20:58:39 +08:00
object[func] = function() {
var args = [].slice.apply(arguments);
var value = original.apply(this, args);
extension.apply(this, [value].concat(args));
return value;
2015-04-25 20:58:39 +08:00
}
};
export function override(object, func, override) {
var original = object[func];
object[func] = function() {
var args = [].slice.apply(arguments);
return override.apply(this, [original.bind(this)].concat(args));
}
};