@cloudbase/database 1.4.3 → 1.5.0

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 (196) hide show
  1. package/dist/commonjs/ObjectId/index.d.ts +1 -1
  2. package/dist/commonjs/ObjectId/index.js +16 -9
  3. package/dist/commonjs/aggregate.js +126 -75
  4. package/dist/commonjs/collection.d.ts +3 -2
  5. package/dist/commonjs/collection.js +131 -58
  6. package/dist/commonjs/command.d.ts +5 -5
  7. package/dist/commonjs/command.js +181 -154
  8. package/dist/commonjs/commands/logic.js +30 -20
  9. package/dist/commonjs/commands/query.d.ts +1 -1
  10. package/dist/commonjs/commands/query.js +85 -65
  11. package/dist/commonjs/commands/update.js +9 -7
  12. package/dist/commonjs/config/error.config.js +1 -0
  13. package/dist/commonjs/const/code.js +1 -0
  14. package/dist/commonjs/constant.d.ts +7 -7
  15. package/dist/commonjs/constant.js +13 -11
  16. package/dist/commonjs/document.d.ts +10 -6
  17. package/dist/commonjs/document.js +305 -193
  18. package/dist/commonjs/geo/index.js +20 -9
  19. package/dist/commonjs/geo/lineString.d.ts +1 -1
  20. package/dist/commonjs/geo/lineString.js +62 -33
  21. package/dist/commonjs/geo/multiLineString.d.ts +1 -1
  22. package/dist/commonjs/geo/multiLineString.js +71 -32
  23. package/dist/commonjs/geo/multiPoint.d.ts +1 -1
  24. package/dist/commonjs/geo/multiPoint.js +58 -29
  25. package/dist/commonjs/geo/multiPolygon.d.ts +1 -1
  26. package/dist/commonjs/geo/multiPolygon.js +96 -36
  27. package/dist/commonjs/geo/point.d.ts +1 -1
  28. package/dist/commonjs/geo/point.js +30 -23
  29. package/dist/commonjs/geo/polygon.d.ts +1 -1
  30. package/dist/commonjs/geo/polygon.js +78 -39
  31. package/dist/commonjs/helper/symbol.js +17 -5
  32. package/dist/commonjs/index.d.ts +8 -2
  33. package/dist/commonjs/index.js +73 -20
  34. package/dist/commonjs/lib/util.d.ts +1 -0
  35. package/dist/commonjs/lib/util.js +26 -0
  36. package/dist/commonjs/operator-map.js +7 -6
  37. package/dist/commonjs/query.d.ts +8 -4
  38. package/dist/commonjs/query.js +308 -201
  39. package/dist/commonjs/regexp/index.d.ts +1 -1
  40. package/dist/commonjs/regexp/index.js +16 -9
  41. package/dist/commonjs/serializer/common.d.ts +2 -2
  42. package/dist/commonjs/serializer/common.js +59 -22
  43. package/dist/commonjs/serializer/datatype.d.ts +2 -2
  44. package/dist/commonjs/serializer/datatype.js +58 -21
  45. package/dist/commonjs/serializer/query.d.ts +1 -1
  46. package/dist/commonjs/serializer/query.js +137 -127
  47. package/dist/commonjs/serializer/update.d.ts +1 -1
  48. package/dist/commonjs/serializer/update.js +83 -78
  49. package/dist/commonjs/serverDate/index.d.ts +1 -1
  50. package/dist/commonjs/serverDate/index.js +16 -9
  51. package/dist/commonjs/transaction/collection.d.ts +7 -0
  52. package/dist/commonjs/transaction/collection.js +49 -0
  53. package/dist/commonjs/transaction/document.d.ts +27 -0
  54. package/dist/commonjs/transaction/document.js +205 -0
  55. package/dist/commonjs/transaction/index.js +196 -86
  56. package/dist/commonjs/transaction/query.d.ts +43 -0
  57. package/dist/commonjs/transaction/query.js +261 -0
  58. package/dist/commonjs/typings/index.d.ts +4 -4
  59. package/dist/commonjs/typings/realtime.d.ts +16 -16
  60. package/dist/commonjs/util.js +123 -92
  61. package/dist/commonjs/utils/error.d.ts +2 -1
  62. package/dist/commonjs/utils/error.js +74 -38
  63. package/dist/commonjs/utils/symbol.js +33 -14
  64. package/dist/commonjs/utils/type.d.ts +1 -1
  65. package/dist/commonjs/utils/type.js +25 -13
  66. package/dist/commonjs/utils/utils.d.ts +4 -1
  67. package/dist/commonjs/utils/utils.js +93 -22
  68. package/dist/commonjs/validate.js +79 -63
  69. package/dist/esm/ObjectId/index.d.ts +1 -1
  70. package/dist/esm/ObjectId/index.js +15 -8
  71. package/dist/esm/aggregate.js +118 -66
  72. package/dist/esm/collection.d.ts +3 -2
  73. package/dist/esm/collection.js +125 -52
  74. package/dist/esm/command.d.ts +5 -5
  75. package/dist/esm/command.js +175 -147
  76. package/dist/esm/commands/logic.js +30 -20
  77. package/dist/esm/commands/query.d.ts +1 -1
  78. package/dist/esm/commands/query.js +91 -71
  79. package/dist/esm/commands/update.js +8 -6
  80. package/dist/esm/config/error.config.js +1 -1
  81. package/dist/esm/const/code.js +1 -1
  82. package/dist/esm/constant.d.ts +7 -7
  83. package/dist/esm/constant.js +12 -11
  84. package/dist/esm/document.d.ts +10 -6
  85. package/dist/esm/document.js +297 -185
  86. package/dist/esm/geo/interface.js +1 -0
  87. package/dist/esm/geo/lineString.d.ts +1 -1
  88. package/dist/esm/geo/lineString.js +57 -28
  89. package/dist/esm/geo/multiLineString.d.ts +1 -1
  90. package/dist/esm/geo/multiLineString.js +66 -27
  91. package/dist/esm/geo/multiPoint.d.ts +1 -1
  92. package/dist/esm/geo/multiPoint.js +53 -24
  93. package/dist/esm/geo/multiPolygon.d.ts +1 -1
  94. package/dist/esm/geo/multiPolygon.js +91 -31
  95. package/dist/esm/geo/point.d.ts +1 -1
  96. package/dist/esm/geo/point.js +26 -19
  97. package/dist/esm/geo/polygon.d.ts +1 -1
  98. package/dist/esm/geo/polygon.js +73 -34
  99. package/dist/esm/helper/symbol.js +13 -13
  100. package/dist/esm/index.d.ts +8 -2
  101. package/dist/esm/index.js +62 -9
  102. package/dist/esm/lib/util.d.ts +1 -0
  103. package/dist/esm/lib/util.js +22 -0
  104. package/dist/esm/operator-map.js +4 -4
  105. package/dist/esm/query.d.ts +8 -4
  106. package/dist/esm/query.js +299 -192
  107. package/dist/esm/regexp/index.d.ts +1 -1
  108. package/dist/esm/regexp/index.js +15 -8
  109. package/dist/esm/serializer/common.d.ts +2 -2
  110. package/dist/esm/serializer/common.js +49 -13
  111. package/dist/esm/serializer/datatype.d.ts +2 -2
  112. package/dist/esm/serializer/datatype.js +44 -8
  113. package/dist/esm/serializer/query.d.ts +1 -1
  114. package/dist/esm/serializer/query.js +112 -102
  115. package/dist/esm/serializer/update.d.ts +1 -1
  116. package/dist/esm/serializer/update.js +69 -64
  117. package/dist/esm/serverDate/index.d.ts +1 -1
  118. package/dist/esm/serverDate/index.js +15 -8
  119. package/dist/esm/transaction/collection.d.ts +7 -0
  120. package/dist/esm/transaction/collection.js +46 -0
  121. package/dist/esm/transaction/document.d.ts +27 -0
  122. package/dist/esm/transaction/document.js +202 -0
  123. package/dist/esm/transaction/index.js +191 -81
  124. package/dist/esm/transaction/query.d.ts +43 -0
  125. package/dist/esm/transaction/query.js +258 -0
  126. package/dist/esm/typings/index.d.ts +4 -4
  127. package/dist/esm/typings/index.js +1 -0
  128. package/dist/esm/typings/realtime.d.ts +16 -16
  129. package/dist/esm/typings/realtime.js +1 -0
  130. package/dist/esm/util.js +121 -90
  131. package/dist/esm/utils/error.d.ts +2 -1
  132. package/dist/esm/utils/error.js +70 -35
  133. package/dist/esm/utils/symbol.js +33 -14
  134. package/dist/esm/utils/type.d.ts +1 -1
  135. package/dist/esm/utils/type.js +12 -12
  136. package/dist/esm/utils/utils.d.ts +4 -1
  137. package/dist/esm/utils/utils.js +78 -16
  138. package/dist/esm/validate.js +65 -49
  139. package/jest.config.js +14 -0
  140. package/package.json +14 -10
  141. package/src/aggregate.ts +1 -5
  142. package/src/collection.ts +15 -2
  143. package/src/document.ts +45 -34
  144. package/src/index.ts +51 -4
  145. package/src/query.ts +33 -29
  146. package/src/serializer/query.ts +18 -6
  147. package/src/transaction/index.ts +1 -1
  148. package/src/typings/index.ts +0 -4
  149. package/src/utils/utils.ts +46 -0
  150. package/src/validate.ts +3 -6
  151. package/tests/gateway-contract.test.ts +180 -0
  152. package/tests/index.test.ts +283 -0
  153. package/tests/transaction-query.test.ts +207 -0
  154. package/tsconfig.esm.json +4 -2
  155. package/tsconfig.json +16 -6
  156. package/tsconfig.test.json +15 -0
  157. package/dist/commonjs/realtime/error.d.ts +0 -7
  158. package/dist/commonjs/realtime/error.js +0 -11
  159. package/dist/commonjs/realtime/listener.d.ts +0 -14
  160. package/dist/commonjs/realtime/listener.js +0 -17
  161. package/dist/commonjs/realtime/message.d.ts +0 -3
  162. package/dist/commonjs/realtime/message.js +0 -10
  163. package/dist/commonjs/realtime/snapshot.d.ts +0 -16
  164. package/dist/commonjs/realtime/snapshot.js +0 -42
  165. package/dist/commonjs/realtime/virtual-websocket-client.d.ts +0 -63
  166. package/dist/commonjs/realtime/virtual-websocket-client.js +0 -736
  167. package/dist/commonjs/realtime/websocket-client.d.ts +0 -78
  168. package/dist/commonjs/realtime/websocket-client.js +0 -567
  169. package/dist/commonjs/realtime/ws-event.d.ts +0 -126
  170. package/dist/commonjs/realtime/ws-event.js +0 -139
  171. package/dist/commonjs/transaction.d.ts +0 -42
  172. package/dist/commonjs/transaction.js +0 -126
  173. package/dist/esm/realtime/error.d.ts +0 -7
  174. package/dist/esm/realtime/error.js +0 -8
  175. package/dist/esm/realtime/listener.d.ts +0 -14
  176. package/dist/esm/realtime/listener.js +0 -14
  177. package/dist/esm/realtime/message.d.ts +0 -3
  178. package/dist/esm/realtime/message.js +0 -6
  179. package/dist/esm/realtime/snapshot.d.ts +0 -16
  180. package/dist/esm/realtime/snapshot.js +0 -39
  181. package/dist/esm/realtime/virtual-websocket-client.d.ts +0 -63
  182. package/dist/esm/realtime/virtual-websocket-client.js +0 -733
  183. package/dist/esm/realtime/websocket-client.d.ts +0 -78
  184. package/dist/esm/realtime/websocket-client.js +0 -564
  185. package/dist/esm/realtime/ws-event.d.ts +0 -126
  186. package/dist/esm/realtime/ws-event.js +0 -137
  187. package/dist/esm/transaction.d.ts +0 -42
  188. package/dist/esm/transaction.js +0 -121
  189. package/src/realtime/error.ts +0 -19
  190. package/src/realtime/listener.ts +0 -35
  191. package/src/realtime/message.ts +0 -14
  192. package/src/realtime/snapshot.ts +0 -60
  193. package/src/realtime/virtual-websocket-client.ts +0 -1195
  194. package/src/realtime/websocket-client.ts +0 -995
  195. package/src/realtime/ws-event.ts +0 -163
  196. package/src/transaction.ts +0 -190
