@cloudbase/database 0.9.20 → 0.9.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/dist/esm/aggregate.d.ts +29 -0
  2. package/dist/esm/aggregate.js +154 -0
  3. package/dist/esm/collection.d.ts +9 -0
  4. package/dist/esm/collection.js +44 -0
  5. package/dist/esm/command.d.ts +175 -0
  6. package/dist/esm/command.js +296 -0
  7. package/dist/esm/commands/logic.d.ts +24 -0
  8. package/dist/esm/commands/logic.js +84 -0
  9. package/dist/esm/commands/query.d.ts +68 -0
  10. package/dist/esm/commands/query.js +152 -0
  11. package/dist/esm/commands/update.d.ts +29 -0
  12. package/dist/esm/commands/update.js +46 -0
  13. package/dist/esm/config/app.config.d.ts +6 -0
  14. package/dist/esm/config/app.config.js +5 -0
  15. package/dist/esm/config/error.config.d.ts +3 -0
  16. package/dist/esm/config/error.config.js +13 -0
  17. package/dist/esm/const/code.d.ts +30 -0
  18. package/dist/esm/const/code.js +30 -0
  19. package/dist/esm/constant.d.ts +51 -0
  20. package/dist/esm/constant.js +65 -0
  21. package/dist/esm/document.d.ts +11 -0
  22. package/dist/esm/document.js +247 -0
  23. package/dist/esm/geo/index.d.ts +6 -0
  24. package/dist/esm/geo/index.js +6 -0
  25. package/dist/esm/geo/interface.d.ts +24 -0
  26. package/dist/esm/geo/interface.js +0 -0
  27. package/dist/esm/geo/lineString.d.ts +19 -0
  28. package/dist/esm/geo/lineString.js +83 -0
  29. package/dist/esm/geo/multiLineString.d.ts +18 -0
  30. package/dist/esm/geo/multiLineString.js +92 -0
  31. package/dist/esm/geo/multiPoint.d.ts +18 -0
  32. package/dist/esm/geo/multiPoint.js +76 -0
  33. package/dist/esm/geo/multiPolygon.d.ts +18 -0
  34. package/dist/esm/geo/multiPolygon.js +119 -0
  35. package/dist/esm/geo/point.d.ts +19 -0
  36. package/dist/esm/geo/point.js +47 -0
  37. package/dist/esm/geo/polygon.d.ts +19 -0
  38. package/dist/esm/geo/polygon.js +106 -0
  39. package/dist/esm/helper/symbol.d.ts +14 -0
  40. package/dist/esm/helper/symbol.js +14 -0
  41. package/dist/esm/index.d.ts +33 -0
  42. package/dist/esm/index.js +41 -0
  43. package/dist/esm/lib/util.d.ts +1 -0
  44. package/dist/esm/lib/util.js +23 -0
  45. package/dist/esm/operator-map.d.ts +4 -0
  46. package/dist/esm/operator-map.js +20 -0
  47. package/dist/esm/query.d.ts +22 -0
  48. package/dist/esm/query.js +249 -0
  49. package/dist/esm/regexp/index.d.ts +14 -0
  50. package/dist/esm/regexp/index.js +29 -0
  51. package/dist/esm/serializer/common.d.ts +11 -0
  52. package/dist/esm/serializer/common.js +113 -0
  53. package/dist/esm/serializer/datatype.d.ts +7 -0
  54. package/dist/esm/serializer/datatype.js +122 -0
  55. package/dist/esm/serializer/query.d.ts +7 -0
  56. package/dist/esm/serializer/query.js +229 -0
  57. package/dist/esm/serializer/update.d.ts +15 -0
  58. package/dist/esm/serializer/update.js +139 -0
  59. package/dist/esm/serverDate/index.d.ts +13 -0
  60. package/dist/esm/serverDate/index.js +26 -0
  61. package/dist/esm/transaction/collection.d.ts +7 -0
  62. package/dist/esm/transaction/collection.js +44 -0
  63. package/dist/esm/transaction/document.d.ts +27 -0
  64. package/dist/esm/transaction/document.js +203 -0
  65. package/dist/esm/transaction/index.d.ts +30 -0
  66. package/dist/esm/transaction/index.js +210 -0
  67. package/dist/esm/transaction/query.d.ts +5 -0
  68. package/dist/esm/transaction/query.js +8 -0
  69. package/dist/esm/typings/index.d.ts +40 -0
  70. package/dist/esm/typings/index.js +0 -0
  71. package/dist/esm/typings/realtime.d.ts +219 -0
  72. package/dist/esm/typings/realtime.js +0 -0
  73. package/dist/esm/util.d.ts +9 -0
  74. package/dist/esm/util.js +142 -0
  75. package/dist/esm/utils/error.d.ts +37 -0
  76. package/dist/esm/utils/error.js +82 -0
  77. package/dist/esm/utils/msg.d.ts +0 -0
  78. package/dist/esm/utils/msg.js +0 -0
  79. package/dist/esm/utils/symbol.d.ts +8 -0
  80. package/dist/esm/utils/symbol.js +55 -0
  81. package/dist/esm/utils/type.d.ts +13 -0
  82. package/dist/esm/utils/type.js +20 -0
  83. package/dist/esm/utils/utils.d.ts +4 -0
  84. package/dist/esm/utils/utils.js +33 -0
  85. package/dist/esm/validate.d.ts +1 -0
  86. package/dist/esm/validate.js +57 -0
  87. package/package.json +4 -6
  88. package/src/transaction/document.ts +2 -2
