in src/directives/outside/outside.js [87:118]
function parseBinding({ arg, value, modifiers }) {
const modifiersList = Object.keys(modifiers);
if (process.env.NODE_ENV !== 'production') {
if (typeof value !== 'function') {
throw new Error(`[GlOutsideDirective] Value must be a function; got ${typeof value}!`);
}
if (typeof arg !== 'undefined') {
throw new Error(
`[GlOutsideDirective] Arguments are not supported. Consider using modifiers instead.`
);
}
const unsupportedModifiers = modifiersList.filter(
(modifier) => !supportedEventTypes.includes(modifier)
);
if (unsupportedModifiers.length > 0) {
throw new Error(
`[GlOutsideDirective] Cannot bind ${unsupportedModifiers.join(', ')} events; supported event types are: ${supportedEventTypes.join(
', '
)}`
);
}
}
return {
callback: value,
eventTypes: modifiersList.length > 0 ? modifiersList : [defaultEventType],
};
}