@@ -1,96 +1,117 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const query_1 = require("./commands/query");
4
- const logic_1 = require("./commands/logic");
5
- const update_1 = require("./commands/update");
6
- const type_1 = require("./utils/type");
7
- const aggregate_1 = require("./aggregate");
3
+ exports.ProjectionOperator = exports.AggregationOperator = exports.Command = void 0;
4
+ var query_1 = require("./commands/query");
5
+ var logic_1 = require("./commands/logic");
6
+ var update_1 = require("./commands/update");
7
+ var type_1 = require("./utils/type");
8
+ var aggregate_1 = require("./aggregate");
8
9
  exports.Command = {
9
- eq(val) {
10
+ eq: function (val) {
10
11
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.EQ, [val]);
11
12
  },
12
- neq(val) {
13
+ neq: function (val) {
13
14
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.NEQ, [val]);
14
15
  },
15
- lt(val) {
16
+ lt: function (val) {
16
17
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.LT, [val]);
17
18
  },
18
- lte(val) {
19
+ lte: function (val) {
19
20
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.LTE, [val]);
20
21
  },
21
- gt(val) {
22
+ gt: function (val) {
22
23
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GT, [val]);
23
24
  },
24
- gte(val) {
25
+ gte: function (val) {
25
26
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GTE, [val]);
26
27
  },
27
- in(val) {
28
+ in: function (val) {
28
29
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.IN, val);
29
30
  },
30
- nin(val) {
31
+ nin: function (val) {
31
32
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.NIN, val);
32
33
  },
33
- all(val) {
34
+ all: function (val) {
34
35
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.ALL, val);
35
36
  },
36
- elemMatch(val) {
37
+ elemMatch: function (val) {
37
38
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.ELEM_MATCH, [val]);
38
39
  },
39
- exists(val) {
40
+ exists: function (val) {
40
41
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.EXISTS, [val]);
41
42
  },
42
- size(val) {
43
+ size: function (val) {
43
44
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.SIZE, [val]);
44
45
  },
45
- mod() {
46
+ mod: function () {
46
47
  if (arguments.length == 1)
47
48
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.MOD, [arguments[0]]);
48
49
  if (arguments.length == 2)
49
50
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.MOD, [[arguments[0], arguments[1]]]);
50
51
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.MOD, arguments);
51
52
  },
