@cloudbase/database 1.4.1 → 1.4.2
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/.trunk/configs/.markdownlint.yaml +10 -0
- package/.trunk/trunk.yaml +26 -0
- package/dist/commonjs/ObjectId/index.d.ts +11 -11
- package/dist/commonjs/ObjectId/index.js +21 -21
- package/dist/commonjs/aggregate.d.ts +29 -29
- package/dist/commonjs/aggregate.js +124 -124
- package/dist/commonjs/collection.d.ts +17 -17
- package/dist/commonjs/collection.js +72 -72
- package/dist/commonjs/command.d.ts +175 -175
- package/dist/commonjs/command.js +285 -285
- package/dist/commonjs/commands/logic.d.ts +24 -24
- package/dist/commonjs/commands/logic.js +79 -79
- package/dist/commonjs/commands/query.d.ts +73 -73
- package/dist/commonjs/commands/query.js +147 -147
- package/dist/commonjs/commands/update.d.ts +29 -29
- package/dist/commonjs/commands/update.js +49 -49
- package/dist/commonjs/config/app.config.d.ts +6 -6
- package/dist/commonjs/config/app.config.js +7 -7
- package/dist/commonjs/config/error.config.d.ts +3 -3
- package/dist/commonjs/config/error.config.js +15 -15
- package/dist/commonjs/const/code.d.ts +34 -34
- package/dist/commonjs/const/code.js +36 -36
- package/dist/commonjs/constant.d.ts +54 -54
- package/dist/commonjs/constant.js +76 -76
- package/dist/commonjs/document.d.ts +14 -14
- package/dist/commonjs/document.js +217 -219
- package/dist/commonjs/geo/index.d.ts +6 -6
- package/dist/commonjs/geo/index.js +11 -11
- package/dist/commonjs/geo/interface.d.ts +24 -24
- package/dist/commonjs/geo/interface.js +2 -2
- package/dist/commonjs/geo/lineString.d.ts +19 -19
- package/dist/commonjs/geo/lineString.js +57 -57
- package/dist/commonjs/geo/multiLineString.d.ts +18 -18
- package/dist/commonjs/geo/multiLineString.js +56 -56
- package/dist/commonjs/geo/multiPoint.d.ts +18 -18
- package/dist/commonjs/geo/multiPoint.js +50 -50
- package/dist/commonjs/geo/multiPolygon.d.ts +18 -18
- package/dist/commonjs/geo/multiPolygon.js +62 -62
- package/dist/commonjs/geo/point.d.ts +19 -19
- package/dist/commonjs/geo/point.js +43 -43
- package/dist/commonjs/geo/polygon.d.ts +19 -19
- package/dist/commonjs/geo/polygon.js +70 -70
- package/dist/commonjs/helper/symbol.d.ts +15 -15
- package/dist/commonjs/helper/symbol.js +20 -20
- package/dist/commonjs/index.d.ts +50 -50
- package/dist/commonjs/index.js +41 -41
- package/dist/commonjs/operator-map.d.ts +4 -4
- package/dist/commonjs/operator-map.js +23 -23
- package/dist/commonjs/query.d.ts +38 -38
- package/dist/commonjs/query.js +249 -247
- package/dist/commonjs/realtime/error.d.ts +7 -7
- package/dist/commonjs/realtime/error.js +11 -11
- package/dist/commonjs/realtime/listener.d.ts +14 -14
- package/dist/commonjs/realtime/listener.js +17 -17
- package/dist/commonjs/realtime/message.d.ts +3 -3
- package/dist/commonjs/realtime/message.js +10 -10
- package/dist/commonjs/realtime/snapshot.d.ts +16 -16
- package/dist/commonjs/realtime/snapshot.js +42 -42
- package/dist/commonjs/realtime/virtual-websocket-client.d.ts +63 -63
- package/dist/commonjs/realtime/virtual-websocket-client.js +736 -736
- package/dist/commonjs/realtime/websocket-client.d.ts +78 -78
- package/dist/commonjs/realtime/websocket-client.js +567 -567
- package/dist/commonjs/realtime/ws-event.d.ts +126 -126
- package/dist/commonjs/realtime/ws-event.js +139 -139
- package/dist/commonjs/regexp/index.d.ts +18 -18
- package/dist/commonjs/regexp/index.js +30 -30
- package/dist/commonjs/serializer/common.d.ts +11 -11
- package/dist/commonjs/serializer/common.js +90 -90
- package/dist/commonjs/serializer/datatype.d.ts +7 -7
- package/dist/commonjs/serializer/datatype.js +99 -99
- package/dist/commonjs/serializer/query.d.ts +8 -8
- package/dist/commonjs/serializer/query.js +254 -254
- package/dist/commonjs/serializer/update.d.ts +16 -16
- package/dist/commonjs/serializer/update.js +142 -142
- package/dist/commonjs/serverDate/index.d.ts +13 -13
- package/dist/commonjs/serverDate/index.js +23 -23
- package/dist/commonjs/transaction/index.d.ts +30 -30
- package/dist/commonjs/transaction/index.js +105 -105
- package/dist/commonjs/transaction.d.ts +42 -42
- package/dist/commonjs/transaction.js +126 -126
- package/dist/commonjs/typings/index.d.ts +45 -45
- package/dist/commonjs/typings/index.js +2 -2
- package/dist/commonjs/typings/realtime.d.ts +219 -219
- package/dist/commonjs/typings/realtime.js +2 -2
- package/dist/commonjs/util.d.ts +9 -9
- package/dist/commonjs/util.js +101 -101
- package/dist/commonjs/utils/error.d.ts +37 -37
- package/dist/commonjs/utils/error.js +55 -55
- package/dist/commonjs/utils/symbol.d.ts +8 -8
- package/dist/commonjs/utils/symbol.js +39 -39
- package/dist/commonjs/utils/type.d.ts +13 -13
- package/dist/commonjs/utils/type.js +22 -22
- package/dist/commonjs/utils/utils.d.ts +20 -19
- package/dist/commonjs/utils/utils.js +59 -59
- package/dist/commonjs/validate.d.ts +1 -1
- package/dist/commonjs/validate.js +155 -155
- package/package.json +2 -3
- package/src/document.ts +1 -3
- package/src/query.ts +1 -0
- package/dist/esm/ObjectId/index.d.ts +0 -11
- package/dist/esm/ObjectId/index.js +0 -17
- package/dist/esm/aggregate.d.ts +0 -29
- package/dist/esm/aggregate.js +0 -121
- package/dist/esm/collection.d.ts +0 -17
- package/dist/esm/collection.js +0 -69
- package/dist/esm/command.d.ts +0 -175
- package/dist/esm/command.js +0 -281
- package/dist/esm/commands/logic.d.ts +0 -24
- package/dist/esm/commands/logic.js +0 -74
- package/dist/esm/commands/query.d.ts +0 -73
- package/dist/esm/commands/query.js +0 -141
- package/dist/esm/commands/update.d.ts +0 -29
- package/dist/esm/commands/update.js +0 -44
- package/dist/esm/config/app.config.d.ts +0 -6
- package/dist/esm/config/app.config.js +0 -5
- package/dist/esm/config/error.config.d.ts +0 -3
- package/dist/esm/config/error.config.js +0 -13
- package/dist/esm/const/code.d.ts +0 -34
- package/dist/esm/const/code.js +0 -34
- package/dist/esm/constant.d.ts +0 -54
- package/dist/esm/constant.js +0 -67
- package/dist/esm/document.d.ts +0 -14
- package/dist/esm/document.js +0 -216
- package/dist/esm/geo/index.d.ts +0 -6
- package/dist/esm/geo/index.js +0 -6
- package/dist/esm/geo/interface.d.ts +0 -24
- package/dist/esm/geo/interface.js +0 -0
- package/dist/esm/geo/lineString.d.ts +0 -19
- package/dist/esm/geo/lineString.js +0 -54
- package/dist/esm/geo/multiLineString.d.ts +0 -18
- package/dist/esm/geo/multiLineString.js +0 -53
- package/dist/esm/geo/multiPoint.d.ts +0 -18
- package/dist/esm/geo/multiPoint.js +0 -47
- package/dist/esm/geo/multiPolygon.d.ts +0 -18
- package/dist/esm/geo/multiPolygon.js +0 -59
- package/dist/esm/geo/point.d.ts +0 -19
- package/dist/esm/geo/point.js +0 -40
- package/dist/esm/geo/polygon.d.ts +0 -19
- package/dist/esm/geo/polygon.js +0 -67
- package/dist/esm/helper/symbol.d.ts +0 -15
- package/dist/esm/helper/symbol.js +0 -15
- package/dist/esm/index.d.ts +0 -50
- package/dist/esm/index.js +0 -35
- package/dist/esm/operator-map.d.ts +0 -4
- package/dist/esm/operator-map.js +0 -20
- package/dist/esm/query.d.ts +0 -38
- package/dist/esm/query.js +0 -244
- package/dist/esm/realtime/error.d.ts +0 -7
- package/dist/esm/realtime/error.js +0 -8
- package/dist/esm/realtime/listener.d.ts +0 -14
- package/dist/esm/realtime/listener.js +0 -14
- package/dist/esm/realtime/message.d.ts +0 -3
- package/dist/esm/realtime/message.js +0 -6
- package/dist/esm/realtime/snapshot.d.ts +0 -16
- package/dist/esm/realtime/snapshot.js +0 -39
- package/dist/esm/realtime/virtual-websocket-client.d.ts +0 -63
- package/dist/esm/realtime/virtual-websocket-client.js +0 -733
- package/dist/esm/realtime/websocket-client.d.ts +0 -78
- package/dist/esm/realtime/websocket-client.js +0 -564
- package/dist/esm/realtime/ws-event.d.ts +0 -126
- package/dist/esm/realtime/ws-event.js +0 -137
- package/dist/esm/regexp/index.d.ts +0 -18
- package/dist/esm/regexp/index.js +0 -26
- package/dist/esm/serializer/common.d.ts +0 -11
- package/dist/esm/serializer/common.js +0 -82
- package/dist/esm/serializer/datatype.d.ts +0 -7
- package/dist/esm/serializer/datatype.js +0 -95
- package/dist/esm/serializer/query.d.ts +0 -8
- package/dist/esm/serializer/query.js +0 -251
- package/dist/esm/serializer/update.d.ts +0 -16
- package/dist/esm/serializer/update.js +0 -139
- package/dist/esm/serverDate/index.d.ts +0 -13
- package/dist/esm/serverDate/index.js +0 -19
- package/dist/esm/transaction/index.d.ts +0 -30
- package/dist/esm/transaction/index.js +0 -100
- package/dist/esm/transaction.d.ts +0 -42
- package/dist/esm/transaction.js +0 -121
- package/dist/esm/typings/index.d.ts +0 -45
- package/dist/esm/typings/index.js +0 -0
- package/dist/esm/typings/realtime.d.ts +0 -219
- package/dist/esm/typings/realtime.js +0 -0
- package/dist/esm/util.d.ts +0 -9
- package/dist/esm/util.js +0 -98
- package/dist/esm/utils/error.d.ts +0 -37
- package/dist/esm/utils/error.js +0 -49
- package/dist/esm/utils/msg.d.ts +0 -0
- package/dist/esm/utils/msg.js +0 -0
- package/dist/esm/utils/symbol.d.ts +0 -8
- package/dist/esm/utils/symbol.js +0 -36
- package/dist/esm/utils/type.d.ts +0 -13
- package/dist/esm/utils/type.js +0 -20
- package/dist/esm/utils/utils.d.ts +0 -19
- package/dist/esm/utils/utils.js +0 -55
- package/dist/esm/validate.d.ts +0 -1
- package/dist/esm/validate.js +0 -152
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { QueryOption, UpdateOption } from '../query';
|
|
2
|
-
export declare const sleep: (ms?: number) => Promise<unknown>;
|
|
3
|
-
export declare const autoCount: (domain?: string) => number;
|
|
4
|
-
export declare const getReqOpts: (apiOptions: QueryOption | UpdateOption) => any;
|
|
5
|
-
export declare const filterUndefined: (o: any) => any;
|
|
6
|
-
export declare const stringifyByEJSON: (params: any) => any;
|
|
7
|
-
export declare const parseByEJSON: (params: any) => any;
|
|
8
|
-
export declare class TcbError extends Error {
|
|
9
|
-
readonly code: string;
|
|
10
|
-
readonly message: string;
|
|
11
|
-
constructor(error: IErrorInfo);
|
|
12
|
-
}
|
|
13
|
-
export declare const E: (errObj: IErrorInfo) => TcbError;
|
|
14
|
-
export declare function processReturn(throwOnCode: boolean, res: any): any;
|
|
15
|
-
interface IErrorInfo {
|
|
16
|
-
code?: string;
|
|
17
|
-
message?: string;
|
|
18
|
-
}
|
|
19
|
-
export {};
|
package/dist/esm/utils/utils.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { EJSON } from 'bson';
|
|
2
|
-
import { isObject } from './type';
|
|
3
|
-
export const sleep = (ms = 0) => new Promise(r => setTimeout(r, ms));
|
|
4
|
-
const counters = {};
|
|
5
|
-
export const autoCount = (domain = 'any') => {
|
|
6
|
-
if (!counters[domain]) {
|
|
7
|
-
counters[domain] = 0;
|
|
8
|
-
}
|
|
9
|
-
return counters[domain]++;
|
|
10
|
-
};
|
|
11
|
-
export const getReqOpts = (apiOptions) => {
|
|
12
|
-
if (apiOptions.timeout !== undefined) {
|
|
13
|
-
return {
|
|
14
|
-
timeout: apiOptions.timeout
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
return {};
|
|
18
|
-
};
|
|
19
|
-
export const filterUndefined = o => {
|
|
20
|
-
if (!isObject(o)) {
|
|
21
|
-
return o;
|
|
22
|
-
}
|
|
23
|
-
for (let key in o) {
|
|
24
|
-
if (o[key] === undefined) {
|
|
25
|
-
delete o[key];
|
|
26
|
-
}
|
|
27
|
-
else if (isObject(o[key])) {
|
|
28
|
-
o[key] = filterUndefined(o[key]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return o;
|
|
32
|
-
};
|
|
33
|
-
export const stringifyByEJSON = params => {
|
|
34
|
-
params = filterUndefined(params);
|
|
35
|
-
return EJSON.stringify(params, { relaxed: false });
|
|
36
|
-
};
|
|
37
|
-
export const parseByEJSON = params => {
|
|
38
|
-
return EJSON.parse(params);
|
|
39
|
-
};
|
|
40
|
-
export class TcbError extends Error {
|
|
41
|
-
constructor(error) {
|
|
42
|
-
super(error.message);
|
|
43
|
-
this.code = error.code;
|
|
44
|
-
this.message = error.message;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
export const E = (errObj) => {
|
|
48
|
-
return new TcbError(errObj);
|
|
49
|
-
};
|
|
50
|
-
export function processReturn(throwOnCode, res) {
|
|
51
|
-
if (throwOnCode === false) {
|
|
52
|
-
return res;
|
|
53
|
-
}
|
|
54
|
-
throw E(Object.assign({}, res));
|
|
55
|
-
}
|
package/dist/esm/validate.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/esm/validate.js
DELETED
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { ErrorCode, WhereFilterOpList, OrderDirectionList, FieldType } from './constant';
|
|
2
|
-
import { Util } from './util';
|
|
3
|
-
import { ERRORS } from './const/code';
|
|
4
|
-
import { E } from './utils/utils';
|
|
5
|
-
import { getType } from './utils/type';
|
|
6
|
-
import { SYMBOL_GEO_POINT } from './helper/symbol';
|
|
7
|
-
const validOptionsKeys = ['limit', 'offset', 'projection', 'order', 'multiple', 'timeout', 'raw'];
|
|
8
|
-
export class Validate {
|
|
9
|
-
static isGeopoint(point, degree) {
|
|
10
|
-
if (Util.whichType(degree) !== FieldType.Number) {
|
|
11
|
-
throw new Error('Geo Point must be number type');
|
|
12
|
-
}
|
|
13
|
-
const degreeAbs = Math.abs(degree);
|
|
14
|
-
if (point === 'latitude' && degreeAbs > 90) {
|
|
15
|
-
throw new Error('latitude should be a number ranges from -90 to 90');
|
|
16
|
-
}
|
|
17
|
-
else if (point === 'longitude' && degreeAbs > 180) {
|
|
18
|
-
throw new Error('longitude should be a number ranges from -180 to 180');
|
|
19
|
-
}
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
static isInteger(param, num) {
|
|
23
|
-
if (!Number.isInteger(num)) {
|
|
24
|
-
throw new Error(param + ErrorCode.IntergerError);
|
|
25
|
-
}
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
static mustBeBoolean(param, bool) {
|
|
29
|
-
if (typeof bool !== 'boolean') {
|
|
30
|
-
throw new Error(param + ErrorCode.BooleanError);
|
|
31
|
-
}
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
static isProjection(param, value) {
|
|
35
|
-
if (getType(value) !== 'object') {
|
|
36
|
-
throw E(Object.assign(Object.assign({}, ERRORS.INVALID_PARAM), { message: `${param} projection must be an object` }));
|
|
37
|
-
}
|
|
38
|
-
for (const key in value) {
|
|
39
|
-
const subValue = value[key];
|
|
40
|
-
if (getType(subValue) === 'number') {
|
|
41
|
-
if (subValue !== 0 && subValue !== 1) {
|
|
42
|
-
throw E(Object.assign(Object.assign({}, ERRORS.INVALID_PARAM), { message: `if the value in projection is of number, it must be 0 or 1` }));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else if (getType(subValue) === 'object') {
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
throw E(Object.assign(Object.assign({}, ERRORS.INVALID_PARAM), { message: 'invalid projection' }));
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
static isOrder(param, value) {
|
|
54
|
-
if (getType(value) !== 'object') {
|
|
55
|
-
throw E(Object.assign(Object.assign({}, ERRORS.INVALID_PARAM), { message: `${param} order must be an object` }));
|
|
56
|
-
}
|
|
57
|
-
for (let key in value) {
|
|
58
|
-
const subValue = value[key];
|
|
59
|
-
if (subValue !== 1 && subValue !== -1) {
|
|
60
|
-
throw E(Object.assign(Object.assign({}, ERRORS.INVALID_PARAM), { message: `order value must be 1 or -1` }));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
static isFieldOrder(direction) {
|
|
66
|
-
if (OrderDirectionList.indexOf(direction) === -1) {
|
|
67
|
-
throw new Error(ErrorCode.DirectionError);
|
|
68
|
-
}
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
static isFieldPath(path) {
|
|
72
|
-
if (!/^[a-zA-Z0-9-_\.]/.test(path)) {
|
|
73
|
-
throw new Error();
|
|
74
|
-
}
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
static isOperator(op) {
|
|
78
|
-
if (WhereFilterOpList.indexOf(op) === -1) {
|
|
79
|
-
throw new Error(ErrorCode.OpStrError);
|
|
80
|
-
}
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
static isCollName(name) {
|
|
84
|
-
if (!/^[a-zA-Z0-9]([a-zA-Z0-9-_]){1,32}$/.test(name)) {
|
|
85
|
-
throw new Error(ErrorCode.CollNameError);
|
|
86
|
-
}
|
|
87
|
-
return true;
|
|
88
|
-
}
|
|
89
|
-
static isDocID(docId) {
|
|
90
|
-
if (!/^([a-fA-F0-9]){24}$/.test(docId)) {
|
|
91
|
-
throw new Error(ErrorCode.DocIDError);
|
|
92
|
-
}
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
static isValidOptions(options = {}) {
|
|
96
|
-
if (getType(options) !== 'object') {
|
|
97
|
-
throw E(Object.assign(Object.assign({}, ERRORS.INVALID_PARAM), { message: `options must be an object` }));
|
|
98
|
-
}
|
|
99
|
-
const keys = Object.keys(options);
|
|
100
|
-
for (const index in keys) {
|
|
101
|
-
if (validOptionsKeys.indexOf(keys[index]) < 0) {
|
|
102
|
-
throw E(Object.assign(Object.assign({}, ERRORS.INVALID_PARAM), { message: `${keys[index]} is invalid options key` }));
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
const { limit, offset, projection, order } = options;
|
|
106
|
-
const { multiple } = options;
|
|
107
|
-
if (limit !== undefined) {
|
|
108
|
-
Validate.isInteger('limit', limit);
|
|
109
|
-
}
|
|
110
|
-
if (offset !== undefined) {
|
|
111
|
-
Validate.isInteger('offset', offset);
|
|
112
|
-
}
|
|
113
|
-
if (projection !== undefined) {
|
|
114
|
-
Validate.isProjection('projection', projection);
|
|
115
|
-
}
|
|
116
|
-
if (order !== undefined) {
|
|
117
|
-
Validate.isOrder('order', order);
|
|
118
|
-
}
|
|
119
|
-
if (multiple !== undefined) {
|
|
120
|
-
Validate.mustBeBoolean('multiple', multiple);
|
|
121
|
-
}
|
|
122
|
-
if (options.timeout !== undefined) {
|
|
123
|
-
Validate.isInteger('timeout', options.timeout);
|
|
124
|
-
}
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
static isValidAggregation(stage) {
|
|
128
|
-
if (Object.keys(stage).length !== 1) {
|
|
129
|
-
throw E(Object.assign(Object.assign({}, ERRORS.INVALID_PARAM), { message: `aggregation stage must have one key` }));
|
|
130
|
-
}
|
|
131
|
-
return true;
|
|
132
|
-
}
|
|
133
|
-
static isCentersPhere(param) {
|
|
134
|
-
if (Array.isArray(param) && param.length === 2) {
|
|
135
|
-
if (getType(param[0]) === 'object' &&
|
|
136
|
-
param[0]._internalType === SYMBOL_GEO_POINT &&
|
|
137
|
-
typeof param[1] === 'number') {
|
|
138
|
-
return true;
|
|
139
|
-
}
|
|
140
|
-
if (Array.isArray(param[0]) && param[0].length === 2) {
|
|
141
|
-
const longitude = param[0][0];
|
|
142
|
-
const latitude = param[0][1];
|
|
143
|
-
Validate.isGeopoint('longitude', longitude);
|
|
144
|
-
Validate.isGeopoint('latitude', latitude);
|
|
145
|
-
if (typeof param[1] === 'number') {
|
|
146
|
-
return true;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
throw new Error(`${ErrorCode.CentersPhereError}`);
|
|
151
|
-
}
|
|
152
|
-
}
|