@cloudbase/database 0.9.19 → 0.9.21

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 (207) 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/dist/esm/aggregate.d.ts +29 -29
  88. package/dist/esm/aggregate.js +154 -154
  89. package/dist/esm/collection.d.ts +9 -9
  90. package/dist/esm/collection.js +44 -44
  91. package/dist/esm/command.d.ts +175 -175
  92. package/dist/esm/command.js +296 -296
  93. package/dist/esm/commands/logic.d.ts +24 -24
  94. package/dist/esm/commands/logic.js +84 -84
  95. package/dist/esm/commands/query.d.ts +68 -68
  96. package/dist/esm/commands/query.js +152 -152
  97. package/dist/esm/commands/update.d.ts +29 -29
  98. package/dist/esm/commands/update.js +46 -46
  99. package/dist/esm/config/app.config.d.ts +6 -6
  100. package/dist/esm/config/app.config.js +5 -5
  101. package/dist/esm/config/error.config.d.ts +3 -3
  102. package/dist/esm/config/error.config.js +13 -13
  103. package/dist/esm/const/code.d.ts +30 -30
  104. package/dist/esm/const/code.js +30 -30
  105. package/dist/esm/constant.d.ts +51 -51
  106. package/dist/esm/constant.js +65 -65
  107. package/dist/esm/document.d.ts +11 -11
  108. package/dist/esm/document.js +247 -250
  109. package/dist/esm/geo/index.d.ts +6 -6
  110. package/dist/esm/geo/index.js +6 -6
  111. package/dist/esm/geo/interface.d.ts +24 -24
  112. package/dist/esm/geo/lineString.d.ts +19 -19
  113. package/dist/esm/geo/lineString.js +83 -83
  114. package/dist/esm/geo/multiLineString.d.ts +18 -18
  115. package/dist/esm/geo/multiLineString.js +92 -92
  116. package/dist/esm/geo/multiPoint.d.ts +18 -18
  117. package/dist/esm/geo/multiPoint.js +76 -76
  118. package/dist/esm/geo/multiPolygon.d.ts +18 -18
  119. package/dist/esm/geo/multiPolygon.js +119 -119
  120. package/dist/esm/geo/point.d.ts +19 -19
  121. package/dist/esm/geo/point.js +47 -47
  122. package/dist/esm/geo/polygon.d.ts +19 -19
  123. package/dist/esm/geo/polygon.js +106 -106
  124. package/dist/esm/helper/symbol.d.ts +14 -14
  125. package/dist/esm/helper/symbol.js +14 -14
  126. package/dist/esm/index.d.ts +33 -33
  127. package/dist/esm/index.js +41 -41
  128. package/dist/esm/lib/util.d.ts +1 -1
  129. package/dist/esm/lib/util.js +23 -23
  130. package/dist/esm/operator-map.d.ts +4 -4
  131. package/dist/esm/operator-map.js +20 -20
  132. package/dist/esm/query.d.ts +22 -22
  133. package/dist/esm/query.js +249 -249
  134. package/dist/esm/regexp/index.d.ts +14 -14
  135. package/dist/esm/regexp/index.js +29 -29
  136. package/dist/esm/serializer/common.d.ts +11 -11
  137. package/dist/esm/serializer/common.js +113 -113
  138. package/dist/esm/serializer/datatype.d.ts +7 -7
  139. package/dist/esm/serializer/datatype.js +122 -122
  140. package/dist/esm/serializer/query.d.ts +7 -7
  141. package/dist/esm/serializer/query.js +229 -229
  142. package/dist/esm/serializer/update.d.ts +15 -15
  143. package/dist/esm/serializer/update.js +139 -139
  144. package/dist/esm/serverDate/index.d.ts +13 -13
  145. package/dist/esm/serverDate/index.js +26 -26
  146. package/dist/esm/transaction/collection.d.ts +7 -7
  147. package/dist/esm/transaction/collection.js +44 -44
  148. package/dist/esm/transaction/document.d.ts +27 -27
  149. package/dist/esm/transaction/document.js +203 -203
  150. package/dist/esm/transaction/index.d.ts +30 -30
  151. package/dist/esm/transaction/index.js +210 -210
  152. package/dist/esm/transaction/query.d.ts +5 -5
  153. package/dist/esm/transaction/query.js +8 -8
  154. package/dist/esm/typings/index.d.ts +40 -40
  155. package/dist/esm/typings/realtime.d.ts +219 -219
  156. package/dist/esm/util.d.ts +9 -9
  157. package/dist/esm/util.js +142 -142
  158. package/dist/esm/utils/error.d.ts +37 -37
  159. package/dist/esm/utils/error.js +82 -82
  160. package/dist/esm/utils/symbol.d.ts +8 -8
  161. package/dist/esm/utils/symbol.js +55 -55
  162. package/dist/esm/utils/type.d.ts +13 -13
  163. package/dist/esm/utils/type.js +20 -20
  164. package/dist/esm/utils/utils.d.ts +4 -4
  165. package/dist/esm/utils/utils.js +33 -33
  166. package/dist/esm/validate.d.ts +1 -1
  167. package/dist/esm/validate.js +57 -57
  168. package/package.json +1 -1
  169. package/src/document.ts +1 -4
  170. package/src/query.ts +3 -3
  171. package/src/transaction/document.ts +2 -2
  172. package/dist/commonjs/ObjectId/index.d.ts +0 -11
  173. package/dist/commonjs/ObjectId/index.js +0 -21
  174. package/dist/commonjs/realtime/error.d.ts +0 -7
  175. package/dist/commonjs/realtime/error.js +0 -11
  176. package/dist/commonjs/realtime/listener.d.ts +0 -14
  177. package/dist/commonjs/realtime/listener.js +0 -17
  178. package/dist/commonjs/realtime/message.d.ts +0 -3
  179. package/dist/commonjs/realtime/message.js +0 -10
  180. package/dist/commonjs/realtime/snapshot.d.ts +0 -16
  181. package/dist/commonjs/realtime/snapshot.js +0 -42
  182. package/dist/commonjs/realtime/virtual-websocket-client.d.ts +0 -63
  183. package/dist/commonjs/realtime/virtual-websocket-client.js +0 -736
  184. package/dist/commonjs/realtime/websocket-client.d.ts +0 -78
  185. package/dist/commonjs/realtime/websocket-client.js +0 -567
  186. package/dist/commonjs/realtime/ws-event.d.ts +0 -126
  187. package/dist/commonjs/realtime/ws-event.js +0 -139
  188. package/dist/commonjs/transaction.d.ts +0 -42
  189. package/dist/commonjs/transaction.js +0 -126
  190. package/dist/esm/ObjectId/index.d.ts +0 -11
  191. package/dist/esm/ObjectId/index.js +0 -17
  192. package/dist/esm/realtime/error.d.ts +0 -7
  193. package/dist/esm/realtime/error.js +0 -8
  194. package/dist/esm/realtime/listener.d.ts +0 -14
  195. package/dist/esm/realtime/listener.js +0 -14
  196. package/dist/esm/realtime/message.d.ts +0 -3
  197. package/dist/esm/realtime/message.js +0 -6
  198. package/dist/esm/realtime/snapshot.d.ts +0 -16
  199. package/dist/esm/realtime/snapshot.js +0 -39
  200. package/dist/esm/realtime/virtual-websocket-client.d.ts +0 -63
  201. package/dist/esm/realtime/virtual-websocket-client.js +0 -733
  202. package/dist/esm/realtime/websocket-client.d.ts +0 -78
  203. package/dist/esm/realtime/websocket-client.js +0 -564
  204. package/dist/esm/realtime/ws-event.d.ts +0 -126
  205. package/dist/esm/realtime/ws-event.js +0 -137
  206. package/dist/esm/transaction.d.ts +0 -42
  207. package/dist/esm/transaction.js +0 -121
