Checks if token is valid to be part of arguments list
@param {number} i Token's index number
@return {number} Length of argument
765939
function checkArgument(i) {
  let l;

  if (l = checkBrackets(i)) tokens[i].argument_child = 1;
  else if (l = checkParentheses(i)) tokens[i].argument_child = 2;
  else if (l = checkSingleValueDeclaration(i)) tokens[i].argument_child = 3;
  else if (l = checkFunctionsList(i)) tokens[i].argument_child = 4;
  else if (l = checkFunction(i)) tokens[i].argument_child = 5;
  else if (l = checkVariablesList(i)) tokens[i].argument_child = 6;
  else if (l = checkVariable(i)) tokens[i].argument_child = 7;
  else if (l = checkSC(i)) tokens[i].argument_child = 8;
  else if (l = checkDelim(i)) tokens[i].argument_child = 9;
  else if (l = checkDeclDelim(i)) tokens[i].argument_child = 10;
  else if (l = checkString(i)) tokens[i].argument_child = 11;
  else if (l = checkPercentage(i)) tokens[i].argument_child = 12;
  else if (l = checkDimension(i)) tokens[i].argument_child = 13;
  else if (l = checkNumber(i)) tokens[i].argument_child = 14;
  else if (l = checkUri(i)) tokens[i].argument_child = 15;
  else if (l = checkInterpolation(i)) tokens[i].argument_child = 16;
  else if (l = checkIdent(i)) tokens[i].argument_child = 17;
  else if (l = checkVhash(i)) tokens[i].argument_child = 18;
  else if (l = checkCustomProperty(i)) tokens[i].argument_child = 19;
  else if (l = checkOperator(i)) tokens[i].argument_child = 20;
  else if (l = checkUnary(i)) tokens[i].argument_child = 21;
  else if (l = checkParentSelector(i)) tokens[i].argument_child = 22;
  else if (l = checkImportant(i)) tokens[i].argument_child = 23;
  else if (l = checkGlobal(i)) tokens[i].argument_child = 24;
  else if (l = checkDefault(i)) tokens[i].argument_child = 25;
  else if (l = checkOptional(i)) tokens[i].argument_child = 26;

  return l;
}
719906
function checkCustomProperty(i) {
  const start = i;
  let l;

  if (i >= tokensLength) return 0;

  if (tokens[i].type !== TokenType.HyphenMinus ||
      tokens[i + 1] && tokens[i + 1].type !== TokenType.HyphenMinus) return 0;

  // Skip `--`
  i += 2;

  if (l = checkIdentOrInterpolation(i)) i += l;
  else return 0;

  return i - start;
}
1030702
function checkUriRaw(i) {
  const start = i;
  let l;

  while (i < tokensLength) {
    if (checkInterpolation(i) || checkVariable(i)) break;
    else if (l = checkUriRawCharacters(i)) i += l;
    else break;
  }

  tokens[start].uri_raw_end = i;

  return i - start;
}
403280
function checkProperty1(i) {
  const start = i;
  let l;

  if (i >= tokensLength) return 0;

  if (l = checkIdentOrInterpolation(i)) i += l;
  else return 0;

  return i - start;
}
856579
function checkUri2(i) {
  const start = i;
  let l;

  while (i < tokensLength) {
    if (l = checkSC(i)) i += l;
    else if (l = checkString(i)) i += l;
    else if (l = checkFunction(i)) i += l;
    else if (l = checkUnary(i)) i += l;
    else if (l = checkIdentOrInterpolation(i)) i += l;
    else if (l = checkVariable(i)) i += l;
    else break;
  }

  // Check that we are at the end of the uri
  if (i < tokens[start - 1].right) return 0;

  tokens[start].uri_end = i;

  return i - start;
}
447179
function checkSelector2(i) {
  if (i >= tokensLength) return 0;

  const start = i;
  let l;

  if (l = checkCombinator(i)) i += l;
  else return 0;

  while (i < tokensLength) {
    const spaceBefore = checkSC(i);
    if (l = checkCompoundSelector(i + spaceBefore)) i += spaceBefore + l;
    else break;

    const spaceAfter = checkSC(i);
    const comma = checkCombinator(i + spaceAfter);
    if (!spaceAfter && !comma) break;
    if (comma) {
      i += spaceAfter + comma;
    }
  }

  tokens[start].selectorEnd = i;
  return i - start;
}
844108
function checkShash(i) {
  const start = i;
  let l;

  if (i >= tokensLength) return 0;

  if (tokens[i].type === TokenType.NumberSign) i++;
  else return 0;

  if (l = checkIdentOrInterpolation(i) || checkPartialIdent(i)) i += l;
  else return 0;

  while (i < tokensLength) {
    if (l = checkIdentOrInterpolation(i) || checkPartialIdent(i)) i += l;
    else break;
  }

  tokens[start].shashEnd = i;

  return i - start;
}
356813
function checkS(i) {
  return i < tokensLength && tokens[i].ws ? tokens[i].ws_last - i + 1 : 0;
}
781556
function checkKeyframesRule(i) {
  const start = i;
  let l;

  if (i >= tokensLength) return 0;

  if (l = checkAtkeyword(i)) i += l;
  else return 0;

  const atruleName = joinValues2(i - l, l);
  if (atruleName.toLowerCase().indexOf('keyframes') === -1) return 0;

  if (l = checkSC(i)) i += l;
  else return 0;

  if (l = checkIdentOrInterpolation(i) || checkPseudoc(i)) i += l;
  else return 0;

  if (l = checkSC(i)) i += l;

  if (l = checkKeyframesBlocks(i)) i += l;
  else return 0;

  return i - start;
}
1131463
function checkTypeSelector(i) {
  if (i >= tokensLength) return 0;

  const start = i;
  let l;

  if (l = checkNamePrefix(i)) i += l;

  if (l = checkIdentOrInterpolation(i)) i += l;
  else return 0;

  return i - start;
}
278836
function checkInclude3(i) {
  const start = i;
  let l;

  if (l = checkAtkeyword(i)) i += l;
  else return 0;

  if (tokens[start + 1].value !== 'include') return 0;

  if (l = checkSC(i)) i += l;
  else return 0;

  if (l = checkIdentOrInterpolation(i)) i += l;
  else return 0;

  if (l = checkSC(i)) i += l;

  if (l = checkArguments(i)) i += l;
  else return 0;

  return i - start;
}
165948
function checkEscapedString(i) {
  const start = i;
  let l;

  if (i >= tokensLength) return 0;

  if (tokens[i].type === TokenType.Tilde && (l = checkString(i + 1)))
    return i + l - start;
  else return 0;
}
793335
function token(value) {
		if ( !arguments.length ) return cred.token;
		cred.token = (value && value.length > 0 ? value : undefined);
		return that;
	}
