@cloudbase/auth 1.7.3-alpha.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.eslintrc.js +13 -0
  2. package/dist/cjs/constants.d.ts +0 -1
  3. package/dist/cjs/constants.js +2 -3
  4. package/dist/cjs/index.d.ts +9 -13
  5. package/dist/cjs/index.js +120 -198
  6. package/dist/cjs/providers/anonymousAuthProvider.js +25 -23
  7. package/dist/cjs/providers/base.d.ts +1 -2
  8. package/dist/cjs/providers/base.js +12 -6
  9. package/dist/cjs/providers/customAuthProvider.js +15 -14
  10. package/dist/cjs/providers/emailAuthProvider.js +27 -29
  11. package/dist/cjs/providers/phoneAuthProvider.js +22 -24
  12. package/dist/cjs/providers/usernameAuthProvider.js +17 -17
  13. package/dist/cjs/providers/weixinAuthProvider.js +31 -30
  14. package/dist/esm/constants.d.ts +0 -1
  15. package/dist/esm/constants.js +1 -2
  16. package/dist/esm/index.d.ts +9 -13
  17. package/dist/esm/index.js +121 -199
  18. package/dist/esm/providers/anonymousAuthProvider.js +25 -23
  19. package/dist/esm/providers/base.d.ts +1 -2
  20. package/dist/esm/providers/base.js +12 -6
  21. package/dist/esm/providers/customAuthProvider.js +15 -14
  22. package/dist/esm/providers/emailAuthProvider.js +27 -29
  23. package/dist/esm/providers/phoneAuthProvider.js +22 -24
  24. package/dist/esm/providers/usernameAuthProvider.js +17 -17
  25. package/dist/esm/providers/weixinAuthProvider.js +31 -30
  26. package/package.json +8 -12
  27. package/src/constants.ts +0 -2
  28. package/src/index.ts +128 -245
  29. package/src/providers/anonymousAuthProvider.ts +15 -18
  30. package/src/providers/base.ts +7 -20
  31. package/src/providers/customAuthProvider.ts +12 -15
  32. package/src/providers/emailAuthProvider.ts +21 -24
  33. package/src/providers/phoneAuthProvider.ts +22 -23
  34. package/src/providers/usernameAuthProvider.ts +10 -11
  35. package/src/providers/weixinAuthProvider.ts +45 -46
  36. package/tsconfig.esm.json +2 -19
  37. package/tsconfig.json +2 -19
  38. package/.eslintrc +0 -30
  39. package/dist/cjs/common.d.ts +0 -8
  40. package/dist/cjs/common.js +0 -64
  41. package/dist/cjs/providers/oauth2AuthProvider.d.ts +0 -61
  42. package/dist/cjs/providers/oauth2AuthProvider.js +0 -404
  43. package/dist/esm/common.d.ts +0 -8
  44. package/dist/esm/common.js +0 -61
  45. package/dist/esm/providers/oauth2AuthProvider.d.ts +0 -61
  46. package/dist/esm/providers/oauth2AuthProvider.js +0 -401
  47. package/src/common.ts +0 -21
  48. package/src/providers/oauth2AuthProvider.ts +0 -585
