{"version":3,"file":"_dispatchable.mjs","sources":["../../../../../node_modules/ramda/es/internal/_dispatchable.js"],"sourcesContent":["import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n  return function () {\n    if (arguments.length === 0) {\n      return fn();\n    }\n\n    var args = Array.prototype.slice.call(arguments, 0);\n    var obj = args.pop();\n\n    if (!_isArray(obj)) {\n      var idx = 0;\n\n      while (idx < methodNames.length) {\n        if (typeof obj[methodNames[idx]] === 'function') {\n          return obj[methodNames[idx]].apply(obj, args);\n        }\n\n        idx += 1;\n      }\n\n      if (_isTransformer(obj)) {\n        var transducer = xf.apply(null, args);\n        return transducer(obj);\n      }\n    }\n\n    return fn.apply(this, arguments);\n  };\n}"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,SAAS,aAAa,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE;AAC3D,EAAE,OAAO,YAAY;AACrB,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,MAAM,OAAO,EAAE,EAAE;AACjB,IAAI;;AAEJ,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACvD,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;;AAExB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AACxB,MAAM,IAAI,GAAG,GAAG,CAAC;;AAEjB,MAAM,OAAO,GAAG,GAAG,WAAW,CAAC,MAAM,EAAE;AACvC,QAAQ,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,UAAU,EAAE;AACzD,UAAU,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;AACvD,QAAQ;;AAER,QAAQ,GAAG,IAAI,CAAC;AAChB,MAAM;;AAEN,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;AAC/B,QAAQ,IAAI,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AAC7C,QAAQ,OAAO,UAAU,CAAC,GAAG,CAAC;AAC9B,MAAM;AACN,IAAI;;AAEJ,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC;AACpC,EAAE,CAAC;AACH;;;;","x_google_ignoreList":[0]}