9643
function checkIncludeWithKeyframes2(i) {
  const start = i;
  let l;

  if (tokens[i].type === TokenType.PlusSign) i++;
  else return 0;

  if (l = checkIdentOrInterpolation(i)) i += l;
  else return 0;

  if (l = checkSC(i)) i += l;

  if (l = checkArguments(i)) i += l;
  else return 0;

  if (l = checkSC(i)) i += l;

  if (l = checkKeyframesBlocks(i)) i += l;
  else return 0;

  return i - start;
}
1090956
function checkUriRawCharacters(i) {
  const start = i;
  let l;

  if (l = checkIdent(i)) i += l;
  else if (l = checkNumber(i)) i += l;
  else {
    switch (tokens[i].type) {
      case TokenType.ExclamationMark:
      case TokenType.NumberSign:
      case TokenType.DollarSign:
      case TokenType.PercentSign:
      case TokenType.Ampersand:
      case TokenType.Asterisk:
      case TokenType.PlusSign:
      case TokenType.Comma:
      case TokenType.HyphenMinus:
      case TokenType.FullStop:
      case TokenType.Solidus:
      case TokenType.Colon:
      case TokenType.Semicolon:
      case TokenType.LessThanSign:
      case TokenType.EqualsSign:
      case TokenType.GreaterThanSign:
      case TokenType.QuotationMark:
      case TokenType.CommercialAt:
      case TokenType.LeftSquareBracket:
      case TokenType.RightSquareBracket:
      case TokenType.CircumflexAccent:
      case TokenType.LowLine:
      case TokenType.LeftCurlyBracket:
      case TokenType.VerticalLine:
      case TokenType.RightCurlyBracket:
      case TokenType.Tilde:
        i += 1;
        break;

      default:
        return 0;
    }
  }

  return i - start;
}
684358
function checkMixin(i) {
  let l;

  if (i >= tokensLength) return 0;

  if (l = checkMixin1(i)) tokens[i].mixin_type = 1;
  else if (l = checkMixin2(i)) tokens[i].mixin_type = 2;
  else return 0;

  return l;
}
904060
function checkAtruler(i) {
  const start = i;
  let l;

  if (i >= tokensLength) return 0;

  if (l = checkAtkeyword(i)) i += l;
  else return 0;

  if (l = checkTsets(i)) i += l;

  if (l = checkAtrulers(i)) i += l;
  else return 0;

  return i - start;
}