@cloudbase/oauth 0.0.5-alpha.0 → 0.1.1-alpha

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 (86) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +137 -5
  3. package/app/index.d.ts +28 -0
  4. package/app/index.js +54 -0
  5. package/app/index.js.map +1 -0
  6. package/app/internal.d.ts +12 -0
  7. package/app/internal.js +25 -0
  8. package/app/internal.js.map +1 -0
  9. package/app/openuri.d.ts +20 -0
  10. package/app/openuri.js +104 -0
  11. package/app/openuri.js.map +1 -0
  12. package/app/request.d.ts +18 -0
  13. package/app/request.js +44 -0
  14. package/app/request.js.map +1 -0
  15. package/app/storage.d.ts +41 -0
  16. package/app/storage.js +35 -0
  17. package/app/storage.js.map +1 -0
  18. package/{dist/auth → auth}/consts.d.ts +21 -1
  19. package/auth/consts.js +57 -0
  20. package/auth/consts.js.map +1 -0
  21. package/auth/index.d.ts +193 -0
  22. package/auth/index.js +403 -0
  23. package/auth/index.js.map +1 -0
  24. package/{dist/auth → auth}/models.d.ts +35 -25
  25. package/auth/models.js +3 -0
  26. package/auth/models.js.map +1 -0
  27. package/captcha/index.d.ts +45 -0
  28. package/captcha/index.js +133 -0
  29. package/captcha/index.js.map +1 -0
  30. package/index.d.ts +8 -0
  31. package/index.js +17 -0
  32. package/index.js.map +1 -0
  33. package/{dist/oauth2client → oauthclient}/consts.d.ts +1 -22
  34. package/oauthclient/consts.js +53 -0
  35. package/oauthclient/consts.js.map +1 -0
  36. package/oauthclient/index.d.ts +18 -0
  37. package/oauthclient/index.js +21 -0
  38. package/oauthclient/index.js.map +1 -0
  39. package/oauthclient/interface.d.ts +25 -0
  40. package/oauthclient/interface.js +10 -0
  41. package/oauthclient/interface.js.map +1 -0
  42. package/{dist/oauth2client → oauthclient}/models.d.ts +5 -13
  43. package/oauthclient/models.js +3 -0
  44. package/oauthclient/models.js.map +1 -0
  45. package/oauthclient/oauthclient.d.ts +142 -0
  46. package/oauthclient/oauthclient.js +399 -0
  47. package/oauthclient/oauthclient.js.map +1 -0
  48. package/package.json +29 -33
  49. package/utils/single-promise.d.ts +18 -0
  50. package/utils/single-promise.js +48 -0
  51. package/utils/single-promise.js.map +1 -0
  52. package/utils/uuid.d.ts +5 -0
  53. package/utils/uuid.js +16 -0
  54. package/utils/uuid.js.map +1 -0
  55. package/.eslintignore +0 -2
  56. package/.eslintrc +0 -26
  57. package/dist/auth/apis.d.ts +0 -44
  58. package/dist/auth/apis.js +0 -448
  59. package/dist/auth/consts.js +0 -35
  60. package/dist/auth/models.js +0 -3
  61. package/dist/captcha/captcha.d.ts +0 -35
  62. package/dist/captcha/captcha.js +0 -262
  63. package/dist/index.d.ts +0 -9
  64. package/dist/index.js +0 -234
  65. package/dist/oauth2client/consts.js +0 -73
  66. package/dist/oauth2client/interface.d.ts +0 -15
  67. package/dist/oauth2client/interface.js +0 -10
  68. package/dist/oauth2client/models.js +0 -3
  69. package/dist/oauth2client/oauth2client.d.ts +0 -70
  70. package/dist/oauth2client/oauth2client.js +0 -618
  71. package/dist/utils/function/single-promise.d.ts +0 -5
  72. package/dist/utils/function/single-promise.js +0 -89
  73. package/dist/utils/uuid.d.ts +0 -1
  74. package/dist/utils/uuid.js +0 -12
  75. package/src/auth/apis.ts +0 -507
  76. package/src/auth/consts.ts +0 -30
  77. package/src/auth/models.ts +0 -178
  78. package/src/captcha/captcha.ts +0 -217
  79. package/src/index.ts +0 -162
  80. package/src/oauth2client/consts.ts +0 -69
  81. package/src/oauth2client/interface.ts +0 -57
  82. package/src/oauth2client/models.ts +0 -61
  83. package/src/oauth2client/oauth2client.ts +0 -606
  84. package/src/utils/function/single-promise.ts +0 -40
  85. package/src/utils/uuid.ts +0 -11
  86. package/tsconfig.json +0 -44
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VerificationUsages = exports.ApiUrls = void 0;
4
- var ApiUrls;
5
- (function (ApiUrls) {
6
- ApiUrls["AUTH_SIGN_IN_URL"] = "/auth/v1/signin";
7
- ApiUrls["AUTH_SIGN_IN_ANONYMOUSLY_URL"] = "/auth/v1/signin/anonymously";
8
- ApiUrls["AUTH_SIGN_IN_WITH_PROVIDER_URL"] = "/auth/v1/signin/with/provider";
9
- ApiUrls["AUTH_SIGN_UP_URL"] = "/auth/v1/signup";
10
- ApiUrls["AUTH_TOKEN_URL"] = "/auth/v1/token";
11
- ApiUrls["AUTH_REVOKE_URL"] = "/auth/v1/revoke";
12
- ApiUrls["PROVIDER_BIND_URL"] = "/auth/v1/user/provider/bind";
13
- ApiUrls["PROVIDER_TOKEN_URL"] = "/auth/v1/provider/token";
14
- ApiUrls["PROVIDER_URI_URL"] = "/auth/v1/provider/uri";
15
- ApiUrls["USER_ME_URL"] = "/auth/v1/user/me";
16
- ApiUrls["USER_QUERY_URL"] = "/auth/v1/user/query";
17
- ApiUrls["USER_PRIFILE_URL"] = "/auth/v1/user/profile";
18
- ApiUrls["USER_TRANS_BY_PROVIDER_URL"] = "/auth/v1/user/trans/by/provider";
19
- ApiUrls["VERIFICATION_URL"] = "/auth/v1/verification";
20
- ApiUrls["VERIFY_URL"] = "/auth/v1/verification/verify";
21
- ApiUrls["PROVIDER_LIST"] = "/auth/v1/user/provider";
22
- ApiUrls["PROVIDER_UNBIND_URL"] = "/auth/v1/user/provider";
23
- ApiUrls["CHECK_PWD_URL"] = "/auth/v1/user/sudo";
24
- ApiUrls["BIND_PHONE_URL"] = "/auth/v1/user/contact";
25
- ApiUrls["AUTH_SET_PASSWORD"] = "/auth/v1/user/password";
26
- })(ApiUrls = exports.ApiUrls || (exports.ApiUrls = {}));
27
- var VerificationUsages;
28
- (function (VerificationUsages) {
29
- VerificationUsages["REGISTER"] = "REGISTER";
30
- VerificationUsages["SIGN_IN"] = "SIGN_IN";
31
- VerificationUsages["PASSWORD_RESET"] = "PASSWORD_RESET";
32
- VerificationUsages["EMAIL_ADDRESS_CHANGE"] = "EMAIL_ADDRESS_CHANGE";
33
- VerificationUsages["PHONE_NUMBER_CHANGE"] = "PHONE_NUMBER_CHANGE";
34
- })(VerificationUsages = exports.VerificationUsages || (exports.VerificationUsages = {}));
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksT0FxQlg7QUFyQkQsV0FBWSxPQUFPO0lBQ2pCLCtDQUFvQyxDQUFBO0lBQ3BDLHVFQUE0RCxDQUFBO0lBQzVELDJFQUFnRSxDQUFBO0lBQ2hFLCtDQUFvQyxDQUFBO0lBQ3BDLDRDQUFpQyxDQUFBO0lBQ2pDLDhDQUFtQyxDQUFBO0lBQ25DLDREQUFpRCxDQUFBO0lBQ2pELHlEQUE4QyxDQUFBO0lBQzlDLHFEQUEwQyxDQUFBO0lBQzFDLDJDQUFnQyxDQUFBO0lBQ2hDLGlEQUFzQyxDQUFBO0lBQ3RDLHFEQUEwQyxDQUFBO0lBQzFDLHlFQUE4RCxDQUFBO0lBQzlELHFEQUEwQyxDQUFBO0lBQzFDLHNEQUEyQyxDQUFBO0lBQzNDLG1EQUF3QyxDQUFBO0lBQ3hDLHlEQUE4QyxDQUFBO0lBQzlDLCtDQUFvQyxDQUFBO0lBQ3BDLG1EQUF3QyxDQUFBO0lBQ3hDLHVEQUE0QyxDQUFBO0FBQzlDLENBQUMsRUFyQlcsT0FBTyxHQUFQLGVBQU8sS0FBUCxlQUFPLFFBcUJsQjtBQUVELElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtJQUNuQix1REFBaUMsQ0FBQTtJQUNqQyxtRUFBNkMsQ0FBQTtJQUM3QyxpRUFBMkMsQ0FBQTtBQUM3QyxDQUFDLEVBTlcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFNN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBcGlVcmxzIHtcbiAgQVVUSF9TSUdOX0lOX1VSTCA9ICcvYXV0aC92MS9zaWduaW4nLFxuICBBVVRIX1NJR05fSU5fQU5PTllNT1VTTFlfVVJMID0gJy9hdXRoL3YxL3NpZ25pbi9hbm9ueW1vdXNseScsXG4gIEFVVEhfU0lHTl9JTl9XSVRIX1BST1ZJREVSX1VSTCA9ICcvYXV0aC92MS9zaWduaW4vd2l0aC9wcm92aWRlcicsXG4gIEFVVEhfU0lHTl9VUF9VUkwgPSAnL2F1dGgvdjEvc2lnbnVwJyxcbiAgQVVUSF9UT0tFTl9VUkwgPSAnL2F1dGgvdjEvdG9rZW4nLFxuICBBVVRIX1JFVk9LRV9VUkwgPSAnL2F1dGgvdjEvcmV2b2tlJyxcbiAgUFJPVklERVJfQklORF9VUkwgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlci9iaW5kJyxcbiAgUFJPVklERVJfVE9LRU5fVVJMID0gJy9hdXRoL3YxL3Byb3ZpZGVyL3Rva2VuJyxcbiAgUFJPVklERVJfVVJJX1VSTCA9ICcvYXV0aC92MS9wcm92aWRlci91cmknLFxuICBVU0VSX01FX1VSTCA9ICcvYXV0aC92MS91c2VyL21lJyxcbiAgVVNFUl9RVUVSWV9VUkwgPSAnL2F1dGgvdjEvdXNlci9xdWVyeScsXG4gIFVTRVJfUFJJRklMRV9VUkwgPSAnL2F1dGgvdjEvdXNlci9wcm9maWxlJyxcbiAgVVNFUl9UUkFOU19CWV9QUk9WSURFUl9VUkwgPSAnL2F1dGgvdjEvdXNlci90cmFucy9ieS9wcm92aWRlcicsXG4gIFZFUklGSUNBVElPTl9VUkwgPSAnL2F1dGgvdjEvdmVyaWZpY2F0aW9uJyxcbiAgVkVSSUZZX1VSTCA9ICcvYXV0aC92MS92ZXJpZmljYXRpb24vdmVyaWZ5JyxcbiAgUFJPVklERVJfTElTVCA9ICcvYXV0aC92MS91c2VyL3Byb3ZpZGVyJyxcbiAgUFJPVklERVJfVU5CSU5EX1VSTCA9ICcvYXV0aC92MS91c2VyL3Byb3ZpZGVyJyxcbiAgQ0hFQ0tfUFdEX1VSTCA9ICcvYXV0aC92MS91c2VyL3N1ZG8nLFxuICBCSU5EX1BIT05FX1VSTCA9ICcvYXV0aC92MS91c2VyL2NvbnRhY3QnLFxuICBBVVRIX1NFVF9QQVNTV09SRCA9ICcvYXV0aC92MS91c2VyL3Bhc3N3b3JkJyxcbn1cblxuZXhwb3J0IGVudW0gVmVyaWZpY2F0aW9uVXNhZ2VzIHtcbiAgUkVHSVNURVIgPSAnUkVHSVNURVInLFxuICBTSUdOX0lOID0gJ1NJR05fSU4nLFxuICBQQVNTV09SRF9SRVNFVCA9ICdQQVNTV09SRF9SRVNFVCcsXG4gIEVNQUlMX0FERFJFU1NfQ0hBTkdFID0gJ0VNQUlMX0FERFJFU1NfQ0hBTkdFJyxcbiAgUEhPTkVfTlVNQkVSX0NIQU5HRSA9ICdQSE9ORV9OVU1CRVJfQ0hBTkdFJyxcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgQmFzZVJlcXVlc3Qge1xuICBjbGllbnRfaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fY29kZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnblVwUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcblxuICB2ZXJpZmljYXRpb25fY29kZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xuICBwcm92aWRlcl90b2tlbj86IHN0cmluZztcblxuICBwYXNzd29yZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZ2VuZGVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBsb2NhbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgdGFyZ2V0Pzogc3RyaW5nIHwgJ0FOWSc7XG4gIHVzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFZlcmlmaWNhdGlvblJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uX2lkPzogc3RyaW5nO1xuICBpc191c2VyPzogYm9vbGVhbiB8IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHZlcmlmaWNhdGlvbl9jb2RlOiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl9pZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlckJpbmRSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xuICBwcm92aWRlcl9yZWRpcmVjdF91cmk/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2NvZGU/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2FjY2Vzc190b2tlbj86IHN0cmluZztcbiAgcHJvdmlkZXJfaWRfdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbiAgcHJvdmlkZXJfcGFyYW1zOiB7XG4gICAgZW5jcnlwdGVkRGF0YTogc3RyaW5nO1xuICAgIGl2OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHByb3ZpZGVyX3Byb2ZpbGU6IFByb3ZpZGVyUHJvZmlsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHByb3ZpZGVyX3JlZGlyZWN0X3VyaTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBvdGhlcl9wYXJhbXM/OiB7XG4gICAgc2lnbl9vdXRfdXJpPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZSB7XG4gIHVyaTogc3RyaW5nO1xuICBzaWdub3V0X3VyaT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpbGVQcm92aWRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBwcm92aWRlcl91c2VyX2lkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQcm9maWxlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgYXZhdGFyVXJsPzogc3RyaW5nO1xuICB1c2VybmFtZT86IHN0cmluZztcbiAgZW1haWw/OiBzdHJpbmc7XG4gIGVtYWlsX3ZlcmlmaWVkPzogYm9vbGVhbjtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBwcm92aWRlcnM/OiBbVXNlclByb2ZpbGVQcm92aWRlcl07XG4gIGdlbmRlcj86IHN0cmluZztcbiAgYmlydGhkYXRlPzogc3RyaW5nO1xuICB6b25laW5mbz86IHN0cmluZztcbiAgbG9jYWxlPzogc3RyaW5nO1xuICBjcmVhdGVkX2Zyb20/OiBzdHJpbmc7XG4gIHN1Yj86IHN0cmluZ1xuICB1aWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgVXNlckluZm8gPSBVc2VyUHJvZmlsZTtcblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlclByb2ZpbGUge1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xuICBwaG9uZV9udW1iZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNCeVByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRUb2tlblJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIGNsaWVudF9zZWNyZXQ/OiBzdHJpbmc7XG4gIGNvZGU/OiBzdHJpbmc7XG4gIGdyYW50X3R5cGU/OiBzdHJpbmc7XG4gIHJlZGlyZWN0X3VyaT86IHN0cmluZztcbiAgbm9uY2U/OiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW4/OiBzdHJpbmc7XG4gIHNjb3BlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVuYmluZFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVja1Bhc3N3b3JkclJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmluZFBob25lUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyOiBzdHJpbmc7XG4gIHN1ZG9fdG9rZW46IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0UGFzc3dvcmRSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBuZXdfcGFzc3dvcmQ6IHN0cmluZztcbiAgc3Vkb190b2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZUJpbmRlZFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgdHJhbnNfdG9rZW46IHN0cmluZztcbiAgcHJvdmlkZXJfaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ2hhbmdlQmluZGVkUHJvdmlkZXJSZXNwb25zZSA9IEJhc2VSZXF1ZXN0XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlVc2VyUHJvZmlsZVJlcSBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgYXBwZW5kZWRfcGFyYW1zOiBzdHJpbmc7XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { SimpleStorage, RequestFunction } from '../oauth2client/interface';
2
- import { AuthClientRequestOptions } from "../oauth2client/models";
3
- export interface CaptchaOptions {
4
- clientId: string;
5
- request: RequestFunction;
6
- storage: SimpleStorage;
7
- openURIWithCallback?: OpenURIWithCallbackFuction;
8
- }
9
- declare type OpenURIWithCallbackFuction = (url: string) => Promise<CaptchaToken>;
10
- export interface CaptchaToken {
11
- captcha_token: string;
12
- expires_in: number;
13
- expires_at?: Date | null;
14
- }
15
- export interface CaptchaRequestOptions extends AuthClientRequestOptions {
16
- withCaptcha?: boolean;
17
- }
18
- export interface GetCaptchaResponse {
19
- captcha_token?: string;
20
- expires_in?: number;
21
- url?: string;
22
- }
23
- export declare class Captcha {
24
- private _config;
25
- private _tokenSectionName;
26
- constructor(opts: CaptchaOptions);
27
- request<T>(url: string, options?: CaptchaRequestOptions): Promise<T>;
28
- private _getDefaultOpenURIWithCallback;
29
- private _defaultOpenURIWithCallback;
30
- private _getCaptchaToken;
31
- private _appendCaptchaTokenToURL;
32
- private _saveCaptchaToken;
33
- private _findCaptchaToken;
34
- }
35
- export {};
@@ -1,262 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.Captcha = void 0;
40
- var oauth2client_1 = require("../oauth2client/oauth2client");
41
- var GET_CAPTCHA_URL = '/auth/v1/captcha/init';
42
- var Captcha = (function () {
43
- function Captcha(opts) {
44
- if (!opts.openURIWithCallback) {
45
- opts.openURIWithCallback = this._getDefaultOpenURIWithCallback();
46
- }
47
- if (!opts.storage) {
48
- opts.storage = oauth2client_1.defaultStorage;
49
- }
50
- this._config = opts;
51
- this._tokenSectionName = 'captcha_' + opts.clientId;
52
- }
53
- Captcha.prototype.request = function (url, options) {
54
- return __awaiter(this, void 0, void 0, function () {
55
- var state, reqURL, err_1;
56
- return __generator(this, function (_a) {
57
- switch (_a.label) {
58
- case 0:
59
- if (!options) {
60
- options = {};
61
- }
62
- if (!options.method) {
63
- options.method = 'GET';
64
- }
65
- state = options.method + ":" + url;
66
- reqURL = url;
67
- if (!options.withCaptcha) return [3, 2];
68
- return [4, this._appendCaptchaTokenToURL(url, state, false)];
69
- case 1:
70
- reqURL = _a.sent();
71
- _a.label = 2;
72
- case 2:
73
- _a.trys.push([2, 3, , 7]);
74
- return [2, this._config.request(reqURL, options)];
75
- case 3:
76
- err_1 = _a.sent();
77
- if (!(err_1.error === 'captcha_required' || err_1.error === 'captcha_invalid')) return [3, 5];
78
- return [4, this._appendCaptchaTokenToURL(url, state, err_1.error === 'captcha_invalid')];
79
- case 4:
80
- url = _a.sent();
81
- return [2, this._config.request(url, options)];
82
- case 5: return [2, Promise.reject(err_1)];
83
- case 6: return [3, 7];
84
- case 7: return [2];
85
- }
86
- });
87
- });
88
- };
89
- Captcha.prototype._getDefaultOpenURIWithCallback = function () {
90
- if (window.location.search.indexOf('__captcha') > 0) {
91
- document.body.style.display = 'none';
92
- }
93
- if (document.getElementById('captcha_panel_wrap') === null) {
94
- var elementDiv = document.createElement('div');
95
- elementDiv.style.cssText =
96
- 'background-color: rgba(0, 0, 0, 0.7);position: fixed;left: 0px;right: 0px;top: 0px;bottom: 0px;padding: 9vw 0 0 0;display: none;z-index:100;';
97
- elementDiv.setAttribute('id', 'captcha_panel_wrap');
98
- document.body.appendChild(elementDiv);
99
- }
100
- return this._defaultOpenURIWithCallback;
101
- };
102
- Captcha.prototype._defaultOpenURIWithCallback = function (url) {
103
- return __awaiter(this, void 0, void 0, function () {
104
- var target, iframe;
105
- return __generator(this, function (_a) {
106
- target = document.getElementById('captcha_panel_wrap'), iframe = document.createElement('iframe');
107
- target.innerHTML = '';
108
- iframe.setAttribute('src', url);
109
- iframe.setAttribute('id', 'review-panel-iframe');
110
- iframe.style.cssText = 'min-width:355px;display:block;height:355px;margin:0 auto;background-color: rgb(255, 255, 255);border: none;';
111
- target.appendChild(iframe);
112
- target.style.display = 'block';
113
- return [2, new Promise(function (resolve, reject) {
114
- iframe.onload = function () {
115
- try {
116
- var windowLocation = window.location;
117
- var iframeLocation = iframe.contentWindow.location;
118
- if (iframeLocation.host +
119
- iframeLocation.pathname ===
120
- windowLocation.host +
121
- windowLocation.pathname) {
122
- target.style.display = 'none';
123
- var iframeUrlParams = new URLSearchParams(iframeLocation.search);
124
- var captchToken = iframeUrlParams.get('captcha_token');
125
- if (captchToken) {
126
- return resolve({
127
- captcha_token: captchToken,
128
- expires_in: Number(iframeUrlParams.get('expires_in'))
129
- });
130
- }
131
- return reject({
132
- error: iframeUrlParams.get('error'),
133
- error_description: iframeUrlParams.get('error_description')
134
- });
135
- }
136
- else {
137
- target.style.display = 'block';
138
- }
139
- }
140
- catch (error) {
141
- target.style.display = 'block';
142
- }
143
- };
144
- })];
145
- });
146
- });
147
- };
148
- Captcha.prototype._getCaptchaToken = function (forceNewToken, state) {
149
- return __awaiter(this, void 0, void 0, function () {
150
- var captchaToken_1, redirectURL, captchaTokenResp, captchaToken_2, captchaToken;
151
- return __generator(this, function (_a) {
152
- switch (_a.label) {
153
- case 0:
154
- if (!!forceNewToken) return [3, 2];
155
- return [4, this._findCaptchaToken()];
156
- case 1:
157
- captchaToken_1 = _a.sent();
158
- if (captchaToken_1) {
159
- return [2, captchaToken_1];
160
- }
161
- _a.label = 2;
162
- case 2:
163
- redirectURL = window.location.origin + window.location.pathname + "?__captcha=on";
164
- return [4, this._config.request(GET_CAPTCHA_URL, {
165
- method: 'POST',
166
- body: {
167
- client_id: this._config.clientId,
168
- redirect_uri: redirectURL,
169
- state: state
170
- },
171
- withCredentials: false,
172
- })];
173
- case 3:
174
- captchaTokenResp = _a.sent();
175
- if (captchaTokenResp.captcha_token) {
176
- captchaToken_2 = {
177
- captcha_token: captchaTokenResp.captcha_token,
178
- expires_in: captchaTokenResp.expires_in,
179
- };
180
- this._saveCaptchaToken(captchaToken_2);
181
- return [2, captchaTokenResp.captcha_token];
182
- }
183
- return [4, this._config.openURIWithCallback(captchaTokenResp.url)];
184
- case 4:
185
- captchaToken = _a.sent();
186
- this._saveCaptchaToken(captchaToken);
187
- return [2, captchaToken.captcha_token];
188
- }
189
- });
190
- });
191
- };
192
- Captcha.prototype._appendCaptchaTokenToURL = function (url, state, forceNewToken) {
193
- return __awaiter(this, void 0, void 0, function () {
194
- var captchaToken;
195
- return __generator(this, function (_a) {
196
- switch (_a.label) {
197
- case 0: return [4, this._getCaptchaToken(forceNewToken, state)];
198
- case 1:
199
- captchaToken = _a.sent();
200
- if (url.indexOf("?") > 0) {
201
- url += "&captcha_token=" + captchaToken;
202
- }
203
- else {
204
- url += "?captcha_token=" + captchaToken;
205
- }
206
- return [2, url];
207
- }
208
- });
209
- });
210
- };
211
- Captcha.prototype._saveCaptchaToken = function (token) {
212
- return __awaiter(this, void 0, void 0, function () {
213
- var tokenStr;
214
- return __generator(this, function (_a) {
215
- switch (_a.label) {
216
- case 0:
217
- token.expires_at = new Date(Date.now() + (token.expires_in - 10) * 1000);
218
- tokenStr = JSON.stringify(token);
219
- return [4, this._config.storage.setItem(this._tokenSectionName, tokenStr)];
220
- case 1:
221
- _a.sent();
222
- return [2];
223
- }
224
- });
225
- });
226
- };
227
- Captcha.prototype._findCaptchaToken = function () {
228
- return __awaiter(this, void 0, void 0, function () {
229
- var tokenStr, captchaToken, isExpired, error_1;
230
- return __generator(this, function (_a) {
231
- switch (_a.label) {
232
- case 0: return [4, this._config.storage.getItem(this._tokenSectionName)];
233
- case 1:
234
- tokenStr = _a.sent();
235
- if (!(tokenStr !== undefined && tokenStr !== null)) return [3, 5];
236
- _a.label = 2;
237
- case 2:
238
- _a.trys.push([2, 3, , 5]);
239
- captchaToken = JSON.parse(tokenStr);
240
- if (captchaToken && captchaToken.expires_at) {
241
- captchaToken.expires_at = new Date(captchaToken.expires_at);
242
- }
243
- isExpired = captchaToken.expires_at < new Date();
244
- if (isExpired) {
245
- return [2, null];
246
- }
247
- return [2, captchaToken.captcha_token];
248
- case 3:
249
- error_1 = _a.sent();
250
- return [4, this._config.storage.removeItem(this._tokenSectionName)];
251
- case 4:
252
- _a.sent();
253
- return [2, null];
254
- case 5: return [2, null];
255
- }
256
- });
257
- });
258
- };
259
- return Captcha;
260
- }());
261
- exports.Captcha = Captcha;
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdGNoYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jYXB0Y2hhL2NhcHRjaGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsNkRBQTREO0FBNEI1RCxJQUFNLGVBQWUsR0FBRyx1QkFBdUIsQ0FBQTtBQUUvQztJQVFJLGlCQUFZLElBQW9CO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxDQUFBO1NBQ25FO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxHQUFHLDZCQUFjLENBQUE7U0FDaEM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUNuQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdkQsQ0FBQztJQU9ZLHlCQUFPLEdBQXBCLFVBQ0ksR0FBVyxFQUNYLE9BQStCOzs7Ozs7d0JBRS9CLElBQUksQ0FBQyxPQUFPLEVBQUU7NEJBQ1YsT0FBTyxHQUFHLEVBQUUsQ0FBQzt5QkFDaEI7d0JBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7NEJBQ2pCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO3lCQUN6Qjt3QkFDSyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO3dCQUNwQyxNQUFNLEdBQUcsR0FBRyxDQUFDOzZCQUNiLE9BQU8sQ0FBQyxXQUFXLEVBQW5CLGNBQW1CO3dCQUNWLFdBQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUE7O3dCQUEvRCxNQUFNLEdBQUcsU0FBc0QsQ0FBQzs7Ozt3QkFHaEUsV0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBSSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUE7Ozs2QkFFM0MsQ0FBQSxLQUFHLENBQUMsS0FBSyxLQUFLLGtCQUFrQixJQUFJLEtBQUcsQ0FBQyxLQUFLLEtBQUssaUJBQWlCLENBQUEsRUFBbkUsY0FBbUU7d0JBQzdELFdBQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBRyxDQUFDLEtBQUssS0FBSyxpQkFBaUIsQ0FBQyxFQUFBOzt3QkFBdEYsR0FBRyxHQUFHLFNBQWdGLENBQUE7d0JBQ3RGLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxFQUFBOzRCQUU1QyxXQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBRyxDQUFDLEVBQUE7Ozs7OztLQUdyQztJQUVPLGdEQUE4QixHQUF0QztRQUNJLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1NBQ3hDO1FBQ0QsSUFBSSxRQUFRLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3hELElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUNwQiw4SUFBOEksQ0FBQztZQUNuSixVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1lBQ3BELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUE7SUFDM0MsQ0FBQztJQUthLDZDQUEyQixHQUF6QyxVQUEwQyxHQUFXOzs7O2dCQUMzQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUN4RCxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtnQkFDN0MsTUFBTSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFBO2dCQUMvQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxDQUFBO2dCQUNoRCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyw2R0FBNkcsQ0FBQztnQkFDckksTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDM0IsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUMvQixXQUFPLElBQUksT0FBTyxDQUFlLFVBQUMsT0FBTyxFQUFFLE1BQU07d0JBQzdDLE1BQU0sQ0FBQyxNQUFNLEdBQUc7NEJBQ1osSUFBSTtnQ0FDQSxJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO2dDQUNyQyxJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztnQ0FDbkQsSUFDSSxjQUFjLENBQUMsSUFBSTtvQ0FDbkIsY0FBYyxDQUFDLFFBQVE7b0NBQ3ZCLGNBQWMsQ0FBQyxJQUFJO3dDQUNuQixjQUFjLENBQUMsUUFBUSxFQUN6QjtvQ0FDRSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7b0NBQzlCLElBQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQ0FDbkUsSUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztvQ0FDekQsSUFBSSxXQUFXLEVBQUU7d0NBQ2IsT0FBTyxPQUFPLENBQUM7NENBQ1gsYUFBYSxFQUFFLFdBQVc7NENBQzFCLFVBQVUsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQzt5Q0FDeEQsQ0FBQyxDQUFBO3FDQUNMO29DQUNELE9BQU8sTUFBTSxDQUFDO3dDQUNWLEtBQUssRUFBRSxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQzt3Q0FDbkMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztxQ0FDOUQsQ0FBQyxDQUFBO2lDQUNMO3FDQUFNO29DQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztpQ0FDbEM7NkJBQ0o7NEJBQUMsT0FBTyxLQUFLLEVBQUU7Z0NBQ1osTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDOzZCQUNsQzt3QkFDTCxDQUFDLENBQUM7b0JBQ04sQ0FBQyxDQUFDLEVBQUE7OztLQUNMO0lBSWEsa0NBQWdCLEdBQTlCLFVBQStCLGFBQXNCLEVBQUUsS0FBYTs7Ozs7OzZCQUM1RCxDQUFDLGFBQWEsRUFBZCxjQUFjO3dCQUVPLFdBQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUE7O3dCQUE3QyxpQkFBZSxTQUE4Qjt3QkFDbkQsSUFBSSxjQUFZLEVBQUU7NEJBQ2QsV0FBTyxjQUFZLEVBQUE7eUJBQ3RCOzs7d0JBRUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLGVBQWUsQ0FBQTt3QkFDOUQsV0FBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBcUIsZUFBZSxFQUFFO2dDQUNyRixNQUFNLEVBQUUsTUFBTTtnQ0FDZCxJQUFJLEVBQUU7b0NBQ0YsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUTtvQ0FDaEMsWUFBWSxFQUFFLFdBQVc7b0NBQ3pCLEtBQUssRUFBRSxLQUFLO2lDQUNmO2dDQUNELGVBQWUsRUFBRSxLQUFLOzZCQUN6QixDQUFDLEVBQUE7O3dCQVJJLGdCQUFnQixHQUFHLFNBUXZCO3dCQUNGLElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFOzRCQUMxQixpQkFBZTtnQ0FDakIsYUFBYSxFQUFFLGdCQUFnQixDQUFDLGFBQWE7Z0NBQzdDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVOzZCQUMxQyxDQUFBOzRCQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFZLENBQUMsQ0FBQTs0QkFDcEMsV0FBTyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUE7eUJBQ3hDO3dCQUNvQixXQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUE7O3dCQUEzRSxZQUFZLEdBQUcsU0FBNEQ7d0JBQ2pGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQTt3QkFDcEMsV0FBTyxZQUFZLENBQUMsYUFBYSxFQUFBOzs7O0tBQ3BDO0lBRWEsMENBQXdCLEdBQXRDLFVBQXVDLEdBQVcsRUFBRSxLQUFhLEVBQUUsYUFBc0I7Ozs7OzRCQUNoRSxXQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLEVBQUE7O3dCQUFoRSxZQUFZLEdBQUcsU0FBaUQ7d0JBQ3RFLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ3RCLEdBQUcsSUFBSSxpQkFBaUIsR0FBRyxZQUFZLENBQUE7eUJBQzFDOzZCQUFNOzRCQUNILEdBQUcsSUFBSSxpQkFBaUIsR0FBRyxZQUFZLENBQUE7eUJBQzFDO3dCQUNELFdBQU8sR0FBRyxFQUFBOzs7O0tBQ2I7SUFFYSxtQ0FBaUIsR0FBL0IsVUFBZ0MsS0FBbUI7Ozs7Ozt3QkFDL0MsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FDdkIsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQzlDLENBQUM7d0JBQ0ksUUFBUSxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQy9DLFdBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsRUFBQTs7d0JBQXBFLFNBQW9FLENBQUM7Ozs7O0tBQ3hFO0lBRWEsbUNBQWlCLEdBQS9COzs7Ozs0QkFDNkIsV0FBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ3ZELElBQUksQ0FBQyxpQkFBaUIsQ0FDekIsRUFBQTs7d0JBRkssUUFBUSxHQUFXLFNBRXhCOzZCQUNHLENBQUEsUUFBUSxLQUFLLFNBQVMsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFBLEVBQTNDLGNBQTJDOzs7O3dCQUVqQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDMUMsSUFBSSxZQUFZLElBQUksWUFBWSxDQUFDLFVBQVUsRUFBRTs0QkFDekMsWUFBWSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7eUJBQy9EO3dCQUNLLFNBQVMsR0FBRyxZQUFZLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7d0JBQ3ZELElBQUksU0FBUyxFQUFFOzRCQUNYLFdBQU8sSUFBSSxFQUFBO3lCQUNkO3dCQUNELFdBQU8sWUFBWSxDQUFDLGFBQWEsRUFBQTs7O3dCQUVqQyxXQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBQTs7d0JBQTdELFNBQTZELENBQUM7d0JBQzlELFdBQU8sSUFBSSxFQUFBOzRCQUduQixXQUFPLElBQUksRUFBQTs7OztLQUNkO0lBQ0wsY0FBQztBQUFELENBQUMsQUF4TEQsSUF3TEM7QUF4TFksMEJBQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NpbXBsZVN0b3JhZ2UsIFJlcXVlc3RGdW5jdGlvbn0gZnJvbSAnLi4vb2F1dGgyY2xpZW50L2ludGVyZmFjZSc7XG5pbXBvcnQge0F1dGhDbGllbnRSZXF1ZXN0T3B0aW9uc30gZnJvbSBcIi4uL29hdXRoMmNsaWVudC9tb2RlbHNcIjtcbmltcG9ydCB7ZGVmYXVsdFN0b3JhZ2V9IGZyb20gXCIuLi9vYXV0aDJjbGllbnQvb2F1dGgyY2xpZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwdGNoYU9wdGlvbnMge1xuICAgIGNsaWVudElkOiBzdHJpbmdcbiAgICByZXF1ZXN0OiBSZXF1ZXN0RnVuY3Rpb247XG4gICAgc3RvcmFnZTogU2ltcGxlU3RvcmFnZTtcbiAgICAvLyDmiZPlvIDnvZHpobXlubbpgJrov4dVUkzlm57osIPojrflj5YgQ2FwdGNoYVRva2Vu77yM6ZKI5a+55LiN6YCa55qE5bmz5Y+w77yM6K+l5Ye95pWw5Y+v5Lul6Ieq5a6a5LmJ5a6e546wLCDpu5jorqTpm4bmiJDmtY/op4jlmajnq6/orqTor4FcbiAgICBvcGVuVVJJV2l0aENhbGxiYWNrPzogT3BlblVSSVdpdGhDYWxsYmFja0Z1Y3Rpb247XG59XG5cbnR5cGUgT3BlblVSSVdpdGhDYWxsYmFja0Z1Y3Rpb24gPSAodXJsOiBzdHJpbmcpID0+IFByb21pc2U8Q2FwdGNoYVRva2VuPjtcblxuZXhwb3J0IGludGVyZmFjZSBDYXB0Y2hhVG9rZW4ge1xuICAgIGNhcHRjaGFfdG9rZW46IHN0cmluZ1xuICAgIGV4cGlyZXNfaW46IG51bWJlclxuICAgIGV4cGlyZXNfYXQ/OiBEYXRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXB0Y2hhUmVxdWVzdE9wdGlvbnMgZXh0ZW5kcyBBdXRoQ2xpZW50UmVxdWVzdE9wdGlvbnMge1xuICAgIHdpdGhDYXB0Y2hhPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDYXB0Y2hhUmVzcG9uc2Uge1xuICAgIGNhcHRjaGFfdG9rZW4/OiBzdHJpbmdcbiAgICBleHBpcmVzX2luPzogbnVtYmVyXG4gICAgdXJsPzogc3RyaW5nXG59XG5cbmNvbnN0IEdFVF9DQVBUQ0hBX1VSTCA9ICcvYXV0aC92MS9jYXB0Y2hhL2luaXQnXG5cbmV4cG9ydCBjbGFzcyBDYXB0Y2hhIHtcbiAgICBwcml2YXRlIF9jb25maWc6IENhcHRjaGFPcHRpb25zO1xuICAgIHByaXZhdGUgX3Rva2VuU2VjdGlvbk5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtDYXB0Y2hhT3B0aW9uc30gb3B0c1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKG9wdHM6IENhcHRjaGFPcHRpb25zKSB7XG4gICAgICAgIGlmICghb3B0cy5vcGVuVVJJV2l0aENhbGxiYWNrKSB7XG4gICAgICAgICAgICBvcHRzLm9wZW5VUklXaXRoQ2FsbGJhY2sgPSB0aGlzLl9nZXREZWZhdWx0T3BlblVSSVdpdGhDYWxsYmFjaygpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvcHRzLnN0b3JhZ2UpIHtcbiAgICAgICAgICAgIG9wdHMuc3RvcmFnZSA9IGRlZmF1bHRTdG9yYWdlXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY29uZmlnID0gb3B0c1xuICAgICAgICB0aGlzLl90b2tlblNlY3Rpb25OYW1lID0gJ2NhcHRjaGFfJyArIG9wdHMuY2xpZW50SWRcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXF1ZXN0IGh0dHAgbGlrZSBzaW1wbGUgZmV0Y2ggYXBpLCBleHA6cmVxdWVzdCgnL3YxL3VzZXIvbWUnLCB7d2l0aENyZWRlbnRpYWxzOnRydWV9KVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAgICAgKiBAcGFyYW0ge0F1dGhDbGllbnRSZXF1ZXN0T3B0aW9uc30gb3B0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyByZXF1ZXN0PFQ+KFxuICAgICAgICB1cmw6IHN0cmluZyxcbiAgICAgICAgb3B0aW9ucz86IENhcHRjaGFSZXF1ZXN0T3B0aW9ucyxcbiAgICApOiBQcm9taXNlPFQ+IHtcbiAgICAgICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgICAgICBvcHRpb25zID0ge307XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvcHRpb25zLm1ldGhvZCkge1xuICAgICAgICAgICAgb3B0aW9ucy5tZXRob2QgPSAnR0VUJ1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXRlID0gb3B0aW9ucy5tZXRob2QgKyBcIjpcIiArIHVybFxuICAgICAgICBsZXQgcmVxVVJMID0gdXJsO1xuICAgICAgICBpZiAob3B0aW9ucy53aXRoQ2FwdGNoYSkge1xuICAgICAgICAgICAgcmVxVVJMID0gYXdhaXQgdGhpcy5fYXBwZW5kQ2FwdGNoYVRva2VuVG9VUkwodXJsLCBzdGF0ZSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8VD4ocmVxVVJMLCBvcHRpb25zKVxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmIChlcnIuZXJyb3IgPT09ICdjYXB0Y2hhX3JlcXVpcmVkJyB8fCBlcnIuZXJyb3IgPT09ICdjYXB0Y2hhX2ludmFsaWQnKSB7XG4gICAgICAgICAgICAgICAgdXJsID0gYXdhaXQgdGhpcy5fYXBwZW5kQ2FwdGNoYVRva2VuVG9VUkwodXJsLCBzdGF0ZSwgZXJyLmVycm9yID09PSAnY2FwdGNoYV9pbnZhbGlkJylcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8VD4odXJsLCBvcHRpb25zKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0RGVmYXVsdE9wZW5VUklXaXRoQ2FsbGJhY2soKTogT3BlblVSSVdpdGhDYWxsYmFja0Z1Y3Rpb24ge1xuICAgICAgICBpZiAod2luZG93LmxvY2F0aW9uLnNlYXJjaC5pbmRleE9mKCdfX2NhcHRjaGEnKSA+IDApIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhcHRjaGFfcGFuZWxfd3JhcCcpID09PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgZWxlbWVudERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgZWxlbWVudERpdi5zdHlsZS5jc3NUZXh0ID1cbiAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO3Bvc2l0aW9uOiBmaXhlZDtsZWZ0OiAwcHg7cmlnaHQ6IDBweDt0b3A6IDBweDtib3R0b206IDBweDtwYWRkaW5nOiA5dncgMCAwIDA7ZGlzcGxheTogbm9uZTt6LWluZGV4OjEwMDsnO1xuICAgICAgICAgICAgZWxlbWVudERpdi5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2NhcHRjaGFfcGFuZWxfd3JhcCcpO1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50RGl2KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdE9wZW5VUklXaXRoQ2FsbGJhY2tcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDpu5jorqTpgJrov4fmtY/op4jlmajmiZPlvIDnvZHpobXlubbojrflj5blm57osINcbiAgICAgKi9cbiAgICBwcml2YXRlIGFzeW5jIF9kZWZhdWx0T3BlblVSSVdpdGhDYWxsYmFjayh1cmw6IHN0cmluZyk6IFByb21pc2U8Q2FwdGNoYVRva2VuPiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXB0Y2hhX3BhbmVsX3dyYXAnKSxcbiAgICAgICAgICAgIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpXG4gICAgICAgIHRhcmdldC5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgaWZyYW1lLnNldEF0dHJpYnV0ZSgnc3JjJywgdXJsKVxuICAgICAgICBpZnJhbWUuc2V0QXR0cmlidXRlKCdpZCcsICdyZXZpZXctcGFuZWwtaWZyYW1lJylcbiAgICAgICAgaWZyYW1lLnN0eWxlLmNzc1RleHQgPSAnbWluLXdpZHRoOjM1NXB4O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjM1NXB4O21hcmdpbjowIGF1dG87YmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO2JvcmRlcjogbm9uZTsnO1xuICAgICAgICB0YXJnZXQuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcbiAgICAgICAgdGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Q2FwdGNoYVRva2VuPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZnJhbWUub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciB3aW5kb3dMb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGlmcmFtZUxvY2F0aW9uID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb247XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmcmFtZUxvY2F0aW9uLmhvc3QgK1xuICAgICAgICAgICAgICAgICAgICAgICAgaWZyYW1lTG9jYXRpb24ucGF0aG5hbWUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICB3aW5kb3dMb2NhdGlvbi5ob3N0ICtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvd0xvY2F0aW9uLnBhdGhuYW1lXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpZnJhbWVVcmxQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGlmcmFtZUxvY2F0aW9uLnNlYXJjaCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjYXB0Y2hUb2tlbiA9IGlmcmFtZVVybFBhcmFtcy5nZXQoJ2NhcHRjaGFfdG9rZW4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjYXB0Y2hUb2tlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNvbHZlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FwdGNoYV90b2tlbjogY2FwdGNoVG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IE51bWJlcihpZnJhbWVVcmxQYXJhbXMuZ2V0KCdleHBpcmVzX2luJykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZWplY3Qoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiBpZnJhbWVVcmxQYXJhbXMuZ2V0KCdlcnJvcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX2Rlc2NyaXB0aW9uOiBpZnJhbWVVcmxQYXJhbXMuZ2V0KCdlcnJvcl9kZXNjcmlwdGlvbicpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgfVxuICAgIC8qKlxuICAgICAqIF9nZXRDYXB0Y2hhVG9rZW4g6I635Y+WY2FwdGNoYVRva2VuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhc3luYyBfZ2V0Q2FwdGNoYVRva2VuKGZvcmNlTmV3VG9rZW46IGJvb2xlYW4sIHN0YXRlOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBpZiAoIWZvcmNlTmV3VG9rZW4pIHtcbiAgICAgICAgICAgIC8vIOWmguaenOacrOWcsOWtmOWcqO+8jOWImeebtOaOpei/lOWbnlxuICAgICAgICAgICAgY29uc3QgY2FwdGNoYVRva2VuID0gYXdhaXQgdGhpcy5fZmluZENhcHRjaGFUb2tlbigpXG4gICAgICAgICAgICBpZiAoY2FwdGNoYVRva2VuKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhcHRjaGFUb2tlblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlZGlyZWN0VVJMID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArIFwiP19fY2FwdGNoYT1vblwiXG4gICAgICAgIGNvbnN0IGNhcHRjaGFUb2tlblJlc3AgPSBhd2FpdCB0aGlzLl9jb25maWcucmVxdWVzdDxHZXRDYXB0Y2hhUmVzcG9uc2U+KEdFVF9DQVBUQ0hBX1VSTCwge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLl9jb25maWcuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgcmVkaXJlY3RfdXJpOiByZWRpcmVjdFVSTCxcbiAgICAgICAgICAgICAgICBzdGF0ZTogc3RhdGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IGZhbHNlLFxuICAgICAgICB9KVxuICAgICAgICBpZiAoY2FwdGNoYVRva2VuUmVzcC5jYXB0Y2hhX3Rva2VuKSB7XG4gICAgICAgICAgICBjb25zdCBjYXB0Y2hhVG9rZW4gPSB7XG4gICAgICAgICAgICAgICAgY2FwdGNoYV90b2tlbjogY2FwdGNoYVRva2VuUmVzcC5jYXB0Y2hhX3Rva2VuLFxuICAgICAgICAgICAgICAgIGV4cGlyZXNfaW46IGNhcHRjaGFUb2tlblJlc3AuZXhwaXJlc19pbixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX3NhdmVDYXB0Y2hhVG9rZW4oY2FwdGNoYVRva2VuKVxuICAgICAgICAgICAgcmV0dXJuIGNhcHRjaGFUb2tlblJlc3AuY2FwdGNoYV90b2tlblxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNhcHRjaGFUb2tlbiA9IGF3YWl0IHRoaXMuX2NvbmZpZy5vcGVuVVJJV2l0aENhbGxiYWNrKGNhcHRjaGFUb2tlblJlc3AudXJsKVxuICAgICAgICB0aGlzLl9zYXZlQ2FwdGNoYVRva2VuKGNhcHRjaGFUb2tlbilcbiAgICAgICAgcmV0dXJuIGNhcHRjaGFUb2tlbi5jYXB0Y2hhX3Rva2VuXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBfYXBwZW5kQ2FwdGNoYVRva2VuVG9VUkwodXJsOiBzdHJpbmcsIHN0YXRlOiBzdHJpbmcsIGZvcmNlTmV3VG9rZW46IGJvb2xlYW4pOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICBjb25zdCBjYXB0Y2hhVG9rZW4gPSBhd2FpdCB0aGlzLl9nZXRDYXB0Y2hhVG9rZW4oZm9yY2VOZXdUb2tlbiwgc3RhdGUpO1xuICAgICAgICBpZiAodXJsLmluZGV4T2YoXCI/XCIpID4gMCkge1xuICAgICAgICAgICAgdXJsICs9IFwiJmNhcHRjaGFfdG9rZW49XCIgKyBjYXB0Y2hhVG9rZW5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVybCArPSBcIj9jYXB0Y2hhX3Rva2VuPVwiICsgY2FwdGNoYVRva2VuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybFxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgX3NhdmVDYXB0Y2hhVG9rZW4odG9rZW46IENhcHRjaGFUb2tlbikge1xuICAgICAgICB0b2tlbi5leHBpcmVzX2F0ID0gbmV3IERhdGUoXG4gICAgICAgICAgICBEYXRlLm5vdygpICsgKHRva2VuLmV4cGlyZXNfaW4gLSAxMCkgKiAxMDAwLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCB0b2tlblN0cjogc3RyaW5nID0gSlNPTi5zdHJpbmdpZnkodG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLl9jb25maWcuc3RvcmFnZS5zZXRJdGVtKHRoaXMuX3Rva2VuU2VjdGlvbk5hbWUsIHRva2VuU3RyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9maW5kQ2FwdGNoYVRva2VuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGNvbnN0IHRva2VuU3RyOiBzdHJpbmcgPSBhd2FpdCB0aGlzLl9jb25maWcuc3RvcmFnZS5nZXRJdGVtKFxuICAgICAgICAgICAgdGhpcy5fdG9rZW5TZWN0aW9uTmFtZSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRva2VuU3RyICE9PSB1bmRlZmluZWQgJiYgdG9rZW5TdHIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FwdGNoYVRva2VuID0gSlNPTi5wYXJzZSh0b2tlblN0cik7XG4gICAgICAgICAgICAgICAgaWYgKGNhcHRjaGFUb2tlbiAmJiBjYXB0Y2hhVG9rZW4uZXhwaXJlc19hdCkge1xuICAgICAgICAgICAgICAgICAgICBjYXB0Y2hhVG9rZW4uZXhwaXJlc19hdCA9IG5ldyBEYXRlKGNhcHRjaGFUb2tlbi5leHBpcmVzX2F0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaXNFeHBpcmVkID0gY2FwdGNoYVRva2VuLmV4cGlyZXNfYXQgPCBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgICAgIGlmIChpc0V4cGlyZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhcHRjaGFUb2tlbi5jYXB0Y2hhX3Rva2VuXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuX2NvbmZpZy5zdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5fdG9rZW5TZWN0aW9uTmFtZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgIH1cbn0iXX0=
package/dist/index.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import { ICloudbase } from '@cloudbase/types';
2
- export { Syntax, ErrorType } from './oauth2client/consts';
3
- export { defaultStorage, defaultRequest, ToResponseErrorOptions, toResponseError, generateRequestId, OAuth2Client, } from './oauth2client/oauth2client';
4
- export { AuthClient, SimpleStorage } from './oauth2client/interface';
5
- export { Credentials, ResponseError, OAuth2ClientOptions, AuthClientRequestOptions, } from './oauth2client/models';
6
- export { AuthOptions, Auth } from './auth/apis';
7
- import * as authModels from './auth/models';
8
- export { authModels };
9
- export declare function registerOAuth(app: Pick<ICloudbase, 'registerComponent'>): void;