'use strict';
exports.__esModule = true;
exports.optionsHook = optionsHook;
exports.hook = hook;
exports.deepHook = deepHook;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _options = require('./options');
var _options2 = _interopRequireDefault(_options);
/** Invoke a hook on the `options` export. */
function optionsHook(name, a) {
return hook(_options2['default'], name, a);
}
/** Invoke a "hook" method with arguments if it exists.
* @private
*/
function hook(obj, name, a, b, c) {
if (obj[name]) return obj[name](a, b, c);
}
/** Invoke hook() on a component and child components (recursively)
* @private
*/
function deepHook(obj, type) {
do {
hook(obj, type);
} while (obj = obj._component);
}
|