code: function getNormalizationType (
    children,
    maybeComponent
  ) {
    var res = 0;
    for (var i = 0; i < children.length; i++) {
      var el = children[i];
      if (el.type !== 1) {
        continue
      }
      // TODO: a better normalization mode without text node combination
      // it was 2 full normalizatiom before
      // but it will combine two adjacent text node which will cause hid and context infomation lost
      if (needsNormalization(el) ||
          (el.ifConditions && el.ifConditions.some(function (c) { return needsNormalization(c.block); }))) {
        // res = 2
        res = 1;
        break
      }
      if (maybeComponent(el) ||
          (el.ifConditions && el.ifConditions.some(function (c) { return maybeComponent(c.block); }))) {
        res = 1;
      }
    }
    return res
  }
docs: determine the normalization needed for the children array. 0: no normalization needed 1: simple normalization needed (possible 1-level deep nested array) 2: full normalization needed