@@ -1,203 +1,203 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (_) try {
28
- 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;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- import { EJSON } from 'bson';
49
- import { ERRORS } from '../const/code';
50
- import { UpdateSerializer } from '../serializer/update';
51
- import { serialize } from '../serializer/datatype';
52
- import { Util } from '../util';
53
- var GET_DOC = 'database.getInTransaction';
54
- var UPDATE_DOC = 'database.updateDocInTransaction';
55
- var DELETE_DOC = 'database.deleteDocInTransaction';
56
- var INSERT_DOC = 'database.insertDocInTransaction';
57
- var DocumentReference = (function () {
58
- function DocumentReference(transaction, coll, docID) {
59
- this._coll = coll;
60
- this.id = docID;
61
- this._transaction = transaction;
62
- this._request = this._transaction.getRequestMethod();
63
- this._transactionId = this._transaction.getTransactionId();
64
- }
65
- DocumentReference.prototype.create = function (data) {
66
- return __awaiter(this, void 0, void 0, function () {
67
- var params, res, inserted, ok;
68
- return __generator(this, function (_a) {
69
- switch (_a.label) {
70
- case 0:
71
- params = {
72
- collectionName: this._coll,
73
- transactionId: this._transactionId,
74
- data: EJSON.stringify(serialize(data), { relaxed: false })
75
- };
76
- if (this.id) {
77
- params['_id'] = this.id;
78
- }
79
- return [4, this._request.send(INSERT_DOC, params)];
80
- case 1:
81
- res = _a.sent();
82
- if (res.code) {
83
- throw res;
84
- }
85
- inserted = EJSON.parse(res.inserted);
86
- ok = EJSON.parse(res.ok);
87
- if (ok == 1 && inserted == 1) {
88
- return [2, __assign(__assign({}, res), { ok: ok,
89
- inserted: inserted })];
90
- }
91
- else {
92
- throw new Error(ERRORS.INSERT_DOC_FAIL.message);
93
- }
94
- return [2];
95
- }
96
- });
97
- });
98
- };
99
- DocumentReference.prototype.get = function () {
100
- return __awaiter(this, void 0, void 0, function () {
101
- var param, res;
102
- return __generator(this, function (_a) {
103
- switch (_a.label) {
104
- case 0:
105
- param = {
106
- collectionName: this._coll,
107
- transactionId: this._transactionId,
108
- query: {
109
- _id: { $eq: this.id }
110
- }
111
- };
112
- return [4, this._request.send(GET_DOC, param)];
113
- case 1:
114
- res = _a.sent();
115
- if (res.code)
116
- throw res;
117
- return [2, {
118
- data: res.data !== 'null' ? Util.formatField(EJSON.parse(res.data)) : EJSON.parse(res.data),
119
- requestId: res.requestId
120
- }];
121
- }
122
- });
123
- });
124
- };
125
- DocumentReference.prototype.set = function (data) {
126
- return __awaiter(this, void 0, void 0, function () {
127
- var param, res;
128
- return __generator(this, function (_a) {
129
- switch (_a.label) {
130
- case 0:
131
- param = {
132
- collectionName: this._coll,
133
- transactionId: this._transactionId,
134
- query: {
135
- _id: { $eq: this.id }
136
- },
137
- data: EJSON.stringify(serialize(data), { relaxed: false }),
138
- upsert: true
139
- };
140
- return [4, this._request.send(UPDATE_DOC, param)];
141
- case 1:
142
- res = _a.sent();
143
- if (res.code)
144
- throw res;
145
- return [2, __assign(__assign({}, res), { updated: EJSON.parse(res.updated), upserted: res.upserted
146
- ? JSON.parse(res.upserted)
147
- : null })];
148
- }
149
- });
150
- });
151
- };
152
- DocumentReference.prototype.update = function (data) {
153
- return __awaiter(this, void 0, void 0, function () {
154
- var param, res;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
157
- case 0:
158
- param = {
159
- collectionName: this._coll,
160
- transactionId: this._transactionId,
161
- query: {
162
- _id: { $eq: this.id }
163
- },
164
- data: EJSON.stringify(UpdateSerializer.encode(data), {
165
- relaxed: false
166
- })
167
- };
168
- return [4, this._request.send(UPDATE_DOC, param)];
169
- case 1:
170
- res = _a.sent();
171
- if (res.code)
172
- throw res;
173
- return [2, __assign(__assign({}, res), { updated: EJSON.parse(res.updated) })];
174
- }
175
- });
176
- });
177
- };
178
- DocumentReference.prototype.delete = function () {
179
- return __awaiter(this, void 0, void 0, function () {
180
- var param, res;
181
- return __generator(this, function (_a) {
182
- switch (_a.label) {
183
- case 0:
184
- param = {
185
- collectionName: this._coll,
186
- transactionId: this._transactionId,
187
- query: {
188
- _id: { $eq: this.id }
189
- }
190
- };
191
- return [4, this._request.send(DELETE_DOC, param)];
192
- case 1:
193
- res = _a.sent();
194
- if (res.code)
195
- throw res;
196
- return [2, __assign(__assign({}, res), { deleted: EJSON.parse(res.deleted) })];
197
- }
198
- });
199
- });
200
- };
201
- return DocumentReference;
202
- }());
203
- export { DocumentReference };
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (_) try {
28
+ 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;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import { EJSON } from 'bson';
49
+ import { ERRORS } from '../const/code';
50
+ import { UpdateSerializer } from '../serializer/update';
51
+ import { serialize } from '../serializer/datatype';
52
+ import { Util } from '../util';
53
+ var GET_DOC = 'database.getInTransaction';
54
+ var UPDATE_DOC = 'database.updateDocInTransaction';
55
+ var DELETE_DOC = 'database.deleteDocInTransaction';
56
+ var INSERT_DOC = 'database.insertDocInTransaction';
57
+ var DocumentReference = (function () {
58
+ function DocumentReference(transaction, coll, docID) {
59
+ this._coll = coll;
60
+ this.id = docID;
61
+ this._transaction = transaction;
62
+ this._request = this._transaction.getRequestMethod();
63
+ this._transactionId = this._transaction.getTransactionId();
64
+ }
65
+ DocumentReference.prototype.create = function (data) {
66
+ return __awaiter(this, void 0, void 0, function () {
67
+ var params, res, inserted, ok;
68
+ return __generator(this, function (_a) {
69
+ switch (_a.label) {
70
+ case 0:
71
+ params = {
72
+ collectionName: this._coll,
73
+ transactionId: this._transactionId,
74
+ data: EJSON.stringify(serialize(data), { relaxed: false })
75
+ };
76
+ if (this.id) {
77
+ params['_id'] = this.id;
78
+ }
79
+ return [4, this._request.send(INSERT_DOC, params)];
80
+ case 1:
81
+ res = _a.sent();
82
+ if (res.code) {
83
+ throw res;
84
+ }
85
+ inserted = EJSON.parse(res.inserted);
86
+ ok = EJSON.parse(res.ok);
87
+ if (ok == 1 && inserted == 1) {
88
+ return [2, __assign(__assign({}, res), { ok: ok,
89
+ inserted: inserted })];
90
+ }
91
+ else {
92
+ throw new Error(ERRORS.INSERT_DOC_FAIL.message);
93
+ }
94
+ return [2];
95
+ }
96
+ });
97
+ });
98
+ };
99
+ DocumentReference.prototype.get = function () {
100
+ return __awaiter(this, void 0, void 0, function () {
101
+ var param, res;
102
+ return __generator(this, function (_a) {
103
+ switch (_a.label) {
104
+ case 0:
105
+ param = {
106
+ collectionName: this._coll,
107
+ transactionId: this._transactionId,
108
+ query: {
109
+ _id: { $eq: this.id }
110
+ }
111
+ };
112
+ return [4, this._request.send(GET_DOC, param)];
113
+ case 1:
114
+ res = _a.sent();
115
+ if (res.code)
116
+ throw res;
117
+ return [2, {
118
+ data: res.data !== 'null' ? Util.formatField(EJSON.parse(res.data)) : EJSON.parse(res.data),
119
+ requestId: res.requestId
120
+ }];
121
+ }
122
+ });
123
+ });
124
+ };
125
+ DocumentReference.prototype.set = function (data) {
126
+ return __awaiter(this, void 0, void 0, function () {
127
+ var param, res;
128
+ return __generator(this, function (_a) {
129
+ switch (_a.label) {
130
+ case 0:
131
+ param = {
132
+ collectionName: this._coll,
133
+ transactionId: this._transactionId,
134
+ query: {
135
+ _id: { $eq: this.id }
136
+ },
137
+ data: EJSON.stringify(serialize(data), { relaxed: false }),
138
+ upsert: true
139
+ };
140
+ return [4, this._request.send(UPDATE_DOC, param)];
141
+ case 1:
142
+ res = _a.sent();
143
+ if (res.code)
144
+ throw res;
145
+ return [2, __assign(__assign({}, res), { updated: EJSON.parse(res.updated), upserted: res.upserted
146
+ ? JSON.parse(res.upserted)
147
+ : null })];
148
+ }
149
+ });
150
+ });
151
+ };
152
+ DocumentReference.prototype.update = function (data) {
153
+ return __awaiter(this, void 0, void 0, function () {
154
+ var param, res;
155
+ return __generator(this, function (_a) {
156
+ switch (_a.label) {
157
+ case 0:
158
+ param = {
159
+ collectionName: this._coll,
160
+ transactionId: this._transactionId,
161
+ query: {
162
+ _id: { $eq: this.id }
163
+ },
164
+ data: EJSON.stringify(UpdateSerializer.encode(data), {
165
+ relaxed: false
166
+ })
167
+ };
168
+ return [4, this._request.send(UPDATE_DOC, param)];
169
+ case 1:
170
+ res = _a.sent();
171
+ if (res.code)
172
+ throw res;
173
+ return [2, __assign(__assign({}, res), { updated: EJSON.parse(res.updated) })];
174
+ }
175
+ });
176
+ });
177
+ };
178
+ DocumentReference.prototype.delete = function () {
179
+ return __awaiter(this, void 0, void 0, function () {
180
+ var param, res;
181
+ return __generator(this, function (_a) {
182
+ switch (_a.label) {
183
+ case 0:
184
+ param = {
185
+ collectionName: this._coll,
186
+ transactionId: this._transactionId,
187
+ query: {
188
+ _id: { $eq: this.id }
189
+ }
190
+ };
191
+ return [4, this._request.send(DELETE_DOC, param)];
192
+ case 1:
193
+ res = _a.sent();
194
+ if (res.code)
195
+ throw res;
196
+ return [2, __assign(__assign({}, res), { deleted: EJSON.parse(res.deleted) })];
197
+ }
198
+ });
199
+ });
200
+ };
201
+ return DocumentReference;
202
+ }());
203
+ export { DocumentReference };
@@ -1,30 +1,30 @@
1
- import { Db } from '../index';
2
- import { CollectionReference } from './collection';
3
- interface TransactionAPI {
4
- send(interfaceName: string, param?: any): any;
5
- }
6
- export declare class Transaction {
7
- private _id;
8
- private _db;
9
- private _request;
10
- aborted: boolean;
11
- abortReason: any;
12
- commited: boolean;
13
- inited: boolean;
14
- constructor(db: Db);
15
- init(): Promise<void>;
16
- collection(collName: string): CollectionReference;
17
- getTransactionId(): string;
18
- getRequestMethod(): TransactionAPI;
19
- commit(): Promise<CommitResult>;
20
- rollback(customRollbackRes: any): Promise<RollbackResult>;
21
- }
22
- export declare function startTransaction(): Promise<Transaction>;
23
- export declare function runTransaction(callback: (transaction: Transaction) => void | Promise<any>, times?: number): Promise<any>;
24
- interface CommitResult {
25
- requestId: string;
26
- }
27
- interface RollbackResult {
28
- requestId: string;
29
- }
30
- export {};
1
+ import { Db } from '../index';
2
+ import { CollectionReference } from './collection';
3
+ interface TransactionAPI {
4
+ send(interfaceName: string, param?: any): any;
5
+ }
6
+ export declare class Transaction {
7
+ private _id;
8
+ private _db;
9
+ private _request;
10
+ aborted: boolean;
11
+ abortReason: any;
12
+ commited: boolean;
13
+ inited: boolean;
14
+ constructor(db: Db);
15
+ init(): Promise<void>;
16
+ collection(collName: string): CollectionReference;
17
+ getTransactionId(): string;
18
+ getRequestMethod(): TransactionAPI;
19
+ commit(): Promise<CommitResult>;
20
+ rollback(customRollbackRes: any): Promise<RollbackResult>;
21
+ }
22
+ export declare function startTransaction(): Promise<Transaction>;
23
+ export declare function runTransaction(callback: (transaction: Transaction) => void | Promise<any>, times?: number): Promise<any>;
24
+ interface CommitResult {
25
+ requestId: string;
26
+ }
27
+ interface RollbackResult {
28
+ requestId: string;
29
+ }
30
+ export {};