@cloudbase/js-sdk 2.28.8 → 2.29.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 +147 -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.d.ts +2 -2
- 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.d.ts +2 -2
- 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/dist/commonjs/aggregate.d.ts +29 -0
- package/database/dist/commonjs/aggregate.js +156 -0
- package/database/dist/commonjs/collection.d.ts +9 -0
- package/database/dist/commonjs/collection.js +49 -0
- package/database/dist/commonjs/command.d.ts +175 -0
- package/database/dist/commonjs/command.js +299 -0
- package/database/dist/commonjs/commands/logic.d.ts +24 -0
- package/database/dist/commonjs/commands/logic.js +89 -0
- package/database/dist/commonjs/commands/query.d.ts +68 -0
- package/database/dist/commonjs/commands/query.js +160 -0
- package/database/dist/commonjs/commands/update.d.ts +29 -0
- package/database/dist/commonjs/commands/update.js +51 -0
- package/database/dist/commonjs/config/app.config.d.ts +6 -0
- package/database/dist/commonjs/config/app.config.js +7 -0
- package/database/dist/commonjs/config/error.config.d.ts +3 -0
- package/database/dist/commonjs/config/error.config.js +16 -0
- package/database/dist/commonjs/const/code.d.ts +30 -0
- package/database/dist/commonjs/const/code.js +33 -0
- package/database/dist/commonjs/constant.d.ts +51 -0
- package/database/dist/commonjs/constant.js +75 -0
- package/database/dist/commonjs/document.d.ts +11 -0
- package/database/dist/commonjs/document.js +260 -0
- package/database/dist/commonjs/geo/index.d.ts +6 -0
- package/database/dist/commonjs/geo/index.js +22 -0
- package/database/dist/commonjs/geo/interface.d.ts +24 -0
- package/database/dist/commonjs/geo/interface.js +2 -0
- package/database/dist/commonjs/geo/lineString.d.ts +19 -0
- package/database/dist/commonjs/geo/lineString.js +86 -0
- package/database/dist/commonjs/geo/multiLineString.d.ts +18 -0
- package/database/dist/commonjs/geo/multiLineString.js +95 -0
- package/database/dist/commonjs/geo/multiPoint.d.ts +18 -0
- package/database/dist/commonjs/geo/multiPoint.js +79 -0
- package/database/dist/commonjs/geo/multiPolygon.d.ts +18 -0
- package/database/dist/commonjs/geo/multiPolygon.js +122 -0
- package/database/dist/commonjs/geo/point.d.ts +19 -0
- package/database/dist/commonjs/geo/point.js +50 -0
- package/database/dist/commonjs/geo/polygon.d.ts +19 -0
- package/database/dist/commonjs/geo/polygon.js +109 -0
- package/database/dist/commonjs/helper/symbol.d.ts +14 -0
- package/database/dist/commonjs/helper/symbol.js +31 -0
- package/database/dist/commonjs/index.d.ts +40 -0
- package/database/dist/commonjs/index.js +61 -0
- package/database/dist/commonjs/lib/util.d.ts +1 -0
- package/database/dist/commonjs/lib/util.js +26 -0
- package/database/dist/commonjs/operator-map.d.ts +4 -0
- package/database/dist/commonjs/operator-map.js +24 -0
- package/database/dist/commonjs/query.d.ts +22 -0
- package/database/dist/commonjs/query.js +252 -0
- package/database/dist/commonjs/regexp/index.d.ts +14 -0
- package/database/dist/commonjs/regexp/index.js +33 -0
- package/database/dist/commonjs/serializer/common.d.ts +11 -0
- package/database/dist/commonjs/serializer/common.js +127 -0
- package/database/dist/commonjs/serializer/datatype.d.ts +7 -0
- package/database/dist/commonjs/serializer/datatype.js +132 -0
- package/database/dist/commonjs/serializer/query.d.ts +7 -0
- package/database/dist/commonjs/serializer/query.js +232 -0
- package/database/dist/commonjs/serializer/update.d.ts +15 -0
- package/database/dist/commonjs/serializer/update.js +142 -0
- package/database/dist/commonjs/serverDate/index.d.ts +13 -0
- package/database/dist/commonjs/serverDate/index.js +30 -0
- package/database/dist/commonjs/transaction/collection.d.ts +7 -0
- package/database/dist/commonjs/transaction/collection.js +49 -0
- package/database/dist/commonjs/transaction/document.d.ts +27 -0
- package/database/dist/commonjs/transaction/document.js +205 -0
- package/database/dist/commonjs/transaction/index.d.ts +30 -0
- package/database/dist/commonjs/transaction/index.js +215 -0
- package/database/dist/commonjs/transaction/query.d.ts +43 -0
- package/database/dist/commonjs/transaction/query.js +261 -0
- package/database/dist/commonjs/typings/index.d.ts +40 -0
- package/database/dist/commonjs/typings/index.js +2 -0
- package/database/dist/commonjs/typings/realtime.d.ts +219 -0
- package/database/dist/commonjs/typings/realtime.js +2 -0
- package/database/dist/commonjs/util.d.ts +9 -0
- package/database/dist/commonjs/util.js +145 -0
- package/database/dist/commonjs/utils/error.d.ts +38 -0
- package/database/dist/commonjs/utils/error.js +91 -0
- package/database/dist/commonjs/utils/msg.d.ts +0 -0
- package/database/dist/commonjs/utils/msg.js +0 -0
- package/database/dist/commonjs/utils/symbol.d.ts +8 -0
- package/database/dist/commonjs/utils/symbol.js +58 -0
- package/database/dist/commonjs/utils/type.d.ts +13 -0
- package/database/dist/commonjs/utils/type.js +34 -0
- package/database/dist/commonjs/utils/utils.d.ts +4 -0
- package/database/dist/commonjs/utils/utils.js +39 -0
- package/database/dist/commonjs/validate.d.ts +1 -0
- package/database/dist/commonjs/validate.js +60 -0
- package/database/dist/esm/aggregate.d.ts +29 -0
- package/database/dist/esm/aggregate.js +154 -0
- package/database/dist/esm/collection.d.ts +9 -0
- package/database/dist/esm/collection.js +46 -0
- package/database/dist/esm/command.d.ts +175 -0
- package/database/dist/esm/command.js +296 -0
- package/database/dist/esm/commands/logic.d.ts +24 -0
- package/database/dist/esm/commands/logic.js +84 -0
- package/database/dist/esm/commands/query.d.ts +68 -0
- package/database/dist/esm/commands/query.js +154 -0
- package/database/dist/esm/commands/update.d.ts +29 -0
- package/database/dist/esm/commands/update.js +46 -0
- package/database/dist/esm/config/app.config.d.ts +6 -0
- package/database/dist/esm/config/app.config.js +5 -0
- package/database/dist/esm/config/error.config.d.ts +3 -0
- package/database/dist/esm/config/error.config.js +13 -0
- package/database/dist/esm/const/code.d.ts +30 -0
- package/database/dist/esm/const/code.js +30 -0
- package/database/dist/esm/constant.d.ts +51 -0
- package/database/dist/esm/constant.js +65 -0
- package/database/dist/esm/document.d.ts +11 -0
- package/database/dist/esm/document.js +257 -0
- package/database/dist/esm/geo/index.d.ts +6 -0
- package/database/dist/esm/geo/index.js +6 -0
- package/database/dist/esm/geo/interface.d.ts +24 -0
- package/database/dist/esm/geo/interface.js +1 -0
- package/database/dist/esm/geo/lineString.d.ts +19 -0
- package/database/dist/esm/geo/lineString.js +83 -0
- package/database/dist/esm/geo/multiLineString.d.ts +18 -0
- package/database/dist/esm/geo/multiLineString.js +92 -0
- package/database/dist/esm/geo/multiPoint.d.ts +18 -0
- package/database/dist/esm/geo/multiPoint.js +76 -0
- package/database/dist/esm/geo/multiPolygon.d.ts +18 -0
- package/database/dist/esm/geo/multiPolygon.js +119 -0
- package/database/dist/esm/geo/point.d.ts +19 -0
- package/database/dist/esm/geo/point.js +47 -0
- package/database/dist/esm/geo/polygon.d.ts +19 -0
- package/database/dist/esm/geo/polygon.js +106 -0
- package/database/dist/esm/helper/symbol.d.ts +14 -0
- package/database/dist/esm/helper/symbol.js +14 -0
- package/database/dist/esm/index.d.ts +40 -0
- package/database/dist/esm/index.js +55 -0
- package/database/dist/esm/lib/util.d.ts +1 -0
- package/database/dist/esm/lib/util.js +22 -0
- package/database/dist/esm/operator-map.d.ts +4 -0
- package/database/dist/esm/operator-map.js +20 -0
- package/database/dist/esm/query.d.ts +22 -0
- package/database/dist/esm/query.js +249 -0
- package/database/dist/esm/regexp/index.d.ts +14 -0
- package/database/dist/esm/regexp/index.js +29 -0
- package/database/dist/esm/serializer/common.d.ts +11 -0
- package/database/dist/esm/serializer/common.js +118 -0
- package/database/dist/esm/serializer/datatype.d.ts +7 -0
- package/database/dist/esm/serializer/datatype.js +127 -0
- package/database/dist/esm/serializer/query.d.ts +7 -0
- package/database/dist/esm/serializer/query.js +229 -0
- package/database/dist/esm/serializer/update.d.ts +15 -0
- package/database/dist/esm/serializer/update.js +139 -0
- package/database/dist/esm/serverDate/index.d.ts +13 -0
- package/database/dist/esm/serverDate/index.js +26 -0
- package/database/dist/esm/transaction/collection.d.ts +7 -0
- package/database/dist/esm/transaction/collection.js +46 -0
- package/database/dist/esm/transaction/document.d.ts +27 -0
- package/database/dist/esm/transaction/document.js +202 -0
- package/database/dist/esm/transaction/index.d.ts +30 -0
- package/database/dist/esm/transaction/index.js +210 -0
- package/database/dist/esm/transaction/query.d.ts +43 -0
- package/database/dist/esm/transaction/query.js +258 -0
- package/database/dist/esm/typings/index.d.ts +40 -0
- package/database/dist/esm/typings/index.js +1 -0
- package/database/dist/esm/typings/realtime.d.ts +219 -0
- package/database/dist/esm/typings/realtime.js +1 -0
- package/database/dist/esm/util.d.ts +9 -0
- package/database/dist/esm/util.js +142 -0
- package/database/dist/esm/utils/error.d.ts +38 -0
- package/database/dist/esm/utils/error.js +84 -0
- package/database/dist/esm/utils/msg.d.ts +0 -0
- package/database/dist/esm/utils/msg.js +0 -0
- package/database/dist/esm/utils/symbol.d.ts +8 -0
- package/database/dist/esm/utils/symbol.js +55 -0
- package/database/dist/esm/utils/type.d.ts +13 -0
- package/database/dist/esm/utils/type.js +20 -0
- package/database/dist/esm/utils/utils.d.ts +4 -0
- package/database/dist/esm/utils/utils.js +33 -0
- package/database/dist/esm/validate.d.ts +1 -0
- package/database/dist/esm/validate.js +57 -0
- package/database/package.json +34 -4
- package/dist/index.cjs.js +3 -40
- package/dist/index.cjs.js.LICENSE.txt +12 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.esm.js +3 -35
- package/dist/index.esm.js.LICENSE.txt +12 -0
- package/dist/index.esm.js.map +1 -0
- package/functions/dist/index.d.ts +2 -2
- 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/index.d.ts +654 -45
- 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 +113 -20
- package/realtime/dist/index.d.ts +2 -2
- 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.d.ts +2 -2
- 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/auth.d.ts +99 -0
- package/types/cache.d.ts +26 -0
- package/types/cloudrun.d.ts +9 -0
- package/types/component.d.ts +17 -0
- package/types/container.d.ts +93 -0
- package/types/database.d.ts +31 -0
- package/types/events.d.ts +13 -0
- package/types/functions.d.ts +40 -0
- package/types/index.d.ts +211 -0
- package/types/package.json +43 -0
- package/types/realtime.d.ts +350 -0
- package/types/request.d.ts +30 -0
- package/types/storage.d.ts +126 -0
- package/utilities/dist/cjs/adapters/index.d.ts +45 -0
- package/utilities/dist/cjs/adapters/index.js +68 -0
- package/utilities/dist/cjs/adapters/platforms/web.d.ts +20 -0
- package/utilities/dist/cjs/adapters/platforms/web.js +286 -0
- package/utilities/dist/cjs/constants/common.d.ts +6 -0
- package/utilities/dist/cjs/constants/common.js +24 -0
- package/utilities/dist/cjs/constants/errors.d.ts +8 -0
- package/utilities/dist/cjs/constants/errors.js +12 -0
- package/utilities/dist/cjs/constants/index.d.ts +3 -0
- package/utilities/dist/cjs/constants/index.js +21 -0
- package/utilities/dist/cjs/helpers/decorators.d.ts +11 -0
- package/utilities/dist/cjs/helpers/decorators.js +238 -0
- package/utilities/dist/cjs/helpers/index.d.ts +1 -0
- package/utilities/dist/cjs/helpers/index.js +18 -0
- package/utilities/dist/cjs/index.d.ts +13 -0
- package/utilities/dist/cjs/index.js +51 -0
- package/utilities/dist/cjs/libs/abortController.d.ts +9 -0
- package/utilities/dist/cjs/libs/abortController.js +25 -0
- package/utilities/dist/cjs/libs/cache.d.ts +17 -0
- package/utilities/dist/cjs/libs/cache.js +261 -0
- package/utilities/dist/cjs/libs/events.d.ts +27 -0
- package/utilities/dist/cjs/libs/events.js +108 -0
- package/utilities/dist/cjs/libs/langEvent.d.ts +3 -0
- package/utilities/dist/cjs/libs/langEvent.js +7 -0
- package/utilities/dist/cjs/libs/util.d.ts +49 -0
- package/utilities/dist/cjs/libs/util.js +282 -0
- package/utilities/dist/esm/adapters/index.d.ts +45 -0
- package/utilities/dist/esm/adapters/index.js +40 -0
- package/utilities/dist/esm/adapters/platforms/web.d.ts +20 -0
- package/utilities/dist/esm/adapters/platforms/web.js +282 -0
- package/utilities/dist/esm/constants/common.d.ts +6 -0
- package/utilities/dist/esm/constants/common.js +17 -0
- package/utilities/dist/esm/constants/errors.d.ts +8 -0
- package/utilities/dist/esm/constants/errors.js +9 -0
- package/utilities/dist/esm/constants/index.d.ts +3 -0
- package/utilities/dist/esm/constants/index.js +4 -0
- package/utilities/dist/esm/helpers/decorators.d.ts +11 -0
- package/utilities/dist/esm/helpers/decorators.js +234 -0
- package/utilities/dist/esm/helpers/index.d.ts +1 -0
- package/utilities/dist/esm/helpers/index.js +2 -0
- package/utilities/dist/esm/index.d.ts +13 -0
- package/utilities/dist/esm/index.js +14 -0
- package/utilities/dist/esm/libs/abortController.d.ts +9 -0
- package/utilities/dist/esm/libs/abortController.js +23 -0
- package/utilities/dist/esm/libs/cache.d.ts +17 -0
- package/utilities/dist/esm/libs/cache.js +258 -0
- package/utilities/dist/esm/libs/events.d.ts +27 -0
- package/utilities/dist/esm/libs/events.js +102 -0
- package/utilities/dist/esm/libs/langEvent.d.ts +3 -0
- package/utilities/dist/esm/libs/langEvent.js +4 -0
- package/utilities/dist/esm/libs/util.d.ts +49 -0
- package/utilities/dist/esm/libs/util.js +254 -0
- package/utilities/dist/miniprogram/index.js +1 -0
- package/utilities/package.json +26 -0
- package/analytics/dist/index.d.ts +0 -2
- package/analytics/dist/index.esm.js +0 -4
- package/analytics/dist/index.js +0 -9
- package/analytics/package.json +0 -6
- package/database/dist/index.d.ts +0 -3
- package/database/dist/index.esm.js +0 -503
- package/database/dist/index.js +0 -509
- package/miniprogram_dist/analytics.js +0 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QuerySerializer = void 0;
|
|
4
|
+
var query_1 = require("../commands/query");
|
|
5
|
+
var logic_1 = require("../commands/logic");
|
|
6
|
+
var symbol_1 = require("../helper/symbol");
|
|
7
|
+
var type_1 = require("../utils/type");
|
|
8
|
+
var operator_map_1 = require("../operator-map");
|
|
9
|
+
var common_1 = require("./common");
|
|
10
|
+
var QuerySerializer = (function () {
|
|
11
|
+
function QuerySerializer() {
|
|
12
|
+
}
|
|
13
|
+
QuerySerializer.encode = function (query) {
|
|
14
|
+
var encoder = new QueryEncoder();
|
|
15
|
+
return encoder.encodeQuery(query);
|
|
16
|
+
};
|
|
17
|
+
return QuerySerializer;
|
|
18
|
+
}());
|
|
19
|
+
exports.QuerySerializer = QuerySerializer;
|
|
20
|
+
var QueryEncoder = (function () {
|
|
21
|
+
function QueryEncoder() {
|
|
22
|
+
}
|
|
23
|
+
QueryEncoder.prototype.encodeQuery = function (query, key) {
|
|
24
|
+
var _a;
|
|
25
|
+
if ((0, common_1.isConversionRequired)(query)) {
|
|
26
|
+
if ((0, logic_1.isLogicCommand)(query)) {
|
|
27
|
+
return this.encodeLogicCommand(query);
|
|
28
|
+
}
|
|
29
|
+
else if ((0, query_1.isQueryCommand)(query)) {
|
|
30
|
+
return this.encodeQueryCommand(query);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return _a = {}, _a[key] = this.encodeQueryObject(query), _a;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
if ((0, type_1.isObject)(query)) {
|
|
38
|
+
return this.encodeQueryObject(query);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return query;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
QueryEncoder.prototype.encodeRegExp = function (query) {
|
|
46
|
+
return {
|
|
47
|
+
$regex: query.source,
|
|
48
|
+
$options: query.flags
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
QueryEncoder.prototype.encodeLogicCommand = function (query) {
|
|
52
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
53
|
+
var _this = this;
|
|
54
|
+
switch (query.operator) {
|
|
55
|
+
case logic_1.LOGIC_COMMANDS_LITERAL.NOR:
|
|
56
|
+
case logic_1.LOGIC_COMMANDS_LITERAL.AND:
|
|
57
|
+
case logic_1.LOGIC_COMMANDS_LITERAL.OR: {
|
|
58
|
+
var $op = (0, operator_map_1.operatorToString)(query.operator);
|
|
59
|
+
var subqueries = query.operands.map(function (oprand) {
|
|
60
|
+
return _this.encodeQuery(oprand, query.fieldName);
|
|
61
|
+
});
|
|
62
|
+
return _a = {},
|
|
63
|
+
_a[$op] = subqueries,
|
|
64
|
+
_a;
|
|
65
|
+
}
|
|
66
|
+
case logic_1.LOGIC_COMMANDS_LITERAL.NOT: {
|
|
67
|
+
var $op = (0, operator_map_1.operatorToString)(query.operator);
|
|
68
|
+
var operatorExpression = query.operands[0];
|
|
69
|
+
if ((0, type_1.isRegExp)(operatorExpression)) {
|
|
70
|
+
return _b = {},
|
|
71
|
+
_b[query.fieldName] = (_c = {},
|
|
72
|
+
_c[$op] = this.encodeRegExp(operatorExpression),
|
|
73
|
+
_c),
|
|
74
|
+
_b;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
var subqueries = this.encodeQuery(operatorExpression)[query.fieldName];
|
|
78
|
+
return _d = {},
|
|
79
|
+
_d[query.fieldName] = (_e = {},
|
|
80
|
+
_e[$op] = subqueries,
|
|
81
|
+
_e),
|
|
82
|
+
_d;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
default: {
|
|
86
|
+
var $op = (0, operator_map_1.operatorToString)(query.operator);
|
|
87
|
+
if (query.operands.length === 1) {
|
|
88
|
+
var subquery = this.encodeQuery(query.operands[0]);
|
|
89
|
+
return _f = {},
|
|
90
|
+
_f[$op] = subquery,
|
|
91
|
+
_f;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
var subqueries = query.operands.map(this.encodeQuery.bind(this));
|
|
95
|
+
return _g = {},
|
|
96
|
+
_g[$op] = subqueries,
|
|
97
|
+
_g;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
QueryEncoder.prototype.encodeQueryCommand = function (query) {
|
|
103
|
+
if ((0, query_1.isComparisonCommand)(query)) {
|
|
104
|
+
return this.encodeComparisonCommand(query);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
return this.encodeComparisonCommand(query);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
QueryEncoder.prototype.encodeComparisonCommand = function (query) {
|
|
111
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
112
|
+
if (query.fieldName === symbol_1.SYMBOL_UNSET_FIELD_NAME) {
|
|
113
|
+
throw new Error('Cannot encode a comparison command with unset field name');
|
|
114
|
+
}
|
|
115
|
+
var $op = (0, operator_map_1.operatorToString)(query.operator);
|
|
116
|
+
switch (query.operator) {
|
|
117
|
+
case query_1.QUERY_COMMANDS_LITERAL.EQ:
|
|
118
|
+
case query_1.QUERY_COMMANDS_LITERAL.NEQ:
|
|
119
|
+
case query_1.QUERY_COMMANDS_LITERAL.LT:
|
|
120
|
+
case query_1.QUERY_COMMANDS_LITERAL.LTE:
|
|
121
|
+
case query_1.QUERY_COMMANDS_LITERAL.GT:
|
|
122
|
+
case query_1.QUERY_COMMANDS_LITERAL.GTE:
|
|
123
|
+
case query_1.QUERY_COMMANDS_LITERAL.ELEM_MATCH:
|
|
124
|
+
case query_1.QUERY_COMMANDS_LITERAL.EXISTS:
|
|
125
|
+
case query_1.QUERY_COMMANDS_LITERAL.SIZE:
|
|
126
|
+
case query_1.QUERY_COMMANDS_LITERAL.MOD: {
|
|
127
|
+
return _a = {},
|
|
128
|
+
_a[query.fieldName] = (_b = {},
|
|
129
|
+
_b[$op] = (0, common_1.encodeInternalDataType)(query.operands[0]),
|
|
130
|
+
_b),
|
|
131
|
+
_a;
|
|
132
|
+
}
|
|
133
|
+
case query_1.QUERY_COMMANDS_LITERAL.IN:
|
|
134
|
+
case query_1.QUERY_COMMANDS_LITERAL.NIN:
|
|
135
|
+
case query_1.QUERY_COMMANDS_LITERAL.ALL: {
|
|
136
|
+
return _c = {},
|
|
137
|
+
_c[query.fieldName] = (_d = {},
|
|
138
|
+
_d[$op] = (0, common_1.encodeInternalDataType)(query.operands),
|
|
139
|
+
_d),
|
|
140
|
+
_c;
|
|
141
|
+
}
|
|
142
|
+
case query_1.QUERY_COMMANDS_LITERAL.GEO_NEAR: {
|
|
143
|
+
var options = query.operands[0];
|
|
144
|
+
return _e = {},
|
|
145
|
+
_e[query.fieldName] = {
|
|
146
|
+
$nearSphere: {
|
|
147
|
+
$geometry: options.geometry.toJSON(),
|
|
148
|
+
$maxDistance: options.maxDistance,
|
|
149
|
+
$minDistance: options.minDistance
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
_e;
|
|
153
|
+
}
|
|
154
|
+
case query_1.QUERY_COMMANDS_LITERAL.GEO_WITHIN: {
|
|
155
|
+
var options = query.operands[0];
|
|
156
|
+
return _f = {},
|
|
157
|
+
_f[query.fieldName] = {
|
|
158
|
+
$geoWithin: {
|
|
159
|
+
$geometry: options.geometry.toJSON()
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
_f;
|
|
163
|
+
}
|
|
164
|
+
case query_1.QUERY_COMMANDS_LITERAL.GEO_INTERSECTS: {
|
|
165
|
+
var options = query.operands[0];
|
|
166
|
+
return _g = {},
|
|
167
|
+
_g[query.fieldName] = {
|
|
168
|
+
$geoIntersects: {
|
|
169
|
+
$geometry: options.geometry.toJSON()
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
_g;
|
|
173
|
+
}
|
|
174
|
+
default: {
|
|
175
|
+
return _h = {},
|
|
176
|
+
_h[query.fieldName] = (_j = {},
|
|
177
|
+
_j[$op] = (0, common_1.encodeInternalDataType)(query.operands[0]),
|
|
178
|
+
_j),
|
|
179
|
+
_h;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
QueryEncoder.prototype.encodeQueryObject = function (query) {
|
|
184
|
+
var flattened = (0, common_1.flattenQueryObject)(query);
|
|
185
|
+
for (var key in flattened) {
|
|
186
|
+
var val = flattened[key];
|
|
187
|
+
if ((0, logic_1.isLogicCommand)(val)) {
|
|
188
|
+
flattened[key] = val._setFieldName(key);
|
|
189
|
+
var condition = this.encodeLogicCommand(flattened[key]);
|
|
190
|
+
this.mergeConditionAfterEncode(flattened, condition, key);
|
|
191
|
+
}
|
|
192
|
+
else if ((0, query_1.isComparisonCommand)(val)) {
|
|
193
|
+
flattened[key] = val._setFieldName(key);
|
|
194
|
+
var condition = this.encodeComparisonCommand(flattened[key]);
|
|
195
|
+
this.mergeConditionAfterEncode(flattened, condition, key);
|
|
196
|
+
}
|
|
197
|
+
else if ((0, common_1.isConversionRequired)(val)) {
|
|
198
|
+
flattened[key] = (0, common_1.encodeInternalDataType)(val);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return flattened;
|
|
202
|
+
};
|
|
203
|
+
QueryEncoder.prototype.mergeConditionAfterEncode = function (query, condition, key) {
|
|
204
|
+
if (!condition[key]) {
|
|
205
|
+
delete query[key];
|
|
206
|
+
}
|
|
207
|
+
for (var conditionKey in condition) {
|
|
208
|
+
if (query[conditionKey]) {
|
|
209
|
+
if ((0, type_1.isArray)(query[conditionKey])) {
|
|
210
|
+
query[conditionKey] = query[conditionKey].concat(condition[conditionKey]);
|
|
211
|
+
}
|
|
212
|
+
else if ((0, type_1.isObject)(query[conditionKey])) {
|
|
213
|
+
if ((0, type_1.isObject)(condition[conditionKey])) {
|
|
214
|
+
Object.assign(query, condition);
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
console.warn("unmergable condition, query is object but condition is ".concat((0, type_1.getType)(condition), ", can only overwrite"), condition, key);
|
|
218
|
+
query[conditionKey] = condition[conditionKey];
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
else {
|
|
222
|
+
console.warn("to-merge query is of type ".concat((0, type_1.getType)(query), ", can only overwrite"), query, condition, key);
|
|
223
|
+
query[conditionKey] = condition[conditionKey];
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
query[conditionKey] = condition[conditionKey];
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
return QueryEncoder;
|
|
232
|
+
}());
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { UpdateCommand } from '../commands/update';
|
|
2
|
+
import { LogicCommand } from '../commands/logic';
|
|
3
|
+
export type IQueryCondition = Record<string, any> | LogicCommand;
|
|
4
|
+
export interface IUpdateCondition {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}
|
|
7
|
+
export declare class UpdateSerializer {
|
|
8
|
+
private constructor();
|
|
9
|
+
static encode(query: IQueryCondition | UpdateCommand): IUpdateCondition;
|
|
10
|
+
encodeUpdate(query: IQueryCondition | UpdateCommand): IUpdateCondition;
|
|
11
|
+
encodeUpdateCommand(query: UpdateCommand): IQueryCondition;
|
|
12
|
+
encodeFieldUpdateCommand(query: UpdateCommand): IQueryCondition;
|
|
13
|
+
encodeArrayUpdateCommand(query: UpdateCommand): IQueryCondition;
|
|
14
|
+
encodeUpdateObject(query: Record<string, any>): IQueryCondition;
|
|
15
|
+
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateSerializer = void 0;
|
|
4
|
+
var update_1 = require("../commands/update");
|
|
5
|
+
var symbol_1 = require("../helper/symbol");
|
|
6
|
+
var type_1 = require("../utils/type");
|
|
7
|
+
var operator_map_1 = require("../operator-map");
|
|
8
|
+
var common_1 = require("./common");
|
|
9
|
+
var UpdateSerializer = (function () {
|
|
10
|
+
function UpdateSerializer() {
|
|
11
|
+
}
|
|
12
|
+
UpdateSerializer.encode = function (query) {
|
|
13
|
+
var stringifier = new UpdateSerializer();
|
|
14
|
+
return stringifier.encodeUpdate(query);
|
|
15
|
+
};
|
|
16
|
+
UpdateSerializer.prototype.encodeUpdate = function (query) {
|
|
17
|
+
if ((0, update_1.isUpdateCommand)(query)) {
|
|
18
|
+
return this.encodeUpdateCommand(query);
|
|
19
|
+
}
|
|
20
|
+
else if ((0, type_1.getType)(query) === 'object') {
|
|
21
|
+
return this.encodeUpdateObject(query);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return query;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
UpdateSerializer.prototype.encodeUpdateCommand = function (query) {
|
|
28
|
+
if (query.fieldName === symbol_1.SYMBOL_UNSET_FIELD_NAME) {
|
|
29
|
+
throw new Error('Cannot encode a comparison command with unset field name');
|
|
30
|
+
}
|
|
31
|
+
switch (query.operator) {
|
|
32
|
+
case update_1.UPDATE_COMMANDS_LITERAL.PUSH:
|
|
33
|
+
case update_1.UPDATE_COMMANDS_LITERAL.PULL:
|
|
34
|
+
case update_1.UPDATE_COMMANDS_LITERAL.PULL_ALL:
|
|
35
|
+
case update_1.UPDATE_COMMANDS_LITERAL.POP:
|
|
36
|
+
case update_1.UPDATE_COMMANDS_LITERAL.SHIFT:
|
|
37
|
+
case update_1.UPDATE_COMMANDS_LITERAL.UNSHIFT:
|
|
38
|
+
case update_1.UPDATE_COMMANDS_LITERAL.ADD_TO_SET: {
|
|
39
|
+
return this.encodeArrayUpdateCommand(query);
|
|
40
|
+
}
|
|
41
|
+
default: {
|
|
42
|
+
return this.encodeFieldUpdateCommand(query);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
UpdateSerializer.prototype.encodeFieldUpdateCommand = function (query) {
|
|
47
|
+
var _a, _b, _c, _d;
|
|
48
|
+
var $op = (0, operator_map_1.operatorToString)(query.operator);
|
|
49
|
+
switch (query.operator) {
|
|
50
|
+
case update_1.UPDATE_COMMANDS_LITERAL.REMOVE: {
|
|
51
|
+
return _a = {},
|
|
52
|
+
_a[$op] = (_b = {},
|
|
53
|
+
_b[query.fieldName] = '',
|
|
54
|
+
_b),
|
|
55
|
+
_a;
|
|
56
|
+
}
|
|
57
|
+
default: {
|
|
58
|
+
return _c = {},
|
|
59
|
+
_c[$op] = (_d = {},
|
|
60
|
+
_d[query.fieldName] = query.operands[0],
|
|
61
|
+
_d),
|
|
62
|
+
_c;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
UpdateSerializer.prototype.encodeArrayUpdateCommand = function (query) {
|
|
67
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
68
|
+
var $op = (0, operator_map_1.operatorToString)(query.operator);
|
|
69
|
+
switch (query.operator) {
|
|
70
|
+
case update_1.UPDATE_COMMANDS_LITERAL.PUSH: {
|
|
71
|
+
var modifiers = void 0;
|
|
72
|
+
if ((0, type_1.isArray)(query.operands)) {
|
|
73
|
+
modifiers = {
|
|
74
|
+
$each: query.operands.map(common_1.encodeInternalDataType)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
modifiers = query.operands;
|
|
79
|
+
}
|
|
80
|
+
return _a = {},
|
|
81
|
+
_a[$op] = (_b = {},
|
|
82
|
+
_b[query.fieldName] = modifiers,
|
|
83
|
+
_b),
|
|
84
|
+
_a;
|
|
85
|
+
}
|
|
86
|
+
case update_1.UPDATE_COMMANDS_LITERAL.UNSHIFT: {
|
|
87
|
+
var modifiers = {
|
|
88
|
+
$each: query.operands.map(common_1.encodeInternalDataType),
|
|
89
|
+
$position: 0
|
|
90
|
+
};
|
|
91
|
+
return _c = {},
|
|
92
|
+
_c[$op] = (_d = {},
|
|
93
|
+
_d[query.fieldName] = modifiers,
|
|
94
|
+
_d),
|
|
95
|
+
_c;
|
|
96
|
+
}
|
|
97
|
+
case update_1.UPDATE_COMMANDS_LITERAL.POP: {
|
|
98
|
+
return _e = {},
|
|
99
|
+
_e[$op] = (_f = {},
|
|
100
|
+
_f[query.fieldName] = 1,
|
|
101
|
+
_f),
|
|
102
|
+
_e;
|
|
103
|
+
}
|
|
104
|
+
case update_1.UPDATE_COMMANDS_LITERAL.SHIFT: {
|
|
105
|
+
return _g = {},
|
|
106
|
+
_g[$op] = (_h = {},
|
|
107
|
+
_h[query.fieldName] = -1,
|
|
108
|
+
_h),
|
|
109
|
+
_g;
|
|
110
|
+
}
|
|
111
|
+
default: {
|
|
112
|
+
return _j = {},
|
|
113
|
+
_j[$op] = (_k = {},
|
|
114
|
+
_k[query.fieldName] = (0, common_1.encodeInternalDataType)(query.operands),
|
|
115
|
+
_k),
|
|
116
|
+
_j;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
UpdateSerializer.prototype.encodeUpdateObject = function (query) {
|
|
121
|
+
var flattened = (0, common_1.flattenQueryObject)(query);
|
|
122
|
+
for (var key in flattened) {
|
|
123
|
+
if (/^\$/.test(key))
|
|
124
|
+
continue;
|
|
125
|
+
var val = flattened[key];
|
|
126
|
+
if ((0, update_1.isUpdateCommand)(val)) {
|
|
127
|
+
flattened[key] = val._setFieldName(key);
|
|
128
|
+
var condition = this.encodeUpdateCommand(flattened[key]);
|
|
129
|
+
(0, common_1.mergeConditionAfterEncode)(flattened, condition, key);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
flattened[key] = val = (0, common_1.encodeInternalDataType)(val);
|
|
133
|
+
var $setCommand = new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.SET, [val], key);
|
|
134
|
+
var condition = this.encodeUpdateCommand($setCommand);
|
|
135
|
+
(0, common_1.mergeConditionAfterEncode)(flattened, condition, key);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return flattened;
|
|
139
|
+
};
|
|
140
|
+
return UpdateSerializer;
|
|
141
|
+
}());
|
|
142
|
+
exports.UpdateSerializer = UpdateSerializer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class ServerDate {
|
|
2
|
+
readonly offset: number;
|
|
3
|
+
constructor({ offset }?: {
|
|
4
|
+
offset?: number;
|
|
5
|
+
});
|
|
6
|
+
get _internalType(): import("../utils/symbol").InternalSymbol;
|
|
7
|
+
parse(): {
|
|
8
|
+
$date: {
|
|
9
|
+
offset: number;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare function ServerDateConstructor(opt: any): ServerDate;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServerDateConstructor = exports.ServerDate = void 0;
|
|
4
|
+
var symbol_1 = require("../helper/symbol");
|
|
5
|
+
var ServerDate = (function () {
|
|
6
|
+
function ServerDate(_a) {
|
|
7
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.offset, offset = _c === void 0 ? 0 : _c;
|
|
8
|
+
this.offset = offset;
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(ServerDate.prototype, "_internalType", {
|
|
11
|
+
get: function () {
|
|
12
|
+
return symbol_1.SYMBOL_SERVER_DATE;
|
|
13
|
+
},
|
|
14
|
+
enumerable: false,
|
|
15
|
+
configurable: true
|
|
16
|
+
});
|
|
17
|
+
ServerDate.prototype.parse = function () {
|
|
18
|
+
return {
|
|
19
|
+
$date: {
|
|
20
|
+
offset: this.offset
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
return ServerDate;
|
|
25
|
+
}());
|
|
26
|
+
exports.ServerDate = ServerDate;
|
|
27
|
+
function ServerDateConstructor(opt) {
|
|
28
|
+
return new ServerDate(opt);
|
|
29
|
+
}
|
|
30
|
+
exports.ServerDateConstructor = ServerDateConstructor;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.CollectionReference = void 0;
|
|
19
|
+
var document_1 = require("./document");
|
|
20
|
+
var query_1 = require("./query");
|
|
21
|
+
var CollectionReference = (function (_super) {
|
|
22
|
+
__extends(CollectionReference, _super);
|
|
23
|
+
function CollectionReference(transaction, coll) {
|
|
24
|
+
return _super.call(this, transaction, coll) || this;
|
|
25
|
+
}
|
|
26
|
+
Object.defineProperty(CollectionReference.prototype, "name", {
|
|
27
|
+
get: function () {
|
|
28
|
+
return this._coll;
|
|
29
|
+
},
|
|
30
|
+
enumerable: false,
|
|
31
|
+
configurable: true
|
|
32
|
+
});
|
|
33
|
+
CollectionReference.prototype.doc = function (docID) {
|
|
34
|
+
if (typeof docID !== 'string' && typeof docID !== 'number') {
|
|
35
|
+
throw new Error('docId必须为字符串或数字');
|
|
36
|
+
}
|
|
37
|
+
return new document_1.DocumentReference(this._transaction, this._coll, docID);
|
|
38
|
+
};
|
|
39
|
+
CollectionReference.prototype.add = function (data) {
|
|
40
|
+
var docID;
|
|
41
|
+
if (data._id !== undefined) {
|
|
42
|
+
docID = data._id;
|
|
43
|
+
}
|
|
44
|
+
var docRef = new document_1.DocumentReference(this._transaction, this._coll, docID);
|
|
45
|
+
return docRef.create(data);
|
|
46
|
+
};
|
|
47
|
+
return CollectionReference;
|
|
48
|
+
}(query_1.Query));
|
|
49
|
+
exports.CollectionReference = CollectionReference;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
interface GetResult {
|
|
2
|
+
requestId: string;
|
|
3
|
+
data: any;
|
|
4
|
+
}
|
|
5
|
+
interface UpdateResult {
|
|
6
|
+
requestId: string;
|
|
7
|
+
updated: number;
|
|
8
|
+
}
|
|
9
|
+
type JsonString = string;
|
|
10
|
+
interface SetResult extends UpdateResult {
|
|
11
|
+
upserted: JsonString;
|
|
12
|
+
}
|
|
13
|
+
interface DeleteResult {
|
|
14
|
+
requestId: string;
|
|
15
|
+
deleted: number | string;
|
|
16
|
+
}
|
|
17
|
+
export declare class DocumentReference {
|
|
18
|
+
readonly id: string | number;
|
|
19
|
+
private _transaction;
|
|
20
|
+
private _transactionId;
|
|
21
|
+
create(data: any): Promise<any>;
|
|
22
|
+
get(): Promise<GetResult>;
|
|
23
|
+
set(data: Object): Promise<SetResult>;
|
|
24
|
+
update(data: Object): Promise<UpdateResult>;
|
|
25
|
+
delete(): Promise<DeleteResult>;
|
|
26
|
+
}
|
|
27
|
+
export {};
|