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