text: // based on reference polyfill on MDN:
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign#Polyfill
  export function createAssignPolyfill() {
      if (typeof Object.assign !== 'function') {
          Object.defineProperty(Object, 'assign', {
              // tslint:disable-next-line:no-any
              value: function (target) {
                  var args = [];
                  for (var _i = 1; _i < arguments.length; _i++) {
                      args[_i - 1] = arguments[_i];
                  }
                  if (!target) {
                      throw new TypeError('Cannot convert undefined or null to object');
                  }
                  var to = Object(target);
                  for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {
                      var nextSource = args_1[_a];
                      if (nextSource) {
                          for (var nextKey in nextSource) {
                              // Avoid bugs when hasOwnProperty is shadowed
                              if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {
                                  to[nextKey] = nextSource[nextKey];
                              }
                          }
                      }
                  }
                  return to;
              },
              writable: true,
              configurable: true
          });
      }
  }
  //# sourceMappingURL=createAssignPolyfill.js.map