Skip to content

Commit

Permalink
Add object.assign polyfill to jQM build. Re: #473
Browse files Browse the repository at this point in the history
  • Loading branch information
jtsage committed May 30, 2019
1 parent 40c5d90 commit d242152
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions src/js/framework/jqm.js
Original file line number Diff line number Diff line change
Expand Up @@ -713,3 +713,42 @@ JTSageDateBox.style_fboxPos = function () {
};


/*
* Object.assign polyfill. Provided only for jQM, support for other frameworks
* should be provided via HTML5 is ES5 shims if you are targeting older devices.
*/

/* eslint-disable one-var, no-unused-vars */

if ( typeof Object.assign != "function" ) {
// Must be writable: true, enumerable: false, configurable: true
Object.defineProperty( Object, "assign", {
value : function assign( target, varArgs ) { // .length of function is 2
"use strict";
if ( target == null ) { // TypeError if undefined or null
throw new TypeError( "Cannot convert undefined or null to object" );
}

var to = Object(target);

for ( var index = 1; index < arguments.length; index++ ) {
var nextSource = arguments[index];

if ( nextSource != null ) { // Skip over if undefined or null
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
});
}

/* eslint-enable one-var, no-unused-vars */

0 comments on commit d242152

Please sign in to comment.