Home Reference Source

src/utils/bindMethods.js

/** @private */
export function bindMethods(instance, methods, appendEmitter = true) {
	methods.forEach((method) => {
		if (appendEmitter) {
			instance[method] = function(...args) {
				args.push(this);
				return Object.getPrototypeOf(instance)[method].apply(instance, args);
			};
		} else {
			instance[method] = Object.getPrototypeOf(instance)[method].bind(instance);
		}
	});
}