diff --git a/build/phaser-amazon-cognito.js b/build/phaser-amazon-cognito.js index 9e9faf8..3c8de01 100644 --- a/build/phaser-amazon-cognito.js +++ b/build/phaser-amazon-cognito.js @@ -1,9 +1,9 @@ /*! - * phaser-amazon-cognito - version 0.1.0 + * phaser-amazon-cognito - version 0.1.1 * A Phaser plugin that adds User Login/Sync support trough Amazon Cognito Identity/Syn * * OrangeGames - * Build at 23-01-2017 + * Build at 24-01-2017 * Released under MIT License */ @@ -24,6 +24,242 @@ var Fabrique; value: this }); } + /** + * Setting userPool configuration. + */ + Cognito.prototype.setPoolInfo = function (userPoolId, clientId) { + this.userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool({ + UserPoolId: userPoolId, + ClientId: clientId + }); + }; + /** + * Register a new user to the userPool. + * @param attributes Optional attributes, saved with the user. + * @returns {Promise|Promise} The user or an error in a promise + */ + Cognito.prototype.register = function (username, password, email, attributes) { + var _this = this; + if (attributes === void 0) { attributes = null; } + var attr = []; + // Add required fields first + attr.push(new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute({ + Name: 'preferred_username', + Value: username + })); + attr.push(new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute({ + Name: 'email', + Value: email + })); + // Add all others + if (attributes !== null && attributes.length > 0) { + for (var i = 0; i < attributes.length; i++) { + attr.push(new AWSCognito.CognitoIdentityServiceProvider.CognitoUserAttribute({ + Name: attributes[i].name, + Value: attributes[i].value + })); + } + } + return new Promise(function (resolve, reject) { + _this.userPool.signUp(username, password, attr, null, function (error, res) { + if (error !== null) { + reject(error); + } + else { + _this.currentUser = res.user; + resolve(res.user); + } + }); + }); + }; + /** + * Confirm the user, allowing him to login. + * @param confirmationCode Code sent to users email. + * @returns {Promise|Promise} Returns null or an error in a promise + */ + Cognito.prototype.confirmRegistration = function (confirmationCode) { + var _this = this; + return new Promise(function (resolve, reject) { + if (!_this.currentUser) { + reject('User was not set!'); + } + else { + _this.currentUser.confirmRegistration(confirmationCode, true, function (error, res) { + if (error !== null) { + reject(error); + } + else { + resolve(null); + } + }); + } + }); + }; + /** + * Resends the confirmation email to the user. + * @returns {Promise|Promise} Returns null or an error in a promise + */ + Cognito.prototype.resendConfirmation = function () { + var _this = this; + return new Promise(function (resolve, reject) { + if (!_this.currentUser) { + reject('User was not set!'); + } + else { + _this.currentUser.resendConfirmationCode(function (error, result) { + if (error !== null) { + reject(error); + } + else { + resolve(null); + } + }); + } + }); + }; + /** + * Logs in a user with given credentials. + * @returns {Promise|Promise} An object with the user and sessionToken or an error in a promise + */ + Cognito.prototype.login = function (username, password) { + var _this = this; + var authentication = new AWSCognito.CognitoIdentityServiceProvider.AuthenticationDetails({ + Username: username, + Password: password + }); + this.setUser(username); + return new Promise(function (resolve, reject) { + _this.currentUser.authenticateUser(authentication, { + onSuccess: function (res) { + resolve({ + user: _this.currentUser, + sessionToken: res.getAccessToken().getJwtToken() + }); + }, + onFailure: function (error) { + reject(error); + } + }); + }); + }; + /** + * Logs the user out. + */ + Cognito.prototype.logout = function () { + this.currentUser.signOut(); + }; + /** + * Sends a reset password code to the user's email. + * @returns {Promise|Promise} Returns null or an error in a promise + */ + Cognito.prototype.resetPassword = function () { + var _this = this; + return new Promise(function (resolve, reject) { + if (!_this.currentUser) { + reject('User was not set!'); + } + else { + _this.currentUser.forgotPassword({ + onSuccess: function (res) { + resolve(); + }, + onFailure: function (error) { + reject(error); + } + }); + } + }); + }; + /** + * Changes the users password after reset. + * @param code The code given in the reset email. + * @param newPassword The new password to be used. + * @returns {Promise|Promise} Returns null or an error in a promise + */ + Cognito.prototype.confirmResetPassword = function (code, newPassword) { + var _this = this; + return new Promise(function (resolve, reject) { + if (!_this.currentUser) { + reject('User was not set!'); + } + else { + _this.currentUser.confirmPassword(code, newPassword, { + onSuccess: function (res) { + resolve(); + }, + onFailure: function (error) { + reject(error); + } + }); + } + }); + }; + /** + * Changes the password for the current user. The user has to be logged in. + * @param oldPassword The current password for the user. + * @param newPassword The new password for the user. + * @returns {Promise|Promise} Returns null or an error in a promise + */ + Cognito.prototype.changePassword = function (oldPassword, newPassword) { + var _this = this; + return new Promise(function (resolve, reject) { + if (!_this.currentUser) { + reject('User was not set!'); + } + else { + _this.currentUser.changePassword(oldPassword, newPassword, function (error, result) { + if (error !== null) { + reject(error); + } + else { + resolve(null); + } + }); + } + }); + }; + /** + * Checks if the current user has a valid session with the server. + * @returns {Promise|Promise} The session of the user or an error in a promise + */ + Cognito.prototype.validateSession = function () { + var _this = this; + return new Promise(function (resolve, reject) { + if (!_this.currentUser) { + reject('User was not set!'); + } + else { + _this.currentUser.getSession(function (error, session) { + if (error !== null) { + reject(error); + } + else { + if (session.isValid()) { + resolve(session); + } + else { + reject(null); + } + } + }); + } + }); + }; + /** + * Sets the current user to use for all commands except login and register. + */ + Cognito.prototype.setUser = function (username) { + this.currentUser = new AWSCognito.CognitoIdentityServiceProvider.CognitoUser({ + Username: username, + Pool: this.userPool + }); + }; + /** + * Loads the user and session from localStorage, saved on the device. + */ + Cognito.prototype.loadStorageUser = function () { + this.currentUser = this.userPool.getCurrentUser(); + }; return Cognito; }(Phaser.Plugin)); Plugins.Cognito = Cognito; diff --git a/build/phaser-amazon-cognito.min.js b/build/phaser-amazon-cognito.min.js index a7935dd..79cd6ee 100644 --- a/build/phaser-amazon-cognito.min.js +++ b/build/phaser-amazon-cognito.min.js @@ -1,9 +1,9 @@ /*! - * phaser-amazon-cognito - version 0.1.0 + * phaser-amazon-cognito - version 0.1.1 * A Phaser plugin that adds User Login/Sync support trough Amazon Cognito Identity/Syn * * OrangeGames - * Build at 23-01-2017 + * Build at 24-01-2017 * Released under MIT License */ @@ -16,4 +16,4 @@ var e=a.length;if(!(b>=e)){var f;return c?(f=a[b],b+1"===c?"="===a[this._current]?(this._current++,{type:S,value:">=",start:b}):{type:Q,value:">",start:b}:"="===c&&"="===a[this._current]?(this._current++,{type:P,value:"==",start:b}):void 0},_consumeLiteral:function(a){this._current++;for(var b,c=this._current,d=a.length;"`"!==a[this._current]&&this._current=0)return!0;if(c.indexOf(a)>=0)return!0;if(!(d.indexOf(a[0])>=0))return!1;try{return JSON.parse(a),!0}catch(a){return!1}}};var fa={};fa[B]=0,fa[C]=0,fa[D]=0,fa[E]=0,fa[F]=0,fa[G]=0,fa[I]=0,fa[J]=0,fa[K]=0,fa[L]=0,fa[M]=1,fa[N]=2,fa[O]=3,fa[P]=5,fa[Q]=5,fa[R]=5,fa[S]=5,fa[T]=5,fa[U]=5,fa[V]=9,fa[W]=20,fa[X]=21,fa[Y]=40,fa[Z]=45,fa[$]=50,fa[_]=55,fa[aa]=60,k.prototype={parse:function(a){this._loadTokens(a),this.index=0;var b=this.expression(0);if(this._lookahead(0)!==B){var c=this._lookaheadToken(0),d=new Error("Unexpected token type: "+c.type+", value: "+c.value);throw d.name="ParserError",d}return b},_loadTokens:function(a){var b=new j,c=b.tokenize(a);c.push({type:B,value:"",start:a.length}),this.tokens=c},expression:function(a){var b=this._lookaheadToken(0);this._advance();for(var c=this.nud(b),d=this._lookahead(0);a=0?this.expression(a):b===_?(this._match(_),this._parseMultiselectList()):b===$?(this._match($),this._parseMultiselectHash()):void 0},_parseProjectionRHS:function(a){var b;if(fa[this._lookahead(0)]<10)b={type:"Identity"};else if(this._lookahead(0)===_)b=this.expression(a);else if(this._lookahead(0)===X)b=this.expression(a);else{if(this._lookahead(0)!==Y){var c=this._lookaheadToken(0),d=new Error("Sytanx error, unexpected token: "+c.value+"("+c.type+")");throw d.name="ParserError",d}this._match(Y),b=this._parseDotRHS(a)}return b},_parseMultiselectList:function(){for(var a=[];this._lookahead(0)!==E;){var b=this.expression(0);if(a.push(b),this._lookahead(0)===G&&(this._match(G),this._lookahead(0)===E))throw new Error("Unexpected token Rbracket")}return this._match(E),{type:"MultiSelectList",children:a}},_parseMultiselectHash:function(){for(var a,b,c,d,e=[],f=[C,D];;){if(a=this._lookaheadToken(0),f.indexOf(a.type)<0)throw new Error("Expecting an identifier token, got: "+a.type);if(b=a.value,this._advance(),this._match(H),c=this.expression(0),d={type:"KeyValuePair",name:b,value:c},e.push(d),this._lookahead(0)===G)this._match(G);else if(this._lookahead(0)===I){this._match(I);break}}return{type:"MultiSelectHash",children:e}}},l.prototype={search:function(a,b){return this.visit(a,b)},visit:function(a,g){var h,i,j,k,l,m,n,o,p,q;switch(a.type){case"Field":return null===g?null:c(g)?(m=g[a.name],void 0===m?null:m):null;case"Subexpression":for(j=this.visit(a.children[0],g),q=1;q0)for(q=u;qv;q+=w)j.push(g[q]);return j;case"Projection":var x=this.visit(a.children[0],g);if(!b(x))return null;for(p=[],q=0;ql;break;case S:j=k>=l;break;case R:j=k=a&&(b=c<0?a-1:a),b}},m.prototype={callFunction:function(a,b){var c=this.functionTable[a];if(void 0===c)throw new Error("Unknown function: "+a+"()");return this._validateArgs(a,b,c._signature),c._func.call(this,b)},_validateArgs:function(a,b,c){var d;if(c[c.length-1].variadic){if(b.length=0;e--)d+=c[e];return d}var f=a[0].slice(0);return f.reverse(),f},_functionAbs:function(a){return Math.abs(a[0])},_functionCeil:function(a){return Math.ceil(a[0])},_functionAvg:function(a){for(var b=0,c=a[0],d=0;d=0},_functionFloor:function(a){return Math.floor(a[0])},_functionLength:function(a){return c(a[0])?Object.keys(a[0]).length:a[0].length},_functionMap:function(a){for(var b=[],c=this._interpreter,d=a[0],e=a[1],f=0;f0){var b=this._getTypeName(a[0][0]);if(b===r)return Math.max.apply(Math,a[0]);for(var c=a[0],d=c[0],e=1;e0){var b=this._getTypeName(a[0][0]);if(b===r)return Math.min.apply(Math,a[0]);for(var c=a[0],d=c[0],e=1;eh?1:gg&&(g=c,b=e[h]);return b},_functionMinBy:function(a){for(var b,c,d=a[1],e=a[0],f=this.createKeyFunction(d,[r,t]),g=1/0,h=0;h0&&i>h&&(i=h);for(var j=0;j=0?(k=o.substr(0,p),l=o.substr(p+1)):(k=o,l=""),m=decodeURIComponent(k),n=decodeURIComponent(l),d(f,m)?Array.isArray(f[m])?f[m].push(n):f[m]=[f[m],n]:f[m]=n}return f}},{}],81:[function(a,b,c){"use strict";var d=function(a){switch(typeof a){case"string":return a;case"boolean":return a?"true":"false";case"number":return isFinite(a)?a:"";default:return""}};b.exports=function(a,b,c,e){return b=b||"&",c=c||"=",null===a&&(a=void 0),"object"==typeof a?Object.keys(a).map(function(e){var f=encodeURIComponent(d(e))+c;return Array.isArray(a[e])?a[e].map(function(a){return f+encodeURIComponent(d(a))}).join(b):f+encodeURIComponent(d(a[e]))}).join(b):e?encodeURIComponent(d(e))+c+encodeURIComponent(d(a)):""}},{}],82:[function(a,b,c){arguments[4][66][0].apply(c,arguments)},{"./decode":80,"./encode":81}],83:[function(a,b,c){function d(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function e(a,b,c){if(a&&j(a)&&a instanceof d)return a;var e=new d;return e.parse(a,b,c),e}function f(a){return i(a)&&(a=e(a)),a instanceof d?a.format():d.prototype.format.call(a)}function g(a,b){return e(a,!1,!0).resolve(b)}function h(a,b){return a?e(a,!1,!0).resolveObject(b):b}function i(a){return"string"==typeof a}function j(a){return"object"==typeof a&&null!==a}function k(a){return null===a}function l(a){return null==a}var m=a("punycode");c.parse=e,c.resolve=g,c.resolveObject=h,c.format=f,c.Url=d;var n=/^([a-z0-9.+-]+:)/i,o=/:[0-9]*$/,p=["<",">",'"',"`"," ","\r","\n","\t"],q=["{","}","|","\\","^","`"].concat(p),r=["'"].concat(q),s=["%","/","?",";","#"].concat(r),t=["/","?","#"],u=255,v=/^[a-z0-9A-Z_-]{0,63}$/,w=/^([a-z0-9A-Z_-]{0,63})(.*)$/,x={javascript:!0,"javascript:":!0},y={javascript:!0,"javascript:":!0},z={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},A=a("querystring");d.prototype.parse=function(a,b,c){if(!i(a))throw new TypeError("Parameter 'url' must be a string, not "+typeof a);var d=a;d=d.trim();var e=n.exec(d);if(e){e=e[0];var f=e.toLowerCase();this.protocol=f,d=d.substr(e.length)}if(c||e||d.match(/^\/\/[^@\/]+@[^@\/]+/)){var g="//"===d.substr(0,2);!g||e&&y[e]||(d=d.substr(2),this.slashes=!0)}if(!y[e]&&(g||e&&!z[e])){for(var h=-1,j=0;j127?"x":C[E];if(!D.match(v)){var G=q.slice(0,j),H=q.slice(j+1),I=C.match(w);I&&(G.push(I[1]),H.unshift(I[2])),H.length&&(d="/"+H.join(".")+d),this.hostname=G.join(".");break}}}if(this.hostname.length>u?this.hostname="":this.hostname=this.hostname.toLowerCase(),!p){for(var J=this.hostname.split("."),K=[],j=0;j0)&&c.host.split("@");q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return c.search=a.search,c.query=a.query,k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.href=c.format(),c}if(!o.length)return c.pathname=null,c.search?c.path="/"+c.search:c.path=null,c.href=c.format(),c;for(var r=o.slice(-1)[0],s=(c.host||a.host)&&("."===r||".."===r)||""===r,t=0,u=o.length;u>=0;u--)r=o[u],"."==r?o.splice(u,1):".."===r?(o.splice(u,1),t++):t&&(o.splice(u,1),t--);if(!m&&!n)for(;t--;t)o.unshift("..");!m||""===o[0]||o[0]&&"/"===o[0].charAt(0)||o.unshift(""),s&&"/"!==o.join("/").substr(-1)&&o.push("");var v=""===o[0]||o[0]&&"/"===o[0].charAt(0);if(p){c.hostname=c.host=v?"":o.length?o.shift():"";var q=!!(c.host&&c.host.indexOf("@")>0)&&c.host.split("@");q&&(c.auth=q.shift(),c.host=c.hostname=q.shift())}return m=m||c.host&&o.length,m&&!v&&o.unshift(""),o.length?c.pathname=o.join("/"):(c.pathname=null,c.path=null),k(c.pathname)&&k(c.search)||(c.path=(c.pathname?c.pathname:"")+(c.search?c.search:"")),c.auth=a.auth||c.auth,c.slashes=c.slashes||a.slashes,c.href=c.format(),c},d.prototype.parseHost=function(){var a=this.host,b=o.exec(a);b&&(b=b[0],":"!==b&&(this.port=b.substr(1)),a=a.substr(0,a.length-b.length)),a&&(this.hostname=a)}},{punycode:63,querystring:66}],84:[function(a,b,c){(function(){var c,d;d=a("lodash/object/create"),b.exports=c=function(){function a(a,b,c){if(this.stringify=a.stringify,null==b)throw new Error("Missing attribute name of element "+a.name);if(null==c)throw new Error("Missing attribute value for attribute "+b+" of element "+a.name);this.name=this.stringify.attName(b),this.value=this.stringify.attValue(c)}return a.prototype.clone=function(){return d(a.prototype,this)},a.prototype.toString=function(a,b){return" "+this.name+'="'+this.value+'"'},a}()}).call(this)},{"lodash/object/create":143}],85:[function(a,b,c){(function(){var c,d,e,f,g;g=a("./XMLStringifier"),d=a("./XMLDeclaration"),e=a("./XMLDocType"),f=a("./XMLElement"),b.exports=c=function(){function a(a,b){var c,d;if(null==a)throw new Error("Root element needs a name");null==b&&(b={}),this.options=b,this.stringify=new g(b),d=new f(this,"doc"),c=d.element(a),c.isRoot=!0,c.documentObject=this,this.rootObject=c,b.headless||(c.declaration(b),null==b.pubID&&null==b.sysID||c.doctype(b))}return a.prototype.root=function(){return this.rootObject},a.prototype.end=function(a){return this.toString(a)},a.prototype.toString=function(a){var b,c,d,e,f,g,h,i;return e=(null!=a?a.pretty:void 0)||!1,b=null!=(g=null!=a?a.indent:void 0)?g:" ",d=null!=(h=null!=a?a.offset:void 0)?h:0,c=null!=(i=null!=a?a.newline:void 0)?i:"\n",f="",null!=this.xmldec&&(f+=this.xmldec.toString(a)),null!=this.doctype&&(f+=this.doctype.toString(a)),f+=this.rootObject.toString(a),e&&f.slice(-c.length)===c&&(f=f.slice(0,-c.length)),f},a}()}).call(this)},{"./XMLDeclaration":92,"./XMLDocType":93,"./XMLElement":94,"./XMLStringifier":98}],86:[function(a,b,c){(function(){var c,d,e,f=function(a,b){function c(){this.constructor=a}for(var d in b)g.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},g={}.hasOwnProperty;e=a("lodash/object/create"),d=a("./XMLNode"),b.exports=c=function(a){function b(a,c){if(b.__super__.constructor.call(this,a),null==c)throw new Error("Missing CDATA text");this.text=this.stringify.cdata(c)}return f(b,a),b.prototype.clone=function(){return e(b.prototype,this)},b.prototype.toString=function(a,b){var c,d,e,f,g,h,i,j,k;return f=(null!=a?a.pretty:void 0)||!1,c=null!=(h=null!=a?a.indent:void 0)?h:" ",e=null!=(i=null!=a?a.offset:void 0)?i:0,d=null!=(j=null!=a?a.newline:void 0)?j:"\n",b||(b=0),k=new Array(b+e+1).join(c),g="",f&&(g+=k),g+="",f&&(g+=d),g},b}(d)}).call(this)},{"./XMLNode":95,"lodash/object/create":143}],87:[function(a,b,c){(function(){var c,d,e,f=function(a,b){function c(){this.constructor=a}for(var d in b)g.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},g={}.hasOwnProperty;e=a("lodash/object/create"),d=a("./XMLNode"),b.exports=c=function(a){function b(a,c){if(b.__super__.constructor.call(this,a),null==c)throw new Error("Missing comment text");this.text=this.stringify.comment(c)}return f(b,a),b.prototype.clone=function(){return e(b.prototype,this)},b.prototype.toString=function(a,b){var c,d,e,f,g,h,i,j,k;return f=(null!=a?a.pretty:void 0)||!1,c=null!=(h=null!=a?a.indent:void 0)?h:" ",e=null!=(i=null!=a?a.offset:void 0)?i:0,d=null!=(j=null!=a?a.newline:void 0)?j:"\n",b||(b=0),k=new Array(b+e+1).join(c),g="",f&&(g+=k),g+="",f&&(g+=d),g},b}(d)}).call(this)},{"./XMLNode":95,"lodash/object/create":143}],88:[function(a,b,c){(function(){var c,d;d=a("lodash/object/create"),b.exports=c=function(){function a(a,b,c,d,e,f){if(this.stringify=a.stringify,null==b)throw new Error("Missing DTD element name");if(null==c)throw new Error("Missing DTD attribute name");if(!d)throw new Error("Missing DTD attribute type");if(!e)throw new Error("Missing DTD attribute default");if(0!==e.indexOf("#")&&(e="#"+e),!e.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT");if(f&&!e.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT");this.elementName=this.stringify.eleName(b),this.attributeName=this.stringify.attName(c),this.attributeType=this.stringify.dtdAttType(d),this.defaultValue=this.stringify.dtdAttDefault(f),this.defaultValueType=e}return a.prototype.clone=function(){return d(a.prototype,this)},a.prototype.toString=function(a,b){var c,d,e,f,g,h,i,j,k;return f=(null!=a?a.pretty:void 0)||!1,c=null!=(h=null!=a?a.indent:void 0)?h:" ",e=null!=(i=null!=a?a.offset:void 0)?i:0,d=null!=(j=null!=a?a.newline:void 0)?j:"\n",b||(b=0),k=new Array(b+e+1).join(c),g="",f&&(g+=k),g+="",f&&(g+=d),g},a}()}).call(this)},{"lodash/object/create":143}],89:[function(a,b,c){(function(){var c,d,e;d=a("lodash/object/create"),e=a("lodash/lang/isArray"),b.exports=c=function(){function a(a,b,c){if(this.stringify=a.stringify,null==b)throw new Error("Missing DTD element name");c||(c="(#PCDATA)"),e(c)&&(c="("+c.join(",")+")"),this.name=this.stringify.eleName(b),this.value=this.stringify.dtdElementValue(c)}return a.prototype.clone=function(){return d(a.prototype,this)},a.prototype.toString=function(a,b){var c,d,e,f,g,h,i,j,k;return f=(null!=a?a.pretty:void 0)||!1,c=null!=(h=null!=a?a.indent:void 0)?h:" ",e=null!=(i=null!=a?a.offset:void 0)?i:0,d=null!=(j=null!=a?a.newline:void 0)?j:"\n",b||(b=0),k=new Array(b+e+1).join(c),g="",f&&(g+=k),g+="",f&&(g+=d),g},a}()}).call(this)},{"lodash/lang/isArray":135,"lodash/object/create":143}],90:[function(a,b,c){(function(){var c,d,e;d=a("lodash/object/create"),e=a("lodash/lang/isObject"),b.exports=c=function(){function a(a,b,c,d){if(this.stringify=a.stringify,null==c)throw new Error("Missing entity name");if(null==d)throw new Error("Missing entity value");if(this.pe=!!b,this.name=this.stringify.eleName(c),e(d)){if(!d.pubID&&!d.sysID)throw new Error("Public and/or system identifiers are required for an external entity");if(d.pubID&&!d.sysID)throw new Error("System identifier is required for a public external entity");if(null!=d.pubID&&(this.pubID=this.stringify.dtdPubID(d.pubID)),null!=d.sysID&&(this.sysID=this.stringify.dtdSysID(d.sysID)),null!=d.nData&&(this.nData=this.stringify.dtdNData(d.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity")}else this.value=this.stringify.dtdEntityValue(d)}return a.prototype.clone=function(){return d(a.prototype,this)},a.prototype.toString=function(a,b){var c,d,e,f,g,h,i,j,k;return f=(null!=a?a.pretty:void 0)||!1,c=null!=(h=null!=a?a.indent:void 0)?h:" ",e=null!=(i=null!=a?a.offset:void 0)?i:0,d=null!=(j=null!=a?a.newline:void 0)?j:"\n",b||(b=0),k=new Array(b+e+1).join(c),g="",f&&(g+=k),g+="",f&&(g+=d),g},a}()}).call(this)},{"lodash/lang/isObject":139,"lodash/object/create":143}],91:[function(a,b,c){(function(){var c,d;d=a("lodash/object/create"),b.exports=c=function(){function a(a,b,c){if(this.stringify=a.stringify, null==b)throw new Error("Missing notation name");if(!c.pubID&&!c.sysID)throw new Error("Public or system identifiers are required for an external entity");this.name=this.stringify.eleName(b),null!=c.pubID&&(this.pubID=this.stringify.dtdPubID(c.pubID)),null!=c.sysID&&(this.sysID=this.stringify.dtdSysID(c.sysID))}return a.prototype.clone=function(){return d(a.prototype,this)},a.prototype.toString=function(a,b){var c,d,e,f,g,h,i,j,k;return f=(null!=a?a.pretty:void 0)||!1,c=null!=(h=null!=a?a.indent:void 0)?h:" ",e=null!=(i=null!=a?a.offset:void 0)?i:0,d=null!=(j=null!=a?a.newline:void 0)?j:"\n",b||(b=0),k=new Array(b+e+1).join(c),g="",f&&(g+=k),g+="",f&&(g+=d),g},a}()}).call(this)},{"lodash/object/create":143}],92:[function(a,b,c){(function(){var c,d,e,f,g=function(a,b){function c(){this.constructor=a}for(var d in b)h.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},h={}.hasOwnProperty;e=a("lodash/object/create"),f=a("lodash/lang/isObject"),d=a("./XMLNode"),b.exports=c=function(a){function b(a,c,d,e){var g;b.__super__.constructor.call(this,a),f(c)&&(g=c,c=g.version,d=g.encoding,e=g.standalone),c||(c="1.0"),null!=c&&(this.version=this.stringify.xmlVersion(c)),null!=d&&(this.encoding=this.stringify.xmlEncoding(d)),null!=e&&(this.standalone=this.stringify.xmlStandalone(e))}return g(b,a),b.prototype.clone=function(){return e(b.prototype,this)},b.prototype.toString=function(a,b){var c,d,e,f,g,h,i,j,k;return f=(null!=a?a.pretty:void 0)||!1,c=null!=(h=null!=a?a.indent:void 0)?h:" ",e=null!=(i=null!=a?a.offset:void 0)?i:0,d=null!=(j=null!=a?a.newline:void 0)?j:"\n",b||(b=0),k=new Array(b+e+1).join(c),g="",f&&(g+=k),g+="",f&&(g+=d),g},b}(d)}).call(this)},{"./XMLNode":95,"lodash/lang/isObject":139,"lodash/object/create":143}],93:[function(a,b,c){(function(){var c,d,e,f,g,h,i,j,k,l;k=a("lodash/object/create"),l=a("lodash/lang/isObject"),c=a("./XMLCData"),d=a("./XMLComment"),e=a("./XMLDTDAttList"),g=a("./XMLDTDEntity"),f=a("./XMLDTDElement"),h=a("./XMLDTDNotation"),j=a("./XMLProcessingInstruction"),b.exports=i=function(){function a(a,b,c){var d,e;this.documentObject=a,this.stringify=this.documentObject.stringify,this.children=[],l(b)&&(d=b,b=d.pubID,c=d.sysID),null==c&&(e=[b,c],c=e[0],b=e[1]),null!=b&&(this.pubID=this.stringify.dtdPubID(b)),null!=c&&(this.sysID=this.stringify.dtdSysID(c))}return a.prototype.clone=function(){return k(a.prototype,this)},a.prototype.element=function(a,b){var c;return c=new f(this,a,b),this.children.push(c),this},a.prototype.attList=function(a,b,c,d,f){var g;return g=new e(this,a,b,c,d,f),this.children.push(g),this},a.prototype.entity=function(a,b){var c;return c=new g(this,(!1),a,b),this.children.push(c),this},a.prototype.pEntity=function(a,b){var c;return c=new g(this,(!0),a,b),this.children.push(c),this},a.prototype.notation=function(a,b){var c;return c=new h(this,a,b),this.children.push(c),this},a.prototype.cdata=function(a){var b;return b=new c(this,a),this.children.push(b),this},a.prototype.comment=function(a){var b;return b=new d(this,a),this.children.push(b),this},a.prototype.instruction=function(a,b){var c;return c=new j(this,a,b),this.children.push(c),this},a.prototype.root=function(){return this.documentObject.root()},a.prototype.document=function(){return this.documentObject},a.prototype.toString=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o;if(i=(null!=a?a.pretty:void 0)||!1,e=null!=(k=null!=a?a.indent:void 0)?k:" ",h=null!=(l=null!=a?a.offset:void 0)?l:0,g=null!=(m=null!=a?a.newline:void 0)?m:"\n",b||(b=0),o=new Array(b+h+1).join(e),j="",i&&(j+=o),j+="0){for(j+=" [",i&&(j+=g),n=this.children,d=0,f=n.length;d",p&&(q+=n);else if(p&&1===this.children.length&&null!=this.children[0].value)q+=">",q+=this.children[0].value,q+="",q+=n;else{for(q+=">",p&&(q+=n),w=this.children,i=0,k=w.length;i",p&&(q+=n)}return q},b.prototype.att=function(a,b){return this.attribute(a,b)},b.prototype.ins=function(a,b){return this.instruction(a,b)},b.prototype.a=function(a,b){return this.attribute(a,b)},b.prototype.i=function(a,b){return this.instruction(a,b)},b}(e)}).call(this)},{"./XMLAttribute":84,"./XMLNode":95,"./XMLProcessingInstruction":96,"lodash/collection/every":101,"lodash/lang/isArray":135,"lodash/lang/isFunction":137,"lodash/lang/isObject":139,"lodash/object/create":143}],95:[function(a,b,c){(function(){var c,d,e,f,g,h,i,j,k,l,m,n,o={}.hasOwnProperty;n=a("lodash/lang/isObject"),k=a("lodash/lang/isArray"),m=a("lodash/lang/isFunction"),l=a("lodash/lang/isEmpty"),g=null,c=null,d=null,e=null,f=null,i=null,j=null,b.exports=h=function(){function b(b){this.parent=b,this.options=this.parent.options,this.stringify=this.parent.stringify,null===g&&(g=a("./XMLElement"),c=a("./XMLCData"),d=a("./XMLComment"),e=a("./XMLDeclaration"),f=a("./XMLDocType"),i=a("./XMLRaw"),j=a("./XMLText"))}return b.prototype.clone=function(){throw new Error("Cannot clone generic XMLNode")},b.prototype.element=function(a,b,c){var d,e,f,g,h,i,j;if(g=null,null==b&&(b={}),b=b.valueOf(),n(b)||(i=[b,c],c=i[0],b=i[1]),null!=a&&(a=a.valueOf()),k(a))for(e=0,h=a.length;e/))throw new Error("Invalid CDATA text: "+a);return this.assertLegalChar(a)},a.prototype.comment=function(a){if(a=""+a||"",a.match(/--/))throw new Error("Comment text cannot contain double-hypen: "+a);return this.assertLegalChar(a)},a.prototype.raw=function(a){return""+a||""},a.prototype.attName=function(a){return""+a||""},a.prototype.attValue=function(a){return a=""+a||"",this.attEscape(a)},a.prototype.insTarget=function(a){return""+a||""},a.prototype.insValue=function(a){if(a=""+a||"",a.match(/\?>/))throw new Error("Invalid processing instruction value: "+a);return a},a.prototype.xmlVersion=function(a){if(a=""+a||"",!a.match(/1\.[0-9]+/))throw new Error("Invalid version number: "+a);return a},a.prototype.xmlEncoding=function(a){if(a=""+a||"",!a.match(/[A-Za-z](?:[A-Za-z0-9._-]|-)*/))throw new Error("Invalid encoding: "+a);return a},a.prototype.xmlStandalone=function(a){return a?"yes":"no"},a.prototype.dtdPubID=function(a){return""+a||""},a.prototype.dtdSysID=function(a){return""+a||""},a.prototype.dtdElementValue=function(a){return""+a||""},a.prototype.dtdAttType=function(a){return""+a||""},a.prototype.dtdAttDefault=function(a){return null!=a?""+a||"":a},a.prototype.dtdEntityValue=function(a){return""+a||""},a.prototype.dtdNData=function(a){return""+a||""},a.prototype.convertAttKey="@",a.prototype.convertPIKey="?",a.prototype.convertTextKey="#text",a.prototype.convertCDataKey="#cdata",a.prototype.convertCommentKey="#comment",a.prototype.convertRawKey="#raw",a.prototype.convertListKey="#list",a.prototype.assertLegalChar=function(a){var b,c;if(b=this.allowSurrogateChars?/[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uFFFE-\uFFFF]/:/[\u0000-\u0008\u000B-\u000C\u000E-\u001F\uD800-\uDFFF\uFFFE-\uFFFF]/,c=a.match(b))throw new Error("Invalid character ("+c+") in string: "+a+" at index "+c.index);return a},a.prototype.elEscape=function(a){return a.replace(/&/g,"&").replace(//g,">").replace(/\r/g," ")},a.prototype.attEscape=function(a){return a.replace(/&/g,"&").replace(/3&&"function"==typeof g?(g=e(g,h,5),c-=2):(g=c>2&&"function"==typeof h?h:null,c-=g?1:0),i&&f(b[1],b[2],i)&&(g=3==c?null:g,c=2);for(var j=0;++ji))return!1;for(;k&&++h-1&&a%1==0&&a-1&&a%1==0&&a<=e}var e=Math.pow(2,53)-1;b.exports=d},{}],129:[function(a,b,c){function d(a){return a&&"object"==typeof a||!1}b.exports=d},{}],130:[function(a,b,c){function d(a){return a===a&&(0===a?1/a>0:!e(a))}var e=a("../lang/isObject");b.exports=d},{"../lang/isObject":139}],131:[function(a,b,c){(function(c){var d=a("../lang/isNative"),e=d(e=c.WeakMap)&&e,f=e&&new e;b.exports=f}).call(this,"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../lang/isNative":138}],132:[function(a,b,c){function d(a){for(var b=i(a),c=b.length,d=c&&a.length,k=d&&h(d)&&(f(a)||j.nonEnumArgs&&e(a)),m=-1,n=[];++m0;++d0&&void 0!==arguments[0]?arguments[0]:{},c=b.AccessToken;e(this,a),this.jwtToken=c||""}return f(a,[{key:"getJwtToken",value:function(){return this.jwtToken}},{key:"getExpiration",value:function(){var a=this.jwtToken.split(".")[1],b=JSON.parse(h.codec.utf8String.fromBits(h.codec.base64url.toBits(a)));return b.exp}}]),a}();b["default"]=i},function(a,b,c){"use strict";function d(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function e(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var f=function(){function a(a,b){for(var c=0;c0&&void 0!==arguments[0]?arguments[0]:{},c=b.IdToken;e(this,a),this.jwtToken=c||""}return f(a,[{key:"getJwtToken",value:function(){return this.jwtToken}},{key:"getExpiration",value:function(){var a=this.jwtToken.split(".")[1],b=JSON.parse(h.codec.utf8String.fromBits(h.codec.base64url.toBits(a)));return b.exp}}]),a}();b["default"]=i},function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c0&&void 0!==arguments[0]?arguments[0]:{},d=b.RefreshToken;c(this,a),this.token=d||""}return d(a,[{key:"getToken",value:function(){return this.token}}]),a}();b["default"]=e},function(a,b,c){"use strict";function d(a){return a&&a.__esModule?a:{"default":a}}function e(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b}function f(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var g=function(){function a(a,b){for(var c=0;c0&&void 0!==arguments[0]?arguments[0]:{},d=b.Name,e=b.Value;c(this,a),this.Name=d||"",this.Value=e||""}return d(a,[{key:"getValue",value:function(){return this.Value}},{key:"setValue",value:function(a){return this.Value=a,this}},{key:"getName",value:function(){return this.Name}},{key:"setName",value:function(a){return this.Name=a,this}},{key:"toString",value:function(){return JSON.stringify(this)}},{key:"toJSON",value:function(){return{Name:this.Name,Value:this.Value}}}]),a}();b["default"]=e},function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c0&&void 0!==arguments[0]?arguments[0]:{},d=b.IdToken,e=b.RefreshToken,f=b.AccessToken;if(c(this,a),null==f||null==d)throw new Error("Id token and Access Token must be present.");this.idToken=d,this.refreshToken=e,this.accessToken=f}return d(a,[{key:"getIdToken",value:function(){return this.idToken}},{key:"getRefreshToken",value:function(){return this.refreshToken}},{key:"getAccessToken",value:function(){return this.accessToken}},{key:"isValid",value:function(){var a=Math.floor(new Date/1e3);return a0&&void 0!==arguments[0]?arguments[0]:{},d=b.Name,e=b.Value;c(this,a),this.Name=d||"",this.Value=e||""}return d(a,[{key:"getValue",value:function(){return this.Value}},{key:"setValue",value:function(a){return this.Value=a,this}},{key:"getName",value:function(){return this.Name}},{key:"setName",value:function(a){return this.Name=a,this}},{key:"toString",value:function(){return JSON.stringify(this)}},{key:"toJSON",value:function(){return{Name:this.Name,Value:this.Value}}}]),a}();b["default"]=e},function(a,b){"use strict";function c(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(b,"__esModule",{value:!0});var d=function(){function a(a,b){for(var c=0;c0&&void 0!==arguments[0]?arguments[0]:{},d=b.IdToken,e=b.RefreshToken,f=b.AccessToken;if(c(this,a),null==f||null==d)throw new Error("Id token and Access Token must be present.");this.idToken=d,this.refreshToken=e,this.accessToken=f}return d(a,[{key:"getIdToken",value:function(){return this.idToken}},{key:"getRefreshToken",value:function(){return this.refreshToken}},{key:"getAccessToken",value:function(){return this.accessToken}},{key:"isValid",value:function(){var a=Math.floor(new Date/1e3);return a0)for(var g=0;g