code: function _get(obj, key) {
      if (!is_1.isObject(obj) || (!is_1.isArray(key) && !is_1.isString(key)))
          return null;
      var props = is_1.isArray(key) ? key : string_1.split(key);
      while (props.length && obj) {
          var prop = props.shift(), match = void 0;
          match = matchIndex(prop);
          if (match) {
              /* istanbul ignore next  */
              if (!is_1.isUndefined(obj[match.name])) {
                  obj = obj[match.name][match.index];
                  // iterate each indices and set obj to that index.
                  match.indices.forEach(function (i) { return obj = obj[i]; });
              }
          }
          else {
              obj = obj[prop];
          }
      }
      return obj;
  }
docs: Get
  @private