@@ -2,10 +2,12 @@ var __extends = (this && this.__extends) || (function () {
2
2
  var extendStatics = function (d, b) {
3
3
  extendStatics = Object.setPrototypeOf ||
4
4
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
5
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
6
  return extendStatics(d, b);
7
7
  };
8
8
  return function (d, b) {
9
+ if (typeof b !== "function" && b !== null)
10
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9
11
  extendStatics(d, b);
10
12
  function __() { this.constructor = d; }
11
13
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -35,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
37
  function verb(n) { return function (v) { return step([n, v]); }; }
36
38
  function step(op) {
37
39
  if (f) throw new TypeError("Generator is already executing.");
38
- while (_) try {
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
39
41
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
40
42
  if (y = 0, t) op = [op[0] & 2, t.value];
41
43
  switch (op[0]) {
@@ -64,7 +66,7 @@ var getSdkName = constants.getSdkName, ERRORS = constants.ERRORS, COMMUNITY_SITE
64
66
  var RUNTIME = adapters.RUNTIME;
65
67
  var getQuery = utils.getQuery, getHash = utils.getHash, removeParam = utils.removeParam, printWarn = utils.printWarn;
66
68
  var catchErrorsDecorator = helpers.catchErrorsDecorator;
67
- var WeixinAuthProvider = (function (_super) {
69
+ export var WeixinAuthProvider = (function (_super) {
68
70
  __extends(WeixinAuthProvider, _super);
69
71
  function WeixinAuthProvider(config, appid, scope, state) {
70
72
  var _this = _super.call(this, config) || this;
@@ -103,9 +105,10 @@ var WeixinAuthProvider = (function (_super) {
103
105
  WeixinAuthProvider.prototype.getLinkRedirectResult = function (options) {
104
106
  if (options === void 0) { options = {}; }
105
107
  return __awaiter(this, void 0, void 0, function () {
106
- var _a, withUnionId, code, appid, loginType, hybridMiniapp;
108
+ var withUnionId, code, appid, loginType, hybridMiniapp;
109
+ var _a;
107
110
  return __generator(this, function (_b) {
108
- _a = options.withUnionId, withUnionId = _a === void 0 ? false : _a;
111
+ withUnionId = (_a = options.withUnionId, _a === void 0 ? false : _a);
109
112
  code = getWeixinCode();
110
113
  if (!code) {
111
114
  return [2, null];
@@ -126,8 +129,8 @@ var WeixinAuthProvider = (function (_super) {
126
129
  loginType: loginType,
127
130
  code: code,
128
131
  hybridMiniapp: hybridMiniapp,
129
- withUnionId: withUnionId
130
- }
132
+ withUnionId: withUnionId,
133
+ },
131
134
  })];
132
135
  });
133
136
  });
@@ -141,19 +144,20 @@ var WeixinAuthProvider = (function (_super) {
141
144
  host = '//open.weixin.qq.com/connect/qrconnect';
142
145
  }
143
146
  try {
144
- location.href = host + "?appid=" + this._appid + "&redirect_uri=" + currUrl + "&response_type=code&scope=" + this._scope + "&state=" + this._state + "#wechat_redirect";
147
+ location.href = "".concat(host, "?appid=").concat(this._appid, "&redirect_uri=").concat(currUrl, "&response_type=code&scope=").concat(this._scope, "&state=").concat(this._state, "#wechat_redirect");
145
148
  }
146
149
  catch (e) {
147
- throw new Error("[" + getSdkName() + "][" + ERRORS.UNKOWN_ERROR + "]" + e);
150
+ throw new Error("[".concat(getSdkName(), "][").concat(ERRORS.UNKOWN_ERROR, "]").concat(e));
148
151
  }
149
152
  };
150
153
  WeixinAuthProvider.prototype._signInWithCode = function (code, options) {
151
154
  return __awaiter(this, void 0, void 0, function () {
152
- var _a, accessTokenKey, accessTokenExpireKey, refreshTokenKey, loginType, refreshTokenRes, refreshToken, loginState;
155
+ var accessTokenKey, accessTokenExpireKey, refreshTokenKey, loginType, refreshTokenRes, refreshToken, loginState;
156
+ var _a;
153
157
  return __generator(this, function (_b) {
154
158
  switch (_b.label) {
155
159
  case 0:
156
- _a = this._cache.keys, accessTokenKey = _a.accessTokenKey, accessTokenExpireKey = _a.accessTokenExpireKey, refreshTokenKey = _a.refreshTokenKey;
160
+ accessTokenKey = (_a = this._cache.keys, _a.accessTokenKey), accessTokenExpireKey = _a.accessTokenExpireKey, refreshTokenKey = _a.refreshTokenKey;
157
161
  loginType = (function (scope) {
158
162
  switch (scope) {
159
163
  case 'snsapi_login':
@@ -185,7 +189,7 @@ var WeixinAuthProvider = (function (_super) {
185
189
  eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, {
186
190
  env: this._config.env,
187
191
  loginType: LOGINTYPE.WECHAT,
188
- persistence: this._config.persistence
192
+ persistence: this._config.persistence,
189
193
  });
190
194
  return [4, this.refreshUserInfo()];
191
195
  case 7:
@@ -193,7 +197,7 @@ var WeixinAuthProvider = (function (_super) {
193
197
  loginState = new LoginState({
194
198
  envId: this._config.env,
195
199
  cache: this._cache,
196
- request: this._request
200
+ request: this._request,
197
201
  });
198
202
  return [4, loginState.checkLocalStateAsync()];
199
203
  case 8:
@@ -206,9 +210,10 @@ var WeixinAuthProvider = (function (_super) {
206
210
  WeixinAuthProvider.prototype._getRefreshTokenByWXCode = function (appid, loginType, code, options) {
207
211
  if (options === void 0) { options = {}; }
208
212
  return __awaiter(this, void 0, void 0, function () {
209
- var _a, withUnionId, _b, createUser, syncUserInfo, action, hybridMiniapp;
213
+ var withUnionId, createUser, syncUserInfo, action, hybridMiniapp;
214
+ var _a, _b;
210
215
  return __generator(this, function (_c) {
211
- _a = options.withUnionId, withUnionId = _a === void 0 ? false : _a, _b = options.createUser, createUser = _b === void 0 ? true : _b;
216
+ withUnionId = (_a = options.withUnionId, _a === void 0 ? false : _a), createUser = (_b = options.createUser, _b === void 0 ? true : _b);
212
217
  syncUserInfo = this._scope === 'snsapi_base' ? false : options.syncUserInfo || false;
213
218
  action = 'auth.signIn';
214
219
  hybridMiniapp = this._runtime === RUNTIME.WX_MP ? '1' : '0';
@@ -219,21 +224,19 @@ var WeixinAuthProvider = (function (_super) {
219
224
  syncUserInfo: syncUserInfo,
220
225
  loginCredential: code,
221
226
  withUnionId: withUnionId,
222
- createUser: createUser
227
+ createUser: createUser,
223
228
  }).then(function (res) {
224
229
  if (res.code) {
225
- throw new Error("[" + getSdkName() + "][" + ERRORS.OPERATION_FAIL + "] failed login via wechat: " + res.code);
230
+ throw new Error("[".concat(getSdkName(), "][").concat(ERRORS.OPERATION_FAIL, "] failed login via wechat: ").concat(res.code));
226
231
  }
227
232
  if (res.refresh_token) {
228
233
  return {
229
234
  refreshToken: res.refresh_token,
230
235
  accessToken: res.access_token,
231
- accessTokenExpire: res.access_token_expire
236
+ accessTokenExpire: res.access_token_expire,
232
237
  };
233
238
  }
234
- else {
235
- throw new Error("[" + getSdkName() + "][" + ERRORS.OPERATION_FAIL + "] action:getJwt not return refreshToken");
236
- }
239
+ throw new Error("[".concat(getSdkName(), "][").concat(ERRORS.OPERATION_FAIL, "] action:getJwt not return refreshToken"));
237
240
  })];
238
241
  });
239
242
  });
@@ -244,8 +247,8 @@ var WeixinAuthProvider = (function (_super) {
244
247
  messages: [
245
248
  '请确认以下各项:',
246
249
  ' 1 - 调用 auth().weixinAuthProvider().signInWithRedirect() 的语法或参数是否正确',
247
- "\u5982\u679C\u95EE\u9898\u4F9D\u7136\u5B58\u5728\uFF0C\u5EFA\u8BAE\u5230\u5B98\u65B9\u95EE\u7B54\u793E\u533A\u63D0\u95EE\u6216\u5BFB\u627E\u5E2E\u52A9\uFF1A" + COMMUNITY_SITE_URL
248
- ]
250
+ "\u5982\u679C\u95EE\u9898\u4F9D\u7136\u5B58\u5728\uFF0C\u5EFA\u8BAE\u5230\u5B98\u65B9\u95EE\u7B54\u793E\u533A\u63D0\u95EE\u6216\u5BFB\u627E\u5E2E\u52A9\uFF1A".concat(COMMUNITY_SITE_URL),
251
+ ],
249
252
  }),
250
253
  __metadata("design:type", Function),
251
254
  __metadata("design:paramtypes", []),
@@ -259,8 +262,8 @@ var WeixinAuthProvider = (function (_super) {
259
262
  ' 1 - 调用 auth().weixinAuthProvider().getRedirectResult() 的语法或参数是否正确',
260
263
  ' 2 - 当前环境是否开通了微信公众号登录授权',
261
264
  ' 3 - 微信公众号的 AppId 与 AppSecret 配置是否正确',
262
- "\u5982\u679C\u95EE\u9898\u4F9D\u7136\u5B58\u5728\uFF0C\u5EFA\u8BAE\u5230\u5B98\u65B9\u95EE\u7B54\u793E\u533A\u63D0\u95EE\u6216\u5BFB\u627E\u5E2E\u52A9\uFF1A" + COMMUNITY_SITE_URL
263
- ]
265
+ "\u5982\u679C\u95EE\u9898\u4F9D\u7136\u5B58\u5728\uFF0C\u5EFA\u8BAE\u5230\u5B98\u65B9\u95EE\u7B54\u793E\u533A\u63D0\u95EE\u6216\u5BFB\u627E\u5E2E\u52A9\uFF1A".concat(COMMUNITY_SITE_URL),
266
+ ],
264
267
  }),
265
268
  __metadata("design:type", Function),
266
269
  __metadata("design:paramtypes", [Object]),
@@ -274,8 +277,8 @@ var WeixinAuthProvider = (function (_super) {
274
277
  ' 1 - 调用 auth().weixinAuthProvider().getLinkRedirectResult() 的语法或参数是否正确',
275
278
  ' 2 - 当前环境是否开通了微信公众号登录授权',
276
279
  ' 3 - 微信公众号的 AppId 与 AppSecret 配置是否正确',
277
- "\u5982\u679C\u95EE\u9898\u4F9D\u7136\u5B58\u5728\uFF0C\u5EFA\u8BAE\u5230\u5B98\u65B9\u95EE\u7B54\u793E\u533A\u63D0\u95EE\u6216\u5BFB\u627E\u5E2E\u52A9\uFF1A" + COMMUNITY_SITE_URL
278
- ]
280
+ "\u5982\u679C\u95EE\u9898\u4F9D\u7136\u5B58\u5728\uFF0C\u5EFA\u8BAE\u5230\u5B98\u65B9\u95EE\u7B54\u793E\u533A\u63D0\u95EE\u6216\u5BFB\u627E\u5E2E\u52A9\uFF1A".concat(COMMUNITY_SITE_URL),
281
+ ],
279
282
  }),
280
283
  __metadata("design:type", Function),
281
284
  __metadata("design:paramtypes", [Object]),
@@ -283,9 +286,7 @@ var WeixinAuthProvider = (function (_super) {
283
286
  ], WeixinAuthProvider.prototype, "getLinkRedirectResult", null);
284
287
  return WeixinAuthProvider;
285
288
  }(AuthProvider));
286
- export { WeixinAuthProvider };
287
289
  function getWeixinCode() {
288
290
  return getQuery('code') || getHash('code');
289
291
  }
290
- ;
291
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VpeGluQXV0aFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy93ZWl4aW5BdXRoUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFJdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpDLElBQUEsVUFBVSxHQUFpQyxTQUFTLFdBQTFDLEVBQUUsTUFBTSxHQUF5QixTQUFTLE9BQWxDLEVBQUUsa0JBQWtCLEdBQUssU0FBUyxtQkFBZCxDQUFlO0FBQ3JELElBQUEsT0FBTyxHQUFLLFFBQVEsUUFBYixDQUFjO0FBQ3JCLElBQUEsUUFBUSxHQUFzQyxLQUFLLFNBQTNDLEVBQUUsT0FBTyxHQUE2QixLQUFLLFFBQWxDLEVBQUUsV0FBVyxHQUFnQixLQUFLLFlBQXJCLEVBQUUsU0FBUyxHQUFLLEtBQUssVUFBVixDQUFXO0FBQ3BELElBQUEsb0JBQW9CLEdBQUssT0FBTyxxQkFBWixDQUFhO0FBRXpDO0lBQXdDLHNDQUFZO0lBTWxELDRCQUFZLE1BQTZGLEVBQUUsS0FBYSxFQUFFLEtBQWEsRUFBRSxLQUFjO1FBQXZKLFlBQ0Usa0JBQU0sTUFBTSxDQUFDLFNBTWQ7UUFKQyxLQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDL0IsS0FBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsS0FBSSxDQUFDLE1BQU0s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LEFBL0tELENBQXdDLFlBQVksR0ErS25EO1NBL0tZLGtCQUFrQjtBQWlML0IsU0FBUyxhQUFhO0lBQ3BCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBJQ2xvdWRiYXNlQXV0aENvbmZpZyB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvYXV0aCc7XG5pbXBvcnQgeyBJQ2xvdWRiYXNlQ2FjaGUgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2NhY2hlJztcbmltcG9ydCB7IElDbG91ZGJhc2VSZXF1ZXN0IH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9yZXF1ZXN0JztcbmltcG9ydCB7IGNvbnN0YW50cywgYWRhcHRlcnMsdXRpbHMsIGhlbHBlcnMgfSBmcm9tICdAY2xvdWRiYXNlL3V0aWxpdGllcy8nO1xuaW1wb3J0IHsgZXZlbnRCdXMsIEVWRU5UUywgTG9naW5TdGF0ZSB9IGZyb20gJy4uJztcbmltcG9ydCB7IExPR0lOVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHsgZ2V0U2RrTmFtZSwgRVJST1JTLCBDT01NVU5JVFlfU0lURV9VUkwgfSA9IGNvbnN0YW50cztcbmNvbnN0IHsgUlVOVElNRSB9ID0gYWRhcHRlcnM7XG5jb25zdCB7IGdldFF1ZXJ5LCBnZXRIYXNoLCByZW1vdmVQYXJhbSwgcHJpbnRXYXJuIH0gPSB1dGlscztcbmNvbnN0IHsgY2F0Y2hFcnJvcnNEZWNvcmF0b3IgfSA9IGhlbHBlcnM7XG5cbmV4cG9ydCBjbGFzcyBXZWl4aW5BdXRoUHJvdmlkZXIgZXh0ZW5kcyBBdXRoUHJvdmlkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zY29wZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdGF0ZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hcHBpZDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ydW50aW1lOnN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IElDbG91ZGJhc2VBdXRoQ29uZmlnJntjYWNoZTpJQ2xvdWRiYXNlQ2FjaGUscmVxdWVzdDpJQ2xvdWRiYXNlUmVxdWVzdCxydW50aW1lOnN0cmluZ30sIGFwcGlkOiBzdHJpbmcsIHNjb3BlOiBzdHJpbmcsIHN0YXRlPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29uZmlnKTtcblxuICAgIHRoaXMuX3J1bnRpbWUgPSBjb25maWcucnVudGltZTtcbiAgICB0aGlzLl9hcHBpZCA9IGFwcGlkO1xuICAgIHRoaXMuX3Njb3BlID0gc2NvcGU7XG4gICAgdGhpcy5fc3RhdGUgPSBzdGF0ZSB8fCAnd2VpeGluJztcbiAgfVxuICBcbiAgcHVibGljIGFzeW5jIHNpZ25Jbigpe1xuICAgIHJldHVybiBwcmludFdhcm4oRVJST1JTLk9QRVJBVElPTl9GQUlMLCdBUEkgc2lnbkluIGhhcyBiZWVuIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2Ugc2lnbkluV2l0aFJlZGlyZWN0IGluc3RlZWQnKTtcbiAgfVxuICBAY2F0Y2hFcnJvcnNEZWNvcmF0b3Ioe1xuICAgIHRpdGxlOiAn6Lez6L2s5b6u5L+h5YWs5LyX5Y+35o6I5p2D5aSx6LSlJyxcbiAgICBtZXNzYWdlczogW1xuICAgICAgJ+ivt+ehruiupOS7peS4i+WQhOmhue+8micsXG4gICAgICAnICAxIC0g6LCD55SoIGF1dGgoKS53ZWl4aW5BdXRoUHJvdmlkZXIoKS5zaWduSW5XaXRoUmVkaXJlY3QoKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgYOWmguaenOmXrumimOS+neeEtuWtmOWcqO+8jOW7uuiuruWIsOWumOaWuemXruetlOekvuWMuuaPkOmXruaIluWvu+aJvuW4ruWKqe+8miR7Q09NTVVOSVRZX1NJVEVfVVJMfWBcbiAgICBdXG4gIH0pXG4gIHB1YmxpYyBhc3luYyBzaWduSW5XaXRoUmVkaXJlY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZGlyZWN0KCk7XG4gIH1cbiAgQGNhdGNoRXJyb3JzRGVjb3JhdG9yKHtcbiAgICB0aXRsZTogJ+W+ruS/oeWFrOS8l+WPt+eZu+W9leWksei0pScsXG4gICAgbWVzc2FnZXM6IFtcbiAgICAgICfor7fnoa7orqTku6XkuIvlkITpobnvvJonLFxuICAgICAgJyAgMSAtIOiwg+eUqCBhdXRoKCkud2VpeGluQXV0aFByb3ZpZGVyKCkuZ2V0UmVkaXJlY3RSZXN1bHQoKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOW9k+WJjeeOr+Wig+aYr+WQpuW8gOmAmuS6huW+ruS/oeWFrOS8l+WPt+eZu+W9leaOiOadgycsXG4gICAgICAnICAzIC0g5b6u5L+h5YWs5LyX5Y+355qEIEFwcElkIOS4jiBBcHBTZWNyZXQg6YWN572u5piv5ZCm5q2j56GuJyxcbiAgICAgIGDlpoLmnpzpl67popjkvp3nhLblrZjlnKjvvIzlu7rorq7liLDlrpjmlrnpl67nrZTnpL7ljLrmj5Dpl67miJblr7vmib7luK7liqnvvJoke0NPTU1VTklUWV9TSVRFX1VSTH1gXG4gICAgXVxuICB9KVxuICBwdWJsaWMgYXN5bmMgZ2V0UmVkaXJlY3RSZXN1bHQob3B0aW9uczp7IHdpdGhVbmlvbklkPzogYm9vbGVhbjsgc3luY1VzZXJJbmZvPzogYm9vbGVhbiB9KSB7XG4gICAgY29uc3QgY29kZSA9IGdldFdlaXhpbkNvZGUoKTtcbiAgICBpZiAoIWNvZGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2lnbkluV2l0aENvZGUoY29kZSxvcHRpb25zKTtcbiAgfVxuICBAY2F0Y2hFcnJvcnNEZWNvcmF0b3Ioe1xuICAgIHRpdGxlOiAn6I635Y+W5b6u5L+h6YeN5a6a5ZCR57uR5a6a57uT5p6cJyxcbiAgICBtZXNzYWdlczogW1xuICAgICAgJ+ivt+ehruiupOS7peS4i+WQhOmhue+8micsXG4gICAgICAnICAxIC0g6LCD55SoIGF1dGgoKS53ZWl4aW5BdXRoUHJvdmlkZXIoKS5nZXRMaW5rUmVkaXJlY3RSZXN1bHQoKSDnmoTor63ms5XmiJblj4LmlbDmmK/lkKbmraPnoa4nLFxuICAgICAgJyAgMiAtIOW9k+WJjeeOr+Wig+aYr+WQpuW8gOmAmuS6huW+ruS/oeWFrOS8l+WPt+eZu+W9leaOiOadgycsXG4gICAgICAnICAzIC0g5b6u5L+h5YWs5LyX5Y+355qEIEFwcElkIOS4jiBBcHBTZWNyZXQg6YWN572u5piv5ZCm5q2j56GuJyxcbiAgICAgIGDlpoLmnpzpl67popjkvp3nhLblrZjlnKjvvIzlu7rorq7liLDlrpjmlrnpl67nrZTnpL7ljLrmj5Dpl67miJblr7vmib7luK7liqnvvJoke0NPTU1VTklUWV9TSVRFX1VSTH1gXG4gICAgXVxuICB9KVxuICBhc3luYyBnZXRMaW5rUmVkaXJlY3RSZXN1bHQob3B0aW9uczogeyB3aXRoVW5pb25JZD86IGJvb2xlYW4gfSA9IHt9KSB7XG4gICAgY29uc3QgeyB3aXRoVW5pb25JZCA9IGZhbHNlIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGNvZGUgPSBnZXRXZWl4aW5Db2RlKCk7XG4gICAgaWYgKCFjb2RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgeyBfYXBwaWQ6IGFwcGlkIH0gPSB0aGlzO1xuICAgIGNvbnN0IGxvZ2luVHlwZSA9IChzY29wZSA9PiB7XG4gICAgICBzd2l0Y2ggKHNjb3BlKSB7XG4gICAgICAgIGNhc2UgJ3Nuc2FwaV9sb2dpbic6XG4gICAgICAgICAgcmV0dXJuICdXRUNIQVQtT1BFTic7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdXRUNIQVQtUFVCTElDJztcbiAgICAgIH1cbiAgICB9KSh0aGlzLl9zY29wZSk7XG4gICAgY29uc3QgaHlicmlkTWluaWFwcCA9IHRoaXMuX3J1bnRpbWUgPT09IFJVTlRJTUUuV1hfTVAgPyAnMScgOiAnMCc7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3Quc2VuZCgnYXV0aC5saW5rV2l0aFdlaXhpbkNvZGUnLCB7IFxuICAgICAgcGF5bG9hZDogeyBcbiAgICAgICAgYXBwaWQsIFxuICAgICAgICBsb2dpblR5cGUsIFxuICAgICAgICBjb2RlLCBcbiAgICAgICAgaHlicmlkTWluaWFwcCwgXG4gICAgICAgIHdpdGhVbmlvbklkXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRpcmVjdCgpOiBhbnkge1xuICAgIGxldCBjdXJyVXJsID0gcmVtb3ZlUGFyYW0oJ2NvZGUnLCBsb2NhdGlvbi5ocmVmKTtcbiAgICBjdXJyVXJsID0gcmVtb3ZlUGFyYW0oJ3N0YXRlJywgY3VyclVybCk7XG4gICAgY3VyclVybCA9IGVuY29kZVVSSUNvbXBvbmVudChjdXJyVXJsKTtcblxuICAgIGxldCBob3N0ID0gJy8vb3Blbi53ZWl4aW4ucXEuY29tL2Nvbm5lY3Qvb2F1dGgyL2F1dGhvcml6ZSc7XG4gICAgaWYgKHRoaXMuX3Njb3BlID09PSAnc25zYXBpX2xvZ2luJykge1xuICAgICAgaG9zdCA9ICcvL29wZW4ud2VpeGluLnFxLmNvbS9jb25uZWN0L3FyY29ubmVjdCc7XG4gICAgfVxuICAgIHRyeXtcbiAgICAgIGxvY2F0aW9uLmhyZWYgPSBgJHtob3N0fT9hcHBpZD0ke3RoaXMuX2FwcGlkfSZyZWRpcmVjdF91cmk9JHtjdXJyVXJsfSZyZXNwb25zZV90eXBlPWNvZGUmc2NvcGU9JHt0aGlzLl9zY29wZX0mc3RhdGU9JHt0aGlzLl9zdGF0ZX0jd2VjaGF0X3JlZGlyZWN0YDtcbiAgICB9Y2F0Y2goZSl7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFske2dldFNka05hbWUoKX1dWyR7RVJST1JTLlVOS09XTl9FUlJPUn1dJHtlfWApXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfc2lnbkluV2l0aENvZGUoY29kZTpzdHJpbmcsb3B0aW9ucykge1xuICAgIGNvbnN0IHsgYWNjZXNzVG9rZW5LZXksIGFjY2Vzc1Rva2VuRXhwaXJlS2V5LCByZWZyZXNoVG9rZW5LZXkgfSA9IHRoaXMuX2NhY2hlLmtleXM7XG4gICAgLy8g5pyJY29kZe+8jOeUqGNvZGXmjaJyZWZyZXNoIHRva2VuXG4gICAgY29uc3QgbG9naW5UeXBlID0gKHNjb3BlID0+IHtcbiAgICAgIHN3aXRjaCAoc2NvcGUpIHtcbiAgICAgICAgY2FzZSAnc25zYXBpX2xvZ2luJzpcbiAgICAgICAgICByZXR1cm4gJ1dFQ0hBVC1PUEVOJztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gJ1dFQ0hBVC1QVUJMSUMnO1xuICAgICAgfVxuICAgIH0pKHRoaXMuX3Njb3BlKTtcblxuICAgIGNvbnN0IHJlZnJlc2hUb2tlblJlcyA9IGF3YWl0IHRoaXMuX2dldFJlZnJlc2hUb2tlbkJ5V1hDb2RlKHRoaXMuX2FwcGlkLCBsb2dpblR5cGUsIGNvZGUsb3B0aW9ucyk7XG4gICAgY29uc3QgeyByZWZyZXNoVG9rZW4gfSA9IHJlZnJlc2hUb2tlblJlcztcblxuICAgIC8vIOacrOWcsOWtmOS4i1xuICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmMocmVmcmVzaFRva2VuS2V5LCByZWZyZXNoVG9rZW4pO1xuICAgIGlmIChyZWZyZXNoVG9rZW5SZXMuYWNjZXNzVG9rZW4pIHtcbiAgICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmMoYWNjZXNzVG9rZW5LZXksIHJlZnJlc2hUb2tlblJlcy5hY2Nlc3NUb2tlbik7XG4gICAgfVxuICAgIGlmIChyZWZyZXNoVG9rZW5SZXMuYWNjZXNzVG9rZW5FeHBpcmUpIHtcbiAgICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmMoYWNjZXNzVG9rZW5FeHBpcmVLZXksIFN0cmluZyhyZWZyZXNoVG9rZW5SZXMuYWNjZXNzVG9rZW5FeHBpcmUgKyBEYXRlLm5vdygpKSk7XG4gICAgfVxuICAgIGV2ZW50QnVzLmZpcmUoRVZFTlRTLkxPR0lOX1NUQVRFX0NIQU5HRUQpO1xuICAgIC8vIOaKm+WHuueZu+W9leexu+Wei+abtOaUueS6i+S7tlxuICAgIGV2ZW50QnVzLmZpcmUoRVZFTlRTLkxPR0lOX1RZUEVfQ0hBTkdFRCwgeyBcbiAgICAgIGVudjogdGhpcy5fY29uZmlnLmVudixcbiAgICAgIGxvZ2luVHlwZTogTE9HSU5UWVBFLldFQ0hBVCwgXG4gICAgICBwZXJzaXN0ZW5jZTogdGhpcy5fY29uZmlnLnBlcnNpc3RlbmNlIFxuICAgIH0pO1xuICAgIGF3YWl0IHRoaXMucmVmcmVzaFVzZXJJbmZvKCk7XG4gICAgY29uc3QgbG9naW5TdGF0ZSA9IG5ldyBMb2dpblN0YXRlKHtcbiAgICAgIGVudklkOiB0aGlzLl9jb25maWcuZW52LFxuICAgICAgY2FjaGU6IHRoaXMuX2NhY2hlLFxuICAgICAgcmVxdWVzdDogdGhpcy5fcmVxdWVzdFxuICAgIH0pO1xuICAgIGF3YWl0IGxvZ2luU3RhdGUuY2hlY2tMb2NhbFN0YXRlQXN5bmMoKTtcbiAgICBcbiAgICByZXR1cm4gbG9naW5TdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX2dldFJlZnJlc2hUb2tlbkJ5V1hDb2RlKFxuICAgIGFwcGlkOiBzdHJpbmcsIFxuICAgIGxvZ2luVHlwZTogc3RyaW5nLCBcbiAgICBjb2RlOiBzdHJpbmcsXG4gICAgb3B0aW9uczogYW55ID0ge31cbiAgKTogUHJvbWlzZTx7IHJlZnJlc2hUb2tlbjogc3RyaW5nOyBhY2Nlc3NUb2tlbjogc3RyaW5nOyBhY2Nlc3NUb2tlbkV4cGlyZTogbnVtYmVyIH0+IHtcbiAgICBjb25zdCB7IHdpdGhVbmlvbklkID0gZmFsc2UsIGNyZWF0ZVVzZXIgPSB0cnVlIH0gPSBvcHRpb25zO1xuICAgIC8vIHNuc2FwaV91c2VyaW5mbyDlkowgc25zYXBpX2xvZ2luIOaJjeWPr+S7peiOt+WPlueUqOaIt+eahOW+ruS/oeS/oeaBr1xuICAgIGNvbnN0IHN5bmNVc2VySW5mbyA9IHRoaXMuX3Njb3BlID09PSAnc25zYXBpX2Jhc2UnID8gZmFsc2UgOiBvcHRpb25zLnN5bmNVc2VySW5mbyB8fCBmYWxzZTtcblxuICAgIGNvbnN0IGFjdGlvbiA9ICdhdXRoLnNpZ25Jbic7XG4gICAgY29uc3QgaHlicmlkTWluaWFwcCA9IHRoaXMuX3J1bnRpbWUgPT09IFJVTlRJTUUuV1hfTVAgPyAnMScgOiAnMCc7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3Quc2VuZChhY3Rpb24sIHsgXG4gICAgICBhcHBpZCwgXG4gICAgICBsb2dpblR5cGUsIFxuICAgICAgaHlicmlkTWluaWFwcCxcbiAgICAgIHN5bmNVc2VySW5mbyxcbiAgICAgIGxvZ2luQ3JlZGVudGlhbDogY29kZSxcbiAgICAgIHdpdGhVbmlvbklkLFxuICAgICAgY3JlYXRlVXNlclxuICAgIH0pLnRoZW4ocmVzID0+IHtcbiAgICAgIGlmIChyZXMuY29kZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFske2dldFNka05hbWUoKX1dWyR7RVJST1JTLk9QRVJBVElPTl9GQUlMfV0gZmFpbGVkIGxvZ2luIHZpYSB3ZWNoYXQ6ICR7cmVzLmNvZGV9YCk7XG4gICAgICB9XG4gICAgICBpZiAocmVzLnJlZnJlc2hfdG9rZW4pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZWZyZXNoVG9rZW46IHJlcy5yZWZyZXNoX3Rva2VuLFxuICAgICAgICAgIGFjY2Vzc1Rva2VuOiByZXMuYWNjZXNzX3Rva2VuLFxuICAgICAgICAgIGFjY2Vzc1Rva2VuRXhwaXJlOiByZXMuYWNjZXNzX3Rva2VuX2V4cGlyZVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBbJHtnZXRTZGtOYW1lKCl9XVske0VSUk9SUy5PUEVSQVRJT05fRkFJTH1dIGFjdGlvbjpnZXRKd3Qgbm90IHJldHVybiByZWZyZXNoVG9rZW5gKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRXZWl4aW5Db2RlICgpIHtcbiAgcmV0dXJuIGdldFF1ZXJ5KCdjb2RlJykgfHwgZ2V0SGFzaCgnY29kZScpO1xufTsiXX0=
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VpeGluQXV0aFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpZGVycy93ZWl4aW5BdXRoUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUl0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakMsSUFBQSxVQUFVLEdBQWlDLFNBQVMsV0FBMUMsRUFBRSxNQUFNLEdBQXlCLFNBQVMsT0FBbEMsRUFBRSxrQkFBa0IsR0FBSyxTQUFTLG1CQUFkLENBQWU7QUFDckQsSUFBQSxPQUFPLEdBQUssUUFBUSxRQUFiLENBQWM7QUFDckIsSUFBQSxRQUFRLEdBQXNDLEtBQUssU0FBM0MsRUFBRSxPQUFPLEdBQTZCLEtBQUssUUFBbEMsRUFBRSxXQUFXLEdBQWdCLEtBQUssWUFBckIsRUFBRSxTQUFTLEdBQUssS0FBSyxVQUFWLENBQVc7QUFDcEQsSUFBQSxvQkFBb0IsR0FBSyxPQUFPLHFCQUFaLENBQWE7QUFFekM7SUFBd0Msc0NBQVk7SUFNbEQsNEJBQVksTUFBa0csRUFBRSxLQUFhLEVBQUUsS0FBYSxFQUFFLEtBQWM7UUFBNUosWUFDRSxrQkFBTSxNQUFNLENBQUMsU0FNZDtRQUpDLEtBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQixLQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixLQUFJLENBQUMsTUFB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bUVBMEJEO0lBNkZILHlCQUFDO0NBQUEsQUE5S0QsQ0FBd0MsWUFBWSxHQThLbkQ7QUFFRCxTQUFTLGFBQWE7SUFDcEIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgSUNsb3VkYmFzZUF1dGhDb25maWcgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2F1dGgnO1xuaW1wb3J0IHsgSUNsb3VkYmFzZUNhY2hlIH0gZnJvbSAnQGNsb3VkYmFzZS90eXBlcy9jYWNoZSc7XG5pbXBvcnQgeyBJQ2xvdWRiYXNlUmVxdWVzdCB9IGZyb20gJ0BjbG91ZGJhc2UvdHlwZXMvcmVxdWVzdCc7XG5pbXBvcnQgeyBjb25zdGFudHMsIGFkYXB0ZXJzLCB1dGlscywgaGVscGVycyB9IGZyb20gJ0BjbG91ZGJhc2UvdXRpbGl0aWVzLyc7XG5pbXBvcnQgeyBldmVudEJ1cywgRVZFTlRTLCBMb2dpblN0YXRlIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgTE9HSU5UWVBFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuY29uc3QgeyBnZXRTZGtOYW1lLCBFUlJPUlMsIENPTU1VTklUWV9TSVRFX1VSTCB9ID0gY29uc3RhbnRzO1xuY29uc3QgeyBSVU5USU1FIH0gPSBhZGFwdGVycztcbmNvbnN0IHsgZ2V0UXVlcnksIGdldEhhc2gsIHJlbW92ZVBhcmFtLCBwcmludFdhcm4gfSA9IHV0aWxzO1xuY29uc3QgeyBjYXRjaEVycm9yc0RlY29yYXRvciB9ID0gaGVscGVycztcblxuZXhwb3J0IGNsYXNzIFdlaXhpbkF1dGhQcm92aWRlciBleHRlbmRzIEF1dGhQcm92aWRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Njb3BlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FwcGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3J1bnRpbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IElDbG91ZGJhc2VBdXRoQ29uZmlnJntjYWNoZTogSUNsb3VkYmFzZUNhY2hlLCByZXF1ZXN0OiBJQ2xvdWRiYXNlUmVxdWVzdCwgcnVudGltZTogc3RyaW5nfSwgYXBwaWQ6IHN0cmluZywgc2NvcGU6IHN0cmluZywgc3RhdGU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihjb25maWcpO1xuXG4gICAgdGhpcy5fcnVudGltZSA9IGNvbmZpZy5ydW50aW1lO1xuICAgIHRoaXMuX2FwcGlkID0gYXBwaWQ7XG4gICAgdGhpcy5fc2NvcGUgPSBzY29wZTtcbiAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlIHx8ICd3ZWl4aW4nO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNpZ25JbigpIHtcbiAgICByZXR1cm4gcHJpbnRXYXJuKEVSUk9SUy5PUEVSQVRJT05fRkFJTCwgJ0FQSSBzaWduSW4gaGFzIGJlZW4gZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBzaWduSW5XaXRoUmVkaXJlY3QgaW5zdGVlZCcpO1xuICB9XG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgdGl0bGU6ICfot7Povazlvq7kv6HlhazkvJflj7fmjojmnYPlpLHotKUnLFxuICAgIG1lc3NhZ2VzOiBbXG4gICAgICAn6K+356Gu6K6k5Lul5LiL5ZCE6aG577yaJyxcbiAgICAgICcgIDEgLSDosIPnlKggYXV0aCgpLndlaXhpbkF1dGhQcm92aWRlcigpLnNpZ25JbldpdGhSZWRpcmVjdCgpIOeahOivreazleaIluWPguaVsOaYr+WQpuato+ehricsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgc2lnbkluV2l0aFJlZGlyZWN0KCkge1xuICAgIHJldHVybiB0aGlzLl9yZWRpcmVjdCgpO1xuICB9XG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgdGl0bGU6ICflvq7kv6HlhazkvJflj7fnmbvlvZXlpLHotKUnLFxuICAgIG1lc3NhZ2VzOiBbXG4gICAgICAn6K+356Gu6K6k5Lul5LiL5ZCE6aG577yaJyxcbiAgICAgICcgIDEgLSDosIPnlKggYXV0aCgpLndlaXhpbkF1dGhQcm92aWRlcigpLmdldFJlZGlyZWN0UmVzdWx0KCkg55qE6K+t5rOV5oiW5Y+C5pWw5piv5ZCm5q2j56GuJyxcbiAgICAgICcgIDIgLSDlvZPliY3njq/looPmmK/lkKblvIDpgJrkuoblvq7kv6HlhazkvJflj7fnmbvlvZXmjojmnYMnLFxuICAgICAgJyAgMyAtIOW+ruS/oeWFrOS8l+WPt+eahCBBcHBJZCDkuI4gQXBwU2VjcmV0IOmFjee9ruaYr+WQpuato+ehricsXG4gICAgICBg5aaC5p6c6Zeu6aKY5L6d54S25a2Y5Zyo77yM5bu66K6u5Yiw5a6Y5pa56Zeu562U56S+5Yy65o+Q6Zeu5oiW5a+75om+5biu5Yqp77yaJHtDT01NVU5JVFlfU0lURV9VUkx9YCxcbiAgICBdLFxuICB9KVxuICBwdWJsaWMgYXN5bmMgZ2V0UmVkaXJlY3RSZXN1bHQob3B0aW9uczogeyB3aXRoVW5pb25JZD86IGJvb2xlYW47IHN5bmNVc2VySW5mbz86IGJvb2xlYW4gfSkge1xuICAgIGNvbnN0IGNvZGUgPSBnZXRXZWl4aW5Db2RlKCk7XG4gICAgaWYgKCFjb2RlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3NpZ25JbldpdGhDb2RlKGNvZGUsIG9wdGlvbnMpO1xuICB9XG4gIEBjYXRjaEVycm9yc0RlY29yYXRvcih7XG4gICAgdGl0bGU6ICfojrflj5blvq7kv6Hph43lrprlkJHnu5Hlrprnu5PmnpwnLFxuICAgIG1lc3NhZ2VzOiBbXG4gICAgICAn6K+356Gu6K6k5Lul5LiL5ZCE6aG577yaJyxcbiAgICAgICcgIDEgLSDosIPnlKggYXV0aCgpLndlaXhpbkF1dGhQcm92aWRlcigpLmdldExpbmtSZWRpcmVjdFJlc3VsdCgpIOeahOivreazleaIluWPguaVsOaYr+WQpuato+ehricsXG4gICAgICAnICAyIC0g5b2T5YmN546v5aKD5piv5ZCm5byA6YCa5LqG5b6u5L+h5YWs5LyX5Y+355m75b2V5o6I5p2DJyxcbiAgICAgICcgIDMgLSDlvq7kv6HlhazkvJflj7fnmoQgQXBwSWQg5LiOIEFwcFNlY3JldCDphY3nva7mmK/lkKbmraPnoa4nLFxuICAgICAgYOWmguaenOmXrumimOS+neeEtuWtmOWcqO+8jOW7uuiuruWIsOWumOaWuemXruetlOekvuWMuuaPkOmXruaIluWvu+aJvuW4ruWKqe+8miR7Q09NTVVOSVRZX1NJVEVfVVJMfWAsXG4gICAgXSxcbiAgfSlcbiAgYXN5bmMgZ2V0TGlua1JlZGlyZWN0UmVzdWx0KG9wdGlvbnM6IHsgd2l0aFVuaW9uSWQ/OiBib29sZWFuIH0gPSB7fSkge1xuICAgIGNvbnN0IHsgd2l0aFVuaW9uSWQgPSBmYWxzZSB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBjb2RlID0gZ2V0V2VpeGluQ29kZSgpO1xuICAgIGlmICghY29kZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHsgX2FwcGlkOiBhcHBpZCB9ID0gdGhpcztcbiAgICBjb25zdCBsb2dpblR5cGUgPSAoKHNjb3BlKSA9PiB7XG4gICAgICBzd2l0Y2ggKHNjb3BlKSB7XG4gICAgICAgIGNhc2UgJ3Nuc2FwaV9sb2dpbic6XG4gICAgICAgICAgcmV0dXJuICdXRUNIQVQtT1BFTic7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdXRUNIQVQtUFVCTElDJztcbiAgICAgIH1cbiAgICB9KSh0aGlzLl9zY29wZSk7XG4gICAgY29uc3QgaHlicmlkTWluaWFwcCA9IHRoaXMuX3J1bnRpbWUgPT09IFJVTlRJTUUuV1hfTVAgPyAnMScgOiAnMCc7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVlc3Quc2VuZCgnYXV0aC5saW5rV2l0aFdlaXhpbkNvZGUnLCB7XG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIGFwcGlkLFxuICAgICAgICBsb2dpblR5cGUsXG4gICAgICAgIGNvZGUsXG4gICAgICAgIGh5YnJpZE1pbmlhcHAsXG4gICAgICAgIHdpdGhVbmlvbklkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZGlyZWN0KCk6IGFueSB7XG4gICAgbGV0IGN1cnJVcmwgPSByZW1vdmVQYXJhbSgnY29kZScsIGxvY2F0aW9uLmhyZWYpO1xuICAgIGN1cnJVcmwgPSByZW1vdmVQYXJhbSgnc3RhdGUnLCBjdXJyVXJsKTtcbiAgICBjdXJyVXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KGN1cnJVcmwpO1xuXG4gICAgbGV0IGhvc3QgPSAnLy9vcGVuLndlaXhpbi5xcS5jb20vY29ubmVjdC9vYXV0aDIvYXV0aG9yaXplJztcbiAgICBpZiAodGhpcy5fc2NvcGUgPT09ICdzbnNhcGlfbG9naW4nKSB7XG4gICAgICBob3N0ID0gJy8vb3Blbi53ZWl4aW4ucXEuY29tL2Nvbm5lY3QvcXJjb25uZWN0JztcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGxvY2F0aW9uLmhyZWYgPSBgJHtob3N0fT9hcHBpZD0ke3RoaXMuX2FwcGlkfSZyZWRpcmVjdF91cmk9JHtjdXJyVXJsfSZyZXNwb25zZV90eXBlPWNvZGUmc2NvcGU9JHt0aGlzLl9zY29wZX0mc3RhdGU9JHt0aGlzLl9zdGF0ZX0jd2VjaGF0X3JlZGlyZWN0YDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFske2dldFNka05hbWUoKX1dWyR7RVJST1JTLlVOS09XTl9FUlJPUn1dJHtlfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NpZ25JbldpdGhDb2RlKGNvZGU6IHN0cmluZywgb3B0aW9ucykge1xuICAgIGNvbnN0IHsgYWNjZXNzVG9rZW5LZXksIGFjY2Vzc1Rva2VuRXhwaXJlS2V5LCByZWZyZXNoVG9rZW5LZXkgfSA9IHRoaXMuX2NhY2hlLmtleXM7XG4gICAgLy8g5pyJY29kZe+8jOeUqGNvZGXmjaJyZWZyZXNoIHRva2VuXG4gICAgY29uc3QgbG9naW5UeXBlID0gKChzY29wZSkgPT4ge1xuICAgICAgc3dpdGNoIChzY29wZSkge1xuICAgICAgICBjYXNlICdzbnNhcGlfbG9naW4nOlxuICAgICAgICAgIHJldHVybiAnV0VDSEFULU9QRU4nO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAnV0VDSEFULVBVQkxJQyc7XG4gICAgICB9XG4gICAgfSkodGhpcy5fc2NvcGUpO1xuXG4gICAgY29uc3QgcmVmcmVzaFRva2VuUmVzID0gYXdhaXQgdGhpcy5fZ2V0UmVmcmVzaFRva2VuQnlXWENvZGUodGhpcy5fYXBwaWQsIGxvZ2luVHlwZSwgY29kZSwgb3B0aW9ucyk7XG4gICAgY29uc3QgeyByZWZyZXNoVG9rZW4gfSA9IHJlZnJlc2hUb2tlblJlcztcblxuICAgIC8vIOacrOWcsOWtmOS4i1xuICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmMocmVmcmVzaFRva2VuS2V5LCByZWZyZXNoVG9rZW4pO1xuICAgIGlmIChyZWZyZXNoVG9rZW5SZXMuYWNjZXNzVG9rZW4pIHtcbiAgICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmMoYWNjZXNzVG9rZW5LZXksIHJlZnJlc2hUb2tlblJlcy5hY2Nlc3NUb2tlbik7XG4gICAgfVxuICAgIGlmIChyZWZyZXNoVG9rZW5SZXMuYWNjZXNzVG9rZW5FeHBpcmUpIHtcbiAgICAgIGF3YWl0IHRoaXMuX2NhY2hlLnNldFN0b3JlQXN5bmMoYWNjZXNzVG9rZW5FeHBpcmVLZXksIFN0cmluZyhyZWZyZXNoVG9rZW5SZXMuYWNjZXNzVG9rZW5FeHBpcmUgKyBEYXRlLm5vdygpKSk7XG4gICAgfVxuICAgIGV2ZW50QnVzLmZpcmUoRVZFTlRTLkxPR0lOX1NUQVRFX0NIQU5HRUQpO1xuICAgIC8vIOaKm+WHuueZu+W9leexu+Wei+abtOaUueS6i+S7tlxuICAgIGV2ZW50QnVzLmZpcmUoRVZFTlRTLkxPR0lOX1RZUEVfQ0hBTkdFRCwge1xuICAgICAgZW52OiB0aGlzLl9jb25maWcuZW52LFxuICAgICAgbG9naW5UeXBlOiBMT0dJTlRZUEUuV0VDSEFULFxuICAgICAgcGVyc2lzdGVuY2U6IHRoaXMuX2NvbmZpZy5wZXJzaXN0ZW5jZSxcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLnJlZnJlc2hVc2VySW5mbygpO1xuICAgIGNvbnN0IGxvZ2luU3RhdGUgPSBuZXcgTG9naW5TdGF0ZSh7XG4gICAgICBlbnZJZDogdGhpcy5fY29uZmlnLmVudixcbiAgICAgIGNhY2hlOiB0aGlzLl9jYWNoZSxcbiAgICAgIHJlcXVlc3Q6IHRoaXMuX3JlcXVlc3QsXG4gICAgfSk7XG4gICAgYXdhaXQgbG9naW5TdGF0ZS5jaGVja0xvY2FsU3RhdGVBc3luYygpO1xuXG4gICAgcmV0dXJuIGxvZ2luU3RhdGU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9nZXRSZWZyZXNoVG9rZW5CeVdYQ29kZShcbiAgICBhcHBpZDogc3RyaW5nLFxuICAgIGxvZ2luVHlwZTogc3RyaW5nLFxuICAgIGNvZGU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBhbnkgPSB7fVxuICApOiBQcm9taXNlPHsgcmVmcmVzaFRva2VuOiBzdHJpbmc7IGFjY2Vzc1Rva2VuOiBzdHJpbmc7IGFjY2Vzc1Rva2VuRXhwaXJlOiBudW1iZXIgfT4ge1xuICAgIGNvbnN0IHsgd2l0aFVuaW9uSWQgPSBmYWxzZSwgY3JlYXRlVXNlciA9IHRydWUgfSA9IG9wdGlvbnM7XG4gICAgLy8gc25zYXBpX3VzZXJpbmZvIOWSjCBzbnNhcGlfbG9naW4g5omN5Y+v5Lul6I635Y+W55So5oi355qE5b6u5L+h5L+h5oGvXG4gICAgY29uc3Qgc3luY1VzZXJJbmZvID0gdGhpcy5fc2NvcGUgPT09ICdzbnNhcGlfYmFzZScgPyBmYWxzZSA6IG9wdGlvbnMuc3luY1VzZXJJbmZvIHx8IGZhbHNlO1xuXG4gICAgY29uc3QgYWN0aW9uID0gJ2F1dGguc2lnbkluJztcbiAgICBjb25zdCBoeWJyaWRNaW5pYXBwID0gdGhpcy5fcnVudGltZSA9PT0gUlVOVElNRS5XWF9NUCA/ICcxJyA6ICcwJztcbiAgICByZXR1cm4gdGhpcy5fcmVxdWVzdC5zZW5kKGFjdGlvbiwge1xuICAgICAgYXBwaWQsXG4gICAgICBsb2dpblR5cGUsXG4gICAgICBoeWJyaWRNaW5pYXBwLFxuICAgICAgc3luY1VzZXJJbmZvLFxuICAgICAgbG9naW5DcmVkZW50aWFsOiBjb2RlLFxuICAgICAgd2l0aFVuaW9uSWQsXG4gICAgICBjcmVhdGVVc2VyLFxuICAgIH0pLnRoZW4oKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcy5jb2RlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgWyR7Z2V0U2RrTmFtZSgpfV1bJHtFUlJPUlMuT1BFUkFUSU9OX0ZBSUx9XSBmYWlsZWQgbG9naW4gdmlhIHdlY2hhdDogJHtyZXMuY29kZX1gKTtcbiAgICAgIH1cbiAgICAgIGlmIChyZXMucmVmcmVzaF90b2tlbikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlZnJlc2hUb2tlbjogcmVzLnJlZnJlc2hfdG9rZW4sXG4gICAgICAgICAgYWNjZXNzVG9rZW46IHJlcy5hY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgYWNjZXNzVG9rZW5FeHBpcmU6IHJlcy5hY2Nlc3NfdG9rZW5fZXhwaXJlLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbJHtnZXRTZGtOYW1lKCl9XVske0VSUk9SUy5PUEVSQVRJT05fRkFJTH1dIGFjdGlvbjpnZXRKd3Qgbm90IHJldHVybiByZWZyZXNoVG9rZW5gKTtcbiAgICB9KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRXZWl4aW5Db2RlKCkge1xuICByZXR1cm4gZ2V0UXVlcnkoJ2NvZGUnKSB8fCBnZXRIYXNoKCdjb2RlJyk7XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudbase/auth",
3
- "version": "1.7.3-alpha.0",
3
+ "version": "1.8.1",
4
4
  "description": "cloudbase javascript sdk auth componets",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -28,19 +28,15 @@
28
28
  "license": "ISC",
29
29
  "dependencies": {
30
30
  "@cloudbase/adapter-interface": "^0.4.0",
31
- "@cloudbase/app": "^1.5.3-alpha.0",
32
- "@cloudbase/types": "^1.2.3-alpha.0",
33
- "@cloudbase/utilities": "^1.4.3-alpha.0",
31
+ "@cloudbase/app": "^1.8.1",
32
+ "@cloudbase/types": "^1.8.1",
33
+ "@cloudbase/utilities": "^1.8.1",
34
34
  "sourcemapped-stacktrace": "^1.1.11"
35
35
  },
36
36
  "devDependencies": {
37
- "@typescript-eslint/eslint-plugin": "^2.30.0",
38
- "@typescript-eslint/parser": "^2.30.0",
39
- "eslint": "^6.8.0",
40
- "eslint-config-alloy": "^3.7.1",
41
- "husky": "^4.2.5",
42
- "lint-staged": "^10.2.0",
43
- "typescript": "^3.8.3"
37
+ "@types/node": "^22.1.0",
38
+ "terser-webpack-plugin": "^3.0.2",
39
+ "webpack-bundle-analyzer": "^4.9.1"
44
40
  },
45
41
  "husky": {
46
42
  "hooks": {
@@ -52,5 +48,5 @@
52
48
  "eslint --fix"
53
49
  ]
54
50
  },
55
- "gitHead": "eb161dd3c79b90a95a877984bf7c07cdb4563077"
51
+ "gitHead": "1becff3801c6dda6e3cd45127d2881aef987c7bf"
56
52
  }
package/src/constants.ts CHANGED
@@ -9,5 +9,3 @@ export enum LOGINTYPE {
9
9
  NULL = 'NULL',
10
10
  PHONE = 'PHONE'
11
11
  }
12
-
13
- export const OAUTH2_LOGINTYPE_PREFIX = 'OAUTH2'