@cloudbase/js-sdk 3.4.5 → 3.4.7-beta.0
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/CHANGELOG.md +5 -0
- package/ai/dist/index.esm.js +2 -3
- package/ai/dist/index.esm.js.map +1 -0
- package/ai/dist/index.js +2 -21
- package/ai/dist/index.js.map +1 -0
- package/apis/dist/index.esm.js +2 -3
- package/apis/dist/index.esm.js.map +1 -0
- package/apis/dist/index.js +2 -21
- package/apis/dist/index.js.map +1 -0
- package/app/dist/index.esm.js +2 -11
- package/app/dist/index.esm.js.map +1 -0
- package/app/dist/index.js +2 -18
- package/app/dist/index.js.map +1 -0
- package/auth/dist/index.esm.js +3 -8
- package/auth/dist/index.esm.js.LICENSE.txt +12 -0
- package/auth/dist/index.esm.js.map +1 -0
- package/auth/dist/index.js +3 -13
- package/auth/dist/index.js.LICENSE.txt +12 -0
- package/auth/dist/index.js.map +1 -0
- package/cloudrun/dist/index.esm.js +2 -3
- package/cloudrun/dist/index.esm.js.map +1 -0
- package/cloudrun/dist/index.js +2 -21
- package/cloudrun/dist/index.js.map +1 -0
- package/container/dist/index.esm.js +2 -8
- package/container/dist/index.esm.js.map +1 -0
- package/container/dist/index.js +2 -13
- package/container/dist/index.js.map +1 -0
- package/database/package.json +34 -4
- package/dist/index.cjs.js +3 -38
- package/dist/index.cjs.js.LICENSE.txt +12 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.esm.js +3 -33
- package/dist/index.esm.js.LICENSE.txt +12 -0
- package/dist/index.esm.js.map +1 -0
- package/functions/dist/index.esm.js +2 -8
- package/functions/dist/index.esm.js.map +1 -0
- package/functions/dist/index.js +2 -13
- package/functions/dist/index.js.map +1 -0
- package/miniprogram_dist/ai.js +1 -1
- package/miniprogram_dist/apis.js +1 -1
- package/miniprogram_dist/app.js +1 -1
- package/miniprogram_dist/auth.js +1 -1
- package/miniprogram_dist/cloudrun.js +1 -1
- package/miniprogram_dist/container.js +1 -1
- package/miniprogram_dist/database.js +1 -1
- package/miniprogram_dist/functions.js +1 -1
- package/miniprogram_dist/index.js +1 -1
- package/miniprogram_dist/model.js +1 -1
- package/miniprogram_dist/mysql.js +1 -1
- package/miniprogram_dist/oauth.js +2 -1
- package/miniprogram_dist/realtime.js +1 -1
- package/miniprogram_dist/storage.js +1 -1
- package/model/dist/index.esm.js +2 -3
- package/model/dist/index.esm.js.map +1 -0
- package/model/dist/index.js +2 -21
- package/model/dist/index.js.map +1 -0
- package/mysql/dist/index.esm.js +2 -3
- package/mysql/dist/index.esm.js.map +1 -0
- package/mysql/dist/index.js +2 -21
- package/mysql/dist/index.js.map +1 -0
- package/oauth/dist/index.esm.js +3 -3
- package/oauth/dist/index.esm.js.LICENSE.txt +12 -0
- package/oauth/dist/index.esm.js.map +1 -0
- package/oauth/dist/index.js +3 -21
- package/oauth/dist/index.js.LICENSE.txt +12 -0
- package/oauth/dist/index.js.map +1 -0
- package/package.json +29 -47
- package/realtime/dist/index.esm.js +2 -8
- package/realtime/dist/index.esm.js.map +1 -0
- package/realtime/dist/index.js +2 -13
- package/realtime/dist/index.js.map +1 -0
- package/storage/dist/index.esm.js +2 -4
- package/storage/dist/index.esm.js.map +1 -0
- package/storage/dist/index.js +2 -9
- package/storage/dist/index.js.map +1 -0
- package/types/analytics.d.ts +51 -0
- package/types/container.d.ts +93 -0
- package/{node_modules/@cloudbase/types → types}/package.json +1 -1
- package/{node_modules/@cloudbase/utilities → utilities}/package.json +2 -2
- package/ai/src/index.d.ts +0 -1
- package/ai/src/index.ts +0 -1
- package/apis/src/index.d.ts +0 -1
- package/apis/src/index.ts +0 -1
- package/app/src/index.ts +0 -17
- package/auth/src/index.d.ts +0 -2
- package/auth/src/index.ts +0 -8
- package/cloudrun/src/index.d.ts +0 -1
- package/cloudrun/src/index.ts +0 -1
- package/container/src/index.d.ts +0 -2
- package/container/src/index.ts +0 -8
- package/database/dist/index.d.ts +0 -3
- package/database/dist/index.esm.js +0 -503
- package/database/dist/index.js +0 -509
- package/database/src/index.d.ts +0 -3
- package/database/src/index.ts +0 -486
- package/functions/src/index.d.ts +0 -2
- package/functions/src/index.ts +0 -8
- package/model/src/index.d.ts +0 -1
- package/model/src/index.ts +0 -1
- package/mysql/src/index.d.ts +0 -1
- package/mysql/src/index.ts +0 -1
- package/node_modules/@cloudbase/ai/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/ai/dist/cjs/AI.d.ts +0 -27
- package/node_modules/@cloudbase/ai/dist/cjs/AI.js +0 -224
- package/node_modules/@cloudbase/ai/dist/cjs/bot/index.d.ts +0 -41
- package/node_modules/@cloudbase/ai/dist/cjs/bot/index.js +0 -376
- package/node_modules/@cloudbase/ai/dist/cjs/bot/types.d.ts +0 -144
- package/node_modules/@cloudbase/ai/dist/cjs/bot/types.js +0 -3
- package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/index.d.ts +0 -2
- package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/index.js +0 -6
- package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/parse.d.ts +0 -2
- package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/parse.js +0 -126
- package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/stream.d.ts +0 -5
- package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/stream.js +0 -40
- package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/types.d.ts +0 -16
- package/node_modules/@cloudbase/ai/dist/cjs/eventsource_parser/types.js +0 -3
- package/node_modules/@cloudbase/ai/dist/cjs/index.d.ts +0 -40
- package/node_modules/@cloudbase/ai/dist/cjs/index.js +0 -187
- package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/index.js +0 -130
- package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/type.d.ts +0 -71
- package/node_modules/@cloudbase/ai/dist/cjs/models/Ark/type.js +0 -3
- package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/index.js +0 -130
- package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/type.d.ts +0 -74
- package/node_modules/@cloudbase/ai/dist/cjs/models/DashScope/type.js +0 -3
- package/node_modules/@cloudbase/ai/dist/cjs/models/DeepSeek/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/DeepSeek/index.js +0 -126
- package/node_modules/@cloudbase/ai/dist/cjs/models/Default/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/Default/index.js +0 -122
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/index.js +0 -135
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/type.d.ts +0 -74
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/type.js +0 -3
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/util.d.ts +0 -4
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuan/util.js +0 -56
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanBeta/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanBeta/index.js +0 -127
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanExp/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanExp/index.js +0 -125
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanOpen/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/HunYuanOpen/index.js +0 -127
- package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/index.js +0 -130
- package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/type.d.ts +0 -85
- package/node_modules/@cloudbase/ai/dist/cjs/models/Moonshot/type.js +0 -3
- package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/index.js +0 -133
- package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/type.d.ts +0 -75
- package/node_modules/@cloudbase/ai/dist/cjs/models/Yi/type.js +0 -3
- package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/index.js +0 -139
- package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/type.d.ts +0 -71
- package/node_modules/@cloudbase/ai/dist/cjs/models/ZhiPu/type.js +0 -3
- package/node_modules/@cloudbase/ai/dist/cjs/models/image-model.d.ts +0 -18
- package/node_modules/@cloudbase/ai/dist/cjs/models/image-model.js +0 -85
- package/node_modules/@cloudbase/ai/dist/cjs/models/index.d.ts +0 -26
- package/node_modules/@cloudbase/ai/dist/cjs/models/index.js +0 -42
- package/node_modules/@cloudbase/ai/dist/cjs/models/model.d.ts +0 -40
- package/node_modules/@cloudbase/ai/dist/cjs/models/model.js +0 -481
- package/node_modules/@cloudbase/ai/dist/cjs/type.d.ts +0 -190
- package/node_modules/@cloudbase/ai/dist/cjs/type.js +0 -10
- package/node_modules/@cloudbase/ai/dist/cjs/utils.d.ts +0 -38
- package/node_modules/@cloudbase/ai/dist/cjs/utils.js +0 -263
- package/node_modules/@cloudbase/ai/dist/esm/AI.d.ts +0 -27
- package/node_modules/@cloudbase/ai/dist/esm/AI.js +0 -198
- package/node_modules/@cloudbase/ai/dist/esm/bot/index.d.ts +0 -41
- package/node_modules/@cloudbase/ai/dist/esm/bot/index.js +0 -373
- package/node_modules/@cloudbase/ai/dist/esm/bot/types.d.ts +0 -144
- package/node_modules/@cloudbase/ai/dist/esm/bot/types.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/index.d.ts +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/index.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/parse.d.ts +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/parse.js +0 -122
- package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/stream.d.ts +0 -5
- package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/stream.js +0 -37
- package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/types.d.ts +0 -16
- package/node_modules/@cloudbase/ai/dist/esm/eventsource_parser/types.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/index.d.ts +0 -40
- package/node_modules/@cloudbase/ai/dist/esm/index.js +0 -152
- package/node_modules/@cloudbase/ai/dist/esm/models/Ark/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/Ark/index.js +0 -127
- package/node_modules/@cloudbase/ai/dist/esm/models/Ark/type.d.ts +0 -71
- package/node_modules/@cloudbase/ai/dist/esm/models/Ark/type.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/index.js +0 -127
- package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/type.d.ts +0 -74
- package/node_modules/@cloudbase/ai/dist/esm/models/DashScope/type.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/models/DeepSeek/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/DeepSeek/index.js +0 -123
- package/node_modules/@cloudbase/ai/dist/esm/models/Default/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/Default/index.js +0 -119
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/index.js +0 -132
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/type.d.ts +0 -74
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/type.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/util.d.ts +0 -4
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuan/util.js +0 -51
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanBeta/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanBeta/index.js +0 -124
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanExp/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanExp/index.js +0 -122
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanOpen/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/HunYuanOpen/index.js +0 -124
- package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/index.js +0 -127
- package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/type.d.ts +0 -85
- package/node_modules/@cloudbase/ai/dist/esm/models/Moonshot/type.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/models/Yi/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/Yi/index.js +0 -130
- package/node_modules/@cloudbase/ai/dist/esm/models/Yi/type.d.ts +0 -75
- package/node_modules/@cloudbase/ai/dist/esm/models/Yi/type.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/index.d.ts +0 -10
- package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/index.js +0 -136
- package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/type.d.ts +0 -71
- package/node_modules/@cloudbase/ai/dist/esm/models/ZhiPu/type.js +0 -2
- package/node_modules/@cloudbase/ai/dist/esm/models/image-model.d.ts +0 -18
- package/node_modules/@cloudbase/ai/dist/esm/models/image-model.js +0 -82
- package/node_modules/@cloudbase/ai/dist/esm/models/index.d.ts +0 -26
- package/node_modules/@cloudbase/ai/dist/esm/models/index.js +0 -27
- package/node_modules/@cloudbase/ai/dist/esm/models/model.d.ts +0 -40
- package/node_modules/@cloudbase/ai/dist/esm/models/model.js +0 -478
- package/node_modules/@cloudbase/ai/dist/esm/type.d.ts +0 -190
- package/node_modules/@cloudbase/ai/dist/esm/type.js +0 -7
- package/node_modules/@cloudbase/ai/dist/esm/utils.d.ts +0 -38
- package/node_modules/@cloudbase/ai/dist/esm/utils.js +0 -252
- package/node_modules/@cloudbase/ai/dist/miniprogram/index.js +0 -2
- package/node_modules/@cloudbase/ai/dist/miniprogram/index.js.LICENSE.txt +0 -22
- package/node_modules/@cloudbase/ai/package.json +0 -32
- package/node_modules/@cloudbase/apis/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/apis/dist/cjs/callApis.d.ts +0 -20
- package/node_modules/@cloudbase/apis/dist/cjs/callApis.js +0 -154
- package/node_modules/@cloudbase/apis/dist/cjs/index.d.ts +0 -5
- package/node_modules/@cloudbase/apis/dist/cjs/index.js +0 -53
- package/node_modules/@cloudbase/apis/dist/cjs/type.d.ts +0 -14
- package/node_modules/@cloudbase/apis/dist/cjs/type.js +0 -3
- package/node_modules/@cloudbase/apis/dist/esm/callApis.d.ts +0 -20
- package/node_modules/@cloudbase/apis/dist/esm/callApis.js +0 -148
- package/node_modules/@cloudbase/apis/dist/esm/index.d.ts +0 -5
- package/node_modules/@cloudbase/apis/dist/esm/index.js +0 -35
- package/node_modules/@cloudbase/apis/dist/esm/type.d.ts +0 -14
- package/node_modules/@cloudbase/apis/dist/esm/type.js +0 -2
- package/node_modules/@cloudbase/apis/dist/miniprogram/index.js +0 -1
- package/node_modules/@cloudbase/apis/package.json +0 -28
- package/node_modules/@cloudbase/app/.eslintrc.js +0 -12
- package/node_modules/@cloudbase/app/dist/cjs/constants/common.d.ts +0 -38
- package/node_modules/@cloudbase/app/dist/cjs/constants/common.js +0 -103
- package/node_modules/@cloudbase/app/dist/cjs/index.d.ts +0 -65
- package/node_modules/@cloudbase/app/dist/cjs/index.js +0 -340
- package/node_modules/@cloudbase/app/dist/cjs/index.node.d.ts +0 -6
- package/node_modules/@cloudbase/app/dist/cjs/index.node.js +0 -20
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/constants.d.ts +0 -33
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/constants.js +0 -38
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/context.d.ts +0 -13
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/context.js +0 -162
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/index.d.ts +0 -23
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/index.js +0 -124
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/metadata.d.ts +0 -14
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/metadata.js +0 -130
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/request.d.ts +0 -38
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/request.js +0 -486
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/tool.d.ts +0 -2
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/tool.js +0 -228
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/types.d.ts +0 -78
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/types.js +0 -3
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/utils.d.ts +0 -17
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter-node/utils.js +0 -221
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter.d.ts +0 -3
- package/node_modules/@cloudbase/app/dist/cjs/libs/adapter.js +0 -163
- package/node_modules/@cloudbase/app/dist/cjs/libs/cache.d.ts +0 -6
- package/node_modules/@cloudbase/app/dist/cjs/libs/cache.js +0 -38
- package/node_modules/@cloudbase/app/dist/cjs/libs/component.d.ts +0 -3
- package/node_modules/@cloudbase/app/dist/cjs/libs/component.js +0 -126
- package/node_modules/@cloudbase/app/dist/cjs/libs/lang.d.ts +0 -23
- package/node_modules/@cloudbase/app/dist/cjs/libs/lang.js +0 -59
- package/node_modules/@cloudbase/app/dist/cjs/libs/request.d.ts +0 -62
- package/node_modules/@cloudbase/app/dist/cjs/libs/request.js +0 -480
- package/node_modules/@cloudbase/app/dist/esm/constants/common.d.ts +0 -38
- package/node_modules/@cloudbase/app/dist/esm/constants/common.js +0 -91
- package/node_modules/@cloudbase/app/dist/esm/index.d.ts +0 -65
- package/node_modules/@cloudbase/app/dist/esm/index.js +0 -335
- package/node_modules/@cloudbase/app/dist/esm/index.node.d.ts +0 -6
- package/node_modules/@cloudbase/app/dist/esm/index.node.js +0 -12
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/constants.d.ts +0 -33
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/constants.js +0 -35
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/context.d.ts +0 -13
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/context.js +0 -156
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/index.d.ts +0 -23
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/index.js +0 -118
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/metadata.d.ts +0 -14
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/metadata.js +0 -123
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/request.d.ts +0 -38
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/request.js +0 -460
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/tool.d.ts +0 -2
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/tool.js +0 -224
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/types.d.ts +0 -78
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/types.js +0 -2
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/utils.d.ts +0 -17
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter-node/utils.js +0 -205
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter.d.ts +0 -3
- package/node_modules/@cloudbase/app/dist/esm/libs/adapter.js +0 -136
- package/node_modules/@cloudbase/app/dist/esm/libs/cache.d.ts +0 -6
- package/node_modules/@cloudbase/app/dist/esm/libs/cache.js +0 -32
- package/node_modules/@cloudbase/app/dist/esm/libs/component.d.ts +0 -3
- package/node_modules/@cloudbase/app/dist/esm/libs/component.js +0 -121
- package/node_modules/@cloudbase/app/dist/esm/libs/lang.d.ts +0 -23
- package/node_modules/@cloudbase/app/dist/esm/libs/lang.js +0 -54
- package/node_modules/@cloudbase/app/dist/esm/libs/request.d.ts +0 -62
- package/node_modules/@cloudbase/app/dist/esm/libs/request.js +0 -475
- package/node_modules/@cloudbase/app/dist/miniprogram/index.js +0 -2
- package/node_modules/@cloudbase/app/dist/miniprogram/index.js.LICENSE.txt +0 -7
- package/node_modules/@cloudbase/app/package.json +0 -59
- package/node_modules/@cloudbase/auth/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/auth/dist/cjs/adapter.d.ts +0 -2
- package/node_modules/@cloudbase/auth/dist/cjs/adapter.js +0 -272
- package/node_modules/@cloudbase/auth/dist/cjs/index.d.ts +0 -283
- package/node_modules/@cloudbase/auth/dist/cjs/index.js +0 -3018
- package/node_modules/@cloudbase/auth/dist/cjs/type.d.ts +0 -258
- package/node_modules/@cloudbase/auth/dist/cjs/type.js +0 -6
- package/node_modules/@cloudbase/auth/dist/cjs/utilities.d.ts +0 -7
- package/node_modules/@cloudbase/auth/dist/cjs/utilities.js +0 -23
- package/node_modules/@cloudbase/auth/dist/cjs/utils.d.ts +0 -5
- package/node_modules/@cloudbase/auth/dist/cjs/utils.js +0 -60
- package/node_modules/@cloudbase/auth/dist/cjs/v1-compat.d.ts +0 -77
- package/node_modules/@cloudbase/auth/dist/cjs/v1-compat.js +0 -423
- package/node_modules/@cloudbase/auth/dist/esm/adapter.d.ts +0 -2
- package/node_modules/@cloudbase/auth/dist/esm/adapter.js +0 -268
- package/node_modules/@cloudbase/auth/dist/esm/index.d.ts +0 -283
- package/node_modules/@cloudbase/auth/dist/esm/index.js +0 -3008
- package/node_modules/@cloudbase/auth/dist/esm/type.d.ts +0 -258
- package/node_modules/@cloudbase/auth/dist/esm/type.js +0 -3
- package/node_modules/@cloudbase/auth/dist/esm/utilities.d.ts +0 -7
- package/node_modules/@cloudbase/auth/dist/esm/utilities.js +0 -8
- package/node_modules/@cloudbase/auth/dist/esm/utils.d.ts +0 -5
- package/node_modules/@cloudbase/auth/dist/esm/utils.js +0 -52
- package/node_modules/@cloudbase/auth/dist/esm/v1-compat.d.ts +0 -77
- package/node_modules/@cloudbase/auth/dist/esm/v1-compat.js +0 -419
- package/node_modules/@cloudbase/auth/dist/miniprogram/index.js +0 -1
- package/node_modules/@cloudbase/auth/package.json +0 -31
- package/node_modules/@cloudbase/cloudrun/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/cloudrun/dist/cjs/index.d.ts +0 -4
- package/node_modules/@cloudbase/cloudrun/dist/cjs/index.js +0 -154
- package/node_modules/@cloudbase/cloudrun/dist/esm/index.d.ts +0 -4
- package/node_modules/@cloudbase/cloudrun/dist/esm/index.js +0 -149
- package/node_modules/@cloudbase/cloudrun/package.json +0 -30
- package/node_modules/@cloudbase/container/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/container/.prettierrc.js +0 -41
- package/node_modules/@cloudbase/container/dist/cjs/constants/index.d.ts +0 -1
- package/node_modules/@cloudbase/container/dist/cjs/constants/index.js +0 -5
- package/node_modules/@cloudbase/container/dist/cjs/go_wams_exec.d.ts +0 -2
- package/node_modules/@cloudbase/container/dist/cjs/go_wams_exec.js +0 -538
- package/node_modules/@cloudbase/container/dist/cjs/index.d.ts +0 -13
- package/node_modules/@cloudbase/container/dist/cjs/index.js +0 -343
- package/node_modules/@cloudbase/container/dist/cjs/utils/index.d.ts +0 -3
- package/node_modules/@cloudbase/container/dist/cjs/utils/index.js +0 -83
- package/node_modules/@cloudbase/container/dist/cjs/utils/loader.d.ts +0 -8
- package/node_modules/@cloudbase/container/dist/cjs/utils/loader.js +0 -186
- package/node_modules/@cloudbase/container/dist/cjs/utils/request.d.ts +0 -12
- package/node_modules/@cloudbase/container/dist/cjs/utils/request.js +0 -106
- package/node_modules/@cloudbase/container/dist/esm/constants/index.d.ts +0 -1
- package/node_modules/@cloudbase/container/dist/esm/constants/index.js +0 -2
- package/node_modules/@cloudbase/container/dist/esm/go_wams_exec.d.ts +0 -2
- package/node_modules/@cloudbase/container/dist/esm/go_wams_exec.js +0 -536
- package/node_modules/@cloudbase/container/dist/esm/index.d.ts +0 -13
- package/node_modules/@cloudbase/container/dist/esm/index.js +0 -338
- package/node_modules/@cloudbase/container/dist/esm/utils/index.d.ts +0 -3
- package/node_modules/@cloudbase/container/dist/esm/utils/index.js +0 -77
- package/node_modules/@cloudbase/container/dist/esm/utils/loader.d.ts +0 -8
- package/node_modules/@cloudbase/container/dist/esm/utils/loader.js +0 -178
- package/node_modules/@cloudbase/container/dist/esm/utils/request.d.ts +0 -12
- package/node_modules/@cloudbase/container/dist/esm/utils/request.js +0 -102
- package/node_modules/@cloudbase/container/package.json +0 -30
- package/node_modules/@cloudbase/database/README.md +0 -119
- package/node_modules/@cloudbase/database/package.json +0 -36
- package/node_modules/@cloudbase/database/tsconfig.test.json +0 -15
- package/node_modules/@cloudbase/functions/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/functions/dist/cjs/index.d.ts +0 -2
- package/node_modules/@cloudbase/functions/dist/cjs/index.js +0 -223
- package/node_modules/@cloudbase/functions/dist/esm/index.d.ts +0 -2
- package/node_modules/@cloudbase/functions/dist/esm/index.js +0 -219
- package/node_modules/@cloudbase/functions/package.json +0 -32
- package/node_modules/@cloudbase/model/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/model/dist/cjs/index.d.ts +0 -5
- package/node_modules/@cloudbase/model/dist/cjs/index.js +0 -144
- package/node_modules/@cloudbase/model/dist/esm/index.d.ts +0 -5
- package/node_modules/@cloudbase/model/dist/esm/index.js +0 -125
- package/node_modules/@cloudbase/model/package.json +0 -29
- package/node_modules/@cloudbase/mysql/.eslintrc.js +0 -6
- package/node_modules/@cloudbase/mysql/dist/cjs/index.d.ts +0 -4
- package/node_modules/@cloudbase/mysql/dist/cjs/index.d.ts.map +0 -1
- package/node_modules/@cloudbase/mysql/dist/cjs/index.js +0 -173
- package/node_modules/@cloudbase/mysql/dist/esm/index.d.ts +0 -3
- package/node_modules/@cloudbase/mysql/dist/esm/index.js +0 -155
- package/node_modules/@cloudbase/mysql/package.json +0 -30
- package/node_modules/@cloudbase/oauth/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/oauth/dist/cjs/auth/apis.d.ts +0 -142
- package/node_modules/@cloudbase/oauth/dist/cjs/auth/apis.js +0 -1280
- package/node_modules/@cloudbase/oauth/dist/cjs/auth/auth-error.d.ts +0 -22
- package/node_modules/@cloudbase/oauth/dist/cjs/auth/auth-error.js +0 -278
- package/node_modules/@cloudbase/oauth/dist/cjs/auth/consts.d.ts +0 -139
- package/node_modules/@cloudbase/oauth/dist/cjs/auth/consts.js +0 -147
- package/node_modules/@cloudbase/oauth/dist/cjs/auth/models.d.ts +0 -557
- package/node_modules/@cloudbase/oauth/dist/cjs/auth/models.js +0 -3
- package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha-dom.d.ts +0 -3
- package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha-dom.js +0 -223
- package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha.d.ts +0 -42
- package/node_modules/@cloudbase/oauth/dist/cjs/captcha/captcha.js +0 -205
- package/node_modules/@cloudbase/oauth/dist/cjs/index.d.ts +0 -22
- package/node_modules/@cloudbase/oauth/dist/cjs/index.js +0 -107
- package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/consts.d.ts +0 -20
- package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/consts.js +0 -26
- package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/interface.d.ts +0 -15
- package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/interface.js +0 -10
- package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/models.d.ts +0 -74
- package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/models.js +0 -3
- package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/oauth2client.d.ts +0 -129
- package/node_modules/@cloudbase/oauth/dist/cjs/oauth2client/oauth2client.js +0 -1174
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/base64.d.ts +0 -9
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/base64.js +0 -112
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/encrypt.d.ts +0 -4
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/encrypt.js +0 -26
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/encryptlong/index.d.ts +0 -546
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/encryptlong/index.js +0 -2982
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/function/single-promise.d.ts +0 -6
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/function/single-promise.js +0 -94
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/index.d.ts +0 -2
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/index.js +0 -56
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/mp.d.ts +0 -2
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/mp.js +0 -66
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/urlSearchParams.d.ts +0 -13
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/urlSearchParams.js +0 -66
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/uuid.d.ts +0 -1
- package/node_modules/@cloudbase/oauth/dist/cjs/utils/uuid.js +0 -12
- package/node_modules/@cloudbase/oauth/dist/esm/auth/apis.d.ts +0 -142
- package/node_modules/@cloudbase/oauth/dist/esm/auth/apis.js +0 -768
- package/node_modules/@cloudbase/oauth/dist/esm/auth/auth-error.d.ts +0 -22
- package/node_modules/@cloudbase/oauth/dist/esm/auth/auth-error.js +0 -255
- package/node_modules/@cloudbase/oauth/dist/esm/auth/consts.d.ts +0 -139
- package/node_modules/@cloudbase/oauth/dist/esm/auth/consts.js +0 -144
- package/node_modules/@cloudbase/oauth/dist/esm/auth/models.d.ts +0 -557
- package/node_modules/@cloudbase/oauth/dist/esm/auth/models.js +0 -2
- package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha-dom.d.ts +0 -3
- package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha-dom.js +0 -130
- package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha.d.ts +0 -42
- package/node_modules/@cloudbase/oauth/dist/esm/captcha/captcha.js +0 -104
- package/node_modules/@cloudbase/oauth/dist/esm/index.d.ts +0 -22
- package/node_modules/@cloudbase/oauth/dist/esm/index.js +0 -64
- package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/consts.d.ts +0 -20
- package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/consts.js +0 -22
- package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/interface.d.ts +0 -15
- package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/interface.js +0 -3
- package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/models.d.ts +0 -74
- package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/models.js +0 -2
- package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/oauth2client.d.ts +0 -129
- package/node_modules/@cloudbase/oauth/dist/esm/oauth2client/oauth2client.js +0 -711
- package/node_modules/@cloudbase/oauth/dist/esm/utils/base64.d.ts +0 -9
- package/node_modules/@cloudbase/oauth/dist/esm/utils/base64.js +0 -104
- package/node_modules/@cloudbase/oauth/dist/esm/utils/encrypt.d.ts +0 -4
- package/node_modules/@cloudbase/oauth/dist/esm/utils/encrypt.js +0 -18
- package/node_modules/@cloudbase/oauth/dist/esm/utils/encryptlong/index.d.ts +0 -546
- package/node_modules/@cloudbase/oauth/dist/esm/utils/encryptlong/index.js +0 -2953
- package/node_modules/@cloudbase/oauth/dist/esm/utils/function/single-promise.d.ts +0 -6
- package/node_modules/@cloudbase/oauth/dist/esm/utils/function/single-promise.js +0 -34
- package/node_modules/@cloudbase/oauth/dist/esm/utils/index.d.ts +0 -2
- package/node_modules/@cloudbase/oauth/dist/esm/utils/index.js +0 -51
- package/node_modules/@cloudbase/oauth/dist/esm/utils/mp.d.ts +0 -2
- package/node_modules/@cloudbase/oauth/dist/esm/utils/mp.js +0 -61
- package/node_modules/@cloudbase/oauth/dist/esm/utils/urlSearchParams.d.ts +0 -13
- package/node_modules/@cloudbase/oauth/dist/esm/utils/urlSearchParams.js +0 -58
- package/node_modules/@cloudbase/oauth/dist/esm/utils/uuid.d.ts +0 -1
- package/node_modules/@cloudbase/oauth/dist/esm/utils/uuid.js +0 -8
- package/node_modules/@cloudbase/oauth/dist/miniprogram/index.js +0 -1
- package/node_modules/@cloudbase/oauth/package.json +0 -20
- package/node_modules/@cloudbase/realtime/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/realtime/dist/cjs/common.d.ts +0 -4
- package/node_modules/@cloudbase/realtime/dist/cjs/common.js +0 -22
- package/node_modules/@cloudbase/realtime/dist/cjs/error.d.ts +0 -36
- package/node_modules/@cloudbase/realtime/dist/cjs/error.js +0 -106
- package/node_modules/@cloudbase/realtime/dist/cjs/index.d.ts +0 -2
- package/node_modules/@cloudbase/realtime/dist/cjs/index.js +0 -36
- package/node_modules/@cloudbase/realtime/dist/cjs/listener.d.ts +0 -14
- package/node_modules/@cloudbase/realtime/dist/cjs/listener.js +0 -18
- package/node_modules/@cloudbase/realtime/dist/cjs/message.d.ts +0 -3
- package/node_modules/@cloudbase/realtime/dist/cjs/message.js +0 -13
- package/node_modules/@cloudbase/realtime/dist/cjs/snapshot.d.ts +0 -17
- package/node_modules/@cloudbase/realtime/dist/cjs/snapshot.js +0 -45
- package/node_modules/@cloudbase/realtime/dist/cjs/utils.d.ts +0 -1
- package/node_modules/@cloudbase/realtime/dist/cjs/utils.js +0 -9
- package/node_modules/@cloudbase/realtime/dist/cjs/virtual-websocket-client.d.ts +0 -62
- package/node_modules/@cloudbase/realtime/dist/cjs/virtual-websocket-client.js +0 -960
- package/node_modules/@cloudbase/realtime/dist/cjs/websocket-client.d.ts +0 -78
- package/node_modules/@cloudbase/realtime/dist/cjs/websocket-client.js +0 -750
- package/node_modules/@cloudbase/realtime/dist/cjs/ws-event.d.ts +0 -126
- package/node_modules/@cloudbase/realtime/dist/cjs/ws-event.js +0 -141
- package/node_modules/@cloudbase/realtime/dist/esm/common.d.ts +0 -4
- package/node_modules/@cloudbase/realtime/dist/esm/common.js +0 -15
- package/node_modules/@cloudbase/realtime/dist/esm/error.d.ts +0 -36
- package/node_modules/@cloudbase/realtime/dist/esm/error.js +0 -100
- package/node_modules/@cloudbase/realtime/dist/esm/index.d.ts +0 -2
- package/node_modules/@cloudbase/realtime/dist/esm/index.js +0 -32
- package/node_modules/@cloudbase/realtime/dist/esm/listener.d.ts +0 -14
- package/node_modules/@cloudbase/realtime/dist/esm/listener.js +0 -15
- package/node_modules/@cloudbase/realtime/dist/esm/message.d.ts +0 -3
- package/node_modules/@cloudbase/realtime/dist/esm/message.js +0 -8
- package/node_modules/@cloudbase/realtime/dist/esm/snapshot.d.ts +0 -17
- package/node_modules/@cloudbase/realtime/dist/esm/snapshot.js +0 -42
- package/node_modules/@cloudbase/realtime/dist/esm/utils.d.ts +0 -1
- package/node_modules/@cloudbase/realtime/dist/esm/utils.js +0 -5
- package/node_modules/@cloudbase/realtime/dist/esm/virtual-websocket-client.d.ts +0 -62
- package/node_modules/@cloudbase/realtime/dist/esm/virtual-websocket-client.js +0 -954
- package/node_modules/@cloudbase/realtime/dist/esm/websocket-client.d.ts +0 -78
- package/node_modules/@cloudbase/realtime/dist/esm/websocket-client.js +0 -747
- package/node_modules/@cloudbase/realtime/dist/esm/ws-event.d.ts +0 -126
- package/node_modules/@cloudbase/realtime/dist/esm/ws-event.js +0 -137
- package/node_modules/@cloudbase/realtime/package.json +0 -29
- package/node_modules/@cloudbase/storage/.eslintrc.js +0 -15
- package/node_modules/@cloudbase/storage/dist/cjs/index.d.ts +0 -195
- package/node_modules/@cloudbase/storage/dist/cjs/index.js +0 -1426
- package/node_modules/@cloudbase/storage/dist/cjs/supabase/errors.d.ts +0 -20
- package/node_modules/@cloudbase/storage/dist/cjs/supabase/errors.js +0 -65
- package/node_modules/@cloudbase/storage/dist/cjs/supabase/types.d.ts +0 -64
- package/node_modules/@cloudbase/storage/dist/cjs/supabase/types.js +0 -3
- package/node_modules/@cloudbase/storage/dist/esm/index.d.ts +0 -195
- package/node_modules/@cloudbase/storage/dist/esm/index.js +0 -1422
- package/node_modules/@cloudbase/storage/dist/esm/supabase/errors.d.ts +0 -20
- package/node_modules/@cloudbase/storage/dist/esm/supabase/errors.js +0 -61
- package/node_modules/@cloudbase/storage/dist/esm/supabase/types.d.ts +0 -64
- package/node_modules/@cloudbase/storage/dist/esm/supabase/types.js +0 -2
- package/node_modules/@cloudbase/storage/package.json +0 -28
- package/node_modules/@cloudbase/types/index.js +0 -1
- package/node_modules/@cloudbase/utilities/.eslintrc.js +0 -15
- package/oauth/src/index.d.ts +0 -1
- package/oauth/src/index.ts +0 -1
- package/realtime/src/index.d.ts +0 -2
- package/realtime/src/index.ts +0 -8
- package/storage/src/index.d.ts +0 -2
- package/storage/src/index.js +0 -5
- package/storage/src/index.ts +0 -4
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/aggregate.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/aggregate.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/collection.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/collection.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/command.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/command.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/commands/logic.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/commands/logic.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/commands/query.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/commands/query.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/commands/update.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/commands/update.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/config/app.config.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/config/app.config.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/config/error.config.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/config/error.config.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/const/code.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/const/code.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/constant.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/constant.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/document.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/document.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/interface.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/interface.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/lineString.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/lineString.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/multiLineString.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/multiLineString.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/multiPoint.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/multiPoint.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/multiPolygon.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/multiPolygon.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/point.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/point.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/polygon.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/geo/polygon.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/helper/symbol.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/helper/symbol.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/lib/util.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/lib/util.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/operator-map.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/operator-map.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/query.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/query.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/regexp/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/regexp/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serializer/common.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serializer/common.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serializer/datatype.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serializer/datatype.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serializer/query.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serializer/query.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serializer/update.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serializer/update.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serverDate/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/serverDate/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/transaction/collection.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/transaction/collection.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/transaction/document.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/transaction/document.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/transaction/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/transaction/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/transaction/query.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/transaction/query.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/typings/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/typings/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/typings/realtime.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/typings/realtime.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/util.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/util.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/error.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/error.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/msg.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/msg.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/symbol.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/symbol.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/type.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/type.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/utils.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/utils/utils.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/validate.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/commonjs/validate.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/aggregate.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/aggregate.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/collection.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/collection.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/command.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/command.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/commands/logic.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/commands/logic.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/commands/query.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/commands/query.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/commands/update.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/commands/update.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/config/app.config.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/config/app.config.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/config/error.config.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/config/error.config.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/const/code.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/const/code.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/constant.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/constant.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/document.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/document.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/interface.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/interface.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/lineString.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/lineString.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/multiLineString.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/multiLineString.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/multiPoint.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/multiPoint.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/multiPolygon.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/multiPolygon.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/point.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/point.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/polygon.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/geo/polygon.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/helper/symbol.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/helper/symbol.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/lib/util.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/lib/util.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/operator-map.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/operator-map.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/query.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/query.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/regexp/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/regexp/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serializer/common.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serializer/common.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serializer/datatype.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serializer/datatype.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serializer/query.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serializer/query.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serializer/update.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serializer/update.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serverDate/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/serverDate/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/transaction/collection.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/transaction/collection.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/transaction/document.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/transaction/document.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/transaction/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/transaction/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/transaction/query.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/transaction/query.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/typings/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/typings/index.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/typings/realtime.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/typings/realtime.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/util.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/util.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/error.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/error.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/msg.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/msg.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/symbol.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/symbol.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/type.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/type.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/utils.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/utils/utils.js +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/validate.d.ts +0 -0
- /package/{node_modules/@cloudbase/database → database}/dist/esm/validate.js +0 -0
- /package/{app/src → dist}/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/auth.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/cache.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/cloudrun.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/component.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/database.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/events.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/functions.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/realtime.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/request.d.ts +0 -0
- /package/{node_modules/@cloudbase/types → types}/storage.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/adapters/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/adapters/index.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/adapters/platforms/web.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/adapters/platforms/web.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/constants/common.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/constants/common.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/constants/errors.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/constants/errors.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/constants/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/constants/index.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/helpers/decorators.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/helpers/decorators.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/helpers/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/helpers/index.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/index.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/abortController.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/abortController.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/cache.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/cache.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/events.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/events.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/langEvent.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/langEvent.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/util.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/cjs/libs/util.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/adapters/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/adapters/index.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/adapters/platforms/web.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/adapters/platforms/web.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/constants/common.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/constants/common.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/constants/errors.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/constants/errors.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/constants/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/constants/index.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/helpers/decorators.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/helpers/decorators.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/helpers/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/helpers/index.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/index.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/index.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/abortController.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/abortController.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/cache.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/cache.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/events.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/events.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/langEvent.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/langEvent.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/util.d.ts +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/esm/libs/util.js +0 -0
- /package/{node_modules/@cloudbase/utilities → utilities}/dist/miniprogram/index.js +0 -0
|
@@ -1,711 +0,0 @@
|
|
|
1
|
-
import { ErrorType } from './consts';
|
|
2
|
-
import { ApiUrls, ApiUrlsV2, AUTH_API_PREFIX, AUTH_STATE_CHANGED_TYPE, DEFAULT_NODE_ACCESS_SCOPE, EVENTS, } from '../auth/consts';
|
|
3
|
-
import { uuidv4 } from '../utils/uuid';
|
|
4
|
-
import { getPathName } from '../utils/index';
|
|
5
|
-
import { SinglePromise } from '../utils/function/single-promise';
|
|
6
|
-
import { weBtoa } from '../utils/base64';
|
|
7
|
-
import { isMp } from '../utils/mp';
|
|
8
|
-
import { langEvent } from '@cloudbase/utilities';
|
|
9
|
-
const RequestIdHeaderName = 'x-request-id';
|
|
10
|
-
const DeviceIdHeaderName = 'x-device-id';
|
|
11
|
-
const DeviceIdSectionName = 'device_id';
|
|
12
|
-
export const defaultRequest = async function (url, options) {
|
|
13
|
-
let result = null;
|
|
14
|
-
let responseError = null;
|
|
15
|
-
try {
|
|
16
|
-
const copyOptions = Object.assign({}, options);
|
|
17
|
-
if (!copyOptions.method) {
|
|
18
|
-
copyOptions.method = 'GET';
|
|
19
|
-
}
|
|
20
|
-
if (copyOptions.body && typeof copyOptions.body !== 'string') {
|
|
21
|
-
copyOptions.body = JSON.stringify(copyOptions.body);
|
|
22
|
-
}
|
|
23
|
-
const responseResult = await fetch(url, copyOptions);
|
|
24
|
-
const jsonResponse = await responseResult.json();
|
|
25
|
-
if (jsonResponse?.error) {
|
|
26
|
-
responseError = jsonResponse;
|
|
27
|
-
responseError.error_uri = new URL(url).pathname;
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
result = jsonResponse;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
responseError = {
|
|
35
|
-
error: ErrorType.UNREACHABLE,
|
|
36
|
-
error_description: error.message,
|
|
37
|
-
error_uri: new URL(url).pathname,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
if (responseError) {
|
|
41
|
-
throw responseError;
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return result;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
export const toResponseError = (error, options) => {
|
|
48
|
-
let responseError;
|
|
49
|
-
const formatOptions = options || {};
|
|
50
|
-
if (error instanceof Error) {
|
|
51
|
-
responseError = {
|
|
52
|
-
error: formatOptions.error || ErrorType.LOCAL,
|
|
53
|
-
error_description: formatOptions.error_description || error.message,
|
|
54
|
-
error_uri: formatOptions.error_uri,
|
|
55
|
-
details: formatOptions.details || error.stack,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
const formatError = error || {};
|
|
60
|
-
responseError = {
|
|
61
|
-
error: formatOptions.error || formatError.error || ErrorType.LOCAL,
|
|
62
|
-
error_description: formatOptions.error_description || formatError.error_description,
|
|
63
|
-
error_uri: formatOptions.error_uri || formatError.error_uri,
|
|
64
|
-
details: formatOptions.details || formatError.details,
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
return responseError;
|
|
68
|
-
};
|
|
69
|
-
export function generateRequestId() {
|
|
70
|
-
return uuidv4();
|
|
71
|
-
}
|
|
72
|
-
class DefaultStorage {
|
|
73
|
-
constructor(opts) {
|
|
74
|
-
this._env = opts?.env || '';
|
|
75
|
-
}
|
|
76
|
-
async getItem(key) {
|
|
77
|
-
return window.localStorage.getItem(`${key}${this._env}`);
|
|
78
|
-
}
|
|
79
|
-
async removeItem(key) {
|
|
80
|
-
window.localStorage.removeItem(`${key}${this._env}`);
|
|
81
|
-
}
|
|
82
|
-
async setItem(key, value) {
|
|
83
|
-
window.localStorage.setItem(`${key}${this._env}`, value);
|
|
84
|
-
}
|
|
85
|
-
getItemSync(key) {
|
|
86
|
-
return window.localStorage.getItem(`${key}${this._env}`);
|
|
87
|
-
}
|
|
88
|
-
removeItemSync(key) {
|
|
89
|
-
window.localStorage.removeItem(`${key}${this._env}`);
|
|
90
|
-
}
|
|
91
|
-
setItemSync(key, value) {
|
|
92
|
-
window.localStorage.setItem(`${key}${this._env}`, value);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
export const defaultStorage = new DefaultStorage();
|
|
96
|
-
function isCredentialsExpired(credentials) {
|
|
97
|
-
let isExpired = true;
|
|
98
|
-
if (credentials?.expires_at && credentials?.access_token) {
|
|
99
|
-
isExpired = credentials.expires_at < new Date();
|
|
100
|
-
}
|
|
101
|
-
return isExpired;
|
|
102
|
-
}
|
|
103
|
-
class LocalCredentials {
|
|
104
|
-
constructor(options) {
|
|
105
|
-
this.credentials = null;
|
|
106
|
-
this.accessKeyCredentials = null;
|
|
107
|
-
this.singlePromise = null;
|
|
108
|
-
this.tokenSectionName = options.tokenSectionName;
|
|
109
|
-
this.storage = options.storage;
|
|
110
|
-
this.clientId = options.clientId;
|
|
111
|
-
this.singlePromise = new SinglePromise({ clientId: this.clientId });
|
|
112
|
-
this.credentials = options.credentials || null;
|
|
113
|
-
}
|
|
114
|
-
getStorageCredentialsSync() {
|
|
115
|
-
let credentials = null;
|
|
116
|
-
const tokenStr = this.storage.getItemSync(this.tokenSectionName);
|
|
117
|
-
if (tokenStr !== undefined && tokenStr !== null) {
|
|
118
|
-
try {
|
|
119
|
-
credentials = JSON.parse(tokenStr);
|
|
120
|
-
if (credentials?.expires_at) {
|
|
121
|
-
credentials.expires_at = new Date(credentials.expires_at);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
catch (error) {
|
|
125
|
-
this.storage.removeItem(this.tokenSectionName);
|
|
126
|
-
credentials = null;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return credentials;
|
|
130
|
-
}
|
|
131
|
-
async setCredentials(credentials) {
|
|
132
|
-
if (credentials?.expires_in) {
|
|
133
|
-
if (!credentials?.expires_at) {
|
|
134
|
-
credentials.expires_at = new Date(Date.now() + (credentials.expires_in - 30) * 1000);
|
|
135
|
-
}
|
|
136
|
-
if (this.storage) {
|
|
137
|
-
const tokenStr = JSON.stringify(credentials);
|
|
138
|
-
await this.storage.setItem(this.tokenSectionName, tokenStr);
|
|
139
|
-
}
|
|
140
|
-
this.credentials = credentials;
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
if (this.storage) {
|
|
144
|
-
await this.storage.removeItem(this.tokenSectionName);
|
|
145
|
-
}
|
|
146
|
-
this.credentials = null;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
setAccessKeyCredentials(credentials) {
|
|
150
|
-
this.accessKeyCredentials = credentials;
|
|
151
|
-
if (credentials.scope === DEFAULT_NODE_ACCESS_SCOPE) {
|
|
152
|
-
this.credentials = credentials;
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
async getCredentials() {
|
|
156
|
-
return this.singlePromise.run('getCredentials', async () => {
|
|
157
|
-
if (isCredentialsExpired(this.credentials)) {
|
|
158
|
-
const { credentials, isAccessKeyCredentials } = await this.getStorageCredentials();
|
|
159
|
-
if (isAccessKeyCredentials) {
|
|
160
|
-
return credentials;
|
|
161
|
-
}
|
|
162
|
-
this.credentials = credentials;
|
|
163
|
-
}
|
|
164
|
-
return this.credentials;
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
async getStorageCredentials() {
|
|
168
|
-
return this.singlePromise.run('_getStorageCredentials', async () => {
|
|
169
|
-
let credentials = null;
|
|
170
|
-
let isAccessKeyCredentials = false;
|
|
171
|
-
const tokenStr = await this.storage.getItem(this.tokenSectionName);
|
|
172
|
-
if (!!tokenStr) {
|
|
173
|
-
try {
|
|
174
|
-
credentials = JSON.parse(tokenStr);
|
|
175
|
-
if (credentials?.expires_at) {
|
|
176
|
-
credentials.expires_at = new Date(credentials.expires_at);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
catch (error) {
|
|
180
|
-
await this.storage.removeItem(this.tokenSectionName);
|
|
181
|
-
credentials = null;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
credentials = this.accessKeyCredentials || null;
|
|
186
|
-
isAccessKeyCredentials = true;
|
|
187
|
-
}
|
|
188
|
-
return { credentials, isAccessKeyCredentials };
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
class OAuth2Client {
|
|
193
|
-
constructor(options) {
|
|
194
|
-
this.initializePromise = null;
|
|
195
|
-
this.lockAcquired = false;
|
|
196
|
-
this.pendingInLock = [];
|
|
197
|
-
this.singlePromise = null;
|
|
198
|
-
if (!options.clientSecret) {
|
|
199
|
-
options.clientSecret = '';
|
|
200
|
-
}
|
|
201
|
-
if (!options.clientId && options.env) {
|
|
202
|
-
options.clientId = options.env;
|
|
203
|
-
}
|
|
204
|
-
this.apiOrigin = options.apiOrigin;
|
|
205
|
-
this.apiPath = options.apiPath || AUTH_API_PREFIX;
|
|
206
|
-
this.clientId = options.clientId;
|
|
207
|
-
this.i18n = options.i18n;
|
|
208
|
-
this.eventBus = options.eventBus;
|
|
209
|
-
this.singlePromise = new SinglePromise({ clientId: this.clientId });
|
|
210
|
-
this.retry = this.formatRetry(options.retry, OAuth2Client.defaultRetry);
|
|
211
|
-
if (options.baseRequest) {
|
|
212
|
-
this.baseRequest = options.baseRequest;
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
this.baseRequest = defaultRequest;
|
|
216
|
-
}
|
|
217
|
-
this.tokenInURL = options.tokenInURL;
|
|
218
|
-
this.headers = options.headers;
|
|
219
|
-
this.storage = options.storage || defaultStorage;
|
|
220
|
-
this.localCredentials = new LocalCredentials({
|
|
221
|
-
tokenSectionName: `credentials_${options.clientId}`,
|
|
222
|
-
storage: this.storage,
|
|
223
|
-
clientId: options.clientId,
|
|
224
|
-
});
|
|
225
|
-
this.clientSecret = options.clientSecret;
|
|
226
|
-
if (options.clientId) {
|
|
227
|
-
this.basicAuth = `Basic ${weBtoa(`${options.clientId}:${this.clientSecret}`)}`;
|
|
228
|
-
}
|
|
229
|
-
this.wxCloud = options.wxCloud;
|
|
230
|
-
try {
|
|
231
|
-
if (isMp()) {
|
|
232
|
-
this.useWxCloud = options.useWxCloud;
|
|
233
|
-
if (this.wxCloud === undefined && options.env) {
|
|
234
|
-
wx.cloud.init({ env: options.env });
|
|
235
|
-
this.wxCloud = wx.cloud;
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
catch (error) {
|
|
240
|
-
}
|
|
241
|
-
this.refreshTokenFunc = options.refreshTokenFunc || this.defaultRefreshTokenFunc;
|
|
242
|
-
this.anonymousSignInFunc = options.anonymousSignInFunc;
|
|
243
|
-
this.onCredentialsError = options.onCredentialsError;
|
|
244
|
-
this.getInitialSession = options.getInitialSession;
|
|
245
|
-
this.onInitialSessionObtained = options.onInitialSessionObtained;
|
|
246
|
-
this.logDebugMessages = options.debug ?? false;
|
|
247
|
-
langEvent.bus.on(langEvent.LANG_CHANGE_EVENT, (params) => {
|
|
248
|
-
this.i18n = params.data?.i18n || this.i18n;
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
setGetInitialSession(callback) {
|
|
252
|
-
this.getInitialSession = callback;
|
|
253
|
-
}
|
|
254
|
-
setOnInitialSessionObtained(callback) {
|
|
255
|
-
this.onInitialSessionObtained = callback;
|
|
256
|
-
}
|
|
257
|
-
async initialize(func) {
|
|
258
|
-
if (this.initializePromise) {
|
|
259
|
-
return await this.initializePromise;
|
|
260
|
-
}
|
|
261
|
-
if (func !== undefined) {
|
|
262
|
-
this.initializePromise = func;
|
|
263
|
-
return await this.initializePromise;
|
|
264
|
-
}
|
|
265
|
-
this.initializePromise = (async () => await this._acquireLock(-1, async () => await this._initialize()))();
|
|
266
|
-
return await this.initializePromise;
|
|
267
|
-
}
|
|
268
|
-
async setCredentials(credentials) {
|
|
269
|
-
await this.initializePromise;
|
|
270
|
-
return this._acquireLock(-1, async () => this.localCredentials.setCredentials(credentials));
|
|
271
|
-
}
|
|
272
|
-
setAccessKeyCredentials(credentials) {
|
|
273
|
-
return this.localCredentials.setAccessKeyCredentials(credentials);
|
|
274
|
-
}
|
|
275
|
-
async getAccessToken() {
|
|
276
|
-
await this.initializePromise;
|
|
277
|
-
const credentials = await this.getCredentials();
|
|
278
|
-
if (credentials?.scope === DEFAULT_NODE_ACCESS_SCOPE) {
|
|
279
|
-
return Promise.resolve(credentials.access_token);
|
|
280
|
-
}
|
|
281
|
-
if (credentials?.access_token) {
|
|
282
|
-
return Promise.resolve(credentials.access_token);
|
|
283
|
-
}
|
|
284
|
-
const respErr = { error: ErrorType.UNAUTHENTICATED };
|
|
285
|
-
return Promise.reject(respErr);
|
|
286
|
-
}
|
|
287
|
-
async request(url, options) {
|
|
288
|
-
if (!options) {
|
|
289
|
-
options = {};
|
|
290
|
-
}
|
|
291
|
-
const retry = this.formatRetry(options.retry, this.retry);
|
|
292
|
-
options.headers = { ...options.headers, [this.i18n?.LANG_HEADER_KEY]: this.i18n?.lang };
|
|
293
|
-
if (this.headers) {
|
|
294
|
-
options.headers = {
|
|
295
|
-
...this.headers,
|
|
296
|
-
...options.headers,
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
if (!options.headers[RequestIdHeaderName]) {
|
|
300
|
-
options.headers[RequestIdHeaderName] = generateRequestId();
|
|
301
|
-
}
|
|
302
|
-
if (!options.headers[DeviceIdHeaderName]) {
|
|
303
|
-
const deviceId = await this.getDeviceId();
|
|
304
|
-
options.headers[DeviceIdHeaderName] = deviceId;
|
|
305
|
-
}
|
|
306
|
-
if (options?.withBasicAuth && this.basicAuth) {
|
|
307
|
-
options.headers.Authorization = this.basicAuth;
|
|
308
|
-
}
|
|
309
|
-
if (options?.withCredentials) {
|
|
310
|
-
const credentials = options.getCredentials ? await options.getCredentials() : await this.getCredentials();
|
|
311
|
-
if (credentials) {
|
|
312
|
-
if (this.tokenInURL) {
|
|
313
|
-
if (url.indexOf('?') < 0) {
|
|
314
|
-
url += '?';
|
|
315
|
-
}
|
|
316
|
-
url += `access_token=${credentials.access_token}`;
|
|
317
|
-
}
|
|
318
|
-
else {
|
|
319
|
-
options.headers.Authorization = `${credentials.token_type} ${credentials.access_token}`;
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
else {
|
|
324
|
-
if (this.clientId && url.indexOf('client_id') < 0) {
|
|
325
|
-
url += url.indexOf('?') < 0 ? '?' : '&';
|
|
326
|
-
url += `client_id=${this.clientId}`;
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
if (url.startsWith('/')) {
|
|
330
|
-
url = `${this.apiOrigin}${this.apiPath}${url}`;
|
|
331
|
-
}
|
|
332
|
-
let response = null;
|
|
333
|
-
const maxRequestTimes = retry + 1;
|
|
334
|
-
for (let requestTime = 0; requestTime < maxRequestTimes; requestTime++) {
|
|
335
|
-
try {
|
|
336
|
-
if (options.useWxCloud || this.useWxCloud) {
|
|
337
|
-
response = await this.wxCloudCallFunction(url, options);
|
|
338
|
-
}
|
|
339
|
-
else {
|
|
340
|
-
response = await this.baseRequest(url, options);
|
|
341
|
-
}
|
|
342
|
-
if (!!response?.code) {
|
|
343
|
-
throw {
|
|
344
|
-
error: response.code,
|
|
345
|
-
error_description: response.message,
|
|
346
|
-
error_uri: new URL(url).pathname,
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
break;
|
|
350
|
-
}
|
|
351
|
-
catch (responseError) {
|
|
352
|
-
try {
|
|
353
|
-
responseError.requestId = responseError.requestId || options.headers[RequestIdHeaderName] || '';
|
|
354
|
-
}
|
|
355
|
-
catch (error) { }
|
|
356
|
-
if (options.withCredentials && responseError && responseError.error === ErrorType.UNAUTHENTICATED) {
|
|
357
|
-
await this.setCredentials(null);
|
|
358
|
-
return Promise.reject(responseError);
|
|
359
|
-
}
|
|
360
|
-
if (requestTime === retry || !responseError || responseError.error !== 'unreachable') {
|
|
361
|
-
return Promise.reject(responseError);
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
|
-
await this.sleep(OAuth2Client.retryInterval);
|
|
365
|
-
}
|
|
366
|
-
return response;
|
|
367
|
-
}
|
|
368
|
-
async wxCloudCallFunction(url, options) {
|
|
369
|
-
let result = null;
|
|
370
|
-
let responseError = null;
|
|
371
|
-
try {
|
|
372
|
-
let userAgent = '';
|
|
373
|
-
try {
|
|
374
|
-
userAgent = await wx.getRendererUserAgent();
|
|
375
|
-
}
|
|
376
|
-
catch (error) { }
|
|
377
|
-
const { result: responseResult } = await this.wxCloud.callFunction({
|
|
378
|
-
name: 'httpOverCallFunction',
|
|
379
|
-
data: {
|
|
380
|
-
url,
|
|
381
|
-
method: options.method,
|
|
382
|
-
headers: {
|
|
383
|
-
origin: 'https://servicewechat.com',
|
|
384
|
-
'User-Agent': userAgent,
|
|
385
|
-
...options.headers,
|
|
386
|
-
},
|
|
387
|
-
body: options.body,
|
|
388
|
-
},
|
|
389
|
-
});
|
|
390
|
-
if (responseResult?.body?.error_code) {
|
|
391
|
-
responseError = responseResult?.body;
|
|
392
|
-
responseError.error_uri = getPathName(url);
|
|
393
|
-
}
|
|
394
|
-
else {
|
|
395
|
-
result = responseResult?.body;
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
catch (error) {
|
|
399
|
-
responseError = {
|
|
400
|
-
error: ErrorType.UNREACHABLE,
|
|
401
|
-
error_description: error.message,
|
|
402
|
-
error_uri: getPathName(url),
|
|
403
|
-
};
|
|
404
|
-
}
|
|
405
|
-
if (responseError) {
|
|
406
|
-
throw responseError;
|
|
407
|
-
}
|
|
408
|
-
else {
|
|
409
|
-
return result;
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
async getCredentials() {
|
|
413
|
-
await this.initializePromise;
|
|
414
|
-
return this._acquireLock(-1, async () => this._getCredentials());
|
|
415
|
-
}
|
|
416
|
-
getCredentialsSync() {
|
|
417
|
-
const credentials = this.localCredentials.getStorageCredentialsSync();
|
|
418
|
-
return credentials;
|
|
419
|
-
}
|
|
420
|
-
getCredentialsAsync() {
|
|
421
|
-
return this.getCredentials();
|
|
422
|
-
}
|
|
423
|
-
async getScope() {
|
|
424
|
-
const credentials = await this.localCredentials.getCredentials();
|
|
425
|
-
if (!credentials) {
|
|
426
|
-
const msg = 'credentials not found';
|
|
427
|
-
this.onCredentialsError?.({ msg });
|
|
428
|
-
return this.unAuthenticatedError(msg);
|
|
429
|
-
}
|
|
430
|
-
return credentials.scope;
|
|
431
|
-
}
|
|
432
|
-
async getGroups() {
|
|
433
|
-
const credentials = await this.localCredentials.getCredentials();
|
|
434
|
-
if (!credentials) {
|
|
435
|
-
const msg = 'credentials not found';
|
|
436
|
-
this.onCredentialsError?.({ msg });
|
|
437
|
-
return this.unAuthenticatedError(msg);
|
|
438
|
-
}
|
|
439
|
-
return credentials.groups;
|
|
440
|
-
}
|
|
441
|
-
async refreshToken(credentials, options) {
|
|
442
|
-
await this.initializePromise;
|
|
443
|
-
return this._acquireLock(-1, async () => this._refreshToken(credentials, options));
|
|
444
|
-
}
|
|
445
|
-
async _refreshToken(credentials, options) {
|
|
446
|
-
return this.singlePromise.run('_refreshToken', async () => {
|
|
447
|
-
if (credentials?.scope === DEFAULT_NODE_ACCESS_SCOPE) {
|
|
448
|
-
return credentials;
|
|
449
|
-
}
|
|
450
|
-
if (!credentials || !credentials.refresh_token) {
|
|
451
|
-
const msg = 'no refresh token found in credentials';
|
|
452
|
-
this.onCredentialsError?.({ msg });
|
|
453
|
-
return this.unAuthenticatedError(msg);
|
|
454
|
-
}
|
|
455
|
-
try {
|
|
456
|
-
const newCredentials = await this.refreshTokenFunc(credentials.refresh_token, credentials);
|
|
457
|
-
await this.localCredentials.setCredentials(newCredentials);
|
|
458
|
-
this.eventBus?.fire(EVENTS.AUTH_STATE_CHANGED, { event: AUTH_STATE_CHANGED_TYPE.TOKEN_REFRESHED });
|
|
459
|
-
return newCredentials;
|
|
460
|
-
}
|
|
461
|
-
catch (error) {
|
|
462
|
-
if (options?.throwError) {
|
|
463
|
-
throw error;
|
|
464
|
-
}
|
|
465
|
-
if (error.error === ErrorType.INVALID_GRANT) {
|
|
466
|
-
await this.localCredentials.setCredentials(null);
|
|
467
|
-
const msg = error.error_description;
|
|
468
|
-
this.onCredentialsError?.({ msg });
|
|
469
|
-
return this.unAuthenticatedError(msg);
|
|
470
|
-
}
|
|
471
|
-
this.onCredentialsError?.({ msg: error.error_description });
|
|
472
|
-
return Promise.reject(error);
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
}
|
|
476
|
-
async anonymousLogin(credentials) {
|
|
477
|
-
return this.singlePromise.run('_anonymousLogin', async () => {
|
|
478
|
-
if (this.anonymousSignInFunc) {
|
|
479
|
-
const c = await this.anonymousSignInFunc(credentials);
|
|
480
|
-
credentials = c || (await this.localCredentials.getCredentials());
|
|
481
|
-
}
|
|
482
|
-
else {
|
|
483
|
-
credentials = await this.anonymousSignIn(credentials);
|
|
484
|
-
}
|
|
485
|
-
return credentials;
|
|
486
|
-
});
|
|
487
|
-
}
|
|
488
|
-
checkRetry(retry) {
|
|
489
|
-
let responseError = null;
|
|
490
|
-
if (typeof retry !== 'number' || retry < OAuth2Client.minRetry || retry > OAuth2Client.maxRetry) {
|
|
491
|
-
responseError = {
|
|
492
|
-
error: ErrorType.UNREACHABLE,
|
|
493
|
-
error_description: 'wrong options param: retry',
|
|
494
|
-
};
|
|
495
|
-
}
|
|
496
|
-
if (responseError) {
|
|
497
|
-
throw responseError;
|
|
498
|
-
}
|
|
499
|
-
return retry;
|
|
500
|
-
}
|
|
501
|
-
formatRetry(retry, defaultVale) {
|
|
502
|
-
if (typeof retry === 'undefined') {
|
|
503
|
-
return defaultVale;
|
|
504
|
-
}
|
|
505
|
-
return this.checkRetry(retry);
|
|
506
|
-
}
|
|
507
|
-
async sleep(ms) {
|
|
508
|
-
return new Promise((resolve) => {
|
|
509
|
-
setTimeout(() => {
|
|
510
|
-
resolve();
|
|
511
|
-
}, ms);
|
|
512
|
-
});
|
|
513
|
-
}
|
|
514
|
-
async anonymousSignIn(credentials) {
|
|
515
|
-
return this.singlePromise.run('_anonymous', async () => {
|
|
516
|
-
if (!credentials || credentials.scope !== 'anonymous') {
|
|
517
|
-
return this.unAuthenticatedError('no anonymous in credentials');
|
|
518
|
-
}
|
|
519
|
-
try {
|
|
520
|
-
const newCredentials = await this.request(ApiUrls.AUTH_SIGN_IN_ANONYMOUSLY_URL, {
|
|
521
|
-
method: 'POST',
|
|
522
|
-
withBasicAuth: true,
|
|
523
|
-
body: {},
|
|
524
|
-
});
|
|
525
|
-
await this.localCredentials.setCredentials(newCredentials);
|
|
526
|
-
return newCredentials;
|
|
527
|
-
}
|
|
528
|
-
catch (error) {
|
|
529
|
-
if (error.error === ErrorType.INVALID_GRANT) {
|
|
530
|
-
await this.localCredentials.setCredentials(null);
|
|
531
|
-
return this.unAuthenticatedError(error.error_description);
|
|
532
|
-
}
|
|
533
|
-
return Promise.reject(error);
|
|
534
|
-
}
|
|
535
|
-
});
|
|
536
|
-
}
|
|
537
|
-
async defaultRefreshTokenFunc(refreshToken, credentials) {
|
|
538
|
-
if (refreshToken === undefined || refreshToken === '') {
|
|
539
|
-
const msg = 'refresh token not found';
|
|
540
|
-
this.onCredentialsError?.({ msg });
|
|
541
|
-
return this.unAuthenticatedError(msg);
|
|
542
|
-
}
|
|
543
|
-
let url = ApiUrls.AUTH_TOKEN_URL;
|
|
544
|
-
if (credentials?.version === 'v2') {
|
|
545
|
-
url = ApiUrlsV2.AUTH_TOKEN_URL;
|
|
546
|
-
}
|
|
547
|
-
const newCredentials = await this.request(url, {
|
|
548
|
-
method: 'POST',
|
|
549
|
-
body: {
|
|
550
|
-
client_id: this.clientId,
|
|
551
|
-
client_secret: this.clientSecret,
|
|
552
|
-
grant_type: 'refresh_token',
|
|
553
|
-
refresh_token: refreshToken,
|
|
554
|
-
},
|
|
555
|
-
});
|
|
556
|
-
return { ...newCredentials, version: credentials?.version || 'v1' };
|
|
557
|
-
}
|
|
558
|
-
async getDeviceId() {
|
|
559
|
-
if (this.deviceID) {
|
|
560
|
-
return this.deviceID;
|
|
561
|
-
}
|
|
562
|
-
let deviceId = await this.storage.getItem(DeviceIdSectionName);
|
|
563
|
-
if (!(typeof deviceId === 'string' && deviceId.length >= 16 && deviceId.length <= 48)) {
|
|
564
|
-
deviceId = uuidv4();
|
|
565
|
-
await this.storage.setItem(DeviceIdSectionName, deviceId);
|
|
566
|
-
}
|
|
567
|
-
this.deviceID = deviceId;
|
|
568
|
-
return deviceId;
|
|
569
|
-
}
|
|
570
|
-
unAuthenticatedError(err) {
|
|
571
|
-
const respErr = {
|
|
572
|
-
error: ErrorType.UNAUTHENTICATED,
|
|
573
|
-
error_description: err,
|
|
574
|
-
};
|
|
575
|
-
return Promise.reject(respErr);
|
|
576
|
-
}
|
|
577
|
-
_debug(...args) {
|
|
578
|
-
if (this.logDebugMessages) {
|
|
579
|
-
console.log('[OAuth2Client]', ...args);
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
async _initialize() {
|
|
583
|
-
try {
|
|
584
|
-
if (!this.getInitialSession) {
|
|
585
|
-
this._debug('#_initialize()', 'no getInitialSession callback set, skipping');
|
|
586
|
-
return { error: null };
|
|
587
|
-
}
|
|
588
|
-
this._debug('#_initialize()', 'calling getInitialSession callback');
|
|
589
|
-
try {
|
|
590
|
-
const { data, error } = await this.getInitialSession();
|
|
591
|
-
if (data?.session) {
|
|
592
|
-
this._debug('#_initialize()', 'session obtained from getInitialSession', data.session);
|
|
593
|
-
await this.localCredentials.setCredentials(data?.session);
|
|
594
|
-
}
|
|
595
|
-
if (this.onInitialSessionObtained) {
|
|
596
|
-
this._debug('#_initialize()', 'calling onInitialSessionObtained callback');
|
|
597
|
-
try {
|
|
598
|
-
await this.onInitialSessionObtained(data, error);
|
|
599
|
-
}
|
|
600
|
-
catch (callbackError) {
|
|
601
|
-
this._debug('#_initialize()', 'error in onInitialSessionObtained', callbackError);
|
|
602
|
-
}
|
|
603
|
-
}
|
|
604
|
-
if (error) {
|
|
605
|
-
this._debug('#_initialize()', 'error from getInitialSession', error);
|
|
606
|
-
return { error };
|
|
607
|
-
}
|
|
608
|
-
return { error: null };
|
|
609
|
-
}
|
|
610
|
-
catch (err) {
|
|
611
|
-
this._debug('#_initialize()', 'exception during getInitialSession', err);
|
|
612
|
-
return { error: err instanceof Error ? err : new Error(String(err)) };
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
catch (error) {
|
|
616
|
-
this._debug('#_initialize()', 'unexpected error', error);
|
|
617
|
-
return { error: error instanceof Error ? error : new Error(String(error)) };
|
|
618
|
-
}
|
|
619
|
-
finally {
|
|
620
|
-
this._debug('#_initialize()', 'end');
|
|
621
|
-
}
|
|
622
|
-
}
|
|
623
|
-
async _acquireLock(acquireTimeout, fn) {
|
|
624
|
-
this._debug('#_acquireLock', 'begin', acquireTimeout);
|
|
625
|
-
try {
|
|
626
|
-
if (this.lockAcquired) {
|
|
627
|
-
const last = this.pendingInLock.length ? this.pendingInLock[this.pendingInLock.length - 1] : Promise.resolve();
|
|
628
|
-
const result = (async () => {
|
|
629
|
-
await last;
|
|
630
|
-
return await fn();
|
|
631
|
-
})();
|
|
632
|
-
this.pendingInLock.push((async () => {
|
|
633
|
-
try {
|
|
634
|
-
await result;
|
|
635
|
-
}
|
|
636
|
-
catch (_e) {
|
|
637
|
-
}
|
|
638
|
-
})());
|
|
639
|
-
return result;
|
|
640
|
-
}
|
|
641
|
-
this._debug('#_acquireLock', 'acquiring lock for client', this.clientId);
|
|
642
|
-
try {
|
|
643
|
-
this.lockAcquired = true;
|
|
644
|
-
const result = fn();
|
|
645
|
-
this.pendingInLock.push((async () => {
|
|
646
|
-
try {
|
|
647
|
-
await result;
|
|
648
|
-
}
|
|
649
|
-
catch (_e) {
|
|
650
|
-
}
|
|
651
|
-
})());
|
|
652
|
-
await result;
|
|
653
|
-
while (this.pendingInLock.length) {
|
|
654
|
-
const waitOn = [...this.pendingInLock];
|
|
655
|
-
await Promise.all(waitOn);
|
|
656
|
-
this.pendingInLock.splice(0, waitOn.length);
|
|
657
|
-
}
|
|
658
|
-
return await result;
|
|
659
|
-
}
|
|
660
|
-
finally {
|
|
661
|
-
this._debug('#_acquireLock', 'releasing lock for client', this.clientId);
|
|
662
|
-
this.lockAcquired = false;
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
finally {
|
|
666
|
-
this._debug('#_acquireLock', 'end');
|
|
667
|
-
}
|
|
668
|
-
}
|
|
669
|
-
async _getCredentials() {
|
|
670
|
-
let credentials = await this.localCredentials.getCredentials();
|
|
671
|
-
if (credentials?.scope === DEFAULT_NODE_ACCESS_SCOPE) {
|
|
672
|
-
return credentials;
|
|
673
|
-
}
|
|
674
|
-
if (!credentials) {
|
|
675
|
-
const msg = 'credentials not found';
|
|
676
|
-
this.onCredentialsError?.({ msg });
|
|
677
|
-
return this.unAuthenticatedError(msg);
|
|
678
|
-
}
|
|
679
|
-
if (isCredentialsExpired(credentials)) {
|
|
680
|
-
if (credentials.refresh_token) {
|
|
681
|
-
try {
|
|
682
|
-
credentials = await this._refreshToken(credentials);
|
|
683
|
-
}
|
|
684
|
-
catch (error) {
|
|
685
|
-
if (credentials.scope === 'anonymous') {
|
|
686
|
-
credentials = await this.anonymousLogin(credentials);
|
|
687
|
-
}
|
|
688
|
-
else {
|
|
689
|
-
this.onCredentialsError?.({ msg: error.error_description });
|
|
690
|
-
return Promise.reject(error);
|
|
691
|
-
}
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
else if (credentials.scope === 'anonymous') {
|
|
695
|
-
credentials = await this.anonymousLogin(credentials);
|
|
696
|
-
}
|
|
697
|
-
else {
|
|
698
|
-
const msg = 'no refresh token found in credentials';
|
|
699
|
-
this.onCredentialsError?.({ msg });
|
|
700
|
-
return this.unAuthenticatedError(msg);
|
|
701
|
-
}
|
|
702
|
-
}
|
|
703
|
-
return credentials;
|
|
704
|
-
}
|
|
705
|
-
}
|
|
706
|
-
OAuth2Client.defaultRetry = 2;
|
|
707
|
-
OAuth2Client.minRetry = 0;
|
|
708
|
-
OAuth2Client.maxRetry = 5;
|
|
709
|
-
OAuth2Client.retryInterval = 1000;
|
|
710
|
-
export { OAuth2Client };
|
|
711
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgyY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL29hdXRoMmNsaWVudC9vYXV0aDJjbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUNwQyxPQUFPLEVBQ0wsT0FBTyxFQUNQLFNBQVMsRUFDVCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixNQUFNLEdBQ1AsTUFBTSxnQkFBZ0IsQ0FBQTtBQWF2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUU1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0NBQWtDLENBQUE7QUFDaEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFHbEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBRWhELE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUFBO0FBQzFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFBO0FBQ3hDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxDQUFBO0FBV3ZDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBb0IsS0FBSyxXQUFjLEdBQVcsRUFBRSxPQUF3QjtJQUNyRyxJQUFJLE1BQU0sR0FBYSxJQUFJLENBQUE7SUFDM0IsSUFBSSxhQUFhLEdBQXlCLElBQUksQ0FBQTtJQUM5QyxJQUFJO1FBRUYsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDOUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7WUFDdkIsV0FBVyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7U0FDM0I7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
|