docs: function shallowCopy(t) {
    if (Array.isArray(t)) {
      return [].concat(_toConsumableArray(t));
    } else if (t && (typeof t === 'undefined' ? 'undefined' : _typeof(t)) === 'object') {
      return Object.assign(new t.constructor(), t);
    }
    return t;
  }