@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.
Files changed (195) hide show
  1. package/.trunk/configs/.markdownlint.yaml +10 -0
  2. package/.trunk/trunk.yaml +26 -0
  3. package/dist/commonjs/ObjectId/index.d.ts +11 -11
  4. package/dist/commonjs/ObjectId/index.js +21 -21
  5. package/dist/commonjs/aggregate.d.ts +29 -29
  6. package/dist/commonjs/aggregate.js +124 -124
  7. package/dist/commonjs/collection.d.ts +17 -17
  8. package/dist/commonjs/collection.js +72 -72
  9. package/dist/commonjs/command.d.ts +175 -175
  10. package/dist/commonjs/command.js +285 -285
  11. package/dist/commonjs/commands/logic.d.ts +24 -24
  12. package/dist/commonjs/commands/logic.js +79 -79
  13. package/dist/commonjs/commands/query.d.ts +73 -73
  14. package/dist/commonjs/commands/query.js +147 -147
  15. package/dist/commonjs/commands/update.d.ts +29 -29
  16. package/dist/commonjs/commands/update.js +49 -49
  17. package/dist/commonjs/config/app.config.d.ts +6 -6
  18. package/dist/commonjs/config/app.config.js +7 -7
  19. package/dist/commonjs/config/error.config.d.ts +3 -3
  20. package/dist/commonjs/config/error.config.js +15 -15
  21. package/dist/commonjs/const/code.d.ts +34 -34
  22. package/dist/commonjs/const/code.js +36 -36
  23. package/dist/commonjs/constant.d.ts +54 -54
  24. package/dist/commonjs/constant.js +76 -76
  25. package/dist/commonjs/document.d.ts +14 -14
  26. package/dist/commonjs/document.js +217 -219
  27. package/dist/commonjs/geo/index.d.ts +6 -6
  28. package/dist/commonjs/geo/index.js +11 -11
  29. package/dist/commonjs/geo/interface.d.ts +24 -24
  30. package/dist/commonjs/geo/interface.js +2 -2
  31. package/dist/commonjs/geo/lineString.d.ts +19 -19
  32. package/dist/commonjs/geo/lineString.js +57 -57
  33. package/dist/commonjs/geo/multiLineString.d.ts +18 -18
  34. package/dist/commonjs/geo/multiLineString.js +56 -56
  35. package/dist/commonjs/geo/multiPoint.d.ts +18 -18
  36. package/dist/commonjs/geo/multiPoint.js +50 -50
  37. package/dist/commonjs/geo/multiPolygon.d.ts +18 -18
  38. package/dist/commonjs/geo/multiPolygon.js +62 -62
  39. package/dist/commonjs/geo/point.d.ts +19 -19
  40. package/dist/commonjs/geo/point.js +43 -43
  41. package/dist/commonjs/geo/polygon.d.ts +19 -19
  42. package/dist/commonjs/geo/polygon.js +70 -70
  43. package/dist/commonjs/helper/symbol.d.ts +15 -15
  44. package/dist/commonjs/helper/symbol.js +20 -20
  45. package/dist/commonjs/index.d.ts +50 -50
  46. package/dist/commonjs/index.js +41 -41
  47. package/dist/commonjs/operator-map.d.ts +4 -4
  48. package/dist/commonjs/operator-map.js +23 -23
  49. package/dist/commonjs/query.d.ts +38 -38
  50. package/dist/commonjs/query.js +249 -247
  51. package/dist/commonjs/realtime/error.d.ts +7 -7
  52. package/dist/commonjs/realtime/error.js +11 -11
  53. package/dist/commonjs/realtime/listener.d.ts +14 -14
  54. package/dist/commonjs/realtime/listener.js +17 -17
  55. package/dist/commonjs/realtime/message.d.ts +3 -3
  56. package/dist/commonjs/realtime/message.js +10 -10
  57. package/dist/commonjs/realtime/snapshot.d.ts +16 -16
  58. package/dist/commonjs/realtime/snapshot.js +42 -42
  59. package/dist/commonjs/realtime/virtual-websocket-client.d.ts +63 -63
  60. package/dist/commonjs/realtime/virtual-websocket-client.js +736 -736
  61. package/dist/commonjs/realtime/websocket-client.d.ts +78 -78
  62. package/dist/commonjs/realtime/websocket-client.js +567 -567
  63. package/dist/commonjs/realtime/ws-event.d.ts +126 -126
  64. package/dist/commonjs/realtime/ws-event.js +139 -139
  65. package/dist/commonjs/regexp/index.d.ts +18 -18
  66. package/dist/commonjs/regexp/index.js +30 -30
  67. package/dist/commonjs/serializer/common.d.ts +11 -11
  68. package/dist/commonjs/serializer/common.js +90 -90
  69. package/dist/commonjs/serializer/datatype.d.ts +7 -7
  70. package/dist/commonjs/serializer/datatype.js +99 -99
  71. package/dist/commonjs/serializer/query.d.ts +8 -8
  72. package/dist/commonjs/serializer/query.js +254 -254
  73. package/dist/commonjs/serializer/update.d.ts +16 -16
  74. package/dist/commonjs/serializer/update.js +142 -142
  75. package/dist/commonjs/serverDate/index.d.ts +13 -13
  76. package/dist/commonjs/serverDate/index.js +23 -23
  77. package/dist/commonjs/transaction/index.d.ts +30 -30
  78. package/dist/commonjs/transaction/index.js +105 -105
  79. package/dist/commonjs/transaction.d.ts +42 -42
  80. package/dist/commonjs/transaction.js +126 -126
  81. package/dist/commonjs/typings/index.d.ts +45 -45
  82. package/dist/commonjs/typings/index.js +2 -2
  83. package/dist/commonjs/typings/realtime.d.ts +219 -219
  84. package/dist/commonjs/typings/realtime.js +2 -2
  85. package/dist/commonjs/util.d.ts +9 -9
  86. package/dist/commonjs/util.js +101 -101
  87. package/dist/commonjs/utils/error.d.ts +37 -37
  88. package/dist/commonjs/utils/error.js +55 -55
  89. package/dist/commonjs/utils/symbol.d.ts +8 -8
  90. package/dist/commonjs/utils/symbol.js +39 -39
  91. package/dist/commonjs/utils/type.d.ts +13 -13
  92. package/dist/commonjs/utils/type.js +22 -22
  93. package/dist/commonjs/utils/utils.d.ts +20 -19
  94. package/dist/commonjs/utils/utils.js +59 -59
  95. package/dist/commonjs/validate.d.ts +1 -1
  96. package/dist/commonjs/validate.js +155 -155
  97. package/package.json +2 -3
  98. package/src/document.ts +1 -3
  99. package/src/query.ts +1 -0
  100. package/dist/esm/ObjectId/index.d.ts +0 -11
  101. package/dist/esm/ObjectId/index.js +0 -17
  102. package/dist/esm/aggregate.d.ts +0 -29
  103. package/dist/esm/aggregate.js +0 -121
  104. package/dist/esm/collection.d.ts +0 -17
  105. package/dist/esm/collection.js +0 -69
  106. package/dist/esm/command.d.ts +0 -175
  107. package/dist/esm/command.js +0 -281
  108. package/dist/esm/commands/logic.d.ts +0 -24
  109. package/dist/esm/commands/logic.js +0 -74
  110. package/dist/esm/commands/query.d.ts +0 -73
  111. package/dist/esm/commands/query.js +0 -141
  112. package/dist/esm/commands/update.d.ts +0 -29
  113. package/dist/esm/commands/update.js +0 -44
  114. package/dist/esm/config/app.config.d.ts +0 -6
  115. package/dist/esm/config/app.config.js +0 -5
  116. package/dist/esm/config/error.config.d.ts +0 -3
  117. package/dist/esm/config/error.config.js +0 -13
  118. package/dist/esm/const/code.d.ts +0 -34
  119. package/dist/esm/const/code.js +0 -34
  120. package/dist/esm/constant.d.ts +0 -54
  121. package/dist/esm/constant.js +0 -67
  122. package/dist/esm/document.d.ts +0 -14
  123. package/dist/esm/document.js +0 -216
  124. package/dist/esm/geo/index.d.ts +0 -6
  125. package/dist/esm/geo/index.js +0 -6
  126. package/dist/esm/geo/interface.d.ts +0 -24
  127. package/dist/esm/geo/interface.js +0 -0
  128. package/dist/esm/geo/lineString.d.ts +0 -19
  129. package/dist/esm/geo/lineString.js +0 -54
  130. package/dist/esm/geo/multiLineString.d.ts +0 -18
  131. package/dist/esm/geo/multiLineString.js +0 -53
  132. package/dist/esm/geo/multiPoint.d.ts +0 -18
  133. package/dist/esm/geo/multiPoint.js +0 -47
  134. package/dist/esm/geo/multiPolygon.d.ts +0 -18
  135. package/dist/esm/geo/multiPolygon.js +0 -59
  136. package/dist/esm/geo/point.d.ts +0 -19
  137. package/dist/esm/geo/point.js +0 -40
  138. package/dist/esm/geo/polygon.d.ts +0 -19
  139. package/dist/esm/geo/polygon.js +0 -67
  140. package/dist/esm/helper/symbol.d.ts +0 -15
  141. package/dist/esm/helper/symbol.js +0 -15
  142. package/dist/esm/index.d.ts +0 -50
  143. package/dist/esm/index.js +0 -35
  144. package/dist/esm/operator-map.d.ts +0 -4
  145. package/dist/esm/operator-map.js +0 -20
  146. package/dist/esm/query.d.ts +0 -38
  147. package/dist/esm/query.js +0 -244
  148. package/dist/esm/realtime/error.d.ts +0 -7
  149. package/dist/esm/realtime/error.js +0 -8
  150. package/dist/esm/realtime/listener.d.ts +0 -14
  151. package/dist/esm/realtime/listener.js +0 -14
  152. package/dist/esm/realtime/message.d.ts +0 -3
  153. package/dist/esm/realtime/message.js +0 -6
  154. package/dist/esm/realtime/snapshot.d.ts +0 -16
  155. package/dist/esm/realtime/snapshot.js +0 -39
  156. package/dist/esm/realtime/virtual-websocket-client.d.ts +0 -63
  157. package/dist/esm/realtime/virtual-websocket-client.js +0 -733
  158. package/dist/esm/realtime/websocket-client.d.ts +0 -78
  159. package/dist/esm/realtime/websocket-client.js +0 -564
  160. package/dist/esm/realtime/ws-event.d.ts +0 -126
  161. package/dist/esm/realtime/ws-event.js +0 -137
  162. package/dist/esm/regexp/index.d.ts +0 -18
  163. package/dist/esm/regexp/index.js +0 -26
  164. package/dist/esm/serializer/common.d.ts +0 -11
  165. package/dist/esm/serializer/common.js +0 -82
  166. package/dist/esm/serializer/datatype.d.ts +0 -7
  167. package/dist/esm/serializer/datatype.js +0 -95
  168. package/dist/esm/serializer/query.d.ts +0 -8
  169. package/dist/esm/serializer/query.js +0 -251
  170. package/dist/esm/serializer/update.d.ts +0 -16
  171. package/dist/esm/serializer/update.js +0 -139
  172. package/dist/esm/serverDate/index.d.ts +0 -13
  173. package/dist/esm/serverDate/index.js +0 -19
  174. package/dist/esm/transaction/index.d.ts +0 -30
  175. package/dist/esm/transaction/index.js +0 -100
  176. package/dist/esm/transaction.d.ts +0 -42
  177. package/dist/esm/transaction.js +0 -121
  178. package/dist/esm/typings/index.d.ts +0 -45
  179. package/dist/esm/typings/index.js +0 -0
  180. package/dist/esm/typings/realtime.d.ts +0 -219
  181. package/dist/esm/typings/realtime.js +0 -0
  182. package/dist/esm/util.d.ts +0 -9
  183. package/dist/esm/util.js +0 -98
  184. package/dist/esm/utils/error.d.ts +0 -37
  185. package/dist/esm/utils/error.js +0 -49
  186. package/dist/esm/utils/msg.d.ts +0 -0
  187. package/dist/esm/utils/msg.js +0 -0
  188. package/dist/esm/utils/symbol.d.ts +0 -8
  189. package/dist/esm/utils/symbol.js +0 -36
  190. package/dist/esm/utils/type.d.ts +0 -13
  191. package/dist/esm/utils/type.js +0 -20
  192. package/dist/esm/utils/utils.d.ts +0 -19
  193. package/dist/esm/utils/utils.js +0 -55
  194. package/dist/esm/validate.d.ts +0 -1
  195. package/dist/esm/validate.js +0 -152
