@cloudbase/database 0.9.19 → 0.9.20

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 (211) hide show
  1. package/.trunk/configs/.markdownlint.yaml +10 -0
  2. package/.trunk/trunk.yaml +26 -0
  3. package/dist/commonjs/aggregate.d.ts +29 -29
  4. package/dist/commonjs/aggregate.js +156 -156
  5. package/dist/commonjs/collection.d.ts +9 -9
  6. package/dist/commonjs/collection.js +46 -46
  7. package/dist/commonjs/command.d.ts +175 -175
  8. package/dist/commonjs/command.js +298 -298
  9. package/dist/commonjs/commands/logic.d.ts +24 -24
  10. package/dist/commonjs/commands/logic.js +88 -88
  11. package/dist/commonjs/commands/query.d.ts +68 -68
  12. package/dist/commonjs/commands/query.js +157 -157
  13. package/dist/commonjs/commands/update.d.ts +29 -29
  14. package/dist/commonjs/commands/update.js +50 -50
  15. package/dist/commonjs/config/app.config.d.ts +6 -6
  16. package/dist/commonjs/config/app.config.js +7 -7
  17. package/dist/commonjs/config/error.config.d.ts +3 -3
  18. package/dist/commonjs/config/error.config.js +15 -15
  19. package/dist/commonjs/const/code.d.ts +30 -30
  20. package/dist/commonjs/const/code.js +32 -32
  21. package/dist/commonjs/constant.d.ts +51 -51
  22. package/dist/commonjs/constant.js +74 -74
  23. package/dist/commonjs/document.d.ts +11 -11
  24. package/dist/commonjs/document.js +249 -252
  25. package/dist/commonjs/geo/index.d.ts +6 -6
  26. package/dist/commonjs/geo/index.js +11 -11
  27. package/dist/commonjs/geo/interface.d.ts +24 -24
  28. package/dist/commonjs/geo/interface.js +2 -2
  29. package/dist/commonjs/geo/lineString.d.ts +19 -19
  30. package/dist/commonjs/geo/lineString.js +85 -85
  31. package/dist/commonjs/geo/multiLineString.d.ts +18 -18
  32. package/dist/commonjs/geo/multiLineString.js +94 -94
  33. package/dist/commonjs/geo/multiPoint.d.ts +18 -18
  34. package/dist/commonjs/geo/multiPoint.js +78 -78
  35. package/dist/commonjs/geo/multiPolygon.d.ts +18 -18
  36. package/dist/commonjs/geo/multiPolygon.js +121 -121
  37. package/dist/commonjs/geo/point.d.ts +19 -19
  38. package/dist/commonjs/geo/point.js +49 -49
  39. package/dist/commonjs/geo/polygon.d.ts +19 -19
  40. package/dist/commonjs/geo/polygon.js +108 -108
  41. package/dist/commonjs/helper/symbol.d.ts +14 -14
  42. package/dist/commonjs/helper/symbol.js +19 -19
  43. package/dist/commonjs/index.d.ts +33 -33
  44. package/dist/commonjs/index.js +46 -46
  45. package/dist/commonjs/lib/util.d.ts +1 -1
  46. package/dist/commonjs/lib/util.js +25 -25
  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 +22 -22
  50. package/dist/commonjs/query.js +251 -251
  51. package/dist/commonjs/regexp/index.d.ts +14 -14
  52. package/dist/commonjs/regexp/index.js +32 -32
  53. package/dist/commonjs/serializer/common.d.ts +11 -11
  54. package/dist/commonjs/serializer/common.js +121 -121
  55. package/dist/commonjs/serializer/datatype.d.ts +7 -7
  56. package/dist/commonjs/serializer/datatype.js +126 -126
  57. package/dist/commonjs/serializer/query.d.ts +7 -7
  58. package/dist/commonjs/serializer/query.js +231 -231
  59. package/dist/commonjs/serializer/update.d.ts +15 -15
  60. package/dist/commonjs/serializer/update.js +141 -141
  61. package/dist/commonjs/serverDate/index.d.ts +13 -13
  62. package/dist/commonjs/serverDate/index.js +29 -29
  63. package/dist/commonjs/transaction/collection.d.ts +7 -7
  64. package/dist/commonjs/transaction/collection.js +46 -46
  65. package/dist/commonjs/transaction/document.d.ts +27 -27
  66. package/dist/commonjs/transaction/document.js +205 -205
  67. package/dist/commonjs/transaction/index.d.ts +30 -30
  68. package/dist/commonjs/transaction/index.js +214 -214
  69. package/dist/commonjs/transaction/query.d.ts +5 -5
  70. package/dist/commonjs/transaction/query.js +10 -10
  71. package/dist/commonjs/typings/index.d.ts +40 -40
  72. package/dist/commonjs/typings/index.js +2 -2
  73. package/dist/commonjs/typings/realtime.d.ts +219 -219
  74. package/dist/commonjs/typings/realtime.js +2 -2
  75. package/dist/commonjs/util.d.ts +9 -9
  76. package/dist/commonjs/util.js +144 -144
  77. package/dist/commonjs/utils/error.d.ts +37 -37
  78. package/dist/commonjs/utils/error.js +85 -85
  79. package/dist/commonjs/utils/symbol.d.ts +8 -8
  80. package/dist/commonjs/utils/symbol.js +57 -57
  81. package/dist/commonjs/utils/type.d.ts +13 -13
  82. package/dist/commonjs/utils/type.js +22 -22
  83. package/dist/commonjs/utils/utils.d.ts +4 -4
  84. package/dist/commonjs/utils/utils.js +36 -36
  85. package/dist/commonjs/validate.d.ts +1 -1
  86. package/dist/commonjs/validate.js +59 -59
  87. package/package.json +2 -3
  88. package/src/document.ts +1 -4
  89. package/src/query.ts +3 -3
  90. package/dist/commonjs/ObjectId/index.d.ts +0 -11
  91. package/dist/commonjs/ObjectId/index.js +0 -21
  92. package/dist/commonjs/realtime/error.d.ts +0 -7
  93. package/dist/commonjs/realtime/error.js +0 -11
  94. package/dist/commonjs/realtime/listener.d.ts +0 -14
  95. package/dist/commonjs/realtime/listener.js +0 -17
  96. package/dist/commonjs/realtime/message.d.ts +0 -3
  97. package/dist/commonjs/realtime/message.js +0 -10
  98. package/dist/commonjs/realtime/snapshot.d.ts +0 -16
  99. package/dist/commonjs/realtime/snapshot.js +0 -42
  100. package/dist/commonjs/realtime/virtual-websocket-client.d.ts +0 -63
  101. package/dist/commonjs/realtime/virtual-websocket-client.js +0 -736
  102. package/dist/commonjs/realtime/websocket-client.d.ts +0 -78
  103. package/dist/commonjs/realtime/websocket-client.js +0 -567
  104. package/dist/commonjs/realtime/ws-event.d.ts +0 -126
  105. package/dist/commonjs/realtime/ws-event.js +0 -139
  106. package/dist/commonjs/transaction.d.ts +0 -42
  107. package/dist/commonjs/transaction.js +0 -126
  108. package/dist/esm/ObjectId/index.d.ts +0 -11
  109. package/dist/esm/ObjectId/index.js +0 -17
  110. package/dist/esm/aggregate.d.ts +0 -29
  111. package/dist/esm/aggregate.js +0 -154
  112. package/dist/esm/collection.d.ts +0 -9
  113. package/dist/esm/collection.js +0 -44
  114. package/dist/esm/command.d.ts +0 -175
  115. package/dist/esm/command.js +0 -296
  116. package/dist/esm/commands/logic.d.ts +0 -24
  117. package/dist/esm/commands/logic.js +0 -84
  118. package/dist/esm/commands/query.d.ts +0 -68
  119. package/dist/esm/commands/query.js +0 -152
  120. package/dist/esm/commands/update.d.ts +0 -29
  121. package/dist/esm/commands/update.js +0 -46
  122. package/dist/esm/config/app.config.d.ts +0 -6
  123. package/dist/esm/config/app.config.js +0 -5
  124. package/dist/esm/config/error.config.d.ts +0 -3
  125. package/dist/esm/config/error.config.js +0 -13
  126. package/dist/esm/const/code.d.ts +0 -30
  127. package/dist/esm/const/code.js +0 -30
  128. package/dist/esm/constant.d.ts +0 -51
  129. package/dist/esm/constant.js +0 -65
  130. package/dist/esm/document.d.ts +0 -11
  131. package/dist/esm/document.js +0 -250
  132. package/dist/esm/geo/index.d.ts +0 -6
  133. package/dist/esm/geo/index.js +0 -6
  134. package/dist/esm/geo/interface.d.ts +0 -24
  135. package/dist/esm/geo/interface.js +0 -0
  136. package/dist/esm/geo/lineString.d.ts +0 -19
  137. package/dist/esm/geo/lineString.js +0 -83
  138. package/dist/esm/geo/multiLineString.d.ts +0 -18
  139. package/dist/esm/geo/multiLineString.js +0 -92
  140. package/dist/esm/geo/multiPoint.d.ts +0 -18
  141. package/dist/esm/geo/multiPoint.js +0 -76
  142. package/dist/esm/geo/multiPolygon.d.ts +0 -18
  143. package/dist/esm/geo/multiPolygon.js +0 -119
  144. package/dist/esm/geo/point.d.ts +0 -19
  145. package/dist/esm/geo/point.js +0 -47
  146. package/dist/esm/geo/polygon.d.ts +0 -19
  147. package/dist/esm/geo/polygon.js +0 -106
  148. package/dist/esm/helper/symbol.d.ts +0 -14
  149. package/dist/esm/helper/symbol.js +0 -14
  150. package/dist/esm/index.d.ts +0 -33
  151. package/dist/esm/index.js +0 -41
  152. package/dist/esm/lib/util.d.ts +0 -1
  153. package/dist/esm/lib/util.js +0 -23
  154. package/dist/esm/operator-map.d.ts +0 -4
  155. package/dist/esm/operator-map.js +0 -20
  156. package/dist/esm/query.d.ts +0 -22
  157. package/dist/esm/query.js +0 -249
  158. package/dist/esm/realtime/error.d.ts +0 -7
  159. package/dist/esm/realtime/error.js +0 -8
  160. package/dist/esm/realtime/listener.d.ts +0 -14
  161. package/dist/esm/realtime/listener.js +0 -14
  162. package/dist/esm/realtime/message.d.ts +0 -3
  163. package/dist/esm/realtime/message.js +0 -6
  164. package/dist/esm/realtime/snapshot.d.ts +0 -16
  165. package/dist/esm/realtime/snapshot.js +0 -39
  166. package/dist/esm/realtime/virtual-websocket-client.d.ts +0 -63
  167. package/dist/esm/realtime/virtual-websocket-client.js +0 -733
  168. package/dist/esm/realtime/websocket-client.d.ts +0 -78
  169. package/dist/esm/realtime/websocket-client.js +0 -564
  170. package/dist/esm/realtime/ws-event.d.ts +0 -126
  171. package/dist/esm/realtime/ws-event.js +0 -137
  172. package/dist/esm/regexp/index.d.ts +0 -14
  173. package/dist/esm/regexp/index.js +0 -29
  174. package/dist/esm/serializer/common.d.ts +0 -11
  175. package/dist/esm/serializer/common.js +0 -113
  176. package/dist/esm/serializer/datatype.d.ts +0 -7
  177. package/dist/esm/serializer/datatype.js +0 -122
  178. package/dist/esm/serializer/query.d.ts +0 -7
  179. package/dist/esm/serializer/query.js +0 -229
  180. package/dist/esm/serializer/update.d.ts +0 -15
  181. package/dist/esm/serializer/update.js +0 -139
  182. package/dist/esm/serverDate/index.d.ts +0 -13
  183. package/dist/esm/serverDate/index.js +0 -26
  184. package/dist/esm/transaction/collection.d.ts +0 -7
  185. package/dist/esm/transaction/collection.js +0 -44
  186. package/dist/esm/transaction/document.d.ts +0 -27
  187. package/dist/esm/transaction/document.js +0 -203
  188. package/dist/esm/transaction/index.d.ts +0 -30
  189. package/dist/esm/transaction/index.js +0 -210
  190. package/dist/esm/transaction/query.d.ts +0 -5
  191. package/dist/esm/transaction/query.js +0 -8
  192. package/dist/esm/transaction.d.ts +0 -42
  193. package/dist/esm/transaction.js +0 -121
  194. package/dist/esm/typings/index.d.ts +0 -40
  195. package/dist/esm/typings/index.js +0 -0
  196. package/dist/esm/typings/realtime.d.ts +0 -219
  197. package/dist/esm/typings/realtime.js +0 -0
  198. package/dist/esm/util.d.ts +0 -9
  199. package/dist/esm/util.js +0 -142
  200. package/dist/esm/utils/error.d.ts +0 -37
  201. package/dist/esm/utils/error.js +0 -82
  202. package/dist/esm/utils/msg.d.ts +0 -0
  203. package/dist/esm/utils/msg.js +0 -0
  204. package/dist/esm/utils/symbol.d.ts +0 -8
  205. package/dist/esm/utils/symbol.js +0 -55
  206. package/dist/esm/utils/type.d.ts +0 -13
  207. package/dist/esm/utils/type.js +0 -20
  208. package/dist/esm/utils/utils.d.ts +0 -4
  209. package/dist/esm/utils/utils.js +0 -33
  210. package/dist/esm/validate.d.ts +0 -1
  211. package/dist/esm/validate.js +0 -57
