code: function collect(str, type) {
      if (!type) {
        if (otherRE.test(str)) {
          // base type, null|undefined etc.
          type = 'base';
        } else if (objectRE.test(str)) {
          // simple property
          type = 'prop';
        }
      }
  
      fragments.push(last = lastEl = {
        expr: str,
        type,
      });
    }
docs: collect property | base type | string