matches.js
function caseOf (/* ...args, matcher */) {
    var args = slice.call(arguments, 0, -1);
    var matcher = arguments[arguments.length - 1];
    var context = this === exports ? null : this;
  
    if (typeof matcher === "function") {
      if (!matcher.__matchChain) throw new Error("Not a matcher function");
      return matcher.apply(context, args);
    }
  
    return pattern(matcher).apply(context, args);
  }
function caseOf (/* ...args, matcher */) {
    var args = slice.call(arguments, 0, -1);
    var matcher = arguments[arguments.length - 1];
    var context = this === exports ? null : this;
  
    if (typeof matcher === "function") {
      if (!matcher.__matchChain) throw new Error("Not a matcher function");
      return matcher.apply(context, args);
    }
  
    return pattern(matcher).apply(context, args);
  }
function caseOf ( /* ...args, matcher */ ) { var args = slice . call ( arguments , 0 , - 1 ) ; var matcher = arguments [ arguments . length - 1 ] ; var context = this === exports ? null : this ; if ( typeof matcher === "function" ) { if ( ! matcher . __matchChain ) throw new Error ( "Not a matcher function" ) ; return matcher . apply ( context , args ) ; } return pattern ( matcher ) . apply ( context , args ) ; }
Sugar for creating a new pattern and immediately invoking it with arguments. This just lets you put the arguments first instead of after the patterns.
Sugar for creating a new pattern and immediately invoking it with arguments . This just lets you put the arguments first instead of after the patterns .