UNPKG

dsl-framework

Version:
36 lines (35 loc) 1.57 kB
var module = { exports: {} }; var exports = module.exports; /* eslint-disable block-spacing */ /* eslint-disable brace-style */ /* eslint-disable indent */ function _extractCallbackData(...args) { let baseKindArguments = Array.from(args); const argumentsLastIndex = baseKindArguments.length >= 2 ? baseKindArguments.length - 1 : false; const argumentsOneBeforeLastIndex = baseKindArguments.length >= 3 ? argumentsLastIndex - 1 : false; let trueCaseFunction = false; let falseCaseFunction = false; if (argumentsLastIndex) { if (argumentsOneBeforeLastIndex) { falseCaseFunction = argumentsLastIndex ? typeof args[argumentsLastIndex] === 'function' ? args[argumentsLastIndex] : false : false; trueCaseFunction = argumentsOneBeforeLastIndex ? typeof args[argumentsOneBeforeLastIndex] === 'function' ? args[argumentsOneBeforeLastIndex] : false : false; } else { trueCaseFunction = argumentsLastIndex ? typeof args[argumentsLastIndex] === 'function' ? args[argumentsLastIndex] : false : false; falseCaseFunction = false; } } trueCaseFunction && (() => baseKindArguments = baseKindArguments.slice(0, -1))(); falseCaseFunction && (() => baseKindArguments = baseKindArguments.slice(0, -1))(); const havingCaseFunction = !!trueCaseFunction || !!falseCaseFunction; return { baseKindArguments, havingCaseFunction, trueCaseFunction, falseCaseFunction }; } exports.extractCallbackData = _extractCallbackData; export let extractCallbackData = exports.extractCallbackData; export default module.exports;