@@ -0,0 +1,219 @@
1
+ import { DataType, QueueType } from './index';
2
+ export declare type IRequestMsgType = 'LOGIN' | 'INIT_WATCH' | 'REBUILD_WATCH' | 'CHECK_LAST' | 'CLOSE_WATCH' | 'PING';
3
+ export declare type IResponseMsgType = 'LOGIN_RES' | 'INIT_EVENT' | 'NEXT_EVENT' | 'CHECK_EVENT' | 'PONG' | 'ERROR';
4
+ export interface IRequestMessageBase<W extends boolean = true> {
5
+ watchId: W extends true ? string : undefined;
6
+ requestId: string;
7
+ msgType: IRequestMsgType;
8
+ msgData: IRequestMessageMsgData;
9
+ }
10
+ export declare type IRequestMessageMsgData = IRequestMessageInitWatchData | IRequestMessageLoginData | IRequestMessageRebuildWatchData | IRequestMessageCheckLastData | IRequestMessageCloseWatchData | IRequestMessagePingData;
11
+ export declare type IRequestMessage = IRequestMessageInitWatchMsg | IRequestMessageLoginMsg | IRequestMessageRebuildWatchMsg | IRequestMessageCheckLastMsg | IRequestMessageCloseWatchMsg | IRequestMessagePingMsg;
12
+ export interface IRequestMessageLoginData {
13
+ envId: string;
14
+ accessToken: string;
15
+ referrer: 'web';
16
+ sdkVersion: string;
17
+ dataVersion: string;
18
+ }
19
+ export interface IRequestExtraMessageLoginData {
20
+ runtime: string;
21
+ signStr: string;
22
+ secretVersion: string;
23
+ }
24
+ export interface IRequestMessageLoginMsg extends IRequestMessageBase<false> {
25
+ msgType: 'LOGIN';
26
+ msgData: IRequestMessageLoginData;
27
+ exMsgData?: IRequestExtraMessageLoginData;
28
+ }
29
+ export interface IRequestMessageInitWatchData {
30
+ envId: string;
31
+ collName: string;
32
+ query: string;
33
+ limit?: number;
34
+ orderBy?: Record<string, string>;
35
+ }
36
+ export interface IRequestMessageInitWatchMsg extends IRequestMessageBase {
37
+ msgType: 'INIT_WATCH';
38
+ msgData: IRequestMessageInitWatchData;
39
+ }
40
+ export interface IRequestMessageRebuildWatchData {
41
+ envId: string;
42
+ collName: string;
43
+ queryID: string;
44
+ eventID: number;
45
+ }
46
+ export interface IRequestMessageRebuildWatchMsg extends IRequestMessageBase {
47
+ msgType: 'REBUILD_WATCH';
48
+ msgData: IRequestMessageRebuildWatchData;
49
+ }
50
+ export interface IRequestMessageCheckLastData {
51
+ queryID: string;
52
+ eventID: number;
53
+ }
54
+ export interface IRequestMessageCheckLastMsg extends IRequestMessageBase {
55
+ msgType: 'CHECK_LAST';
56
+ msgData: IRequestMessageCheckLastData;
57
+ }
58
+ export declare type IRequestMessageCloseWatchData = null;
59
+ export interface IRequestMessageCloseWatchMsg extends IRequestMessageBase {
60
+ msgType: 'CLOSE_WATCH';
61
+ msgData: IRequestMessageCloseWatchData;
62
+ }
63
+ export declare type IRequestMessagePingData = null;
64
+ export interface IRequestMessagePingMsg extends IRequestMessageBase<false> {
65
+ msgType: 'PING';
66
+ msgData: IRequestMessagePingData;
67
+ }
68
+ export interface IResponseMessageBase<W extends boolean = true> {
69
+ watchId: W extends true ? string : undefined;
70
+ requestId: string;
71
+ msgType: IResponseMsgType;
72
+ msgData: IResponseMessageMsgData;
73
+ }
74
+ export declare type IResponseMessageMsgData = IResponseMessageLoginResData | IResponseMessageInitEventData | IResponseMessageNextEventData | IResponseMessageCheckEventData | IResponseMessagePongData | IResponseMessageErrorData;
75
+ export declare type IResponseMessage = IResponseMessageLoginResMsg | IResponseMessageInitEventMsg | IResponseMessageNextEventMsg | IResponseMessageCheckEventMsg | IResponseMessagePongMsg | IResponseMessageErrorMsg;
76
+ export declare type IResponseMessageLoginResData = {
77
+ envId: string;
78
+ } & Partial<IResponseMessageErrorData>;
79
+ export interface IResponseMessageLoginResMsg extends IResponseMessageBase<false> {
80
+ msgType: 'LOGIN_RES';
81
+ msgData: IResponseMessageLoginResData;
82
+ }
83
+ export interface IResponseMessageInitEventData {
84
+ queryID: string;
85
+ currEvent: number;
86
+ events: IDBEvent[];
87
+ }
88
+ export interface IResponseMessageInitEventMsg extends IResponseMessageBase {
89
+ msgType: 'INIT_EVENT';
90
+ msgData: IResponseMessageInitEventData;
91
+ }
92
+ export interface IResponseMessageNextEventData {
93
+ queryID: string;
94
+ currEvent: number;
95
+ events: IDBEvent[];
96
+ }
97
+ export interface IResponseMessageNextEventMsg extends IResponseMessageBase {
98
+ msgType: 'NEXT_EVENT';
99
+ msgData: IResponseMessageNextEventData;
100
+ }
101
+ export interface IResponseMessageCheckEventData {
102
+ queryID: string;
103
+ currEvent: number;
104
+ }
105
+ export interface IResponseMessageCheckEventMsg extends IResponseMessageBase {
106
+ msgType: 'CHECK_EVENT';
107
+ msgData: IResponseMessageCheckEventData;
108
+ }
109
+ export declare type IResponseMessagePongData = null;
110
+ export interface IResponseMessagePongMsg extends IResponseMessageBase {
111
+ msgType: 'PONG';
112
+ msgData: IResponseMessagePongData;
113
+ }
114
+ export declare type IResponseMessageErrorData = {
115
+ message: string;
116
+ } & ({
117
+ code: 'SYS_ERR';
118
+ } | {
119
+ code: 'CHECK_LOGIN_FAILED';
120
+ } | {
121
+ code: 'SIGN_INVALID_ERROR';
122
+ } | {
123
+ code: 'SIGN_EXPIRED_ERROR';
124
+ } | {
125
+ code: 'INVALIID_ENV';
126
+ } | {
127
+ code: 'SIGN_PARAM_INVALID';
128
+ } | {
129
+ code: 'COLLECTION_PERMISSION_DENIED';
130
+ } | {
131
+ code: 'QUERYID_INVALID_ERROR';
132
+ });
133
+ export interface IResponseMessageErrorMsg extends IResponseMessageBase {
134
+ msgType: 'ERROR';
135
+ msgData: IResponseMessageErrorData;
136
+ }
137
+ export declare type IDBEvent = IDBInitEvent | IDBNextEvent;
138
+ export interface IDBEventBase {
139
+ ID: number;
140
+ DataType: DataType;
141
+ QueueType: QueueType;
142
+ DocID: string;
143
+ Doc: string;
144
+ }
145
+ export interface IDBInitEvent extends IDBEventBase {
146
+ DataType: 'init';
147
+ QueueType: 'init';
148
+ UpdatedFields?: any;
149
+ removedFields?: any;
150
+ }
151
+ export declare type IDBNextEvent = IDBNextEventDataUpdate | IDBNextEventDataReplace | IDBNextEventDataAdd | IDBNextEventDataRemove | IDBNextEventDataLimit;
152
+ export declare type IDBNextEventDataUpdate = IDBNextEventDataUpdateQueueUpdate | IDBNextEventDataUpdateQueueEnqueue | IDBNextEventDataUpdateQueueDequeue;
153
+ export declare type IDBNextEventDataReplace = IDBNextEventDataReplaceQueueUpdate | IDBNextEventDataReplaceQueueEnqueue | IDBNextEventDataReplaceQueueDequeue;
154
+ export declare type IDBNextEventDataLimit = IDBNextEventDataLimitQueueEnqueue | IDBNextEventDataLimitQueueDequeue;
155
+ export interface IDBNextEventDataUpdateQueueUpdate extends IDBEventBase {
156
+ DataType: 'update';
157
+ QueueType: 'update';
158
+ Doc: '';
159
+ UpdatedFields: string;
160
+ RemovedFields: string;
161
+ }
162
+ export interface IDBNextEventDataUpdateQueueEnqueue extends IDBEventBase {
163
+ DataType: 'update';
164
+ QueueType: 'enqueue';
165
+ Doc: string;
166
+ UpdatedFields: string;
167
+ RemovedFields: string;
168
+ }
169
+ export interface IDBNextEventDataUpdateQueueDequeue extends IDBEventBase {
170
+ DataType: 'update';
171
+ QueueType: 'dequeue';
172
+ Doc: '';
173
+ UpdatedFields: string;
174
+ RemovedFields: string;
175
+ }
176
+ export interface IDBNextEventDataReplaceQueueUpdate extends IDBEventBase {
177
+ DataType: 'replace';
178
+ QueueType: 'update';
179
+ Doc: string;
180
+ UpdatedFields: '';
181
+ RemovedFields: '';
182
+ }
183
+ export interface IDBNextEventDataReplaceQueueEnqueue extends IDBEventBase {
184
+ DataType: 'replace';
185
+ QueueType: 'enqueue';
186
+ Doc: string;
187
+ UpdatedFields: '';
188
+ RemovedFields: '';
189
+ }
190
+ export interface IDBNextEventDataReplaceQueueDequeue extends IDBEventBase {
191
+ DataType: 'replace';
192
+ QueueType: 'dequeue';
193
+ Doc: string;
194
+ UpdatedFields: '';
195
+ RemovedFields: '';
196
+ }
197
+ export interface IDBNextEventDataAdd extends IDBEventBase {
198
+ DataType: 'add';
199
+ QueueType: 'enqueue';
200
+ }
201
+ export interface IDBNextEventDataRemove extends IDBEventBase {
202
+ DataType: 'remove';
203
+ QueueType: 'dequeue';
204
+ Doc: '';
205
+ }
206
+ export interface IDBNextEventDataLimitQueueEnqueue extends IDBEventBase {
207
+ DataType: 'limit';
208
+ QueueType: 'enqueue';
209
+ Doc: string;
210
+ UpdatedFields: '';
211
+ RemovedFields: '';
212
+ }
213
+ export interface IDBNextEventDataLimitQueueDequeue extends IDBEventBase {
214
+ DataType: 'limit';
215
+ QueueType: 'dequeue';
216
+ Doc: '';
217
+ UpdatedFields: '';
218
+ RemovedFields: '';
219
+ }
File without changes
@@ -0,0 +1,9 @@
1
+ interface DocumentModel {
2
+ _id: string;
3
+ }
4
+ export declare class Util {
5
+ static formatResDocumentData: (documents: DocumentModel[]) => {}[];
6
+ static whichType: (obj: any) => String;
7
+ static generateDocId: () => string;
8
+ }
9
+ export {};
@@ -0,0 +1,142 @@
1
+ var __read = (this && this.__read) || function (o, n) {
2
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
3
+ if (!m) return o;
4
+ var i = m.call(o), r, ar = [], e;
5
+ try {
6
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
7
+ }
8
+ catch (error) { e = { error: error }; }
9
+ finally {
10
+ try {
11
+ if (r && !r.done && (m = i["return"])) m.call(i);
12
+ }
13
+ finally { if (e) throw e.error; }
14
+ }
15
+ return ar;
16
+ };
17
+ import { FieldType } from './constant';
18
+ import { Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon } from './geo/index';
19
+ import { ServerDate } from './serverDate/index';
20
+ var Util = (function () {
21
+ function Util() {
22
+ }
23
+ Util.formatResDocumentData = function (documents) {
24
+ return documents.map(function (document) {
25
+ return Util.formatField(document);
26
+ });
27
+ };
28
+ Util.formatField = function (document) {
29
+ var keys = Object.keys(document);
30
+ var protoField = {};
31
+ if (Array.isArray(document)) {
32
+ protoField = [];
33
+ }
34
+ keys.forEach(function (key) {
35
+ var item = document[key];
36
+ var type = Util.whichType(item);
37
+ var realValue;
38
+ switch (type) {
39
+ case FieldType.GeoPoint:
40
+ realValue = new Point(item.coordinates[0], item.coordinates[1]);
41
+ break;
42
+ case FieldType.GeoLineString:
43
+ realValue = new LineString(item.coordinates.map(function (point) { return new Point(point[0], point[1]); }));
44
+ break;
45
+ case FieldType.GeoPolygon:
46
+ realValue = new Polygon(item.coordinates.map(function (line) { return new LineString(line.map(function (_a) {
47
+ var _b = __read(_a, 2), lng = _b[0], lat = _b[1];
48
+ return new Point(lng, lat);
49
+ })); }));
50
+ break;
51
+ case FieldType.GeoMultiPoint:
52
+ realValue = new MultiPoint(item.coordinates.map(function (point) { return new Point(point[0], point[1]); }));
53
+ break;
54
+ case FieldType.GeoMultiLineString:
55
+ realValue = new MultiLineString(item.coordinates.map(function (line) { return new LineString(line.map(function (_a) {
56
+ var _b = __read(_a, 2), lng = _b[0], lat = _b[1];
57
+ return new Point(lng, lat);
58
+ })); }));
59
+ break;
60
+ case FieldType.GeoMultiPolygon:
61
+ realValue = new MultiPolygon(item.coordinates.map(function (polygon) {
62
+ return new Polygon(polygon.map(function (line) { return new LineString(line.map(function (_a) {
63
+ var _b = __read(_a, 2), lng = _b[0], lat = _b[1];
64
+ return new Point(lng, lat);
65
+ })); }));
66
+ }));
67
+ break;
68
+ case FieldType.Timestamp:
69
+ realValue = new Date(item.$timestamp * 1000);
70
+ break;
71
+ case FieldType.Object:
72
+ case FieldType.Array:
73
+ realValue = Util.formatField(item);
74
+ break;
75
+ case FieldType.ServerDate:
76
+ realValue = new Date(item.$date);
77
+ break;
78
+ default:
79
+ realValue = item;
80
+ }
81
+ if (Array.isArray(protoField)) {
82
+ protoField.push(realValue);
83
+ }
84
+ else {
85
+ protoField[key] = realValue;
86
+ }
87
+ });
88
+ return protoField;
89
+ };
90
+ Util.whichType = function (obj) {
91
+ var type = Object.prototype.toString.call(obj).slice(8, -1);
92
+ if (type === FieldType.Timestamp) {
93
+ return FieldType.BsonDate;
94
+ }
95
+ if (type === FieldType.Object) {
96
+ if (obj instanceof Point) {
97
+ return FieldType.GeoPoint;
98
+ }
99
+ else if (obj instanceof Date) {
100
+ return FieldType.Timestamp;
101
+ }
102
+ else if (obj instanceof ServerDate) {
103
+ return FieldType.ServerDate;
104
+ }
105
+ if (obj.$timestamp) {
106
+ type = FieldType.Timestamp;
107
+ }
108
+ else if (obj.$date) {
109
+ type = FieldType.ServerDate;
110
+ }
111
+ else if (Point.validate(obj)) {
112
+ type = FieldType.GeoPoint;
113
+ }
114
+ else if (LineString.validate(obj)) {
115
+ type = FieldType.GeoLineString;
116
+ }
117
+ else if (Polygon.validate(obj)) {
118
+ type = FieldType.GeoPolygon;
119
+ }
120
+ else if (MultiPoint.validate(obj)) {
121
+ type = FieldType.GeoMultiPoint;
122
+ }
123
+ else if (MultiLineString.validate(obj)) {
124
+ type = FieldType.GeoMultiLineString;
125
+ }
126
+ else if (MultiPolygon.validate(obj)) {
127
+ type = FieldType.GeoMultiPolygon;
128
+ }
129
+ }
130
+ return type;
131
+ };
132
+ Util.generateDocId = function () {
133
+ var chars = 'ABCDEFabcdef0123456789';
134
+ var autoId = '';
135
+ for (var i = 0; i < 24; i++) {
136
+ autoId += chars.charAt(Math.floor(Math.random() * chars.length));
137
+ }
138
+ return autoId;
139
+ };
140
+ return Util;
141
+ }());
142
+ export { Util };
@@ -0,0 +1,37 @@
1
+ export interface ICloudSDKError extends Error {
2
+ errCode: number;
3
+ errMsg: string;
4
+ }
5
+ export declare class CloudSDKError extends Error {
6
+ errCode: string;
7
+ errMsg: string;
8
+ requestID?: string;
9
+ constructor(options: IErrorConstructorOptions);
10
+ message: string;
11
+ }
12
+ interface IErrorConstructorOptions {
13
+ errCode?: string;
14
+ errMsg: string;
15
+ }
16
+ export declare function isSDKError(error: any): error is CloudSDKError;
17
+ export interface IGenericError<T extends string, P = any> extends Error {
18
+ type: T;
19
+ payload: P;
20
+ generic: boolean;
21
+ }
22
+ export declare const isGenericError: <T extends string, P>(e: any) => e is IGenericError<T, P>;
23
+ export declare class TimeoutError extends Error implements IGenericError<'timeout', null> {
24
+ type: "timeout";
25
+ payload: any;
26
+ generic: boolean;
27
+ constructor(message: string);
28
+ }
29
+ export declare const isTimeoutError: (e: any) => e is TimeoutError;
30
+ export declare class CancelledError extends Error implements IGenericError<'cancelled', null> {
31
+ type: "cancelled";
32
+ payload: any;
33
+ generic: boolean;
34
+ constructor(message: string);
35
+ }
36
+ export declare const isCancelledError: (e: any) => e is CancelledError;
37
+ export {};
@@ -0,0 +1,82 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ extendStatics(d, b);
10
+ function __() { this.constructor = d; }
11
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
+ };
13
+ })();
14
+ import { isString } from './type';
15
+ import { ERR_CODE } from '../config/error.config';
16
+ var CloudSDKError = (function (_super) {
17
+ __extends(CloudSDKError, _super);
18
+ function CloudSDKError(options) {
19
+ var _this = _super.call(this, options.errMsg) || this;
20
+ _this.errCode = 'UNKNOWN_ERROR';
21
+ Object.defineProperties(_this, {
22
+ message: {
23
+ get: function () {
24
+ return ("errCode: " + this.errCode + " " + (ERR_CODE[this.errCode] ||
25
+ '') + " | errMsg: " + this.errMsg);
26
+ },
27
+ set: function (msg) {
28
+ this.errMsg = msg;
29
+ }
30
+ }
31
+ });
32
+ _this.errCode = options.errCode || 'UNKNOWN_ERROR';
33
+ _this.errMsg = options.errMsg;
34
+ return _this;
35
+ }
36
+ Object.defineProperty(CloudSDKError.prototype, "message", {
37
+ get: function () {
38
+ return "errCode: " + this.errCode + " | errMsg: " + this.errMsg;
39
+ },
40
+ set: function (msg) {
41
+ this.errMsg = msg;
42
+ },
43
+ enumerable: true,
44
+ configurable: true
45
+ });
46
+ return CloudSDKError;
47
+ }(Error));
48
+ export { CloudSDKError };
49
+ export function isSDKError(error) {
50
+ return (error && error instanceof Error && isString(error.errMsg));
51
+ }
52
+ export var isGenericError = function (e) { return e.generic; };
53
+ var TimeoutError = (function (_super) {
54
+ __extends(TimeoutError, _super);
55
+ function TimeoutError(message) {
56
+ var _this = _super.call(this, message) || this;
57
+ _this.type = 'timeout';
58
+ _this.payload = null;
59
+ _this.generic = true;
60
+ return _this;
61
+ }
62
+ return TimeoutError;
63
+ }(Error));
64
+ export { TimeoutError };
65
+ export var isTimeoutError = function (e) {
66
+ return e.type === 'timeout';
67
+ };
68
+ var CancelledError = (function (_super) {
69
+ __extends(CancelledError, _super);
70
+ function CancelledError(message) {
71
+ var _this = _super.call(this, message) || this;
72
+ _this.type = 'cancelled';
73
+ _this.payload = null;
74
+ _this.generic = true;
75
+ return _this;
76
+ }
77
+ return CancelledError;
78
+ }(Error));
79
+ export { CancelledError };
80
+ export var isCancelledError = function (e) {
81
+ return e.type === 'cancelled';
82
+ };
File without changes
File without changes
@@ -0,0 +1,8 @@
1
+ declare class HiddenSymbol {
2
+ constructor(target: any);
3
+ }
4
+ export declare class InternalSymbol extends HiddenSymbol {
5
+ constructor(target: any, __mark__: any);
6
+ static for(target: any): InternalSymbol;
7
+ }
8
+ export default InternalSymbol;
@@ -0,0 +1,55 @@
1
+ var __extends = (this && this.__extends) || (function () {
2
+ var extendStatics = function (d, b) {
3
+ extendStatics = Object.setPrototypeOf ||
4
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ return extendStatics(d, b);
7
+ };
8
+ return function (d, b) {
9
+ extendStatics(d, b);
10
+ function __() { this.constructor = d; }
11
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12
+ };
13
+ })();
14
+ var _symbols = [];
15
+ var __internalMark__ = {};
16
+ var HiddenSymbol = (function () {
17
+ function HiddenSymbol(target) {
18
+ Object.defineProperties(this, {
19
+ target: {
20
+ enumerable: false,
21
+ writable: false,
22
+ configurable: false,
23
+ value: target,
24
+ },
25
+ });
26
+ }
27
+ return HiddenSymbol;
28
+ }());
29
+ var InternalSymbol = (function (_super) {
30
+ __extends(InternalSymbol, _super);
31
+ function InternalSymbol(target, __mark__) {
32
+ var _this = this;
33
+ if (__mark__ !== __internalMark__) {
34
+ throw new TypeError('InternalSymbol cannot be constructed with new operator');
35
+ }
36
+ _this = _super.call(this, target) || this;
37
+ return _this;
38
+ }
39
+ InternalSymbol.for = function (target) {
40
+ for (var i = 0, len = _symbols.length; i < len; i++) {
41
+ if (_symbols[i].target === target) {
42
+ return _symbols[i].instance;
43
+ }
44
+ }
45
+ var symbol = new InternalSymbol(target, __internalMark__);
46
+ _symbols.push({
47
+ target: target,
48
+ instance: symbol,
49
+ });
50
+ return symbol;
51
+ };
52
+ return InternalSymbol;
53
+ }(HiddenSymbol));
54
+ export { InternalSymbol };
55
+ export default InternalSymbol;
@@ -0,0 +1,13 @@
1
+ export declare const getType: (x: any) => string;
2
+ export declare const isObject: <T extends object>(x: any) => x is T;
3
+ export declare const isString: (x: any) => x is string;
4
+ export declare const isNumber: (x: any) => x is number;
5
+ export declare const isPromise: <T extends Promise<any> = Promise<any>>(x: any) => x is T;
6
+ declare type AnyFn = (...args: any[]) => any;
7
+ export declare const isFunction: <T extends AnyFn = AnyFn>(x: any) => x is T;
8
+ export declare const isArray: <T extends any[] = any[]>(x: any) => x is T;
9
+ export declare const isDate: (x: any) => x is Date;
10
+ export declare const isRegExp: (x: any) => x is RegExp;
11
+ export declare const isInternalObject: (x: any) => boolean;
12
+ export declare const isPlainObject: (obj: any) => obj is object;
13
+ export {};
@@ -0,0 +1,20 @@
1
+ import { InternalSymbol } from './symbol';
2
+ export var getType = function (x) { return Object.prototype.toString.call(x).slice(8, -1).toLowerCase(); };
3
+ export var isObject = function (x) { return getType(x) === 'object'; };
4
+ export var isString = function (x) { return getType(x) === 'string'; };
5
+ export var isNumber = function (x) { return getType(x) === 'number'; };
6
+ export var isPromise = function (x) { return getType(x) === 'promise'; };
7
+ export var isFunction = function (x) { return typeof x === 'function'; };
8
+ export var isArray = function (x) { return Array.isArray(x); };
9
+ export var isDate = function (x) { return getType(x) === 'date'; };
10
+ export var isRegExp = function (x) { return getType(x) === 'regexp'; };
11
+ export var isInternalObject = function (x) { return x && (x._internalType instanceof InternalSymbol); };
12
+ export var isPlainObject = function (obj) {
13
+ if (typeof obj !== 'object' || obj === null)
14
+ return false;
15
+ var proto = obj;
16
+ while (Object.getPrototypeOf(proto) !== null) {
17
+ proto = Object.getPrototypeOf(proto);
18
+ }
19
+ return Object.getPrototypeOf(obj) === proto;
20
+ };
@@ -0,0 +1,4 @@
1
+ import { Db } from '../';
2
+ export declare const sleep: (ms?: number) => Promise<unknown>;
3
+ export declare const autoCount: (domain?: string) => number;
4
+ export declare function getWsInstance(db: Db): any;
@@ -0,0 +1,33 @@
1
+ import { Db } from '../';
2
+ export var sleep = function (ms) {
3
+ if (ms === void 0) { ms = 0; }
4
+ return new Promise(function (r) { return setTimeout(r, ms); });
5
+ };
6
+ var counters = {};
7
+ export var autoCount = function (domain) {
8
+ if (domain === void 0) { domain = 'any'; }
9
+ if (!counters[domain]) {
10
+ counters[domain] = 0;
11
+ }
12
+ return counters[domain]++;
13
+ };
14
+ var wsList = {};
15
+ export function getWsInstance(db) {
16
+ if (!Db.wsClientClass) {
17
+ throw new Error('to use realtime you must import realtime module first');
18
+ }
19
+ var env = db.config.env;
20
+ if (!wsList[env]) {
21
+ wsList[env] = new Db.wsClientClass({
22
+ context: {
23
+ appConfig: {
24
+ docSizeLimit: 1000,
25
+ realtimePingInterval: 10000,
26
+ realtimePongWaitTimeout: 5000,
27
+ request: new Db.reqClass(db.config)
28
+ }
29
+ }
30
+ });
31
+ }
32
+ return wsList[env];
33
+ }
@@ -0,0 +1 @@
1
+ export {};