@@ -1,121 +0,0 @@
1
- import { EJSON } from 'bson';
2
- import { Db } from './index';
3
- class DocumentSnapshot {
4
- constructor(data, requestId) {
5
- this._data = data;
6
- this.requestId = requestId;
7
- }
8
- data() {
9
- return this._data;
10
- }
11
- }
12
- const START = 'database.startTransaction';
13
- const COMMIT = 'database.commitTransaction';
14
- const ABORT = 'database.abortTransaction';
15
- const GET_DOC = 'database.getInTransaction';
16
- const UPDATE_DOC = 'database.updateDocInTransaction';
17
- const DELETE_DOC = 'database.deleteDocInTransaction';
18
- export class Transaction {
19
- constructor(db) {
20
- this._db = db;
21
- this._request = new Db.reqClass(this._db.config);
22
- }
23
- async init() {
24
- const res = await this._request.send(START, {});
25
- if (res.code) {
26
- throw res;
27
- }
28
- this._id = res.transactionId;
29
- }
30
- async get(documentRef) {
31
- const param = {
32
- collectionName: documentRef._coll,
33
- transactionId: this._id,
34
- _id: documentRef.id
35
- };
36
- const res = await this._request.send(GET_DOC, param);
37
- if (res.code)
38
- throw res;
39
- return new DocumentSnapshot(EJSON.parse(res.data), res.requestId);
40
- }
41
- async set(documentRef, data) {
42
- const param = {
43
- collectionName: documentRef._coll,
44
- transactionId: this._id,
45
- _id: documentRef.id,
46
- data: EJSON.stringify(data, { relaxed: false }),
47
- upsert: true
48
- };
49
- const res = await this._request.send(UPDATE_DOC, param);
50
- if (res.code)
51
- throw res;
52
- return Object.assign(Object.assign({}, res), { updated: EJSON.parse(res.updated), upserted: res.upserted
53
- ? JSON.parse(res.upserted)
54
- : null });
55
- }
56
- async update(documentRef, data) {
57
- const param = {
58
- collectionName: documentRef._coll,
59
- transactionId: this._id,
60
- _id: documentRef.id,
61
- data: EJSON.stringify({
62
- $set: data
63
- }, {
64
- relaxed: false
65
- })
66
- };
67
- const res = await this._request.send(UPDATE_DOC, param);
68
- if (res.code)
69
- throw res;
70
- return Object.assign(Object.assign({}, res), { updated: EJSON.parse(res.updated) });
71
- }
72
- async delete(documentRef) {
73
- const param = {
74
- collectionName: documentRef._coll,
75
- transactionId: this._id,
76
- _id: documentRef.id
77
- };
78
- const res = await this._request.send(DELETE_DOC, param);
79
- if (res.code)
80
- throw res;
81
- return Object.assign(Object.assign({}, res), { deleted: EJSON.parse(res.deleted) });
82
- }
83
- async commit() {
84
- const param = {
85
- transactionId: this._id
86
- };
87
- const res = await this._request.send(COMMIT, param);
88
- if (res.code)
89
- throw res;
90
- return res;
91
- }
92
- async rollback() {
93
- const param = {
94
- transactionId: this._id
95
- };
96
- const res = await this._request.send(ABORT, param);
97
- if (res.code)
98
- throw res;
99
- return res;
100
- }
101
- }
102
- export async function startTransaction() {
103
- const transaction = new Transaction(this);
104
- await transaction.init();
105
- return transaction;
106
- }
107
- export async function runTransaction(callback, times = 3) {
108
- if (times <= 0) {
109
- throw new Error('Transaction failed');
110
- }
111
- try {
112
- const transaction = new Transaction(this);
113
- await transaction.init();
114
- await callback(transaction);
115
- await transaction.commit();
116
- }
117
- catch (error) {
118
- console.log(error);
119
- return runTransaction.bind(this)(callback, --times);
120
- }
121
- }
@@ -1,45 +0,0 @@
1
- import { Point } from '../geo/index';
2
- export declare type DataType = 'init' | 'update' | 'add' | 'remove' | 'replace' | 'limit';
3
- export declare type QueueType = 'init' | 'enqueue' | 'dequeue' | 'update';
4
- export interface IDatabaseServiceContext extends IServiceContext {
5
- appConfig: IAppConfig;
6
- ws?: any;
7
- }
8
- export interface IAppConfig {
9
- docSizeLimit: number;
10
- realtimePingInterval: number;
11
- realtimePongWaitTimeout: number;
12
- request: any;
13
- }
14
- export interface IWatchOptions {
15
- onChange: (snapshot: ISnapshot) => void;
16
- onError: (error: any) => void;
17
- }
18
- export interface ISnapshot {
19
- id: number;
20
- docChanges: ISingleDBEvent[];
21
- docs: Record<string, any>;
22
- type?: SnapshotType;
23
- }
24
- export interface ISingleDBEvent {
25
- id: number;
26
- dataType: DataType;
27
- queueType: QueueType;
28
- docId: string;
29
- doc: Record<string, any>;
30
- updatedFields?: any;
31
- removedFields?: any;
32
- }
33
- export declare type SnapshotType = 'init';
34
- export interface DBRealtimeListener {
35
- close: () => void;
36
- }
37
- export interface IRealtimeListenerConstructorOptions extends IWatchOptions {
38
- }
39
- export interface IServiceContext {
40
- env?: string;
41
- }
42
- export interface IReqOpts {
43
- timeout: number;
44
- }
45
- export declare type CenterSphere = [Point, number] | [[number, number], number];
File without changes
@@ -1,219 +0,0 @@
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
@@ -1,9 +0,0 @@
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 {};
package/dist/esm/util.js DELETED
@@ -1,98 +0,0 @@
1
- import { FieldType } from './constant';
2
- import { Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon } from './geo/index';
3
- export class Util {
4
- }
5
- Util.formatResDocumentData = (documents) => {
6
- return documents.map(document => {
7
- return Util.formatField(document);
8
- });
9
- };
10
- Util.formatField = document => {
11
- const keys = Object.keys(document);
12
- let protoField = {};
13
- if (Array.isArray(document)) {
14
- protoField = [];
15
- }
16
- keys.forEach(key => {
17
- const item = document[key];
18
- const type = Util.whichType(item);
19
- let realValue;
20
- switch (type) {
21
- case FieldType.GeoPoint:
22
- realValue = new Point(item.coordinates[0], item.coordinates[1]);
23
- break;
24
- case FieldType.GeoLineString:
25
- realValue = new LineString(item.coordinates.map(point => new Point(point[0], point[1])));
26
- break;
27
- case FieldType.GeoPolygon:
28
- realValue = new Polygon(item.coordinates.map(line => new LineString(line.map(([lng, lat]) => new Point(lng, lat)))));
29
- break;
30
- case FieldType.GeoMultiPoint:
31
- realValue = new MultiPoint(item.coordinates.map(point => new Point(point[0], point[1])));
32
- break;
33
- case FieldType.GeoMultiLineString:
34
- realValue = new MultiLineString(item.coordinates.map(line => new LineString(line.map(([lng, lat]) => new Point(lng, lat)))));
35
- break;
36
- case FieldType.GeoMultiPolygon:
37
- realValue = new MultiPolygon(item.coordinates.map(polygon => new Polygon(polygon.map(line => new LineString(line.map(([lng, lat]) => new Point(lng, lat)))))));
38
- break;
39
- case FieldType.Date:
40
- realValue = item;
41
- break;
42
- case FieldType.Object:
43
- case FieldType.Array:
44
- realValue = Util.formatField(item);
45
- break;
46
- case FieldType.ServerDate:
47
- realValue = new Date(item.$date);
48
- break;
49
- default:
50
- realValue = item;
51
- }
52
- if (Array.isArray(protoField)) {
53
- protoField.push(realValue);
54
- }
55
- else {
56
- protoField[key] = realValue;
57
- }
58
- });
59
- return protoField;
60
- };
61
- Util.whichType = (obj) => {
62
- let type = Object.prototype.toString.call(obj).slice(8, -1);
63
- if (type === FieldType.Date) {
64
- return FieldType.Date;
65
- }
66
- if (type === FieldType.Object) {
67
- if (obj.$date) {
68
- type = FieldType.ServerDate;
69
- }
70
- else if (Point.validate(obj)) {
71
- type = FieldType.GeoPoint;
72
- }
73
- else if (LineString.validate(obj)) {
74
- type = FieldType.GeoLineString;
75
- }
76
- else if (Polygon.validate(obj)) {
77
- type = FieldType.GeoPolygon;
78
- }
79
- else if (MultiPoint.validate(obj)) {
80
- type = FieldType.GeoMultiPoint;
81
- }
82
- else if (MultiLineString.validate(obj)) {
83
- type = FieldType.GeoMultiLineString;
84
- }
85
- else if (MultiPolygon.validate(obj)) {
86
- type = FieldType.GeoMultiPolygon;
87
- }
88
- }
89
- return type;
90
- };
91
- Util.generateDocId = () => {
92
- let chars = 'ABCDEFabcdef0123456789';
93
- let autoId = '';
94
- for (let i = 0; i < 24; i++) {
95
- autoId += chars.charAt(Math.floor(Math.random() * chars.length));
96
- }
97
- return autoId;
98
- };
@@ -1,37 +0,0 @@
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 {};
@@ -1,49 +0,0 @@
1
- import { isString } from './type';
2
- import { ERR_CODE } from '../config/error.config';
3
- export class CloudSDKError extends Error {
4
- constructor(options) {
5
- super(options.errMsg);
6
- this.errCode = 'UNKNOWN_ERROR';
7
- Object.defineProperties(this, {
8
- message: {
9
- get() {
10
- return (`errCode: ${this.errCode} ${ERR_CODE[this.errCode] ||
11
- ''} | errMsg: ` + this.errMsg);
12
- },
13
- set(msg) {
14
- this.errMsg = msg;
15
- }
16
- }
17
- });
18
- this.errCode = options.errCode || 'UNKNOWN_ERROR';
19
- this.errMsg = options.errMsg;
20
- }
21
- get message() {
22
- return `errCode: ${this.errCode} | errMsg: ` + this.errMsg;
23
- }
24
- set message(msg) {
25
- this.errMsg = msg;
26
- }
27
- }
28
- export function isSDKError(error) {
29
- return (error && error instanceof Error && isString(error.errMsg));
30
- }
31
- export const isGenericError = (e) => e.generic;
32
- export class TimeoutError extends Error {
33
- constructor(message) {
34
- super(message);
35
- this.type = 'timeout';
36
- this.payload = null;
37
- this.generic = true;
38
- }
39
- }
40
- export const isTimeoutError = (e) => e.type === 'timeout';
41
- export class CancelledError extends Error {
42
- constructor(message) {
43
- super(message);
44
- this.type = 'cancelled';
45
- this.payload = null;
46
- this.generic = true;
47
- }
48
- }
49
- export const isCancelledError = (e) => e.type === 'cancelled';
File without changes
File without changes
@@ -1,8 +0,0 @@
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;
@@ -1,36 +0,0 @@
1
- const _symbols = [];
2
- const __internalMark__ = {};
3
- class HiddenSymbol {
4
- constructor(target) {
5
- Object.defineProperties(this, {
6
- target: {
7
- enumerable: false,
8
- writable: false,
9
- configurable: false,
10
- value: target,
11
- },
12
- });
13
- }
14
- }
15
- export class InternalSymbol extends HiddenSymbol {
16
- constructor(target, __mark__) {
17
- if (__mark__ !== __internalMark__) {
18
- throw new TypeError('InternalSymbol cannot be constructed with new operator');
19
- }
20
- super(target);
21
- }
22
- static for(target) {
23
- for (let i = 0, len = _symbols.length; i < len; i++) {
24
- if (_symbols[i].target === target) {
25
- return _symbols[i].instance;
26
- }
27
- }
28
- const symbol = new InternalSymbol(target, __internalMark__);
29
- _symbols.push({
30
- target,
31
- instance: symbol,
32
- });
33
- return symbol;
34
- }
35
- }
36
- export default InternalSymbol;
@@ -1,13 +0,0 @@
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 {};
@@ -1,20 +0,0 @@
1
- import { InternalSymbol } from './symbol';
2
- export const getType = (x) => Object.prototype.toString.call(x).slice(8, -1).toLowerCase();
3
- export const isObject = (x) => getType(x) === 'object';
4
- export const isString = (x) => getType(x) === 'string';
5
- export const isNumber = (x) => getType(x) === 'number';
6
- export const isPromise = (x) => getType(x) === 'promise';
7
- export const isFunction = (x) => typeof x === 'function';
8
- export const isArray = (x) => Array.isArray(x);
9
- export const isDate = (x) => getType(x) === 'date';
10
- export const isRegExp = (x) => getType(x) === 'regexp';
11
- export const isInternalObject = (x) => x && (x._internalType instanceof InternalSymbol);
12
- export const isPlainObject = (obj) => {
13
- if (typeof obj !== 'object' || obj === null)
14
- return false;
15
- let proto = obj;
16
- while (Object.getPrototypeOf(proto) !== null) {
17
- proto = Object.getPrototypeOf(proto);
18
- }
19
- return Object.getPrototypeOf(obj) === proto;
20
- };