@@ -1,126 +0,0 @@
1
- import { CloudSDKError } from '../utils/error';
2
- export declare const CLOSE_EVENT_CODE_INFO: {
3
- 1000: {
4
- code: number;
5
- name: string;
6
- description: string;
7
- };
8
- 1001: {
9
- code: number;
10
- name: string;
11
- description: string;
12
- };
13
- 1002: {
14
- code: number;
15
- name: string;
16
- description: string;
17
- };
18
- 1003: {
19
- code: number;
20
- name: string;
21
- description: string;
22
- };
23
- 1005: {
24
- code: number;
25
- name: string;
26
- description: string;
27
- };
28
- 1006: {
29
- code: number;
30
- name: string;
31
- description: string;
32
- };
33
- 1007: {
34
- code: number;
35
- name: string;
36
- description: string;
37
- };
38
- 1008: {
39
- code: number;
40
- name: string;
41
- description: string;
42
- };
43
- 1009: {
44
- code: number;
45
- name: string;
46
- description: string;
47
- };
48
- 1010: {
49
- code: number;
50
- name: string;
51
- description: string;
52
- };
53
- 1011: {
54
- code: number;
55
- name: string;
56
- description: string;
57
- };
58
- 1012: {
59
- code: number;
60
- name: string;
61
- description: string;
62
- };
63
- 1013: {
64
- code: number;
65
- name: string;
66
- description: string;
67
- };
68
- 1014: {
69
- code: number;
70
- name: string;
71
- description: string;
72
- };
73
- 1015: {
74
- code: number;
75
- name: string;
76
- description: string;
77
- };
78
- 3000: {
79
- code: number;
80
- name: string;
81
- description: string;
82
- };
83
- 3001: {
84
- code: number;
85
- name: string;
86
- description: string;
87
- };
88
- 3002: {
89
- code: number;
90
- name: string;
91
- description: string;
92
- };
93
- 3003: {
94
- code: number;
95
- name: string;
96
- description: string;
97
- };
98
- 3050: {
99
- code: number;
100
- name: string;
101
- description: string;
102
- };
103
- };
104
- export declare enum CLOSE_EVENT_CODE {
105
- NormalClosure = 1000,
106
- GoingAway = 1001,
107
- ProtocolError = 1002,
108
- UnsupportedData = 1003,
109
- NoStatusReceived = 1005,
110
- AbnormalClosure = 1006,
111
- InvalidFramePayloadData = 1007,
112
- PolicyViolation = 1008,
113
- MessageTooBig = 1009,
114
- MissingExtension = 1010,
115
- InternalError = 1011,
116
- ServiceRestart = 1012,
117
- TryAgainLater = 1013,
118
- BadGateway = 1014,
119
- TLSHandshake = 1015,
120
- ReconnectWebSocket = 3000,
121
- NoRealtimeListeners = 3001,
122
- HeartbeatPingError = 3002,
123
- HeartbeatPongTimeoutError = 3003,
124
- NoAuthentication = 3050
125
- }
126
- export declare const getWSCloseError: (code: CLOSE_EVENT_CODE, reason?: string) => CloudSDKError;
@@ -1,139 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const error_1 = require("../utils/error");
4
- const error_config_1 = require("../config/error.config");
5
- exports.CLOSE_EVENT_CODE_INFO = {
6
- 1000: {
7
- code: 1000,
8
- name: 'Normal Closure',
9
- description: 'Normal closure; the connection successfully completed whatever purpose for which it was created.'
10
- },
11
- 1001: {
12
- code: 1001,
13
- name: 'Going Away',
14
- description: 'The endpoint is going away, either because of a server failure or because the browser is navigating away from the page that opened the connection.'
15
- },
16
- 1002: {
17
- code: 1002,
18
- name: 'Protocol Error',
19
- description: 'The endpoint is terminating the connection due to a protocol error.'
20
- },
21
- 1003: {
22
- code: 1003,
23
- name: 'Unsupported Data',
24
- description: 'The connection is being terminated because the endpoint received data of a type it cannot accept (for example, a text-only endpoint received binary data).'
25
- },
26
- 1005: {
27
- code: 1005,
28
- name: 'No Status Received',
29
- description: 'Indicates that no status code was provided even though one was expected.'
30
- },
31
- 1006: {
32
- code: 1006,
33
- name: 'Abnormal Closure',
34
- description: 'Used to indicate that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected.'
35
- },
36
- 1007: {
37
- code: 1007,
38
- name: 'Invalid frame payload data',
39
- description: 'The endpoint is terminating the connection because a message was received that contained inconsistent data (e.g., non-UTF-8 data within a text message).'
40
- },
41
- 1008: {
42
- code: 1008,
43
- name: 'Policy Violation',
44
- description: 'The endpoint is terminating the connection because it received a message that violates its policy. This is a generic status code, used when codes 1003 and 1009 are not suitable.'
45
- },
46
- 1009: {
47
- code: 1009,
48
- name: 'Message too big',
49
- description: 'The endpoint is terminating the connection because a data frame was received that is too large.'
50
- },
51
- 1010: {
52
- code: 1010,
53
- name: 'Missing Extension',
54
- description: "The client is terminating the connection because it expected the server to negotiate one or more extension, but the server didn't."
55
- },
56
- 1011: {
57
- code: 1011,
58
- name: 'Internal Error',
59
- description: 'The server is terminating the connection because it encountered an unexpected condition that prevented it from fulfilling the request.'
60
- },
61
- 1012: {
62
- code: 1012,
63
- name: 'Service Restart',
64
- description: 'The server is terminating the connection because it is restarting.'
65
- },
66
- 1013: {
67
- code: 1013,
68
- name: 'Try Again Later',
69
- description: 'The server is terminating the connection due to a temporary condition, e.g. it is overloaded and is casting off some of its clients.'
70
- },
71
- 1014: {
72
- code: 1014,
73
- name: 'Bad Gateway',
74
- description: 'The server was acting as a gateway or proxy and received an invalid response from the upstream server. This is similar to 502 HTTP Status Code.'
75
- },
76
- 1015: {
77
- code: 1015,
78
- name: 'TLS Handshake',
79
- description: "Indicates that the connection was closed due to a failure to perform a TLS handshake (e.g., the server certificate can't be verified)."
80
- },
81
- 3000: {
82
- code: 3000,
83
- name: 'Reconnect WebSocket',
84
- description: 'The client is terminating the connection because it wants to reconnect'
85
- },
86
- 3001: {
87
- code: 3001,
88
- name: 'No Realtime Listeners',
89
- description: 'The client is terminating the connection because no more realtime listeners exist'
90
- },
91
- 3002: {
92
- code: 3002,
93
- name: 'Heartbeat Ping Error',
94
- description: 'The client is terminating the connection due to its failure in sending heartbeat messages'
95
- },
96
- 3003: {
97
- code: 3003,
98
- name: 'Heartbeat Pong Timeout Error',
99
- description: 'The client is terminating the connection because no heartbeat response is received from the server'
100
- },
101
- 3050: {
102
- code: 3050,
103
- name: 'Server Close',
104
- description: 'The client is terminating the connection because no heartbeat response is received from the server'
105
- }
106
- };
107
- var CLOSE_EVENT_CODE;
108
- (function (CLOSE_EVENT_CODE) {
109
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["NormalClosure"] = 1000] = "NormalClosure";
110
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["GoingAway"] = 1001] = "GoingAway";
111
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["ProtocolError"] = 1002] = "ProtocolError";
112
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["UnsupportedData"] = 1003] = "UnsupportedData";
113
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["NoStatusReceived"] = 1005] = "NoStatusReceived";
114
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["AbnormalClosure"] = 1006] = "AbnormalClosure";
115
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["InvalidFramePayloadData"] = 1007] = "InvalidFramePayloadData";
116
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["PolicyViolation"] = 1008] = "PolicyViolation";
117
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["MessageTooBig"] = 1009] = "MessageTooBig";
118
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["MissingExtension"] = 1010] = "MissingExtension";
119
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["InternalError"] = 1011] = "InternalError";
120
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["ServiceRestart"] = 1012] = "ServiceRestart";
121
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["TryAgainLater"] = 1013] = "TryAgainLater";
122
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["BadGateway"] = 1014] = "BadGateway";
123
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["TLSHandshake"] = 1015] = "TLSHandshake";
124
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["ReconnectWebSocket"] = 3000] = "ReconnectWebSocket";
125
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["NoRealtimeListeners"] = 3001] = "NoRealtimeListeners";
126
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["HeartbeatPingError"] = 3002] = "HeartbeatPingError";
127
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["HeartbeatPongTimeoutError"] = 3003] = "HeartbeatPongTimeoutError";
128
- CLOSE_EVENT_CODE[CLOSE_EVENT_CODE["NoAuthentication"] = 3050] = "NoAuthentication";
129
- })(CLOSE_EVENT_CODE = exports.CLOSE_EVENT_CODE || (exports.CLOSE_EVENT_CODE = {}));
130
- exports.getWSCloseError = (code, reason) => {
131
- const info = exports.CLOSE_EVENT_CODE_INFO[code];
132
- const errMsg = !info
133
- ? `code ${code}`
134
- : `${info.name}, code ${code}, reason ${reason || info.description}`;
135
- return new error_1.CloudSDKError({
136
- errCode: error_config_1.ERR_CODE.SDK_DATABASE_REALTIME_LISTENER_WEBSOCKET_CONNECTION_CLOSED,
137
- errMsg
138
- });
139
- };
@@ -1,42 +0,0 @@
1
- import { DocumentReference } from './document';
2
- import { Db } from './index';
3
- declare class DocumentSnapshot {
4
- private _data;
5
- requestId: string;
6
- constructor(data: any, requestId: any);
7
- data(): any;
8
- }
9
- export declare class Transaction {
10
- private _id;
11
- private _db;
12
- private _request;
13
- constructor(db: Db);
14
- init(): Promise<void>;
15
- get(documentRef: DocumentReference): Promise<DocumentSnapshot>;
16
- set(documentRef: DocumentReference, data: Object): Promise<SetResult>;
17
- update(documentRef: DocumentReference, data: Object): Promise<UpdateResult>;
18
- delete(documentRef: DocumentReference): Promise<DeleteResult>;
19
- commit(): Promise<CommitResult>;
20
- rollback(): Promise<RollbackResult>;
21
- }
22
- export declare function startTransaction(): Promise<Transaction>;
23
- export declare function runTransaction(callback: (transaction: Transaction) => void | Promise<any>, times?: number): Promise<void>;
24
- declare type JsonString = string;
25
- interface CommitResult {
26
- requestId: string;
27
- }
28
- interface RollbackResult {
29
- requestId: string;
30
- }
31
- interface UpdateResult {
32
- requestId: string;
33
- updated: number;
34
- }
35
- interface SetResult extends UpdateResult {
36
- upserted: JsonString;
37
- }
38
- interface DeleteResult {
39
- requestId: string;
40
- deleted: number | string;
41
- }
42
- export {};
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const bson_1 = require("bson");
4
- const index_1 = require("./index");
5
- class DocumentSnapshot {
6
- constructor(data, requestId) {
7
- this._data = data;
8
- this.requestId = requestId;
9
- }
10
- data() {
11
- return this._data;
12
- }
13
- }
14
- const START = 'database.startTransaction';
15
- const COMMIT = 'database.commitTransaction';
16
- const ABORT = 'database.abortTransaction';
17
- const GET_DOC = 'database.getInTransaction';
18
- const UPDATE_DOC = 'database.updateDocInTransaction';
19
- const DELETE_DOC = 'database.deleteDocInTransaction';
20
- class Transaction {
21
- constructor(db) {
22
- this._db = db;
23
- this._request = new index_1.Db.reqClass(this._db.config);
24
- }
25
- async init() {
26
- const res = await this._request.send(START, {});
27
- if (res.code) {
28
- throw res;
29
- }
30
- this._id = res.transactionId;
31
- }
32
- async get(documentRef) {
33
- const param = {
34
- collectionName: documentRef._coll,
35
- transactionId: this._id,
36
- _id: documentRef.id
37
- };
38
- const res = await this._request.send(GET_DOC, param);
39
- if (res.code)
40
- throw res;
41
- return new DocumentSnapshot(bson_1.EJSON.parse(res.data), res.requestId);
42
- }
43
- async set(documentRef, data) {
44
- const param = {
45
- collectionName: documentRef._coll,
46
- transactionId: this._id,
47
- _id: documentRef.id,
48
- data: bson_1.EJSON.stringify(data, { relaxed: false }),
49
- upsert: true
50
- };
51
- const res = await this._request.send(UPDATE_DOC, param);
52
- if (res.code)
53
- throw res;
54
- return Object.assign(Object.assign({}, res), { updated: bson_1.EJSON.parse(res.updated), upserted: res.upserted
55
- ? JSON.parse(res.upserted)
56
- : null });
57
- }
58
- async update(documentRef, data) {
59
- const param = {
60
- collectionName: documentRef._coll,
61
- transactionId: this._id,
62
- _id: documentRef.id,
63
- data: bson_1.EJSON.stringify({
64
- $set: data
65
- }, {
66
- relaxed: false
67
- })
68
- };
69
- const res = await this._request.send(UPDATE_DOC, param);
70
- if (res.code)
71
- throw res;
72
- return Object.assign(Object.assign({}, res), { updated: bson_1.EJSON.parse(res.updated) });
73
- }
74
- async delete(documentRef) {
75
- const param = {
76
- collectionName: documentRef._coll,
77
- transactionId: this._id,
78
- _id: documentRef.id
79
- };
80
- const res = await this._request.send(DELETE_DOC, param);
81
- if (res.code)
82
- throw res;
83
- return Object.assign(Object.assign({}, res), { deleted: bson_1.EJSON.parse(res.deleted) });
84
- }
85
- async commit() {
86
- const param = {
87
- transactionId: this._id
88
- };
89
- const res = await this._request.send(COMMIT, param);
90
- if (res.code)
91
- throw res;
92
- return res;
93
- }
94
- async rollback() {
95
- const param = {
96
- transactionId: this._id
97
- };
98
- const res = await this._request.send(ABORT, param);
99
- if (res.code)
100
- throw res;
101
- return res;
102
- }
103
- }
104
- exports.Transaction = Transaction;
105
- async function startTransaction() {
106
- const transaction = new Transaction(this);
107
- await transaction.init();
108
- return transaction;
109
- }
110
- exports.startTransaction = startTransaction;
111
- async function runTransaction(callback, times = 3) {
112
- if (times <= 0) {
113
- throw new Error('Transaction failed');
114
- }
115
- try {
116
- const transaction = new Transaction(this);
117
- await transaction.init();
118
- await callback(transaction);
119
- await transaction.commit();
120
- }
121
- catch (error) {
122
- console.log(error);
123
- return runTransaction.bind(this)(callback, --times);
124
- }
125
- }
126
- exports.runTransaction = runTransaction;
@@ -1,11 +0,0 @@
1
- export declare class ObjectId {
2
- id: string;
3
- constructor({ id }?: {
4
- id?: string;
5
- });
6
- readonly _internalType: import("../utils/symbol").InternalSymbol;
7
- parse(): {
8
- $oid: string;
9
- };
10
- }
11
- export declare function ObjectIdConstructor(opt: any): ObjectId;
@@ -1,17 +0,0 @@
1
- import { SYMBOL_OBJECTID } from '../helper/symbol';
2
- export class ObjectId {
3
- constructor({ id = '' } = {}) {
4
- this.id = id;
5
- }
6
- get _internalType() {
7
- return SYMBOL_OBJECTID;
8
- }
9
- parse() {
10
- return {
11
- $oid: this.id
12
- };
13
- }
14
- }
15
- export function ObjectIdConstructor(opt) {
16
- return new ObjectId(opt);
17
- }
@@ -1,29 +0,0 @@
1
- export default class Aggregation {
2
- _db: any;
3
- _request: any;
4
- _stages: any[];
5
- _collectionName: string;
6
- constructor(db?: any, collectionName?: any);
7
- end(): Promise<any>;
8
- unwrap(): any[];
9
- done(): {
10
- [x: number]: any;
11
- }[];
12
- _pipe(stage: any, param: any): this;
13
- addFields(param: any): this;
14
- bucket(param: any): this;
15
- bucketAuto(param: any): this;
16
- count(param: any): this;
17
- geoNear(param: any): this;
18
- group(param: any): this;
19
- limit(param: any): this;
20
- match(param: any): this;
21
- project(param: any): this;
22
- lookup(param: any): this;
23
- replaceRoot(param: any): this;
24
- sample(param: any): this;
25
- skip(param: any): this;
26
- sort(param: any): this;
27
- sortByCount(param: any): this;
28
- unwind(param: any): this;
29
- }
@@ -1,154 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import { Db } from './index';
38
- import { EJSON } from 'bson';
39
- import { QuerySerializer } from './serializer/query';
40
- import { Point } from './geo';
41
- var Aggregation = (function () {
42
- function Aggregation(db, collectionName) {
43
- this._stages = [];
44
- if (db && collectionName) {
45
- this._db = db;
46
- this._request = new Db.reqClass(this._db.config);
47
- this._collectionName = collectionName;
48
- }
49
- }
50
- Aggregation.prototype.end = function () {
51
- return __awaiter(this, void 0, void 0, function () {
52
- var result;
53
- return __generator(this, function (_a) {
54
- switch (_a.label) {
55
- case 0:
56
- if (!this._collectionName || !this._db) {
57
- throw new Error('Aggregation pipeline cannot send request');
58
- }
59
- return [4, this._request.send('database.aggregate', {
60
- collectionName: this._collectionName,
61
- stages: this._stages
62
- })];
63
- case 1:
64
- result = _a.sent();
65
- if (result && result.data && result.data.list) {
66
- return [2, {
67
- requestId: result.requestId,
68
- data: JSON.parse(result.data.list).map(EJSON.parse)
69
- }];
70
- }
71
- return [2, result];
72
- }
73
- });
74
- });
75
- };
76
- Aggregation.prototype.unwrap = function () {
77
- return this._stages;
78
- };
79
- Aggregation.prototype.done = function () {
80
- return this._stages.map(function (_a) {
81
- var _b;
82
- var stageKey = _a.stageKey, stageValue = _a.stageValue;
83
- return _b = {},
84
- _b[stageKey] = JSON.parse(stageValue),
85
- _b;
86
- });
87
- };
88
- Aggregation.prototype._pipe = function (stage, param) {
89
- this._stages.push({
90
- stageKey: "$" + stage,
91
- stageValue: JSON.stringify(param)
92
- });
93
- return this;
94
- };
95
- Aggregation.prototype.addFields = function (param) {
96
- return this._pipe('addFields', param);
97
- };
98
- Aggregation.prototype.bucket = function (param) {
99
- return this._pipe('bucket', param);
100
- };
101
- Aggregation.prototype.bucketAuto = function (param) {
102
- return this._pipe('bucketAuto', param);
103
- };
104
- Aggregation.prototype.count = function (param) {
105
- return this._pipe('count', param);
106
- };
107
- Aggregation.prototype.geoNear = function (param) {
108
- if (param.query) {
109
- param.query = QuerySerializer.encode(param.query);
110
- }
111
- if (param.distanceMultiplier && typeof (param.distanceMultiplier) === 'number') {
112
- param.distanceMultiplier = param.distanceMultiplier;
113
- }
114
- if (param.near) {
115
- param.near = new Point(param.near.longitude, param.near.latitude).toJSON();
116
- }
117
- return this._pipe('geoNear', param);
118
- };
119
- Aggregation.prototype.group = function (param) {
120
- return this._pipe('group', param);
121
- };
122
- Aggregation.prototype.limit = function (param) {
123
- return this._pipe('limit', param);
124
- };
125
- Aggregation.prototype.match = function (param) {
126
- return this._pipe('match', QuerySerializer.encode(param));
127
- };
128
- Aggregation.prototype.project = function (param) {
129
- return this._pipe('project', param);
130
- };
131
- Aggregation.prototype.lookup = function (param) {
132
- return this._pipe('lookup', param);
133
- };
134
- Aggregation.prototype.replaceRoot = function (param) {
135
- return this._pipe('replaceRoot', param);
136
- };
137
- Aggregation.prototype.sample = function (param) {
138
- return this._pipe('sample', param);
139
- };
140
- Aggregation.prototype.skip = function (param) {
141
- return this._pipe('skip', param);
142
- };
143
- Aggregation.prototype.sort = function (param) {
144
- return this._pipe('sort', param);
145
- };
146
- Aggregation.prototype.sortByCount = function (param) {
147
- return this._pipe('sortByCount', param);
148
- };
149
- Aggregation.prototype.unwind = function (param) {
150
- return this._pipe('unwind', param);
151
- };
152
- return Aggregation;
153
- }());
154
- export default Aggregation;
@@ -1,9 +0,0 @@
1
- import { DocumentReference } from './document';
2
- import { Query } from './query';
3
- import Aggregation from './aggregate';
4
- export declare class CollectionReference extends Query {
5
- readonly name: string;
6
- doc(docID?: string | number): DocumentReference;
7
- add(data: Object, callback?: any): Promise<any>;
8
- aggregate(): Aggregation;
9
- }