docs: function parseExpression(str) {
  
    var expMatches = str.match(expressionRegex)
  
    // get the args from the second match
    // extract options from args using filter with side effect
    var options = {}
    var args = compact((expMatches[2] || '').split(argsRegex))
      .filter(function (arg) {
        var keyValue = arg.split('=')
        return keyValue.length === 1 || (options[keyValue[0]] = keyValue[1], false)
      })
  
    return {
      expression: expMatches[1] || null,
      args: args,
      options: options
    }
  }