code: function checkStylesheet(i) {
    const start = i;
    let l;
  
    while (i < tokensLength) {
      if (l = checkSC(i)) tokens[i].stylesheet_child = 1;
      else if (l = checkRuleset(i)) tokens[i].stylesheet_child = 2;
      else if (l = checkInclude(i)) tokens[i].stylesheet_child = 3;
      else if (l = checkExtend(i)) tokens[i].stylesheet_child = 4;
      else if (l = checkMixin(i)) tokens[i].stylesheet_child = 5;
      else if (l = checkLoop(i)) tokens[i].stylesheet_child = 6;
      else if (l = checkConditionalStatement(i)) tokens[i].stylesheet_child = 7;
      else if (l = checkAtrule(i)) tokens[i].stylesheet_child = 8;
      else if (l = checkDeclaration(i)) tokens[i].stylesheet_child = 9;
      else if (l = checkDeclDelim(i)) tokens[i].stylesheet_child = 10;
      else throwError(i);
  
      i += l;
    }
  
    return i - start;
  }
docs: Validate stylesheet: it should consist of any number (0 or more) of
  rulesets (sets of rules with selectors), @-rules, whitespaces or
  comments.
  @param {Number} i Token's index number
  @returns {Number}