@cloudbase/oauth 0.1.1-alpha.4 → 0.1.1-alpha.6
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.
- package/dist/app/index.d.ts +4 -4
- package/dist/app/openuri.d.ts +1 -1
- package/dist/app/openuri.js +3 -0
- package/dist/app/openuri.js.map +1 -1
- package/dist/app/request.d.ts +1 -1
- package/dist/auth/consts.d.ts +2 -1
- package/dist/auth/consts.js +1 -0
- package/dist/auth/consts.js.map +1 -1
- package/dist/auth/index.d.ts +7 -2
- package/dist/auth/index.js +12 -0
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/models.d.ts +9 -3
- package/dist/auth/models.js +0 -1
- package/dist/auth/models.js.map +1 -1
- package/dist/oauthclient/index.d.ts +4 -4
- package/dist/oauthclient/interface.d.ts +1 -1
- package/dist/oauthclient/oauthclient.js +1 -1
- package/dist/oauthclient/oauthclient.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/utils/base64.d.ts +3 -2
- package/dist/utils/base64.js +24 -22
- package/dist/utils/base64.js.map +1 -1
- package/package.json +1 -1
- package/packages/analytics/dist/cjs/index.d.ts +2 -0
- package/packages/analytics/dist/cjs/index.js +144 -0
- package/packages/analytics/dist/esm/index.d.ts +2 -0
- package/packages/analytics/dist/esm/index.js +140 -0
- package/packages/app/dist/cjs/constants/common.d.ts +24 -0
- package/packages/app/dist/cjs/constants/common.js +68 -0
- package/packages/app/dist/cjs/index.d.ts +4 -0
- package/packages/app/dist/cjs/index.js +248 -0
- package/packages/app/dist/cjs/libs/adapter.d.ts +2 -0
- package/packages/app/dist/cjs/libs/adapter.js +5 -0
- package/packages/app/dist/cjs/libs/cache.d.ts +6 -0
- package/packages/app/dist/cjs/libs/cache.js +38 -0
- package/packages/app/dist/cjs/libs/component.d.ts +3 -0
- package/packages/app/dist/cjs/libs/component.js +126 -0
- package/packages/app/dist/cjs/libs/request.d.ts +28 -0
- package/packages/app/dist/cjs/libs/request.js +297 -0
- package/packages/app/dist/esm/constants/common.d.ts +24 -0
- package/packages/app/dist/esm/constants/common.js +57 -0
- package/packages/app/dist/esm/index.d.ts +4 -0
- package/packages/app/dist/esm/index.js +241 -0
- package/packages/app/dist/esm/libs/adapter.d.ts +2 -0
- package/packages/app/dist/esm/libs/adapter.js +2 -0
- package/packages/app/dist/esm/libs/cache.d.ts +6 -0
- package/packages/app/dist/esm/libs/cache.js +32 -0
- package/packages/app/dist/esm/libs/component.d.ts +3 -0
- package/packages/app/dist/esm/libs/component.js +121 -0
- package/packages/app/dist/esm/libs/request.d.ts +28 -0
- package/packages/app/dist/esm/libs/request.js +292 -0
- package/packages/auth/dist/cjs/index.d.ts +100 -0
- package/packages/auth/dist/cjs/index.js +1011 -0
- package/packages/auth/dist/esm/index.d.ts +100 -0
- package/packages/auth/dist/esm/index.js +1007 -0
- package/packages/cloudbase/analytics/dist/index.d.ts +2 -0
- package/packages/cloudbase/analytics/dist/index.esm.js +4 -0
- package/packages/cloudbase/analytics/dist/index.js +9 -0
- package/packages/cloudbase/app/dist/index.d.ts +9 -0
- package/packages/cloudbase/app/dist/index.esm.js +10 -0
- package/packages/cloudbase/app/dist/index.js +17 -0
- package/packages/cloudbase/auth/dist/index.d.ts +2 -0
- package/packages/cloudbase/auth/dist/index.esm.js +4 -0
- package/packages/cloudbase/auth/dist/index.js +9 -0
- package/packages/cloudbase/container/dist/index.d.ts +2 -0
- package/packages/cloudbase/container/dist/index.esm.js +4 -0
- package/packages/cloudbase/container/dist/index.js +9 -0
- package/packages/cloudbase/dist/index.cjs.js +31 -0
- package/packages/cloudbase/dist/index.esm.js +26 -0
- package/packages/cloudbase/functions/dist/index.d.ts +2 -0
- package/packages/cloudbase/functions/dist/index.esm.js +4 -0
- package/packages/cloudbase/functions/dist/index.js +9 -0
- package/packages/cloudbase/oauth/dist/index.d.ts +1 -0
- package/packages/cloudbase/oauth/dist/index.esm.js +3 -0
- package/packages/cloudbase/oauth/dist/index.js +21 -0
- package/packages/cloudbase/realtime/dist/index.d.ts +2 -0
- package/packages/cloudbase/realtime/dist/index.esm.js +4 -0
- package/packages/cloudbase/realtime/dist/index.js +9 -0
- package/packages/cloudbase/src/dist/oauth/src/index.d.ts +1 -0
- package/packages/cloudbase/src/dist/src/index.d.ts +9 -0
- package/packages/cloudbase/storage/dist/index.d.ts +2 -0
- package/packages/cloudbase/storage/dist/index.esm.js +4 -0
- package/packages/cloudbase/storage/dist/index.js +9 -0
- package/packages/container/dist/cjs/constants/index.d.ts +1 -0
- package/packages/container/dist/cjs/constants/index.js +5 -0
- package/packages/container/dist/cjs/go_wams_exec.d.ts +2 -0
- package/packages/container/dist/cjs/go_wams_exec.js +538 -0
- package/packages/container/dist/cjs/index.d.ts +2 -0
- package/packages/container/dist/cjs/index.js +418 -0
- package/packages/container/dist/cjs/utils/index.d.ts +3 -0
- package/packages/container/dist/cjs/utils/index.js +65 -0
- package/packages/container/dist/cjs/utils/request.d.ts +12 -0
- package/packages/container/dist/cjs/utils/request.js +105 -0
- package/packages/container/dist/esm/constants/index.d.ts +1 -0
- package/packages/container/dist/esm/constants/index.js +2 -0
- package/packages/container/dist/esm/go_wams_exec.d.ts +2 -0
- package/packages/container/dist/esm/go_wams_exec.js +536 -0
- package/packages/container/dist/esm/index.d.ts +2 -0
- package/packages/container/dist/esm/index.js +411 -0
- package/packages/container/dist/esm/utils/index.d.ts +3 -0
- package/packages/container/dist/esm/utils/index.js +59 -0
- package/packages/container/dist/esm/utils/request.d.ts +12 -0
- package/packages/container/dist/esm/utils/request.js +101 -0
- package/packages/container/node_modules/@cloudbase/types/LICENSE +202 -0
- package/packages/container/node_modules/@cloudbase/types/auth.d.ts +78 -0
- package/packages/container/node_modules/@cloudbase/types/cache.d.ts +26 -0
- package/packages/container/node_modules/@cloudbase/types/component.d.ts +17 -0
- package/packages/container/node_modules/@cloudbase/types/database.d.ts +31 -0
- package/packages/container/node_modules/@cloudbase/types/events.d.ts +13 -0
- package/packages/container/node_modules/@cloudbase/types/functions.d.ts +16 -0
- package/packages/container/node_modules/@cloudbase/types/index.d.ts +66 -0
- package/packages/container/node_modules/@cloudbase/types/index.js +1 -0
- package/packages/container/node_modules/@cloudbase/types/package.json +46 -0
- package/packages/container/node_modules/@cloudbase/types/realtime.d.ts +350 -0
- package/packages/container/node_modules/@cloudbase/types/request.d.ts +28 -0
- package/packages/container/node_modules/@cloudbase/types/storage.d.ts +97 -0
- package/packages/container/node_modules/@cloudbase/utilities/.eslintignore +2 -0
- package/packages/container/node_modules/@cloudbase/utilities/.eslintrc.js +15 -0
- package/packages/container/node_modules/@cloudbase/utilities/LICENSE +202 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/adapters/index.d.ts +13 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/adapters/index.js +55 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/adapters/platforms/web.d.ts +15 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/adapters/platforms/web.js +215 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/constants/common.d.ts +6 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/constants/common.js +24 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/constants/errors.d.ts +8 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/constants/errors.js +12 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/constants/index.d.ts +3 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/constants/index.js +21 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/helpers/decorators.d.ts +11 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/helpers/decorators.js +238 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/helpers/index.d.ts +1 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/helpers/index.js +18 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/index.d.ts +11 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/index.js +47 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/libs/cache.d.ts +17 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/libs/cache.js +261 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/libs/events.d.ts +27 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/libs/events.js +108 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/libs/util.d.ts +35 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/cjs/libs/util.js +223 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/adapters/index.d.ts +13 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/adapters/index.js +27 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/adapters/platforms/web.d.ts +15 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/adapters/platforms/web.js +211 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/constants/common.d.ts +6 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/constants/common.js +17 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/constants/errors.d.ts +8 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/constants/errors.js +9 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/constants/index.d.ts +3 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/constants/index.js +4 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/helpers/decorators.d.ts +11 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/helpers/decorators.js +234 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/helpers/index.d.ts +1 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/helpers/index.js +2 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/index.d.ts +11 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/index.js +12 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/libs/cache.d.ts +17 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/libs/cache.js +258 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/libs/events.d.ts +27 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/libs/events.js +102 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/libs/util.d.ts +35 -0
- package/packages/container/node_modules/@cloudbase/utilities/dist/esm/libs/util.js +194 -0
- package/packages/container/node_modules/@cloudbase/utilities/package.json +32 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/adapters/index.ts +28 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/adapters/platforms/web.ts +182 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/constants/common.ts +21 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/constants/errors.ts +8 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/constants/index.ts +4 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/global.d.ts +3 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/helpers/decorators.ts +228 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/helpers/index.ts +1 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/index.ts +22 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/libs/cache.ts +192 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/libs/events.ts +154 -0
- package/packages/container/node_modules/@cloudbase/utilities/src/libs/util.ts +216 -0
- package/packages/container/node_modules/@cloudbase/utilities/tsconfig.esm.json +16 -0
- package/packages/container/node_modules/@cloudbase/utilities/tsconfig.json +21 -0
- package/packages/container/node_modules/crypto-js/CONTRIBUTING.md +28 -0
- package/packages/container/node_modules/crypto-js/LICENSE +24 -0
- package/packages/container/node_modules/crypto-js/README.md +261 -0
- package/packages/container/node_modules/crypto-js/aes.js +234 -0
- package/packages/container/node_modules/crypto-js/bower.json +39 -0
- package/packages/container/node_modules/crypto-js/cipher-core.js +890 -0
- package/packages/container/node_modules/crypto-js/core.js +807 -0
- package/packages/container/node_modules/crypto-js/crypto-js.js +6191 -0
- package/packages/container/node_modules/crypto-js/docs/QuickStartGuide.wiki +470 -0
- package/packages/container/node_modules/crypto-js/enc-base64.js +136 -0
- package/packages/container/node_modules/crypto-js/enc-base64url.js +140 -0
- package/packages/container/node_modules/crypto-js/enc-hex.js +18 -0
- package/packages/container/node_modules/crypto-js/enc-latin1.js +18 -0
- package/packages/container/node_modules/crypto-js/enc-utf16.js +149 -0
- package/packages/container/node_modules/crypto-js/enc-utf8.js +18 -0
- package/packages/container/node_modules/crypto-js/evpkdf.js +134 -0
- package/packages/container/node_modules/crypto-js/format-hex.js +66 -0
- package/packages/container/node_modules/crypto-js/format-openssl.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac-md5.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac-ripemd160.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac-sha1.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac-sha224.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac-sha256.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac-sha3.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac-sha384.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac-sha512.js +18 -0
- package/packages/container/node_modules/crypto-js/hmac.js +143 -0
- package/packages/container/node_modules/crypto-js/index.js +18 -0
- package/packages/container/node_modules/crypto-js/lib-typedarrays.js +76 -0
- package/packages/container/node_modules/crypto-js/md5.js +268 -0
- package/packages/container/node_modules/crypto-js/mode-cfb.js +80 -0
- package/packages/container/node_modules/crypto-js/mode-ctr-gladman.js +116 -0
- package/packages/container/node_modules/crypto-js/mode-ctr.js +58 -0
- package/packages/container/node_modules/crypto-js/mode-ecb.js +40 -0
- package/packages/container/node_modules/crypto-js/mode-ofb.js +54 -0
- package/packages/container/node_modules/crypto-js/package.json +42 -0
- package/packages/container/node_modules/crypto-js/pad-ansix923.js +49 -0
- package/packages/container/node_modules/crypto-js/pad-iso10126.js +44 -0
- package/packages/container/node_modules/crypto-js/pad-iso97971.js +40 -0
- package/packages/container/node_modules/crypto-js/pad-nopadding.js +30 -0
- package/packages/container/node_modules/crypto-js/pad-pkcs7.js +18 -0
- package/packages/container/node_modules/crypto-js/pad-zeropadding.js +47 -0
- package/packages/container/node_modules/crypto-js/pbkdf2.js +145 -0
- package/packages/container/node_modules/crypto-js/rabbit-legacy.js +190 -0
- package/packages/container/node_modules/crypto-js/rabbit.js +192 -0
- package/packages/container/node_modules/crypto-js/rc4.js +139 -0
- package/packages/container/node_modules/crypto-js/ripemd160.js +267 -0
- package/packages/container/node_modules/crypto-js/sha1.js +150 -0
- package/packages/container/node_modules/crypto-js/sha224.js +80 -0
- package/packages/container/node_modules/crypto-js/sha256.js +199 -0
- package/packages/container/node_modules/crypto-js/sha3.js +326 -0
- package/packages/container/node_modules/crypto-js/sha384.js +83 -0
- package/packages/container/node_modules/crypto-js/sha512.js +326 -0
- package/packages/container/node_modules/crypto-js/tripledes.js +779 -0
- package/packages/container/node_modules/crypto-js/x64-core.js +304 -0
- package/packages/functions/dist/cjs/index.d.ts +2 -0
- package/packages/functions/dist/cjs/index.js +165 -0
- package/packages/functions/dist/esm/index.d.ts +2 -0
- package/packages/functions/dist/esm/index.js +161 -0
- package/packages/oauth/dist/cjs/auth/apis.d.ts +78 -0
- package/packages/oauth/dist/cjs/auth/apis.js +726 -0
- package/packages/oauth/dist/cjs/auth/consts.d.ts +64 -0
- package/packages/oauth/dist/cjs/auth/consts.js +72 -0
- package/packages/oauth/dist/cjs/auth/models.d.ts +378 -0
- package/packages/oauth/dist/cjs/auth/models.js +3 -0
- package/packages/oauth/dist/cjs/captcha/captcha.d.ts +35 -0
- package/packages/oauth/dist/cjs/captcha/captcha.js +264 -0
- package/packages/oauth/dist/cjs/index.d.ts +14 -0
- package/packages/oauth/dist/cjs/index.js +70 -0
- package/packages/oauth/dist/cjs/oauth2client/consts.d.ts +67 -0
- package/packages/oauth/dist/cjs/oauth2client/consts.js +73 -0
- package/packages/oauth/dist/cjs/oauth2client/interface.d.ts +15 -0
- package/packages/oauth/dist/cjs/oauth2client/interface.js +10 -0
- package/packages/oauth/dist/cjs/oauth2client/models.d.ts +50 -0
- package/packages/oauth/dist/cjs/oauth2client/models.js +3 -0
- package/packages/oauth/dist/cjs/oauth2client/oauth2client.d.ts +58 -0
- package/packages/oauth/dist/cjs/oauth2client/oauth2client.js +687 -0
- package/packages/oauth/dist/cjs/utils/encrypt.d.ts +4 -0
- package/packages/oauth/dist/cjs/utils/encrypt.js +25 -0
- package/packages/oauth/dist/cjs/utils/encryptlong/index.d.ts +154 -0
- package/packages/oauth/dist/cjs/utils/encryptlong/index.js +4029 -0
- package/packages/oauth/dist/cjs/utils/function/single-promise.d.ts +5 -0
- package/packages/oauth/dist/cjs/utils/function/single-promise.js +96 -0
- package/packages/oauth/dist/cjs/utils/index.d.ts +1 -0
- package/packages/oauth/dist/cjs/utils/index.js +49 -0
- package/packages/oauth/dist/cjs/utils/uuid.d.ts +1 -0
- package/packages/oauth/dist/cjs/utils/uuid.js +12 -0
- package/packages/oauth/dist/esm/auth/apis.d.ts +78 -0
- package/packages/oauth/dist/esm/auth/apis.js +724 -0
- package/packages/oauth/dist/esm/auth/consts.d.ts +64 -0
- package/packages/oauth/dist/esm/auth/consts.js +69 -0
- package/packages/oauth/dist/esm/auth/models.d.ts +378 -0
- package/packages/oauth/dist/esm/auth/models.js +2 -0
- package/packages/oauth/dist/esm/captcha/captcha.d.ts +35 -0
- package/packages/oauth/dist/esm/captcha/captcha.js +261 -0
- package/packages/oauth/dist/esm/index.d.ts +14 -0
- package/packages/oauth/dist/esm/index.js +35 -0
- package/packages/oauth/dist/esm/oauth2client/consts.d.ts +67 -0
- package/packages/oauth/dist/esm/oauth2client/consts.js +70 -0
- package/packages/oauth/dist/esm/oauth2client/interface.d.ts +15 -0
- package/packages/oauth/dist/esm/oauth2client/interface.js +7 -0
- package/packages/oauth/dist/esm/oauth2client/models.d.ts +50 -0
- package/packages/oauth/dist/esm/oauth2client/models.js +2 -0
- package/packages/oauth/dist/esm/oauth2client/oauth2client.d.ts +58 -0
- package/packages/oauth/dist/esm/oauth2client/oauth2client.js +681 -0
- package/packages/oauth/dist/esm/utils/encrypt.d.ts +4 -0
- package/packages/oauth/dist/esm/utils/encrypt.js +18 -0
- package/packages/oauth/dist/esm/utils/encryptlong/index.d.ts +154 -0
- package/packages/oauth/dist/esm/utils/encryptlong/index.js +4027 -0
- package/packages/oauth/dist/esm/utils/function/single-promise.d.ts +5 -0
- package/packages/oauth/dist/esm/utils/function/single-promise.js +93 -0
- package/packages/oauth/dist/esm/utils/index.d.ts +1 -0
- package/packages/oauth/dist/esm/utils/index.js +45 -0
- package/packages/oauth/dist/esm/utils/uuid.d.ts +1 -0
- package/packages/oauth/dist/esm/utils/uuid.js +8 -0
- package/packages/packages/cloudbase/src/dist/oauth/src/index.d.ts +1 -0
- package/packages/packages/cloudbase/src/dist/src/index.d.ts +9 -0
- package/packages/realtime/dist/cjs/common.d.ts +4 -0
- package/packages/realtime/dist/cjs/common.js +22 -0
- package/packages/realtime/dist/cjs/error.d.ts +36 -0
- package/packages/realtime/dist/cjs/error.js +106 -0
- package/packages/realtime/dist/cjs/index.d.ts +2 -0
- package/packages/realtime/dist/cjs/index.js +36 -0
- package/packages/realtime/dist/cjs/listener.d.ts +14 -0
- package/packages/realtime/dist/cjs/listener.js +18 -0
- package/packages/realtime/dist/cjs/message.d.ts +3 -0
- package/packages/realtime/dist/cjs/message.js +13 -0
- package/packages/realtime/dist/cjs/snapshot.d.ts +17 -0
- package/packages/realtime/dist/cjs/snapshot.js +45 -0
- package/packages/realtime/dist/cjs/utils.d.ts +1 -0
- package/packages/realtime/dist/cjs/utils.js +9 -0
- package/packages/realtime/dist/cjs/virtual-websocket-client.d.ts +62 -0
- package/packages/realtime/dist/cjs/websocket-client.d.ts +78 -0
- package/packages/realtime/dist/cjs/ws-event.d.ts +126 -0
- package/packages/realtime/dist/cjs/ws-event.js +141 -0
- package/packages/realtime/dist/esm/common.d.ts +4 -0
- package/packages/realtime/dist/esm/common.js +15 -0
- package/packages/realtime/dist/esm/error.d.ts +36 -0
- package/packages/realtime/dist/esm/error.js +100 -0
- package/packages/realtime/dist/esm/index.d.ts +2 -0
- package/packages/realtime/dist/esm/index.js +32 -0
- package/packages/realtime/dist/esm/listener.d.ts +14 -0
- package/packages/realtime/dist/esm/listener.js +15 -0
- package/packages/realtime/dist/esm/message.d.ts +3 -0
- package/packages/realtime/dist/esm/message.js +8 -0
- package/packages/realtime/dist/esm/snapshot.d.ts +17 -0
- package/packages/realtime/dist/esm/snapshot.js +42 -0
- package/packages/realtime/dist/esm/utils.d.ts +1 -0
- package/packages/realtime/dist/esm/utils.js +5 -0
- package/packages/realtime/dist/esm/virtual-websocket-client.d.ts +62 -0
- package/packages/realtime/dist/esm/websocket-client.d.ts +78 -0
- package/packages/realtime/dist/esm/ws-event.d.ts +126 -0
- package/packages/realtime/dist/esm/ws-event.js +137 -0
- package/packages/storage/dist/cjs/index.d.ts +2 -0
- package/packages/storage/dist/cjs/index.js +426 -0
- package/packages/storage/dist/esm/index.d.ts +2 -0
- package/packages/storage/dist/esm/index.js +422 -0
- package/packages/utilities/dist/cjs/adapters/index.d.ts +13 -0
- package/packages/utilities/dist/cjs/adapters/index.js +55 -0
- package/packages/utilities/dist/cjs/adapters/platforms/web.d.ts +15 -0
- package/packages/utilities/dist/cjs/adapters/platforms/web.js +215 -0
- package/packages/utilities/dist/cjs/constants/common.d.ts +6 -0
- package/packages/utilities/dist/cjs/constants/common.js +24 -0
- package/packages/utilities/dist/cjs/constants/errors.d.ts +8 -0
- package/packages/utilities/dist/cjs/constants/errors.js +12 -0
- package/packages/utilities/dist/cjs/constants/index.d.ts +3 -0
- package/packages/utilities/dist/cjs/constants/index.js +21 -0
- package/packages/utilities/dist/cjs/helpers/decorators.d.ts +11 -0
- package/packages/utilities/dist/cjs/helpers/decorators.js +238 -0
- package/packages/utilities/dist/cjs/helpers/index.d.ts +1 -0
- package/packages/utilities/dist/cjs/helpers/index.js +18 -0
- package/packages/utilities/dist/cjs/index.d.ts +11 -0
- package/packages/utilities/dist/cjs/index.js +47 -0
- package/packages/utilities/dist/cjs/libs/cache.d.ts +17 -0
- package/packages/utilities/dist/cjs/libs/cache.js +261 -0
- package/packages/utilities/dist/cjs/libs/events.d.ts +27 -0
- package/packages/utilities/dist/cjs/libs/events.js +108 -0
- package/packages/utilities/dist/cjs/libs/util.d.ts +34 -0
- package/packages/utilities/dist/cjs/libs/util.js +198 -0
- package/packages/utilities/dist/esm/adapters/index.d.ts +13 -0
- package/packages/utilities/dist/esm/adapters/index.js +27 -0
- package/packages/utilities/dist/esm/adapters/platforms/web.d.ts +15 -0
- package/packages/utilities/dist/esm/adapters/platforms/web.js +211 -0
- package/packages/utilities/dist/esm/constants/common.d.ts +6 -0
- package/packages/utilities/dist/esm/constants/common.js +17 -0
- package/packages/utilities/dist/esm/constants/errors.d.ts +8 -0
- package/packages/utilities/dist/esm/constants/errors.js +9 -0
- package/packages/utilities/dist/esm/constants/index.d.ts +3 -0
- package/packages/utilities/dist/esm/constants/index.js +4 -0
- package/packages/utilities/dist/esm/helpers/decorators.d.ts +11 -0
- package/packages/utilities/dist/esm/helpers/decorators.js +234 -0
- package/packages/utilities/dist/esm/helpers/index.d.ts +1 -0
- package/packages/utilities/dist/esm/helpers/index.js +2 -0
- package/packages/utilities/dist/esm/index.d.ts +11 -0
- package/packages/utilities/dist/esm/index.js +12 -0
- package/packages/utilities/dist/esm/libs/cache.d.ts +17 -0
- package/packages/utilities/dist/esm/libs/cache.js +258 -0
- package/packages/utilities/dist/esm/libs/events.d.ts +27 -0
- package/packages/utilities/dist/esm/libs/events.js +102 -0
- package/packages/utilities/dist/esm/libs/util.d.ts +34 -0
- package/packages/utilities/dist/esm/libs/util.js +173 -0
- package/src/app/openuri.ts +3 -0
- package/src/auth/consts.ts +1 -0
- package/src/auth/index.ts +14 -0
- package/src/auth/models.ts +9 -5
- package/src/utils/base64.ts +35 -27
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
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");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
17
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
18
|
+
if (ar || !(i in from)) {
|
|
19
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
20
|
+
ar[i] = from[i];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
24
|
+
};
|
|
25
|
+
import { isString, isInstanceOf } from './util';
|
|
26
|
+
function customeAddEventListener(name, listener, listeners) {
|
|
27
|
+
listeners[name] = listeners[name] || [];
|
|
28
|
+
listeners[name].push(listener);
|
|
29
|
+
}
|
|
30
|
+
function customRemoveEventListener(name, listener, listeners) {
|
|
31
|
+
if (listeners === null || listeners === void 0 ? void 0 : listeners[name]) {
|
|
32
|
+
var index = listeners[name].indexOf(listener);
|
|
33
|
+
if (index !== -1) {
|
|
34
|
+
listeners[name].splice(index, 1);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
var CloudbaseEvent = (function () {
|
|
39
|
+
function CloudbaseEvent(name, data) {
|
|
40
|
+
this.data = data || null;
|
|
41
|
+
this.name = name;
|
|
42
|
+
}
|
|
43
|
+
return CloudbaseEvent;
|
|
44
|
+
}());
|
|
45
|
+
export { CloudbaseEvent };
|
|
46
|
+
var IErrorEvent = (function (_super) {
|
|
47
|
+
__extends(IErrorEvent, _super);
|
|
48
|
+
function IErrorEvent(error, data) {
|
|
49
|
+
var _this = _super.call(this, 'error', { error: error, data: data }) || this;
|
|
50
|
+
_this.error = error;
|
|
51
|
+
return _this;
|
|
52
|
+
}
|
|
53
|
+
return IErrorEvent;
|
|
54
|
+
}(CloudbaseEvent));
|
|
55
|
+
export { IErrorEvent };
|
|
56
|
+
var CloudbaseEventEmitter = (function () {
|
|
57
|
+
function CloudbaseEventEmitter() {
|
|
58
|
+
this.listeners = {};
|
|
59
|
+
}
|
|
60
|
+
CloudbaseEventEmitter.prototype.on = function (name, listener) {
|
|
61
|
+
customeAddEventListener(name, listener, this.listeners);
|
|
62
|
+
return this;
|
|
63
|
+
};
|
|
64
|
+
CloudbaseEventEmitter.prototype.off = function (name, listener) {
|
|
65
|
+
customRemoveEventListener(name, listener, this.listeners);
|
|
66
|
+
return this;
|
|
67
|
+
};
|
|
68
|
+
CloudbaseEventEmitter.prototype.fire = function (event, data) {
|
|
69
|
+
if (isInstanceOf(event, IErrorEvent)) {
|
|
70
|
+
console.error(event.error);
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
var ev = isString(event) ? new CloudbaseEvent(event, data || {}) : event;
|
|
74
|
+
var name = ev.name;
|
|
75
|
+
if (this.listens(name)) {
|
|
76
|
+
ev.target = this;
|
|
77
|
+
var handlers = this.listeners[name] ? __spreadArray([], this.listeners[name], true) : [];
|
|
78
|
+
for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {
|
|
79
|
+
var fn = handlers_1[_i];
|
|
80
|
+
fn.call(this, ev);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return this;
|
|
84
|
+
};
|
|
85
|
+
CloudbaseEventEmitter.prototype.listens = function (name) {
|
|
86
|
+
return this.listeners[name] && this.listeners[name].length > 0;
|
|
87
|
+
};
|
|
88
|
+
return CloudbaseEventEmitter;
|
|
89
|
+
}());
|
|
90
|
+
export { CloudbaseEventEmitter };
|
|
91
|
+
var eventEmitter = new CloudbaseEventEmitter();
|
|
92
|
+
export function addEventListener(event, callback) {
|
|
93
|
+
eventEmitter.on(event, callback);
|
|
94
|
+
}
|
|
95
|
+
export function activateEvent(event, data) {
|
|
96
|
+
if (data === void 0) { data = {}; }
|
|
97
|
+
eventEmitter.fire(event, data);
|
|
98
|
+
}
|
|
99
|
+
export function removeEventListener(event, callback) {
|
|
100
|
+
eventEmitter.off(event, callback);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYnMvZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBVy9DLFNBQVMsdUJBQXVCLENBQUMsSUFBWSxFQUFFLFFBQWtCLEVBQUUsU0FBb0I7SUFDckYsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDdkMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUNoQyxDQUFDO0FBUUQsU0FBUyx5QkFBeUIsQ0FBQyxJQUFZLEVBQUUsUUFBa0IsRUFBRSxTQUFvQjtJQUN2RixJQUFJLFNBQVMsYUFBVCxTQUFTLHVCQUFULFNBQVMsQ0FBRyxJQUFJLENBQUMsRUFBRTtRQUNyQixJQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9DLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO1NBQ2pDO0tBQ0Y7QUFDSCxDQUFDO0FBWUQ7SUFLRSx3QkFBWSxJQUFZLEVBQUUsSUFBUztRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLENBQUE7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEIsQ0FBQztJQUNILHFCQUFDO0FBQUQsQ0FBQyxBQVRELElBU0M7O0FBUUQ7SUFBaUMsK0JBQWM7SUFFN0MscUJBQVksS0FBWSxFQUFFLElBQVU7UUFBcEMsWUFDRSxrQkFBTSxPQUFPLEVBQUUsRUFBRSxLQUFLLE9BQUEsRUFBRSxJQUFJLE1BQUEsRUFBRSxDQUFDLFNBRWhDO1FBREMsS0FBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7O0lBQ3BCLENBQUM7SUFDSCxrQkFBQztBQUFELENBQUMsQUFORCxDQUFpQyxjQUFjLEdBTTlDOztBQUtEO0lBQUE7UUFPbUIsY0FBUyxHQUFjLEVBQUUsQ0FBQTtJQThENUMsQ0FBQztJQXJEUSxrQ0FBRSxHQUFULFVBQVUsSUFBWSxFQUFFLFFBQWtCO1FBQ3hDLHVCQUF1QixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3ZELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQVFNLG1DQUFHLEdBQVYsVUFBVyxJQUFZLEVBQUUsUUFBa0I7UUFDekMseUJBQXlCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDekQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBT00sb0NBQUksR0FBWCxVQUFZLEtBQThCLEVBQUUsSUFBVTtRQUVwRCxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxDQUFDLEtBQUssQ0FBRSxLQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzNDLE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFFRCxJQUFNLEVBQUUsR0FBbUIsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxLQUFlLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUF1QixDQUFBO1FBRTlHLElBQUEsSUFBSSxHQUFLLEVBQUUsS0FBUCxDQUFPO1FBRW5CLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QixFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtZQUVoQixJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBRSxDQUFDLENBQUMsRUFBRSxDQUFBO1lBQ3RFLEtBQWlCLFVBQVEsRUFBUixxQkFBUSxFQUFSLHNCQUFRLEVBQVIsSUFBUSxFQUFFO2dCQUF0QixJQUFNLEVBQUUsaUJBQUE7Z0JBQ1gsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7YUFDbEI7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQVFPLHVDQUFPLEdBQWYsVUFBZ0IsSUFBWTtRQUMxQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFDSCw0QkFBQztBQUFELENBQUMsQUFyRUQsSUFxRUM7O0FBR0QsSUFBTSxZQUFZLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFBO0FBRWhELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsUUFBa0I7SUFDaEUsWUFBWSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBYSxFQUFFLElBQWM7SUFBZCxxQkFBQSxFQUFBLFNBQWM7SUFDekQsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDaEMsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFhLEVBQUUsUUFBa0I7SUFDbkUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU3RyaW5nLCBpc0luc3RhbmNlT2YgfSBmcm9tICcuL3V0aWwnXG5pbXBvcnQgeyBMaXN0ZW5lcnMsIElDbG91ZGJhc2VFdmVudEVtaXR0ZXIgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzL2V2ZW50cydcblxuXG4vKipcbiAqIEBwcml2YXRlXG4gKiBAZnVuY3Rpb24gX2FkZEV2ZW50TGlzdGVuZXIgLSDmt7vliqDnm5HlkKxcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gZXZlbnTlkI3np7BcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGxpc3RlbmVyIC0g5ZON5bqU5Ye95pWwXG4gKiBAcGFyYW0ge0xpc3RlbmVyc30gbGlzdGVuZXJzIC0g5bey5a2Y5ZON5bqU5Ye95pWw6ZuG5ZCIXG4gKi9cbmZ1bmN0aW9uIGN1c3RvbWVBZGRFdmVudExpc3RlbmVyKG5hbWU6IHN0cmluZywgbGlzdGVuZXI6IEZ1bmN0aW9uLCBsaXN0ZW5lcnM6IExpc3RlbmVycykge1xuICBsaXN0ZW5lcnNbbmFtZV0gPSBsaXN0ZW5lcnNbbmFtZV0gfHwgW11cbiAgbGlzdGVuZXJzW25hbWVdLnB1c2gobGlzdGVuZXIpXG59XG4vKipcbiAqIEBwcml2YXRlXG4gKiBAZnVuY3Rpb24gX3JlbW92ZUV2ZW50TGlzdGVuZXIgLSDnp7vpmaTnm5HlkKxcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gZXZlbnTlkI3np7BcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGxpc3RlbmVyIC0g5ZON5bqU5Ye95pWwXG4gKiBAcGFyYW0ge0xpc3RlbmVyc30gbGlzdGVuZXJzIC0g5bey5a2Y5ZON5bqU5Ye95pWw6ZuG5ZCIXG4gKi9cbmZ1bmN0aW9uIGN1c3RvbVJlbW92ZUV2ZW50TGlzdGVuZXIobmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogRnVuY3Rpb24sIGxpc3RlbmVyczogTGlzdGVuZXJzKSB7XG4gIGlmIChsaXN0ZW5lcnM/LltuYW1lXSkge1xuICAgIGNvbnN0IGluZGV4ID0gbGlzdGVuZXJzW25hbWVdLmluZGV4T2YobGlzdGVuZXIpXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgbGlzdGVuZXJzW25hbWVdLnNwbGljZShpbmRleCwgMSlcbiAgICB9XG4gIH1cbn1cbmludGVyZmFjZSBJRXZlbnQge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRhcmdldDogYW55O1xuICBkYXRhOiBhbnk7XG59XG4vKipcbiAqIOiHquWumuS5ieS6i+S7tlxuICogQGNsYXNzIENsb3VkYmFzZUV2ZW50XG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIOexu+Wei1xuICogQHBhcmFtIHthbnl9IGRhdGEgLSDmlbDmja5cbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkYmFzZUV2ZW50IGltcGxlbWVudHMgSUV2ZW50IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZ1xuICBwdWJsaWMgdGFyZ2V0OiBhbnlcbiAgcHVibGljIGRhdGE6IGFueVxuXG4gIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgZGF0YTogYW55KSB7XG4gICAgdGhpcy5kYXRhID0gZGF0YSB8fCBudWxsXG4gICAgdGhpcy5uYW1lID0gbmFtZVxuICB9XG59XG4vKipcbiAqIOiHquWumuS5iemUmeivr+S6i+S7tlxuICogQGNsYXNzIElFcnJvckV2ZW50XG4gKiBAZXh0ZW5kcyBDbG91ZGJhc2VFdmVudFxuICogQHBhcmFtIHtFcnJvcn0gZXJyb3IgLSDplJnor6/kv6Hmga/lr7nosaFcbiAqIEBwYXJhbSB7YW55fSBkYXRhICAtIOaVsOaNrlxuICovXG5leHBvcnQgY2xhc3MgSUVycm9yRXZlbnQgZXh0ZW5kcyBDbG91ZGJhc2VFdmVudCB7XG4gIHB1YmxpYyByZWFkb25seSBlcnJvcjogRXJyb3JcbiAgY29uc3RydWN0b3IoZXJyb3I6IEVycm9yLCBkYXRhPzogYW55KSB7XG4gICAgc3VwZXIoJ2Vycm9yJywgeyBlcnJvciwgZGF0YSB9KVxuICAgIHRoaXMuZXJyb3IgPSBlcnJvclxuICB9XG59XG5cbi8qKlxuICogQGNsYXNzIENsb3VkYmFzZUV2ZW50RW1pdHRlclxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRiYXNlRXZlbnRFbWl0dGVyIGltcGxlbWVudHMgSUNsb3VkYmFzZUV2ZW50RW1pdHRlciB7XG4gIC8qKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcmVhZG9ubHlcbiAgICogQHByb3BlcnR5IHtMaXN0ZW5lcnN9IGxpc3RlbmVycyAtIOWTjeW6lOWHveaVsOmbhuWQiFxuICAgKiBAZGVmYXVsdCBge31gXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlbmVyczogTGlzdGVuZXJzID0ge31cblxuICAvKipcbiAgICogQHB1YmxpY1xuICAgKiBAbWV0aG9kIG9uIC0g5re75Yqg55uR5ZCsXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gZXZlbnTlkI3np7BcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gbGlzdGVuZXIgLSDlk43lupTlh73mlbBcbiAgICogQHJldHVybiBgdGhpc2BcbiAgICovXG4gIHB1YmxpYyBvbihuYW1lOiBzdHJpbmcsIGxpc3RlbmVyOiBGdW5jdGlvbik6IHRoaXMge1xuICAgIGN1c3RvbWVBZGRFdmVudExpc3RlbmVyKG5hbWUsIGxpc3RlbmVyLCB0aGlzLmxpc3RlbmVycylcbiAgICByZXR1cm4gdGhpc1xuICB9XG4gIC8qKlxuICAgKiBAcHVibGljXG4gICAqIEBtZXRob2Qgb2ZmIC0g56e76Zmk55uR5ZCsXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gZXZlbnTlkI3np7BcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gbGlzdGVuZXIgLSDlk43lupTlh73mlbBcbiAgICogQHJldHVybiBgdGhpc2BcbiAgICovXG4gIHB1YmxpYyBvZmYobmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogRnVuY3Rpb24pOiB0aGlzIHtcbiAgICBjdXN0b21SZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIGxpc3RlbmVyLCB0aGlzLmxpc3RlbmVycylcbiAgICByZXR1cm4gdGhpc1xuICB9XG4gIC8qKlxuICAgKiBAcHVibGljXG4gICAqIEBtZXRob2QgZmlyZSAtIOinpuWPkeS6i+S7tlxuICAgKiBAcGFyYW0ge3N0cmluZ3xDbG91ZGJhc2VFdmVudH0gZXZlbnQgLSBldmVudFxuICAgKiBAcmV0dXJuIGB0aGlzYFxuICAgKi9cbiAgcHVibGljIGZpcmUoZXZlbnQ6IHN0cmluZyB8IENsb3VkYmFzZUV2ZW50LCBkYXRhPzogYW55KTogdGhpcyB7XG4gICAgLy8g5omT5Y2w6ZSZ6K+v5L+h5oGvXG4gICAgaWYgKGlzSW5zdGFuY2VPZihldmVudCwgSUVycm9yRXZlbnQpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKChldmVudCBhcyBJRXJyb3JFdmVudCkuZXJyb3IpXG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIGNvbnN0IGV2OiBDbG91ZGJhc2VFdmVudCA9IGlzU3RyaW5nKGV2ZW50KSA/IG5ldyBDbG91ZGJhc2VFdmVudChldmVudCBhcyBzdHJpbmcsIGRhdGEgfHwge30pIDogZXZlbnQgYXMgQ2xvdWRiYXNlRXZlbnRcblxuICAgIGNvbnN0IHsgbmFtZSB9ID0gZXZcblxuICAgIGlmICh0aGlzLmxpc3RlbnMobmFtZSkpIHtcbiAgICAgIGV2LnRhcmdldCA9IHRoaXNcblxuICAgICAgY29uc3QgaGFuZGxlcnMgPSB0aGlzLmxpc3RlbmVyc1tuYW1lXSA/IFsuLi50aGlzLmxpc3RlbmVyc1tuYW1lXV0gOiBbXVxuICAgICAgZm9yIChjb25zdCBmbiBvZiBoYW5kbGVycykge1xuICAgICAgICBmbi5jYWxsKHRoaXMsIGV2KVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQHByaXZhdGVcbiAgICogQG1ldGhvZCBsaXN0ZW5zIC0g5Yik5pat5piv5ZCm55uR5ZCs5LqGbmFtZeS6i+S7tlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIGV2ZW505ZCN56ewXG4gICAqIEByZXR1cm4gYGJvb2xlYW5gXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbnMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGlzdGVuZXJzW25hbWVdICYmIHRoaXMubGlzdGVuZXJzW25hbWVdLmxlbmd0aCA+IDBcbiAgfVxufVxuXG5cbmNvbnN0IGV2ZW50RW1pdHRlciA9IG5ldyBDbG91ZGJhc2VFdmVudEVtaXR0ZXIoKVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkRXZlbnRMaXN0ZW5lcihldmVudDogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24pIHtcbiAgZXZlbnRFbWl0dGVyLm9uKGV2ZW50LCBjYWxsYmFjaylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGl2YXRlRXZlbnQoZXZlbnQ6IHN0cmluZywgZGF0YTogYW55ID0ge30pIHtcbiAgZXZlbnRFbWl0dGVyLmZpcmUoZXZlbnQsIGRhdGEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50OiBzdHJpbmcsIGNhbGxiYWNrOiBGdW5jdGlvbikge1xuICBldmVudEVtaXR0ZXIub2ZmKGV2ZW50LCBjYWxsYmFjaylcbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { KV } from '@cloudbase/types';
|
|
2
|
+
export declare function isArray(val: any): boolean;
|
|
3
|
+
export declare function isString(val: any): boolean;
|
|
4
|
+
export declare function isUndefined(val: any): boolean;
|
|
5
|
+
export declare function isPalinObject(val: any): boolean;
|
|
6
|
+
export declare function isNull(val: any): boolean;
|
|
7
|
+
export declare function isInstanceOf(instance: any, construct: any): boolean;
|
|
8
|
+
export declare function isFormData(val: any): boolean;
|
|
9
|
+
export declare function genSeqId(): string;
|
|
10
|
+
export declare function formatUrl(PROTOCOL: string, url: string, query?: KV<any>): string;
|
|
11
|
+
export declare function createSign(payload: KV<any>, secret: string): string;
|
|
12
|
+
export declare function toQueryString(query?: KV<any>): string;
|
|
13
|
+
export declare function getQuery(name: string, url?: string): string | false;
|
|
14
|
+
export declare const getHash: (name: string) => string;
|
|
15
|
+
export declare function removeParam(key: string, sourceURL: string): string;
|
|
16
|
+
export declare function createPromiseCallback(): any;
|
|
17
|
+
export declare function execCallback(fn: Function | null | undefined, err: any, data?: any): any;
|
|
18
|
+
export declare function printWarn(error: string, msg: string): void;
|
|
19
|
+
export declare function printError(error: string, msg: string): void;
|
|
20
|
+
export declare function printInfo(error: string, msg: string): void;
|
|
21
|
+
export declare function throwError(error: string, msg: string): void;
|
|
22
|
+
interface IPrintGroupLogOptions {
|
|
23
|
+
title: string;
|
|
24
|
+
subtitle: string | object;
|
|
25
|
+
content: {
|
|
26
|
+
type: 'info' | 'warn' | 'error';
|
|
27
|
+
body: string | Error;
|
|
28
|
+
}[];
|
|
29
|
+
printTrace?: boolean;
|
|
30
|
+
collapsed?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export declare function printGroupLog(options: IPrintGroupLogOptions): void;
|
|
33
|
+
export declare const sleep: (ms?: number) => Promise<unknown>;
|
|
34
|
+
export declare function transformPhone(phoneNumber: string): string;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import hs256 from 'crypto-js/hmac-sha256';
|
|
2
|
+
import base64 from 'crypto-js/enc-base64';
|
|
3
|
+
import utf8 from 'crypto-js/enc-utf8';
|
|
4
|
+
import { getSdkName } from '../constants';
|
|
5
|
+
export function isArray(val) {
|
|
6
|
+
return Object.prototype.toString.call(val) === '[object Array]';
|
|
7
|
+
}
|
|
8
|
+
export function isString(val) {
|
|
9
|
+
return typeof val === 'string';
|
|
10
|
+
}
|
|
11
|
+
export function isUndefined(val) {
|
|
12
|
+
return typeof val === 'undefined';
|
|
13
|
+
}
|
|
14
|
+
export function isPalinObject(val) {
|
|
15
|
+
return Object.prototype.toString.call(val) === '[object Object]';
|
|
16
|
+
}
|
|
17
|
+
export function isNull(val) {
|
|
18
|
+
return Object.prototype.toString.call(val) === '[object Null]';
|
|
19
|
+
}
|
|
20
|
+
export function isInstanceOf(instance, construct) {
|
|
21
|
+
return instance instanceof construct;
|
|
22
|
+
}
|
|
23
|
+
export function isFormData(val) {
|
|
24
|
+
return Object.prototype.toString.call(val) === '[object FormData]';
|
|
25
|
+
}
|
|
26
|
+
export function genSeqId() {
|
|
27
|
+
return Math.random().toString(16)
|
|
28
|
+
.slice(2);
|
|
29
|
+
}
|
|
30
|
+
export function formatUrl(PROTOCOL, url, query) {
|
|
31
|
+
if (query === void 0) { query = {}; }
|
|
32
|
+
var urlHasQuery = /\?/.test(url);
|
|
33
|
+
var queryString = '';
|
|
34
|
+
Object.keys(query).forEach(function (key) {
|
|
35
|
+
if (queryString === '') {
|
|
36
|
+
!urlHasQuery && (url += '?');
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
queryString += '&';
|
|
40
|
+
}
|
|
41
|
+
queryString += "".concat(key, "=").concat(encodeURIComponent(query[key]));
|
|
42
|
+
});
|
|
43
|
+
url += queryString;
|
|
44
|
+
if (/^http(s)?:\/\//.test(url)) {
|
|
45
|
+
return url;
|
|
46
|
+
}
|
|
47
|
+
return "".concat(PROTOCOL).concat(url);
|
|
48
|
+
}
|
|
49
|
+
function base64url(source) {
|
|
50
|
+
var encodedSource = base64.stringify(source);
|
|
51
|
+
encodedSource = encodedSource.replace(/=+$/, '');
|
|
52
|
+
encodedSource = encodedSource.replace(/\+/g, '-');
|
|
53
|
+
encodedSource = encodedSource.replace(/\//g, '_');
|
|
54
|
+
return encodedSource;
|
|
55
|
+
}
|
|
56
|
+
export function createSign(payload, secret) {
|
|
57
|
+
var header = {
|
|
58
|
+
alg: 'HS256',
|
|
59
|
+
typ: 'JWT',
|
|
60
|
+
};
|
|
61
|
+
var headerStr = base64url(utf8.parse(JSON.stringify(header)));
|
|
62
|
+
var payloadStr = base64url(utf8.parse(JSON.stringify(payload)));
|
|
63
|
+
var token = "".concat(headerStr, ".").concat(payloadStr);
|
|
64
|
+
var sign = base64url(hs256(token, secret));
|
|
65
|
+
return "".concat(token, ".").concat(sign);
|
|
66
|
+
}
|
|
67
|
+
export function toQueryString(query) {
|
|
68
|
+
if (query === void 0) { query = {}; }
|
|
69
|
+
var queryString = [];
|
|
70
|
+
Object.keys(query).forEach(function (key) {
|
|
71
|
+
queryString.push("".concat(key, "=").concat(encodeURIComponent(query[key])));
|
|
72
|
+
});
|
|
73
|
+
return queryString.join('&');
|
|
74
|
+
}
|
|
75
|
+
export function getQuery(name, url) {
|
|
76
|
+
if (typeof window === 'undefined') {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
var u = url || window.location.search;
|
|
80
|
+
var reg = new RegExp("(^|&)".concat(name, "=([^&]*)(&|$)"));
|
|
81
|
+
var r = u.substr(u.indexOf('?') + 1).match(reg);
|
|
82
|
+
return (r !== null && r !== undefined) ? r[2] : '';
|
|
83
|
+
}
|
|
84
|
+
export var getHash = function (name) {
|
|
85
|
+
if (typeof window === 'undefined') {
|
|
86
|
+
return '';
|
|
87
|
+
}
|
|
88
|
+
var matches = window.location.hash.match(new RegExp("[#?&/]".concat(name, "=([^&#]*)")));
|
|
89
|
+
return matches ? matches[1] : '';
|
|
90
|
+
};
|
|
91
|
+
export function removeParam(key, sourceURL) {
|
|
92
|
+
var rtn = sourceURL.split('?')[0];
|
|
93
|
+
var param;
|
|
94
|
+
var params = [];
|
|
95
|
+
var queryString = sourceURL.indexOf('?') !== -1 ? sourceURL.split('?')[1] : '';
|
|
96
|
+
if (queryString !== '') {
|
|
97
|
+
params = queryString.split('&');
|
|
98
|
+
for (var i = params.length - 1; i >= 0; i -= 1) {
|
|
99
|
+
param = params[i].split('=')[0];
|
|
100
|
+
if (param === key) {
|
|
101
|
+
params.splice(i, 1);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
rtn = "".concat(rtn, "?").concat(params.join('&'));
|
|
105
|
+
}
|
|
106
|
+
return rtn;
|
|
107
|
+
}
|
|
108
|
+
export function createPromiseCallback() {
|
|
109
|
+
var cb;
|
|
110
|
+
if (!Promise) {
|
|
111
|
+
cb = function () { };
|
|
112
|
+
cb.promise = {};
|
|
113
|
+
var throwPromiseNotDefined = function () {
|
|
114
|
+
throw new Error('Your Node runtime does support ES6 Promises. '
|
|
115
|
+
+ 'Set "global.Promise" to your preferred implementation of promises.');
|
|
116
|
+
};
|
|
117
|
+
Object.defineProperty(cb.promise, 'then', { get: throwPromiseNotDefined });
|
|
118
|
+
Object.defineProperty(cb.promise, 'catch', { get: throwPromiseNotDefined });
|
|
119
|
+
return cb;
|
|
120
|
+
}
|
|
121
|
+
var promise = new Promise(function (resolve, reject) {
|
|
122
|
+
cb = function (err, data) {
|
|
123
|
+
if (err)
|
|
124
|
+
return reject(err);
|
|
125
|
+
return resolve(data);
|
|
126
|
+
};
|
|
127
|
+
});
|
|
128
|
+
cb.promise = promise;
|
|
129
|
+
return cb;
|
|
130
|
+
}
|
|
131
|
+
export function execCallback(fn, err, data) {
|
|
132
|
+
if (data === void 0) { data = null; }
|
|
133
|
+
if (fn && typeof fn === 'function') {
|
|
134
|
+
return fn(err, data);
|
|
135
|
+
}
|
|
136
|
+
if (err) {
|
|
137
|
+
throw err;
|
|
138
|
+
}
|
|
139
|
+
return data;
|
|
140
|
+
}
|
|
141
|
+
export function printWarn(error, msg) {
|
|
142
|
+
console.warn("[".concat(getSdkName(), "][").concat(error, "]:").concat(msg));
|
|
143
|
+
}
|
|
144
|
+
export function printError(error, msg) {
|
|
145
|
+
console.error({
|
|
146
|
+
code: error,
|
|
147
|
+
msg: "[".concat(getSdkName(), "][").concat(error, "]:").concat(msg),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
export function printInfo(error, msg) {
|
|
151
|
+
console.log("[".concat(getSdkName(), "][").concat(error, "]:").concat(msg));
|
|
152
|
+
}
|
|
153
|
+
export function throwError(error, msg) {
|
|
154
|
+
throw new Error(JSON.stringify({
|
|
155
|
+
code: error,
|
|
156
|
+
msg: "[".concat(getSdkName(), "][").concat(error, "]:").concat(msg),
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
159
|
+
export function printGroupLog(options) {
|
|
160
|
+
var title = options.title, _a = options.subtitle, subtitle = _a === void 0 ? '' : _a, _b = options.content, content = _b === void 0 ? [] : _b, _c = options.printTrace, printTrace = _c === void 0 ? false : _c, _d = options.collapsed, collapsed = _d === void 0 ? false : _d;
|
|
161
|
+
if (collapsed) {
|
|
162
|
+
console.groupCollapsed(title, subtitle);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
console.group(title, subtitle);
|
|
166
|
+
}
|
|
167
|
+
for (var _i = 0, content_1 = content; _i < content_1.length; _i++) {
|
|
168
|
+
var tip = content_1[_i];
|
|
169
|
+
var type = tip.type, body = tip.body;
|
|
170
|
+
switch (type) {
|
|
171
|
+
case 'info':
|
|
172
|
+
console.log(body);
|
|
173
|
+
break;
|
|
174
|
+
case 'warn':
|
|
175
|
+
console.warn(body);
|
|
176
|
+
break;
|
|
177
|
+
case 'error':
|
|
178
|
+
console.error(body);
|
|
179
|
+
break;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
if (printTrace) {
|
|
183
|
+
console.trace('stack trace:');
|
|
184
|
+
}
|
|
185
|
+
console.groupEnd();
|
|
186
|
+
}
|
|
187
|
+
export var sleep = function (ms) {
|
|
188
|
+
if (ms === void 0) { ms = 0; }
|
|
189
|
+
return new Promise(function (r) { return setTimeout(r, ms); });
|
|
190
|
+
};
|
|
191
|
+
export function transformPhone(phoneNumber) {
|
|
192
|
+
return "+86".concat(phoneNumber);
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWJzL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sdUJBQXVCLENBQUE7QUFDekMsT0FBTyxNQUFNLE1BQU0sc0JBQXNCLENBQUE7QUFDekMsT0FBTyxJQUFJLE1BQU0sb0JBQW9CLENBQUE7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUV6QyxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQVE7SUFDOUIsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssZ0JBQWdCLENBQUE7QUFDakUsQ0FBQztBQUNELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBUTtJQUMvQixPQUFPLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQTtBQUNoQyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFRO0lBQ2xDLE9BQU8sT0FBTyxHQUFHLEtBQUssV0FBVyxDQUFBO0FBQ25DLENBQUM7QUFDRCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVE7SUFDcEMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssaUJBQWlCLENBQUE7QUFDbEUsQ0FBQztBQUNELE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBUTtJQUM3QixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxlQUFlLENBQUE7QUFDaEUsQ0FBQztBQUNELE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBYSxFQUFFLFNBQWM7SUFDeEQsT0FBTyxRQUFRLFlBQVksU0FBUyxDQUFBO0FBQ3RDLENBQUM7QUFDRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEdBQVE7SUFDakMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssbUJBQW1CLENBQUE7QUFDcEUsQ0FBQztBQUNELE1BQU0sVUFBVSxRQUFRO0lBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2IsQ0FBQztBQUNELE1BQU0sVUFBVSxTQUFTLENBQUMsUUFBZ0IsRUFBRSxHQUFXLEVBQUUsS0FBbUI7SUFBbkIsc0JBQUEsRUFBQSxVQUFtQjtJQUMxRSxJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2xDLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQTtJQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEdBQUc7UUFDN0IsSUFBSSxXQUFXLEtBQUssRUFBRSxFQUFFO1lBQ3RCLENBQUMsV0FBVyxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFBO1NBQzdCO2FBQU07WUFDTCxXQUFXLElBQUksR0FBRyxDQUFBO1NBQ25CO1FBQ0QsV0FBVyxJQUFJLFVBQUcsR0FBRyxjQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLENBQUE7SUFDM0QsQ0FBQyxDQUFDLENBQUE7SUFDRixHQUFHLElBQUksV0FBVyxDQUFBO0lBQ2xCLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQzlCLE9BQU8sR0FBRyxDQUFBO0tBQ1g7SUFDRCxPQUFPLFVBQUcsUUFBUSxTQUFHLEdBQUcsQ0FBRSxDQUFBO0FBQzVCLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxNQUFlO0lBQ2hDLElBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFNUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ2hELGFBQWEsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNqRCxhQUFhLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFakQsT0FBTyxhQUFhLENBQUE7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsT0FBZ0IsRUFBRSxNQUFjO0lBQ3pELElBQU0sTUFBTSxHQUFHO1FBQ2IsR0FBRyxFQUFFLE9BQU87UUFDWixHQUFHLEVBQUUsS0FBSztLQUNYLENBQUE7SUFDRCxJQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvRCxJQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVqRSxJQUFNLEtBQUssR0FBRyxVQUFHLFNBQVMsY0FBSSxVQUFVLENBQUUsQ0FBQTtJQUMxQyxJQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzVDLE9BQU8sVUFBRyxLQUFLLGNBQUksSUFBSSxDQUFFLENBQUE7QUFDM0IsQ0FBQztBQUNELE1BQU0sVUFBVSxhQUFhLENBQUMsS0FBbUI7SUFBbkIsc0JBQUEsRUFBQSxVQUFtQjtJQUMvQyxJQUFNLFdBQVcsR0FBRyxFQUFFLENBQUE7SUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxHQUFHO1FBQzdCLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBRyxHQUFHLGNBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFBO0lBQzlELENBQUMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVksRUFBRSxHQUFZO0lBQ2pELElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQ2pDLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFFRCxJQUFNLENBQUMsR0FBRyxHQUFHLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUE7SUFDdkMsSUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBUSxJQUFJLGtCQUFlLENBQUMsQ0FBQTtJQUNuRCxJQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2pELE9BQU8sQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDcEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLE9BQU8sR0FBRyxVQUFVLElBQVk7SUFDM0MsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUU7UUFDakMsT0FBTyxFQUFFLENBQUE7S0FDVjtJQUNELElBQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxnQkFBUyxJQUFJLGNBQVcsQ0FBQyxDQUFDLENBQUE7SUFDaEYsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0FBQ2xDLENBQUMsQ0FBQTtBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBVyxFQUFFLFNBQWlCO0lBQ3hELElBQUksR0FBRyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakMsSUFBSSxLQUFLLENBQUE7SUFDVCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUE7SUFDZixJQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDaEYsSUFBSSxXQUFXLEtBQUssRUFBRSxFQUFFO1FBQ3RCLE1BQU0sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQy9CLEtBQUssSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBRTlDLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQy9CLElBQUksS0FBSyxLQUFLLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7YUFDcEI7U0FDRjtRQUNELEdBQUcsR0FBRyxVQUFHLEdBQUcsY0FBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFLENBQUE7S0FDbkM7SUFDRCxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ25DLElBQUksRUFBTyxDQUFBO0lBQ1gsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLEVBQUUsR0FBRyxjQUFRLENBQUMsQ0FBQTtRQUNkLEVBQUUsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO1FBRWYsSUFBTSxzQkFBc0IsR0FBRztZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQztrQkFDM0Qsb0VBQW9FLENBQUMsQ0FBQTtRQUMzRSxDQUFDLENBQUE7UUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQTtRQUMxRSxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEVBQUUsR0FBRyxFQUFFLHNCQUFzQixFQUFFLENBQUMsQ0FBQTtRQUMzRSxPQUFPLEVBQUUsQ0FBQTtLQUNWO0lBRUQsSUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtRQUMxQyxFQUFFLEdBQUcsVUFBQyxHQUFHLEVBQUUsSUFBSTtZQUNiLElBQUksR0FBRztnQkFBRSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMzQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN0QixDQUFDLENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNGLEVBQUUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO0lBQ3BCLE9BQU8sRUFBRSxDQUFBO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsRUFBK0IsRUFBRSxHQUFRLEVBQUUsSUFBVztJQUFYLHFCQUFBLEVBQUEsV0FBVztJQUNqRixJQUFJLEVBQUUsSUFBSSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUU7UUFDbEMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFBO0tBQ3JCO0lBQ0QsSUFBSSxHQUFHLEVBQUU7UUFDUCxNQUFNLEdBQUcsQ0FBQTtLQUNWO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFhLEVBQUUsR0FBVztJQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQUksVUFBVSxFQUFFLGVBQUssS0FBSyxlQUFLLEdBQUcsQ0FBRSxDQUFDLENBQUE7QUFDcEQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBYSxFQUFFLEdBQVc7SUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNaLElBQUksRUFBRSxLQUFLO1FBQ1gsR0FBRyxFQUFFLFdBQUksVUFBVSxFQUFFLGVBQUssS0FBSyxlQUFLLEdBQUcsQ0FBRTtLQUMxQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBQ0QsTUFBTSxVQUFVLFNBQVMsQ0FBQyxLQUFhLEVBQUUsR0FBVztJQUNsRCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQUksVUFBVSxFQUFFLGVBQUssS0FBSyxlQUFLLEdBQUcsQ0FBRSxDQUFDLENBQUE7QUFDbkQsQ0FBQztBQUNELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBYSxFQUFFLEdBQVc7SUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzdCLElBQUksRUFBRSxLQUFLO1FBQ1gsR0FBRyxFQUFFLFdBQUksVUFBVSxFQUFFLGVBQUssS0FBSyxlQUFLLEdBQUcsQ0FBRTtLQUMxQyxDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFZRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE9BQThCO0lBQ2xELElBQUEsS0FBSyxHQUF5RSxPQUFPLE1BQWhGLEVBQUUsS0FBdUUsT0FBTyxTQUFqRSxFQUFiLFFBQVEsbUJBQUcsRUFBRSxLQUFBLEVBQUUsS0FBd0QsT0FBTyxRQUFuRCxFQUFaLE9BQU8sbUJBQUcsRUFBRSxLQUFBLEVBQUUsS0FBMEMsT0FBTyxXQUEvQixFQUFsQixVQUFVLG1CQUFHLEtBQUssS0FBQSxFQUFFLEtBQXNCLE9BQU8sVUFBWixFQUFqQixTQUFTLG1CQUFHLEtBQUssS0FBQSxDQUFZO0lBQzdGLElBQUksU0FBUyxFQUFFO1FBQ2IsT0FBTyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7S0FDeEM7U0FBTTtRQUNMLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0tBQy9CO0lBQ0QsS0FBa0IsVUFBTyxFQUFQLG1CQUFPLEVBQVAscUJBQU8sRUFBUCxJQUFPLEVBQUU7UUFBdEIsSUFBTSxHQUFHLGdCQUFBO1FBQ0osSUFBQSxJQUFJLEdBQVcsR0FBRyxLQUFkLEVBQUUsSUFBSSxHQUFLLEdBQUcsS0FBUixDQUFRO1FBQzFCLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxNQUFNO2dCQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ2pCLE1BQUs7WUFDUCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDbEIsTUFBSztZQUNQLEtBQUssT0FBTztnQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNuQixNQUFLO1NBQ1I7S0FDRjtJQUNELElBQUksVUFBVSxFQUFFO1FBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtLQUM5QjtJQUNELE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQTtBQUNwQixDQUFDO0FBRUQsTUFBTSxDQUFDLElBQU0sS0FBSyxHQUFHLFVBQUMsRUFBTTtJQUFOLG1CQUFBLEVBQUEsTUFBTTtJQUFLLE9BQUEsSUFBSSxPQUFPLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFqQixDQUFpQixDQUFDO0FBQW5DLENBQW1DLENBQUE7QUFFcEUsTUFBTSxVQUFVLGNBQWMsQ0FBQyxXQUFtQjtJQUNoRCxPQUFPLGFBQU0sV0FBVyxDQUFFLENBQUE7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBoczI1NiBmcm9tICdjcnlwdG8tanMvaG1hYy1zaGEyNTYnXG5pbXBvcnQgYmFzZTY0IGZyb20gJ2NyeXB0by1qcy9lbmMtYmFzZTY0J1xuaW1wb3J0IHV0ZjggZnJvbSAnY3J5cHRvLWpzL2VuYy11dGY4J1xuaW1wb3J0IHsgS1YgfSBmcm9tICdAY2xvdWRiYXNlL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0U2RrTmFtZSB9IGZyb20gJy4uL2NvbnN0YW50cydcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXJyYXkodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBBcnJheV0nXG59XG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpbmcodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnXG59XG5leHBvcnQgZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICd1bmRlZmluZWQnXG59XG5leHBvcnQgZnVuY3Rpb24gaXNQYWxpbk9iamVjdCh2YWw6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IE9iamVjdF0nXG59XG5leHBvcnQgZnVuY3Rpb24gaXNOdWxsKHZhbDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgTnVsbF0nXG59XG5leHBvcnQgZnVuY3Rpb24gaXNJbnN0YW5jZU9mKGluc3RhbmNlOiBhbnksIGNvbnN0cnVjdDogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiBpbnN0YW5jZSBpbnN0YW5jZW9mIGNvbnN0cnVjdFxufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybURhdGEodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWwpID09PSAnW29iamVjdCBGb3JtRGF0YV0nXG59XG5leHBvcnQgZnVuY3Rpb24gZ2VuU2VxSWQoKTogc3RyaW5nIHtcbiAgcmV0dXJuIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMTYpXG4gICAgLnNsaWNlKDIpXG59XG5leHBvcnQgZnVuY3Rpb24gZm9ybWF0VXJsKFBST1RPQ09MOiBzdHJpbmcsIHVybDogc3RyaW5nLCBxdWVyeTogS1Y8YW55PiA9IHt9KTogc3RyaW5nIHtcbiAgY29uc3QgdXJsSGFzUXVlcnkgPSAvXFw/Ly50ZXN0KHVybClcbiAgbGV0IHF1ZXJ5U3RyaW5nID0gJydcbiAgT2JqZWN0LmtleXMocXVlcnkpLmZvckVhY2goKGtleSkgPT4ge1xuICAgIGlmIChxdWVyeVN0cmluZyA9PT0gJycpIHtcbiAgICAgICF1cmxIYXNRdWVyeSAmJiAodXJsICs9ICc/JylcbiAgICB9IGVsc2Uge1xuICAgICAgcXVlcnlTdHJpbmcgKz0gJyYnXG4gICAgfVxuICAgIHF1ZXJ5U3RyaW5nICs9IGAke2tleX09JHtlbmNvZGVVUklDb21wb25lbnQocXVlcnlba2V5XSl9YFxuICB9KVxuICB1cmwgKz0gcXVlcnlTdHJpbmdcbiAgaWYgKC9eaHR0cChzKT86XFwvXFwvLy50ZXN0KHVybCkpIHtcbiAgICByZXR1cm4gdXJsXG4gIH1cbiAgcmV0dXJuIGAke1BST1RPQ09MfSR7dXJsfWBcbn1cblxuZnVuY3Rpb24gYmFzZTY0dXJsKHNvdXJjZTogS1Y8YW55Pik6IHN0cmluZyB7XG4gIGxldCBlbmNvZGVkU291cmNlID0gYmFzZTY0LnN0cmluZ2lmeShzb3VyY2UpXG5cbiAgZW5jb2RlZFNvdXJjZSA9IGVuY29kZWRTb3VyY2UucmVwbGFjZSgvPSskLywgJycpXG4gIGVuY29kZWRTb3VyY2UgPSBlbmNvZGVkU291cmNlLnJlcGxhY2UoL1xcKy9nLCAnLScpXG4gIGVuY29kZWRTb3VyY2UgPSBlbmNvZGVkU291cmNlLnJlcGxhY2UoL1xcLy9nLCAnXycpXG5cbiAgcmV0dXJuIGVuY29kZWRTb3VyY2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNpZ24ocGF5bG9hZDogS1Y8YW55Piwgc2VjcmV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBoZWFkZXIgPSB7XG4gICAgYWxnOiAnSFMyNTYnLFxuICAgIHR5cDogJ0pXVCcsXG4gIH1cbiAgY29uc3QgaGVhZGVyU3RyID0gYmFzZTY0dXJsKHV0ZjgucGFyc2UoSlNPTi5zdHJpbmdpZnkoaGVhZGVyKSkpXG4gIGNvbnN0IHBheWxvYWRTdHIgPSBiYXNlNjR1cmwodXRmOC5wYXJzZShKU09OLnN0cmluZ2lmeShwYXlsb2FkKSkpXG5cbiAgY29uc3QgdG9rZW4gPSBgJHtoZWFkZXJTdHJ9LiR7cGF5bG9hZFN0cn1gXG4gIGNvbnN0IHNpZ24gPSBiYXNlNjR1cmwoaHMyNTYodG9rZW4sIHNlY3JldCkpXG4gIHJldHVybiBgJHt0b2tlbn0uJHtzaWdufWBcbn1cbmV4cG9ydCBmdW5jdGlvbiB0b1F1ZXJ5U3RyaW5nKHF1ZXJ5OiBLVjxhbnk+ID0ge30pIHtcbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBbXVxuICBPYmplY3Qua2V5cyhxdWVyeSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgcXVlcnlTdHJpbmcucHVzaChgJHtrZXl9PSR7ZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5W2tleV0pfWApXG4gIH0pXG4gIHJldHVybiBxdWVyeVN0cmluZy5qb2luKCcmJylcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFF1ZXJ5KG5hbWU6IHN0cmluZywgdXJsPzogc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIC8vIOWPguaVsO+8muWPmOmHj+WQje+8jHVybOS4uuepuuWImeihqOS7juW9k+WJjemhtemdoueahHVybOS4reWPllxuICBjb25zdCB1ID0gdXJsIHx8IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2hcbiAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cChgKF58Jikke25hbWV9PShbXiZdKikoJnwkKWApXG4gIGNvbnN0IHIgPSB1LnN1YnN0cih1LmluZGV4T2YoJz8nKSArIDEpLm1hdGNoKHJlZylcbiAgcmV0dXJuIChyICE9PSBudWxsICYmIHIgIT09IHVuZGVmaW5lZCkgPyByWzJdIDogJydcbn1cblxuZXhwb3J0IGNvbnN0IGdldEhhc2ggPSBmdW5jdGlvbiAobmFtZTogc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiAnJ1xuICB9XG4gIGNvbnN0IG1hdGNoZXMgPSB3aW5kb3cubG9jYXRpb24uaGFzaC5tYXRjaChuZXcgUmVnRXhwKGBbIz8mL10ke25hbWV9PShbXiYjXSopYCkpXG4gIHJldHVybiBtYXRjaGVzID8gbWF0Y2hlc1sxXSA6ICcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVQYXJhbShrZXk6IHN0cmluZywgc291cmNlVVJMOiBzdHJpbmcpIHtcbiAgbGV0IHJ0biA9IHNvdXJjZVVSTC5zcGxpdCgnPycpWzBdXG4gIGxldCBwYXJhbVxuICBsZXQgcGFyYW1zID0gW11cbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBzb3VyY2VVUkwuaW5kZXhPZignPycpICE9PSAtMSA/IHNvdXJjZVVSTC5zcGxpdCgnPycpWzFdIDogJydcbiAgaWYgKHF1ZXJ5U3RyaW5nICE9PSAnJykge1xuICAgIHBhcmFtcyA9IHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJylcbiAgICBmb3IgKGxldCBpID0gcGFyYW1zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaSAtPSAxKSB7XG4gICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgICAgIHBhcmFtID0gcGFyYW1zW2ldLnNwbGl0KCc9JylbMF1cbiAgICAgIGlmIChwYXJhbSA9PT0ga2V5KSB7XG4gICAgICAgIHBhcmFtcy5zcGxpY2UoaSwgMSlcbiAgICAgIH1cbiAgICB9XG4gICAgcnRuID0gYCR7cnRufT8ke3BhcmFtcy5qb2luKCcmJyl9YFxuICB9XG4gIHJldHVybiBydG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVByb21pc2VDYWxsYmFjaygpIHtcbiAgbGV0IGNiOiBhbnlcbiAgaWYgKCFQcm9taXNlKSB7XG4gICAgY2IgPSAoKSA9PiB7IH1cbiAgICBjYi5wcm9taXNlID0ge31cblxuICAgIGNvbnN0IHRocm93UHJvbWlzZU5vdERlZmluZWQgPSAoKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdXIgTm9kZSBydW50aW1lIGRvZXMgc3VwcG9ydCBFUzYgUHJvbWlzZXMuICdcbiAgICAgICAgKyAnU2V0IFwiZ2xvYmFsLlByb21pc2VcIiB0byB5b3VyIHByZWZlcnJlZCBpbXBsZW1lbnRhdGlvbiBvZiBwcm9taXNlcy4nKVxuICAgIH1cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjYi5wcm9taXNlLCAndGhlbicsIHsgZ2V0OiB0aHJvd1Byb21pc2VOb3REZWZpbmVkIH0pXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNiLnByb21pc2UsICdjYXRjaCcsIHsgZ2V0OiB0aHJvd1Byb21pc2VOb3REZWZpbmVkIH0pXG4gICAgcmV0dXJuIGNiXG4gIH1cblxuICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNiID0gKGVyciwgZGF0YSkgPT4ge1xuICAgICAgaWYgKGVycikgcmV0dXJuIHJlamVjdChlcnIpXG4gICAgICByZXR1cm4gcmVzb2x2ZShkYXRhKVxuICAgIH1cbiAgfSlcbiAgY2IucHJvbWlzZSA9IHByb21pc2VcbiAgcmV0dXJuIGNiXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleGVjQ2FsbGJhY2soZm46IEZ1bmN0aW9uIHwgbnVsbCB8IHVuZGVmaW5lZCwgZXJyOiBhbnksIGRhdGEgPSBudWxsKSB7XG4gIGlmIChmbiAmJiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZm4oZXJyLCBkYXRhKVxuICB9XG4gIGlmIChlcnIpIHtcbiAgICB0aHJvdyBlcnJcbiAgfVxuICByZXR1cm4gZGF0YVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJpbnRXYXJuKGVycm9yOiBzdHJpbmcsIG1zZzogc3RyaW5nKSB7XG4gIGNvbnNvbGUud2FybihgWyR7Z2V0U2RrTmFtZSgpfV1bJHtlcnJvcn1dOiR7bXNnfWApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcmludEVycm9yKGVycm9yOiBzdHJpbmcsIG1zZzogc3RyaW5nKSB7XG4gIGNvbnNvbGUuZXJyb3Ioe1xuICAgIGNvZGU6IGVycm9yLFxuICAgIG1zZzogYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gLFxuICB9KVxufVxuZXhwb3J0IGZ1bmN0aW9uIHByaW50SW5mbyhlcnJvcjogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICBjb25zb2xlLmxvZyhgWyR7Z2V0U2RrTmFtZSgpfV1bJHtlcnJvcn1dOiR7bXNnfWApXG59XG5leHBvcnQgZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvcjogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoe1xuICAgIGNvZGU6IGVycm9yLFxuICAgIG1zZzogYFske2dldFNka05hbWUoKX1dWyR7ZXJyb3J9XToke21zZ31gLFxuICB9KSlcbn1cblxuaW50ZXJmYWNlIElQcmludEdyb3VwTG9nT3B0aW9ucyB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmcgfCBvYmplY3Q7XG4gIGNvbnRlbnQ6IHtcbiAgICB0eXBlOiAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InLFxuICAgIGJvZHk6IHN0cmluZyB8IEVycm9yO1xuICB9W107XG4gIHByaW50VHJhY2U/OiBib29sZWFuO1xuICBjb2xsYXBzZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHByaW50R3JvdXBMb2cob3B0aW9uczogSVByaW50R3JvdXBMb2dPcHRpb25zKSB7XG4gIGNvbnN0IHsgdGl0bGUsIHN1YnRpdGxlID0gJycsIGNvbnRlbnQgPSBbXSwgcHJpbnRUcmFjZSA9IGZhbHNlLCBjb2xsYXBzZWQgPSBmYWxzZSB9ID0gb3B0aW9uc1xuICBpZiAoY29sbGFwc2VkKSB7XG4gICAgY29uc29sZS5ncm91cENvbGxhcHNlZCh0aXRsZSwgc3VidGl0bGUpXG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5ncm91cCh0aXRsZSwgc3VidGl0bGUpXG4gIH1cbiAgZm9yIChjb25zdCB0aXAgb2YgY29udGVudCkge1xuICAgIGNvbnN0IHsgdHlwZSwgYm9keSB9ID0gdGlwXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgY29uc29sZS5sb2coYm9keSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgICBjb25zb2xlLndhcm4oYm9keSlcbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgY29uc29sZS5lcnJvcihib2R5KVxuICAgICAgICBicmVha1xuICAgIH1cbiAgfVxuICBpZiAocHJpbnRUcmFjZSkge1xuICAgIGNvbnNvbGUudHJhY2UoJ3N0YWNrIHRyYWNlOicpXG4gIH1cbiAgY29uc29sZS5ncm91cEVuZCgpXG59XG5cbmV4cG9ydCBjb25zdCBzbGVlcCA9IChtcyA9IDApID0+IG5ldyBQcm9taXNlKHIgPT4gc2V0VGltZW91dChyLCBtcykpXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1QaG9uZShwaG9uZU51bWJlcjogc3RyaW5nKSB7XG4gIHJldHVybiBgKzg2JHtwaG9uZU51bWJlcn1gXG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cloudbase/utilities",
|
|
3
|
+
"version": "2.5.25-beta.0",
|
|
4
|
+
"description": "cloudbase javascript sdk utilities",
|
|
5
|
+
"main": "dist/cjs/index.js",
|
|
6
|
+
"module": "dist/esm/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"tsc": "rm -rf dist/ && tsc -p tsconfig.json && tsc -p tsconfig.esm.json",
|
|
10
|
+
"lint": "eslint --fix \"./src/**/*.ts\"",
|
|
11
|
+
"build": "npm run lint&& npm run tsc",
|
|
12
|
+
"precommit": "npm run lint"
|
|
13
|
+
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/TencentCloudBase/cloudbase-js-sdk"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"tcb",
|
|
20
|
+
"cloudbase",
|
|
21
|
+
"serverless"
|
|
22
|
+
],
|
|
23
|
+
"author": "",
|
|
24
|
+
"license": "Apache-2.0",
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@cloudbase/adapter-interface": "^0.4.1",
|
|
27
|
+
"@cloudbase/types": "^2.5.25-beta.0",
|
|
28
|
+
"crypto-js": "4.1.1",
|
|
29
|
+
"jwt-decode": "^3.1.2"
|
|
30
|
+
},
|
|
31
|
+
"gitHead": "96936d2b1965452c2f7f73eb8e6c0c8f8ec5cb5b"
|
|
32
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CloudbaseAdapter } from '@cloudbase/adapter-interface'
|
|
2
|
+
import * as Web from './platforms/web'
|
|
3
|
+
import { isArray } from '../libs/util'
|
|
4
|
+
|
|
5
|
+
export enum RUNTIME {
|
|
6
|
+
WEB = 'web',
|
|
7
|
+
WX_MP = 'wx_mp' // 微信小程序
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function useAdapters(adapters: CloudbaseAdapter|CloudbaseAdapter[]) {
|
|
11
|
+
const adapterList: CloudbaseAdapter[] = isArray(adapters) ? adapters as CloudbaseAdapter[] : [adapters as CloudbaseAdapter]
|
|
12
|
+
for (const adapter of adapterList) {
|
|
13
|
+
const { isMatch, genAdapter, runtime } = adapter
|
|
14
|
+
if (isMatch()) {
|
|
15
|
+
return {
|
|
16
|
+
adapter: genAdapter(),
|
|
17
|
+
runtime,
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function useDefaultAdapter() {
|
|
24
|
+
return {
|
|
25
|
+
adapter: Web.genAdapter(),
|
|
26
|
+
runtime: RUNTIME.WEB,
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SDKAdapterInterface,
|
|
3
|
+
AbstractSDKRequest,
|
|
4
|
+
IRequestOptions,
|
|
5
|
+
ResponseObject,
|
|
6
|
+
IUploadRequestOptions,
|
|
7
|
+
IRequestConfig,
|
|
8
|
+
IRequestMethod,
|
|
9
|
+
} from '@cloudbase/adapter-interface'
|
|
10
|
+
import { isFormData, formatUrl, toQueryString } from '../../libs/util'
|
|
11
|
+
import { getProtocol } from '../../constants/common'
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @class WebRequest
|
|
15
|
+
*/
|
|
16
|
+
class WebRequest extends AbstractSDKRequest {
|
|
17
|
+
// 默认不限超时
|
|
18
|
+
private readonly timeout: number
|
|
19
|
+
// 超时提示文案
|
|
20
|
+
private readonly timeoutMsg: string
|
|
21
|
+
// 超时受限请求类型,默认所有请求均受限
|
|
22
|
+
private readonly restrictedMethods: Array<IRequestMethod>
|
|
23
|
+
constructor(config: IRequestConfig) {
|
|
24
|
+
super()
|
|
25
|
+
const { timeout, timeoutMsg, restrictedMethods } = config
|
|
26
|
+
this.timeout = timeout || 0
|
|
27
|
+
this.timeoutMsg = timeoutMsg || '请求超时'
|
|
28
|
+
this.restrictedMethods = restrictedMethods || ['get', 'post', 'upload', 'download']
|
|
29
|
+
}
|
|
30
|
+
public get(options: IRequestOptions): Promise<ResponseObject> {
|
|
31
|
+
return this.request({
|
|
32
|
+
...options,
|
|
33
|
+
method: 'get',
|
|
34
|
+
}, this.restrictedMethods.includes('get'))
|
|
35
|
+
}
|
|
36
|
+
public post(options: IRequestOptions): Promise<ResponseObject> {
|
|
37
|
+
return this.request({
|
|
38
|
+
...options,
|
|
39
|
+
method: 'post',
|
|
40
|
+
}, this.restrictedMethods.includes('post'))
|
|
41
|
+
}
|
|
42
|
+
public put(options: IRequestOptions): Promise<ResponseObject> {
|
|
43
|
+
return this.request({
|
|
44
|
+
...options,
|
|
45
|
+
method: 'put',
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
public upload(options: IUploadRequestOptions): Promise<ResponseObject> {
|
|
49
|
+
const { data, file, name, method, headers = {} } = options
|
|
50
|
+
const reqMethod = { post: 'post', put: 'put' }[method?.toLowerCase()] || 'put'
|
|
51
|
+
// 上传方式为post时,需转换为FormData
|
|
52
|
+
const formData = new FormData()
|
|
53
|
+
if (reqMethod === 'post') {
|
|
54
|
+
Object.keys(data).forEach((key) => {
|
|
55
|
+
formData.append(key, data[key])
|
|
56
|
+
})
|
|
57
|
+
formData.append('key', name)
|
|
58
|
+
formData.append('file', file)
|
|
59
|
+
return this.request({
|
|
60
|
+
...options,
|
|
61
|
+
data: formData,
|
|
62
|
+
method: reqMethod,
|
|
63
|
+
}, this.restrictedMethods.includes('upload'))
|
|
64
|
+
}
|
|
65
|
+
return this.request({
|
|
66
|
+
...options,
|
|
67
|
+
method: 'put',
|
|
68
|
+
headers,
|
|
69
|
+
body: file,
|
|
70
|
+
}, this.restrictedMethods.includes('upload'))
|
|
71
|
+
}
|
|
72
|
+
public async download(options: IRequestOptions): Promise<any> {
|
|
73
|
+
try {
|
|
74
|
+
const { data } = await this.get({
|
|
75
|
+
...options,
|
|
76
|
+
headers: {}, // 下载资源请求不经过service,header清空
|
|
77
|
+
responseType: 'blob',
|
|
78
|
+
})
|
|
79
|
+
const url = window.URL.createObjectURL(new Blob([data]))
|
|
80
|
+
const fileName = decodeURIComponent(new URL(options.url).pathname.split('/').pop() || '')
|
|
81
|
+
const link = document.createElement('a')
|
|
82
|
+
|
|
83
|
+
link.href = url
|
|
84
|
+
link.setAttribute('download', fileName)
|
|
85
|
+
link.style.display = 'none'
|
|
86
|
+
|
|
87
|
+
document.body.appendChild(link)
|
|
88
|
+
link.click()
|
|
89
|
+
// 回收内存
|
|
90
|
+
window.URL.revokeObjectURL(url)
|
|
91
|
+
document.body.removeChild(link)
|
|
92
|
+
} catch (e) { }
|
|
93
|
+
return new Promise((resolve) => {
|
|
94
|
+
resolve({
|
|
95
|
+
statusCode: 200,
|
|
96
|
+
tempFilePath: options.url,
|
|
97
|
+
})
|
|
98
|
+
})
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @param {IRequestOptions} options
|
|
102
|
+
* @param {boolean} enableAbort 是否超时中断请求
|
|
103
|
+
*/
|
|
104
|
+
protected request(options: IRequestOptions, enableAbort = false): Promise<ResponseObject> {
|
|
105
|
+
const method = (String(options.method)).toLowerCase() || 'get'
|
|
106
|
+
return new Promise((resolve) => {
|
|
107
|
+
const { url, headers = {}, data, responseType, withCredentials, body, onUploadProgress } = options
|
|
108
|
+
const realUrl = formatUrl(getProtocol(), url, method === 'get' ? data : {})
|
|
109
|
+
const ajax = new XMLHttpRequest()
|
|
110
|
+
ajax.open(method, realUrl)
|
|
111
|
+
responseType && (ajax.responseType = responseType)
|
|
112
|
+
Object.keys(headers).forEach((key) => {
|
|
113
|
+
ajax.setRequestHeader(key, headers[key])
|
|
114
|
+
})
|
|
115
|
+
let timer
|
|
116
|
+
if (onUploadProgress) {
|
|
117
|
+
ajax.upload.addEventListener('progress', onUploadProgress)
|
|
118
|
+
}
|
|
119
|
+
ajax.onreadystatechange = () => {
|
|
120
|
+
const result: ResponseObject = {}
|
|
121
|
+
if (ajax.readyState === 4) {
|
|
122
|
+
const headers = ajax.getAllResponseHeaders()
|
|
123
|
+
const arr = headers.trim().split(/[\r\n]+/)
|
|
124
|
+
// Create a map of header names to values
|
|
125
|
+
const headerMap = {}
|
|
126
|
+
arr.forEach((line) => {
|
|
127
|
+
const parts = line.split(': ')
|
|
128
|
+
const header = parts.shift().toLowerCase()
|
|
129
|
+
const value = parts.join(': ')
|
|
130
|
+
headerMap[header] = value
|
|
131
|
+
})
|
|
132
|
+
result.header = headerMap
|
|
133
|
+
result.statusCode = ajax.status
|
|
134
|
+
try {
|
|
135
|
+
// 上传post请求返回数据格式为xml,此处容错
|
|
136
|
+
result.data = responseType === 'blob' ? ajax.response : JSON.parse(ajax.responseText)
|
|
137
|
+
} catch (e) {
|
|
138
|
+
result.data = responseType === 'blob' ? ajax.response : ajax.responseText
|
|
139
|
+
}
|
|
140
|
+
clearTimeout(timer)
|
|
141
|
+
resolve(result)
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
if (enableAbort && this.timeout) {
|
|
145
|
+
timer = setTimeout(() => {
|
|
146
|
+
console.warn(this.timeoutMsg)
|
|
147
|
+
ajax.abort()
|
|
148
|
+
}, this.timeout)
|
|
149
|
+
}
|
|
150
|
+
// 处理 payload
|
|
151
|
+
let payload
|
|
152
|
+
if (isFormData(data)) {
|
|
153
|
+
// FormData,不处理
|
|
154
|
+
payload = data
|
|
155
|
+
} else if (headers['content-type'] === 'application/x-www-form-urlencoded') {
|
|
156
|
+
payload = toQueryString(data)
|
|
157
|
+
} else if (body) {
|
|
158
|
+
payload = body
|
|
159
|
+
} else {
|
|
160
|
+
// 其它情况
|
|
161
|
+
payload = data ? JSON.stringify(data) : undefined
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (withCredentials) {
|
|
165
|
+
ajax.withCredentials = true
|
|
166
|
+
}
|
|
167
|
+
ajax.send(payload)
|
|
168
|
+
})
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function genAdapter() {
|
|
173
|
+
const adapter: SDKAdapterInterface = {
|
|
174
|
+
root: window,
|
|
175
|
+
reqClass: WebRequest,
|
|
176
|
+
wsClass: WebSocket,
|
|
177
|
+
localStorage,
|
|
178
|
+
}
|
|
179
|
+
return adapter
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export { genAdapter, WebRequest }
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
let sdkName = '@cloudbase/js-sdk'
|
|
2
|
+
export function setSdkName(name: string) {
|
|
3
|
+
sdkName = name
|
|
4
|
+
}
|
|
5
|
+
export function getSdkName() {
|
|
6
|
+
return sdkName
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
let PROTOCOL = 'https:'
|
|
10
|
+
|
|
11
|
+
export function setProtocol(protocol: 'http' | 'https') {
|
|
12
|
+
PROTOCOL = protocol
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function getProtocol() {
|
|
16
|
+
return PROTOCOL
|
|
17
|
+
}
|
|
18
|
+
// 是否为开发模式
|
|
19
|
+
export const IS_DEBUG_MODE = process.env.NODE_ENV === 'development'
|
|
20
|
+
// 问答社区链接
|
|
21
|
+
export const COMMUNITY_SITE_URL = 'https://support.qq.com/products/148793'
|