@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
@@ -0,0 +1,10 @@
1
+ # Autoformatter friendly markdownlint config (all formatting rules disabled)
2
+ default: true
3
+ blank_lines: false
4
+ bullet: false
5
+ html: false
6
+ indentation: false
7
+ line_length: false
8
+ spaces: false
9
+ url: false
10
+ whitespace: false
@@ -0,0 +1,26 @@
1
+ version: 0.1
2
+ cli:
3
+ version: 1.4.1
4
+ plugins:
5
+ sources:
6
+ - id: trunk
7
+ ref: v0.0.10
8
+ uri: https://github.com/trunk-io/plugins
9
+ lint:
10
+ enabled:
11
+ - eslint@8.33.0
12
+ - markdownlint@0.33.0
13
+ - git-diff-check
14
+ - gitleaks@8.15.3
15
+ - prettier@2.8.4
16
+ runtimes:
17
+ enabled:
18
+ - go@1.18.3
19
+ - node@18.12.1
20
+ actions:
21
+ disabled:
22
+ - trunk-announce
23
+ - trunk-check-pre-push
24
+ - trunk-fmt-pre-commit
25
+ enabled:
26
+ - trunk-upgrade-available
@@ -1,29 +1,29 @@
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
+ 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,156 +1,156 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- 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;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- var index_1 = require("./index");
40
- var bson_1 = require("bson");
41
- var query_1 = require("./serializer/query");
42
- var geo_1 = require("./geo");
43
- var Aggregation = (function () {
44
- function Aggregation(db, collectionName) {
45
- this._stages = [];
46
- if (db && collectionName) {
47
- this._db = db;
48
- this._request = new index_1.Db.reqClass(this._db.config);
49
- this._collectionName = collectionName;
50
- }
51
- }
52
- Aggregation.prototype.end = function () {
53
- return __awaiter(this, void 0, void 0, function () {
54
- var result;
55
- return __generator(this, function (_a) {
56
- switch (_a.label) {
57
- case 0:
58
- if (!this._collectionName || !this._db) {
59
- throw new Error('Aggregation pipeline cannot send request');
60
- }
61
- return [4, this._request.send('database.aggregate', {
62
- collectionName: this._collectionName,
63
- stages: this._stages
64
- })];
65
- case 1:
66
- result = _a.sent();
67
- if (result && result.data && result.data.list) {
68
- return [2, {
69
- requestId: result.requestId,
70
- data: JSON.parse(result.data.list).map(bson_1.EJSON.parse)
71
- }];
72
- }
73
- return [2, result];
74
- }
75
- });
76
- });
77
- };
78
- Aggregation.prototype.unwrap = function () {
79
- return this._stages;
80
- };
81
- Aggregation.prototype.done = function () {
82
- return this._stages.map(function (_a) {
83
- var _b;
84
- var stageKey = _a.stageKey, stageValue = _a.stageValue;
85
- return _b = {},
86
- _b[stageKey] = JSON.parse(stageValue),
87
- _b;
88
- });
89
- };
90
- Aggregation.prototype._pipe = function (stage, param) {
91
- this._stages.push({
92
- stageKey: "$" + stage,
93
- stageValue: JSON.stringify(param)
94
- });
95
- return this;
96
- };
97
- Aggregation.prototype.addFields = function (param) {
98
- return this._pipe('addFields', param);
99
- };
100
- Aggregation.prototype.bucket = function (param) {
101
- return this._pipe('bucket', param);
102
- };
103
- Aggregation.prototype.bucketAuto = function (param) {
104
- return this._pipe('bucketAuto', param);
105
- };
106
- Aggregation.prototype.count = function (param) {
107
- return this._pipe('count', param);
108
- };
109
- Aggregation.prototype.geoNear = function (param) {
110
- if (param.query) {
111
- param.query = query_1.QuerySerializer.encode(param.query);
112
- }
113
- if (param.distanceMultiplier && typeof (param.distanceMultiplier) === 'number') {
114
- param.distanceMultiplier = param.distanceMultiplier;
115
- }
116
- if (param.near) {
117
- param.near = new geo_1.Point(param.near.longitude, param.near.latitude).toJSON();
118
- }
119
- return this._pipe('geoNear', param);
120
- };
121
- Aggregation.prototype.group = function (param) {
122
- return this._pipe('group', param);
123
- };
124
- Aggregation.prototype.limit = function (param) {
125
- return this._pipe('limit', param);
126
- };
127
- Aggregation.prototype.match = function (param) {
128
- return this._pipe('match', query_1.QuerySerializer.encode(param));
129
- };
130
- Aggregation.prototype.project = function (param) {
131
- return this._pipe('project', param);
132
- };
133
- Aggregation.prototype.lookup = function (param) {
134
- return this._pipe('lookup', param);
135
- };
136
- Aggregation.prototype.replaceRoot = function (param) {
137
- return this._pipe('replaceRoot', param);
138
- };
139
- Aggregation.prototype.sample = function (param) {
140
- return this._pipe('sample', param);
141
- };
142
- Aggregation.prototype.skip = function (param) {
143
- return this._pipe('skip', param);
144
- };
145
- Aggregation.prototype.sort = function (param) {
146
- return this._pipe('sort', param);
147
- };
148
- Aggregation.prototype.sortByCount = function (param) {
149
- return this._pipe('sortByCount', param);
150
- };
151
- Aggregation.prototype.unwind = function (param) {
152
- return this._pipe('unwind', param);
153
- };
154
- return Aggregation;
155
- }());
156
- exports.default = Aggregation;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ 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;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var index_1 = require("./index");
40
+ var bson_1 = require("bson");
41
+ var query_1 = require("./serializer/query");
42
+ var geo_1 = require("./geo");
43
+ var Aggregation = (function () {
44
+ function Aggregation(db, collectionName) {
45
+ this._stages = [];
46
+ if (db && collectionName) {
47
+ this._db = db;
48
+ this._request = new index_1.Db.reqClass(this._db.config);
49
+ this._collectionName = collectionName;
50
+ }
51
+ }
52
+ Aggregation.prototype.end = function () {
53
+ return __awaiter(this, void 0, void 0, function () {
54
+ var result;
55
+ return __generator(this, function (_a) {
56
+ switch (_a.label) {
57
+ case 0:
58
+ if (!this._collectionName || !this._db) {
59
+ throw new Error('Aggregation pipeline cannot send request');
60
+ }
61
+ return [4, this._request.send('database.aggregate', {
62
+ collectionName: this._collectionName,
63
+ stages: this._stages
64
+ })];
65
+ case 1:
66
+ result = _a.sent();
67
+ if (result && result.data && result.data.list) {
68
+ return [2, {
69
+ requestId: result.requestId,
70
+ data: JSON.parse(result.data.list).map(bson_1.EJSON.parse)
71
+ }];
72
+ }
73
+ return [2, result];
74
+ }
75
+ });
76
+ });
77
+ };
78
+ Aggregation.prototype.unwrap = function () {
79
+ return this._stages;
80
+ };
81
+ Aggregation.prototype.done = function () {
82
+ return this._stages.map(function (_a) {
83
+ var _b;
84
+ var stageKey = _a.stageKey, stageValue = _a.stageValue;
85
+ return _b = {},
86
+ _b[stageKey] = JSON.parse(stageValue),
87
+ _b;
88
+ });
89
+ };
90
+ Aggregation.prototype._pipe = function (stage, param) {
91
+ this._stages.push({
92
+ stageKey: "$" + stage,
93
+ stageValue: JSON.stringify(param)
94
+ });
95
+ return this;
96
+ };
97
+ Aggregation.prototype.addFields = function (param) {
98
+ return this._pipe('addFields', param);
99
+ };
100
+ Aggregation.prototype.bucket = function (param) {
101
+ return this._pipe('bucket', param);
102
+ };
103
+ Aggregation.prototype.bucketAuto = function (param) {
104
+ return this._pipe('bucketAuto', param);
105
+ };
106
+ Aggregation.prototype.count = function (param) {
107
+ return this._pipe('count', param);
108
+ };
109
+ Aggregation.prototype.geoNear = function (param) {
110
+ if (param.query) {
111
+ param.query = query_1.QuerySerializer.encode(param.query);
112
+ }
113
+ if (param.distanceMultiplier && typeof (param.distanceMultiplier) === 'number') {
114
+ param.distanceMultiplier = param.distanceMultiplier;
115
+ }
116
+ if (param.near) {
117
+ param.near = new geo_1.Point(param.near.longitude, param.near.latitude).toJSON();
118
+ }
119
+ return this._pipe('geoNear', param);
120
+ };
121
+ Aggregation.prototype.group = function (param) {
122
+ return this._pipe('group', param);
123
+ };
124
+ Aggregation.prototype.limit = function (param) {
125
+ return this._pipe('limit', param);
126
+ };
127
+ Aggregation.prototype.match = function (param) {
128
+ return this._pipe('match', query_1.QuerySerializer.encode(param));
129
+ };
130
+ Aggregation.prototype.project = function (param) {
131
+ return this._pipe('project', param);
132
+ };
133
+ Aggregation.prototype.lookup = function (param) {
134
+ return this._pipe('lookup', param);
135
+ };
136
+ Aggregation.prototype.replaceRoot = function (param) {
137
+ return this._pipe('replaceRoot', param);
138
+ };
139
+ Aggregation.prototype.sample = function (param) {
140
+ return this._pipe('sample', param);
141
+ };
142
+ Aggregation.prototype.skip = function (param) {
143
+ return this._pipe('skip', param);
144
+ };
145
+ Aggregation.prototype.sort = function (param) {
146
+ return this._pipe('sort', param);
147
+ };
148
+ Aggregation.prototype.sortByCount = function (param) {
149
+ return this._pipe('sortByCount', param);
150
+ };
151
+ Aggregation.prototype.unwind = function (param) {
152
+ return this._pipe('unwind', param);
153
+ };
154
+ return Aggregation;
155
+ }());
156
+ exports.default = Aggregation;
@@ -1,9 +1,9 @@
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
- }
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
+ }
@@ -1,46 +1,46 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- extendStatics(d, b);
11
- function __() { this.constructor = d; }
12
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
- };
14
- })();
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- var document_1 = require("./document");
17
- var query_1 = require("./query");
18
- var aggregate_1 = require("./aggregate");
19
- var CollectionReference = (function (_super) {
20
- __extends(CollectionReference, _super);
21
- function CollectionReference(db, coll) {
22
- return _super.call(this, db, coll) || this;
23
- }
24
- Object.defineProperty(CollectionReference.prototype, "name", {
25
- get: function () {
26
- return this._coll;
27
- },
28
- enumerable: true,
29
- configurable: true
30
- });
31
- CollectionReference.prototype.doc = function (docID) {
32
- if (typeof docID !== 'string' && typeof docID !== 'number') {
33
- throw new Error('docId必须为字符串或数字');
34
- }
35
- return new document_1.DocumentReference(this._db, this._coll, docID);
36
- };
37
- CollectionReference.prototype.add = function (data, callback) {
38
- var docRef = new document_1.DocumentReference(this._db, this._coll, undefined);
39
- return docRef.create(data, callback);
40
- };
41
- CollectionReference.prototype.aggregate = function () {
42
- return new aggregate_1.default(this._db, this._coll);
43
- };
44
- return CollectionReference;
45
- }(query_1.Query));
46
- exports.CollectionReference = CollectionReference;
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ var document_1 = require("./document");
17
+ var query_1 = require("./query");
18
+ var aggregate_1 = require("./aggregate");
19
+ var CollectionReference = (function (_super) {
20
+ __extends(CollectionReference, _super);
21
+ function CollectionReference(db, coll) {
22
+ return _super.call(this, db, coll) || this;
23
+ }
24
+ Object.defineProperty(CollectionReference.prototype, "name", {
25
+ get: function () {
26
+ return this._coll;
27
+ },
28
+ enumerable: true,
29
+ configurable: true
30
+ });
31
+ CollectionReference.prototype.doc = function (docID) {
32
+ if (typeof docID !== 'string' && typeof docID !== 'number') {
33
+ throw new Error('docId必须为字符串或数字');
34
+ }
35
+ return new document_1.DocumentReference(this._db, this._coll, docID);
36
+ };
37
+ CollectionReference.prototype.add = function (data, callback) {
38
+ var docRef = new document_1.DocumentReference(this._db, this._coll, undefined);
39
+ return docRef.create(data, callback);
40
+ };
41
+ CollectionReference.prototype.aggregate = function () {
42
+ return new aggregate_1.default(this._db, this._coll);
43
+ };
44
+ return CollectionReference;
45
+ }(query_1.Query));
46
+ exports.CollectionReference = CollectionReference;