52
- geoNear(val) {
53
+ geoNear: function (val) {
53
54
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GEO_NEAR, [val]);
54
55
  },
55
- geoWithin(val) {
56
+ geoWithin: function (val) {
56
57
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GEO_WITHIN, [val]);
57
58
  },
58
- geoIntersects(val) {
59
+ geoIntersects: function (val) {
59
60
  return new query_1.QueryCommand(query_1.QUERY_COMMANDS_LITERAL.GEO_INTERSECTS, [val]);
60
61
  },
61
- and(...__expressions__) {
62
- const expressions = type_1.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
62
+ and: function () {
63
+ var __expressions__ = [];
64
+ for (var _i = 0; _i < arguments.length; _i++) {
65
+ __expressions__[_i] = arguments[_i];
66
+ }
67
+ var expressions = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
63
68
  return new logic_1.LogicCommand(logic_1.LOGIC_COMMANDS_LITERAL.AND, expressions);
64
69
  },
65
- nor(...__expressions__) {
66
- const expressions = type_1.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
70
+ nor: function () {
71
+ var __expressions__ = [];
72
+ for (var _i = 0; _i < arguments.length; _i++) {
73
+ __expressions__[_i] = arguments[_i];
74
+ }
75
+ var expressions = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
67
76
  return new logic_1.LogicCommand(logic_1.LOGIC_COMMANDS_LITERAL.NOR, expressions);
68
77
  },
69
- or(...__expressions__) {
70
- const expressions = type_1.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
78
+ or: function () {
79
+ var __expressions__ = [];
80
+ for (var _i = 0; _i < arguments.length; _i++) {
81
+ __expressions__[_i] = arguments[_i];
82
+ }
83
+ var expressions = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
71
84
  return new logic_1.LogicCommand(logic_1.LOGIC_COMMANDS_LITERAL.OR, expressions);
72
85
  },
73
- not(...__expressions__) {
74
- const expressions = type_1.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
86
+ not: function () {
87
+ var __expressions__ = [];
88
+ for (var _i = 0; _i < arguments.length; _i++) {
89
+ __expressions__[_i] = arguments[_i];
90
+ }
91
+ var expressions = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
75
92
  return new logic_1.LogicCommand(logic_1.LOGIC_COMMANDS_LITERAL.NOT, expressions);
76
93
  },
77
- set(val) {
94
+ set: function (val) {
78
95
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.SET, [val]);
79
96
  },
80
- remove() {
97
+ remove: function () {
81
98
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.REMOVE, []);
82
99
  },
83
- inc(val) {
100
+ inc: function (val) {
84
101
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.INC, [val]);
85
102
  },
86
- mul(val) {
103
+ mul: function (val) {
87
104
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.MUL, [val]);
88
105
  },
89
- push(...args) {
90
- let values;
91
- if (type_1.isObject(args[0]) && args[0].hasOwnProperty('each')) {
106
+ push: function () {
107
+ var args = [];
108
+ for (var _i = 0; _i < arguments.length; _i++) {
109
+ args[_i] = arguments[_i];
110
+ }
111
+ var values;
112
+ if ((0, type_1.isObject)(args[0]) && args[0].hasOwnProperty('each')) {
92
113
  values = {};
93
- const options = args[0];
114
+ var options = args[0];
94
115
  if (options.each !== undefined) {
95
116
  values['$each'] = options.each;
96
117
  }
@@ -104,7 +125,7 @@ exports.Command = {
104
125
  values['$slice'] = options.slice;
105
126
  }
106
127
  }
107
- else if (type_1.isArray(args[0])) {
128
+ else if ((0, type_1.isArray)(args[0])) {
108
129
  values = args[0];
109
130
  }
110
131
  else {
@@ -112,49 +133,53 @@ exports.Command = {
112
133
  }
113
134
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.PUSH, values);
114
135
  },
115
- pull(values) {
136
+ pull: function (values) {
116
137
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.PULL, values);
117
138
  },
118
- pullAll(values) {
139
+ pullAll: function (values) {
119
140
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.PULL_ALL, values);
120
141
  },
121
- pop() {
142
+ pop: function () {
122
143
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.POP, []);
123
144
  },
124
- shift() {
145
+ shift: function () {
125
146
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.SHIFT, []);
126
147
  },
127
- unshift(...__values__) {
128
- const values = type_1.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
148
+ unshift: function () {
149
+ var __values__ = [];
150
+ for (var _i = 0; _i < arguments.length; _i++) {
151
+ __values__[_i] = arguments[_i];
152
+ }
153
+ var values = (0, type_1.isArray)(arguments[0]) ? arguments[0] : Array.from(arguments);
129
154
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.UNSHIFT, values);
130
155
  },
131
- addToSet(values) {
156
+ addToSet: function (values) {
132
157
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.ADD_TO_SET, values);
133
158
  },
134
- rename(values) {
159
+ rename: function (values) {
135
160
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.RENAME, [values]);
136
161
  },
137
- bit(values) {
162
+ bit: function (values) {
138
163
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.BIT, [values]);
139
164
  },
140
- max(values) {
165
+ max: function (values) {
141
166
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.MAX, [values]);
142
167
  },
143
- min(values) {
168
+ min: function (values) {
144
169
  return new update_1.UpdateCommand(update_1.UPDATE_COMMANDS_LITERAL.MIN, [values]);
145
170
  },
146
- expr(values) {
171
+ expr: function (values) {
147
172
  return {
148
173
  $expr: values
149
174
  };
150
175
  },
151
- jsonSchema(schema) {
176
+ jsonSchema: function (schema) {
152
177
  return {
153
178
  $jsonSchema: schema
154
179
  };
155
180
  },
156
- text(values) {
157
- if (type_1.isString(values)) {
181
+ text: function (values) {
182
+ if ((0, type_1.isString)(values)) {
158
183
  return {
159
184
  $search: values.search
160
185
  };
@@ -169,117 +194,119 @@ exports.Command = {
169
194
  }
170
195
  },
171
196
  aggregate: {
172
- pipeline() {
197
+ pipeline: function () {
173
198
  return new aggregate_1.default();
174
199
  },
175
- abs: param => new AggregationOperator('abs', param),
176
- add: param => new AggregationOperator('add', param),
177
- ceil: param => new AggregationOperator('ceil', param),
178
- divide: param => new AggregationOperator('divide', param),
179
- exp: param => new AggregationOperator('exp', param),
180
- floor: param => new AggregationOperator('floor', param),
181
- ln: param => new AggregationOperator('ln', param),
182
- log: param => new AggregationOperator('log', param),
183
- log10: param => new AggregationOperator('log10', param),
184
- mod: param => new AggregationOperator('mod', param),
185
- multiply: param => new AggregationOperator('multiply', param),
186
- pow: param => new AggregationOperator('pow', param),
187
- sqrt: param => new AggregationOperator('sqrt', param),
188
- subtract: param => new AggregationOperator('subtract', param),
189
- trunc: param => new AggregationOperator('trunc', param),
190
- arrayElemAt: param => new AggregationOperator('arrayElemAt', param),
191
- arrayToObject: param => new AggregationOperator('arrayToObject', param),
192
- concatArrays: param => new AggregationOperator('concatArrays', param),
193
- filter: param => new AggregationOperator('filter', param),
194
- in: param => new AggregationOperator('in', param),
195
- indexOfArray: param => new AggregationOperator('indexOfArray', param),
196
- isArray: param => new AggregationOperator('isArray', param),
197
- map: param => new AggregationOperator('map', param),
198
- range: param => new AggregationOperator('range', param),
199
- reduce: param => new AggregationOperator('reduce', param),
200
- reverseArray: param => new AggregationOperator('reverseArray', param),
201
- size: param => new AggregationOperator('size', param),
202
- slice: param => new AggregationOperator('slice', param),
203
- zip: param => new AggregationOperator('zip', param),
204
- and: param => new AggregationOperator('and', param),
205
- not: param => new AggregationOperator('not', param),
206
- or: param => new AggregationOperator('or', param),
207
- cmp: param => new AggregationOperator('cmp', param),
208
- eq: param => new AggregationOperator('eq', param),
209
- gt: param => new AggregationOperator('gt', param),
210
- gte: param => new AggregationOperator('gte', param),
211
- lt: param => new AggregationOperator('lt', param),
212
- lte: param => new AggregationOperator('lte', param),
213
- neq: param => new AggregationOperator('ne', param),
214
- cond: param => new AggregationOperator('cond', param),
215
- ifNull: param => new AggregationOperator('ifNull', param),
216
- switch: param => new AggregationOperator('switch', param),
217
- dateFromParts: param => new AggregationOperator('dateFromParts', param),
218
- dateFromString: param => new AggregationOperator('dateFromString', param),
219
- dayOfMonth: param => new AggregationOperator('dayOfMonth', param),
220
- dayOfWeek: param => new AggregationOperator('dayOfWeek', param),
221
- dayOfYear: param => new AggregationOperator('dayOfYear', param),
222
- isoDayOfWeek: param => new AggregationOperator('isoDayOfWeek', param),
223
- isoWeek: param => new AggregationOperator('isoWeek', param),
224
- isoWeekYear: param => new AggregationOperator('isoWeekYear', param),
225
- millisecond: param => new AggregationOperator('millisecond', param),
226
- minute: param => new AggregationOperator('minute', param),
227
- month: param => new AggregationOperator('month', param),
228
- second: param => new AggregationOperator('second', param),
229
- hour: param => new AggregationOperator('hour', param),
230
- week: param => new AggregationOperator('week', param),
231
- year: param => new AggregationOperator('year', param),
232
- literal: param => new AggregationOperator('literal', param),
233
- mergeObjects: param => new AggregationOperator('mergeObjects', param),
234
- objectToArray: param => new AggregationOperator('objectToArray', param),
235
- allElementsTrue: param => new AggregationOperator('allElementsTrue', param),
236
- anyElementTrue: param => new AggregationOperator('anyElementTrue', param),
237
- setDifference: param => new AggregationOperator('setDifference', param),
238
- setEquals: param => new AggregationOperator('setEquals', param),
239
- setIntersection: param => new AggregationOperator('setIntersection', param),
240
- setIsSubset: param => new AggregationOperator('setIsSubset', param),
241
- setUnion: param => new AggregationOperator('setUnion', param),
242
- concat: param => new AggregationOperator('concat', param),
243
- dateToString: param => new AggregationOperator('dateToString', param),
244
- indexOfBytes: param => new AggregationOperator('indexOfBytes', param),
245
- indexOfCP: param => new AggregationOperator('indexOfCP', param),
246
- split: param => new AggregationOperator('split', param),
247
- strLenBytes: param => new AggregationOperator('strLenBytes', param),
248
- strLenCP: param => new AggregationOperator('strLenCP', param),
249
- strcasecmp: param => new AggregationOperator('strcasecmp', param),
250
- substr: param => new AggregationOperator('substr', param),
251
- substrBytes: param => new AggregationOperator('substrBytes', param),
252
- substrCP: param => new AggregationOperator('substrCP', param),
253
- toLower: param => new AggregationOperator('toLower', param),
254
- toUpper: param => new AggregationOperator('toUpper', param),
255
- meta: param => new AggregationOperator('meta', param),
256
- addToSet: param => new AggregationOperator('addToSet', param),
257
- avg: param => new AggregationOperator('avg', param),
258
- first: param => new AggregationOperator('first', param),
259
- last: param => new AggregationOperator('last', param),
260
- max: param => new AggregationOperator('max', param),
261
- min: param => new AggregationOperator('min', param),
262
- push: param => new AggregationOperator('push', param),
263
- stdDevPop: param => new AggregationOperator('stdDevPop', param),
264
- stdDevSamp: param => new AggregationOperator('stdDevSamp', param),
265
- sum: param => new AggregationOperator('sum', param),
266
- let: param => new AggregationOperator('let', param)
200
+ abs: function (param) { return new AggregationOperator('abs', param); },
201
+ add: function (param) { return new AggregationOperator('add', param); },
202
+ ceil: function (param) { return new AggregationOperator('ceil', param); },
203
+ divide: function (param) { return new AggregationOperator('divide', param); },
204
+ exp: function (param) { return new AggregationOperator('exp', param); },
205
+ floor: function (param) { return new AggregationOperator('floor', param); },
206
+ ln: function (param) { return new AggregationOperator('ln', param); },
207
+ log: function (param) { return new AggregationOperator('log', param); },
208
+ log10: function (param) { return new AggregationOperator('log10', param); },
209
+ mod: function (param) { return new AggregationOperator('mod', param); },
210
+ multiply: function (param) { return new AggregationOperator('multiply', param); },
211
+ pow: function (param) { return new AggregationOperator('pow', param); },
212
+ sqrt: function (param) { return new AggregationOperator('sqrt', param); },
213
+ subtract: function (param) { return new AggregationOperator('subtract', param); },
214
+ trunc: function (param) { return new AggregationOperator('trunc', param); },
215
+ arrayElemAt: function (param) { return new AggregationOperator('arrayElemAt', param); },
216
+ arrayToObject: function (param) { return new AggregationOperator('arrayToObject', param); },
217
+ concatArrays: function (param) { return new AggregationOperator('concatArrays', param); },
218
+ filter: function (param) { return new AggregationOperator('filter', param); },
219
+ in: function (param) { return new AggregationOperator('in', param); },
220
+ indexOfArray: function (param) { return new AggregationOperator('indexOfArray', param); },
221
+ isArray: function (param) { return new AggregationOperator('isArray', param); },
222
+ map: function (param) { return new AggregationOperator('map', param); },
223
+ range: function (param) { return new AggregationOperator('range', param); },
224
+ reduce: function (param) { return new AggregationOperator('reduce', param); },
225
+ reverseArray: function (param) { return new AggregationOperator('reverseArray', param); },
226
+ size: function (param) { return new AggregationOperator('size', param); },
227
+ slice: function (param) { return new AggregationOperator('slice', param); },
228
+ zip: function (param) { return new AggregationOperator('zip', param); },
229
+ and: function (param) { return new AggregationOperator('and', param); },
230
+ not: function (param) { return new AggregationOperator('not', param); },
231
+ or: function (param) { return new AggregationOperator('or', param); },
232
+ cmp: function (param) { return new AggregationOperator('cmp', param); },
233
+ eq: function (param) { return new AggregationOperator('eq', param); },
234
+ gt: function (param) { return new AggregationOperator('gt', param); },
235
+ gte: function (param) { return new AggregationOperator('gte', param); },
236
+ lt: function (param) { return new AggregationOperator('lt', param); },
237
+ lte: function (param) { return new AggregationOperator('lte', param); },
238
+ neq: function (param) { return new AggregationOperator('ne', param); },
239
+ cond: function (param) { return new AggregationOperator('cond', param); },
240
+ ifNull: function (param) { return new AggregationOperator('ifNull', param); },
241
+ switch: function (param) { return new AggregationOperator('switch', param); },
242
+ dateFromParts: function (param) { return new AggregationOperator('dateFromParts', param); },
243
+ dateFromString: function (param) { return new AggregationOperator('dateFromString', param); },
244
+ dayOfMonth: function (param) { return new AggregationOperator('dayOfMonth', param); },
245
+ dayOfWeek: function (param) { return new AggregationOperator('dayOfWeek', param); },
246
+ dayOfYear: function (param) { return new AggregationOperator('dayOfYear', param); },
247
+ isoDayOfWeek: function (param) { return new AggregationOperator('isoDayOfWeek', param); },
248
+ isoWeek: function (param) { return new AggregationOperator('isoWeek', param); },
249
+ isoWeekYear: function (param) { return new AggregationOperator('isoWeekYear', param); },
250
+ millisecond: function (param) { return new AggregationOperator('millisecond', param); },
251
+ minute: function (param) { return new AggregationOperator('minute', param); },
252
+ month: function (param) { return new AggregationOperator('month', param); },
253
+ second: function (param) { return new AggregationOperator('second', param); },
254
+ hour: function (param) { return new AggregationOperator('hour', param); },
255
+ week: function (param) { return new AggregationOperator('week', param); },
256
+ year: function (param) { return new AggregationOperator('year', param); },
257
+ literal: function (param) { return new AggregationOperator('literal', param); },
258
+ mergeObjects: function (param) { return new AggregationOperator('mergeObjects', param); },
259
+ objectToArray: function (param) { return new AggregationOperator('objectToArray', param); },
260
+ allElementsTrue: function (param) { return new AggregationOperator('allElementsTrue', param); },
261
+ anyElementTrue: function (param) { return new AggregationOperator('anyElementTrue', param); },
262
+ setDifference: function (param) { return new AggregationOperator('setDifference', param); },
263
+ setEquals: function (param) { return new AggregationOperator('setEquals', param); },
264
+ setIntersection: function (param) { return new AggregationOperator('setIntersection', param); },
265
+ setIsSubset: function (param) { return new AggregationOperator('setIsSubset', param); },
266
+ setUnion: function (param) { return new AggregationOperator('setUnion', param); },
267
+ concat: function (param) { return new AggregationOperator('concat', param); },
268
+ dateToString: function (param) { return new AggregationOperator('dateToString', param); },
269
+ indexOfBytes: function (param) { return new AggregationOperator('indexOfBytes', param); },
270
+ indexOfCP: function (param) { return new AggregationOperator('indexOfCP', param); },
271
+ split: function (param) { return new AggregationOperator('split', param); },
272
+ strLenBytes: function (param) { return new AggregationOperator('strLenBytes', param); },
273
+ strLenCP: function (param) { return new AggregationOperator('strLenCP', param); },
274
+ strcasecmp: function (param) { return new AggregationOperator('strcasecmp', param); },
275
+ substr: function (param) { return new AggregationOperator('substr', param); },
276
+ substrBytes: function (param) { return new AggregationOperator('substrBytes', param); },
277
+ substrCP: function (param) { return new AggregationOperator('substrCP', param); },
278
+ toLower: function (param) { return new AggregationOperator('toLower', param); },
279
+ toUpper: function (param) { return new AggregationOperator('toUpper', param); },
280
+ meta: function (param) { return new AggregationOperator('meta', param); },
281
+ addToSet: function (param) { return new AggregationOperator('addToSet', param); },
282
+ avg: function (param) { return new AggregationOperator('avg', param); },
283
+ first: function (param) { return new AggregationOperator('first', param); },
284
+ last: function (param) { return new AggregationOperator('last', param); },
285
+ max: function (param) { return new AggregationOperator('max', param); },
286
+ min: function (param) { return new AggregationOperator('min', param); },
287
+ push: function (param) { return new AggregationOperator('push', param); },
288
+ stdDevPop: function (param) { return new AggregationOperator('stdDevPop', param); },
289
+ stdDevSamp: function (param) { return new AggregationOperator('stdDevSamp', param); },
290
+ sum: function (param) { return new AggregationOperator('sum', param); },
291
+ let: function (param) { return new AggregationOperator('let', param); }
267
292
  },
268
293
  project: {
269
- slice: param => new ProjectionOperator('slice', param),
270
- elemMatch: param => new ProjectionOperator('elemMatch', param)
294
+ slice: function (param) { return new ProjectionOperator('slice', param); },
295
+ elemMatch: function (param) { return new ProjectionOperator('elemMatch', param); }
271
296
  }
272
297
  };
273
- class AggregationOperator {
274
- constructor(name, param) {
298
+ var AggregationOperator = (function () {
299
+ function AggregationOperator(name, param) {
275
300
  this['$' + name] = param;
276
301
  }
277
- }
302
+ return AggregationOperator;
303
+ }());
278
304
  exports.AggregationOperator = AggregationOperator;
279
- class ProjectionOperator {
280
- constructor(name, param) {
305
+ var ProjectionOperator = (function () {
306
+ function ProjectionOperator(name, param) {
281
307
  this['$' + name] = param;
282
308
  }
283
- }
309
+ return ProjectionOperator;
310
+ }());
284
311
  exports.ProjectionOperator = ProjectionOperator;
285
312
  exports.default = exports.Command;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const symbol_1 = require("../helper/symbol");
4
- const query_1 = require("./query");
3
+ exports.isKnownLogicCommand = exports.isLogicCommand = exports.LogicCommand = exports.LOGIC_COMMANDS_LITERAL = exports.NOR = exports.NOT = exports.OR = exports.AND = void 0;
4
+ var symbol_1 = require("../helper/symbol");
5
+ var query_1 = require("./query");
5
6
  exports.AND = 'and';
6
7
  exports.OR = 'or';
7
8
  exports.NOT = 'not';
@@ -13,8 +14,8 @@ var LOGIC_COMMANDS_LITERAL;
13
14
  LOGIC_COMMANDS_LITERAL["NOT"] = "not";
14
15
  LOGIC_COMMANDS_LITERAL["NOR"] = "nor";
15
16
  })(LOGIC_COMMANDS_LITERAL = exports.LOGIC_COMMANDS_LITERAL || (exports.LOGIC_COMMANDS_LITERAL = {}));
16
- class LogicCommand {
17
- constructor(operator, operands, fieldName) {
17
+ var LogicCommand = (function () {
18
+ function LogicCommand(operator, operands, fieldName) {
18
19
  this._internalType = symbol_1.SYMBOL_LOGIC_COMMAND;
19
20
  Object.defineProperties(this, {
20
21
  _internalType: {
@@ -29,23 +30,23 @@ class LogicCommand {
29
30
  if (Array.isArray(operands)) {
30
31
  operands = operands.slice();
31
32
  this.operands = operands;
32
- for (let i = 0, len = operands.length; i < len; i++) {
33
- const query = operands[i];
34
- if (isLogicCommand(query) || query_1.isQueryCommand(query)) {
33
+ for (var i = 0, len = operands.length; i < len; i++) {
34
+ var query = operands[i];
35
+ if (isLogicCommand(query) || (0, query_1.isQueryCommand)(query)) {
35
36
  operands[i] = query._setFieldName(this.fieldName);
36
37
  }
37
38
  }
38
39
  }
39
40
  else {
40
- const query = operands;
41
- if (isLogicCommand(query) || query_1.isQueryCommand(query)) {
41
+ var query = operands;
42
+ if (isLogicCommand(query) || (0, query_1.isQueryCommand)(query)) {
42
43
  operands = query._setFieldName(this.fieldName);
43
44
  }
44
45
  }
45
46
  }
46
47
  }
47
- _setFieldName(fieldName) {
48
- const operands = this.operands.map(operand => {
48
+ LogicCommand.prototype._setFieldName = function (fieldName) {
49
+ var operands = this.operands.map(function (operand) {
49
50
  if (operand instanceof LogicCommand) {
50
51
  return operand._setFieldName(fieldName);
51
52
  }
@@ -53,20 +54,29 @@ class LogicCommand {
53
54
  return operand;
54
55
  }
55
56
  });
56
- const command = new LogicCommand(this.operator, operands, fieldName);
57
+ var command = new LogicCommand(this.operator, operands, fieldName);
57
58
  return command;
58
- }
59
- and(...__expressions__) {
60
- const expressions = Array.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
59
+ };
60
+ LogicCommand.prototype.and = function () {
61
+ var __expressions__ = [];
62
+ for (var _i = 0; _i < arguments.length; _i++) {
63
+ __expressions__[_i] = arguments[_i];
64
+ }
65
+ var expressions = Array.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
61
66
  expressions.unshift(this);
62
67
  return new LogicCommand(LOGIC_COMMANDS_LITERAL.AND, expressions, this.fieldName);
63
- }
64
- or(...__expressions__) {
65
- const expressions = Array.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
68
+ };
69
+ LogicCommand.prototype.or = function () {
70
+ var __expressions__ = [];
71
+ for (var _i = 0; _i < arguments.length; _i++) {
72
+ __expressions__[_i] = arguments[_i];
73
+ }
74
+ var expressions = Array.isArray(arguments[0]) ? arguments[0] : Array.from(arguments);
66
75
  expressions.unshift(this);
67
76
  return new LogicCommand(LOGIC_COMMANDS_LITERAL.OR, expressions, this.fieldName);
68
- }
69
- }
77
+ };
78
+ return LogicCommand;
79
+ }());
70
80
  exports.LogicCommand = LogicCommand;
71
81
  function isLogicCommand(object) {
72
82
  return object && (object instanceof LogicCommand) && (object._internalType === symbol_1.SYMBOL_LOGIC_COMMAND);
@@ -37,7 +37,7 @@ export declare class QueryCommand extends LogicCommand {
37
37
  operator: QUERY_COMMANDS_LITERAL;
38
38
  constructor(operator: QUERY_COMMANDS_LITERAL, operands: any, fieldName?: string | InternalSymbol);
39
39
  toJSON(): {
40
- ['$ne']: any;
40
+ $ne: any;
41
41
  } | {
42
42
  [x: string]: any;
43
43
  $ne?: undefined;