@byted-apaas/server-sdk-node 0.0.2-beta.1

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 (215) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +1 -0
  3. package/application/application.d.ts +27 -0
  4. package/application/application.js +3 -0
  5. package/application/application.js.map +1 -0
  6. package/application/application.ts +40 -0
  7. package/application/function/function.d.ts +14 -0
  8. package/application/function/function.js +22 -0
  9. package/application/function/function.js.map +1 -0
  10. package/application/function/function.ts +37 -0
  11. package/application/impl/common.d.ts +2 -0
  12. package/application/impl/common.js +51 -0
  13. package/application/impl/common.js.map +1 -0
  14. package/application/impl/common.ts +50 -0
  15. package/application/impl/impl.d.ts +16 -0
  16. package/application/impl/impl.js +39 -0
  17. package/application/impl/impl.js.map +1 -0
  18. package/application/impl/impl.ts +48 -0
  19. package/constants/constants.d.ts +10 -0
  20. package/constants/constants.js +14 -0
  21. package/constants/constants.js.map +1 -0
  22. package/constants/constants.ts +12 -0
  23. package/context/context.d.ts +74 -0
  24. package/context/context.js +24 -0
  25. package/context/context.js.map +1 -0
  26. package/context/context.ts +127 -0
  27. package/context/db/db.d.ts +73 -0
  28. package/context/db/db.js +3 -0
  29. package/context/db/db.js.map +1 -0
  30. package/context/db/db.ts +77 -0
  31. package/context/db/impl/IObject.d.ts +251 -0
  32. package/context/db/impl/IObject.js +4 -0
  33. package/context/db/impl/IObject.js.map +1 -0
  34. package/context/db/impl/IObject.ts +244 -0
  35. package/context/db/impl/db.d.ts +61 -0
  36. package/context/db/impl/db.js +87 -0
  37. package/context/db/impl/db.js.map +1 -0
  38. package/context/db/impl/db.ts +95 -0
  39. package/context/db/impl/object.d.ts +92 -0
  40. package/context/db/impl/object.js +523 -0
  41. package/context/db/impl/object.js.map +1 -0
  42. package/context/db/impl/object.ts +628 -0
  43. package/context/db/impl/oql/ioql.d.ts +6 -0
  44. package/context/db/impl/oql/ioql.js +3 -0
  45. package/context/db/impl/oql/ioql.js.map +1 -0
  46. package/context/db/impl/oql/ioql.ts +6 -0
  47. package/context/db/impl/oql/oql.d.ts +8 -0
  48. package/context/db/impl/oql/oql.js +20 -0
  49. package/context/db/impl/oql/oql.js.map +1 -0
  50. package/context/db/impl/oql/oql.ts +22 -0
  51. package/context/db/impl/order.d.ts +9 -0
  52. package/context/db/impl/order.js +14 -0
  53. package/context/db/impl/order.js.map +1 -0
  54. package/context/db/impl/order.ts +16 -0
  55. package/context/db/impl/propertiesStore.d.ts +8 -0
  56. package/context/db/impl/propertiesStore.js +28 -0
  57. package/context/db/impl/propertiesStore.js.map +1 -0
  58. package/context/db/impl/propertiesStore.ts +28 -0
  59. package/context/db/impl/queryBuilder.d.ts +29 -0
  60. package/context/db/impl/queryBuilder.js +77 -0
  61. package/context/db/impl/queryBuilder.js.map +1 -0
  62. package/context/db/impl/queryBuilder.ts +103 -0
  63. package/context/db/impl/transaction/index.d.ts +20 -0
  64. package/context/db/impl/transaction/index.js +276 -0
  65. package/context/db/impl/transaction/index.js.map +1 -0
  66. package/context/db/impl/transaction/index.ts +337 -0
  67. package/context/db/impl/transaction/operation.d.ts +27 -0
  68. package/context/db/impl/transaction/operation.js +70 -0
  69. package/context/db/impl/transaction/operation.js.map +1 -0
  70. package/context/db/impl/transaction/operation.ts +72 -0
  71. package/context/db/impl/transaction.d.ts +67 -0
  72. package/context/db/impl/transaction.js +3 -0
  73. package/context/db/impl/transaction.js.map +1 -0
  74. package/context/db/impl/transaction.ts +76 -0
  75. package/context/globalConfig/globalConfig.d.ts +7 -0
  76. package/context/globalConfig/globalConfig.js +15 -0
  77. package/context/globalConfig/globalConfig.js.map +1 -0
  78. package/context/globalConfig/globalConfig.ts +11 -0
  79. package/context/metadata/components/common.d.ts +6 -0
  80. package/context/metadata/components/common.js +16 -0
  81. package/context/metadata/components/common.js.map +1 -0
  82. package/context/metadata/components/common.ts +19 -0
  83. package/context/metadata/components/components.d.ts +12 -0
  84. package/context/metadata/components/components.js +18 -0
  85. package/context/metadata/components/components.js.map +1 -0
  86. package/context/metadata/components/components.ts +19 -0
  87. package/context/metadata/components/desktop/list.d.ts +16 -0
  88. package/context/metadata/components/desktop/list.js +403 -0
  89. package/context/metadata/components/desktop/list.js.map +1 -0
  90. package/context/metadata/components/desktop/list.ts +457 -0
  91. package/context/metadata/components/desktop/recordDetail.d.ts +11 -0
  92. package/context/metadata/components/desktop/recordDetail.js +52 -0
  93. package/context/metadata/components/desktop/recordDetail.js.map +1 -0
  94. package/context/metadata/components/desktop/recordDetail.ts +64 -0
  95. package/context/metadata/components/mobile/list.d.ts +24 -0
  96. package/context/metadata/components/mobile/list.js +144 -0
  97. package/context/metadata/components/mobile/list.js.map +1 -0
  98. package/context/metadata/components/mobile/list.ts +176 -0
  99. package/context/metadata/metadata.d.ts +61 -0
  100. package/context/metadata/metadata.js +102 -0
  101. package/context/metadata/metadata.js.map +1 -0
  102. package/context/metadata/metadata.ts +175 -0
  103. package/context/metadata/objects/fields.d.ts +130 -0
  104. package/context/metadata/objects/fields.js +333 -0
  105. package/context/metadata/objects/fields.js.map +1 -0
  106. package/context/metadata/objects/fields.ts +454 -0
  107. package/context/metadata/objects/fields.util.d.ts +40 -0
  108. package/context/metadata/objects/fields.util.js +320 -0
  109. package/context/metadata/objects/fields.util.js.map +1 -0
  110. package/context/metadata/objects/fields.util.ts +360 -0
  111. package/context/metadata/objects/objects.d.ts +11 -0
  112. package/context/metadata/objects/objects.js +19 -0
  113. package/context/metadata/objects/objects.js.map +1 -0
  114. package/context/metadata/objects/objects.ts +27 -0
  115. package/context/metadata/types/common.d.ts +6 -0
  116. package/context/metadata/types/common.js +8 -0
  117. package/context/metadata/types/common.js.map +1 -0
  118. package/context/metadata/types/common.ts +10 -0
  119. package/context/metadata/types/components.d.ts +90 -0
  120. package/context/metadata/types/components.js +3 -0
  121. package/context/metadata/types/components.js.map +1 -0
  122. package/context/metadata/types/components.ts +105 -0
  123. package/context/metadata/types/objects.d.ts +226 -0
  124. package/context/metadata/types/objects.js +3 -0
  125. package/context/metadata/types/objects.js.map +1 -0
  126. package/context/metadata/types/objects.ts +251 -0
  127. package/context/msg/msg.d.ts +38 -0
  128. package/context/msg/msg.js +34 -0
  129. package/context/msg/msg.js.map +1 -0
  130. package/context/msg/msg.ts +49 -0
  131. package/context/resources/IResources.d.ts +66 -0
  132. package/context/resources/IResources.js +3 -0
  133. package/context/resources/IResources.js.map +1 -0
  134. package/context/resources/IResources.ts +73 -0
  135. package/context/resources/impl/resources.d.ts +42 -0
  136. package/context/resources/impl/resources.js +149 -0
  137. package/context/resources/impl/resources.js.map +1 -0
  138. package/context/resources/impl/resources.ts +170 -0
  139. package/context/tasks/tasks.d.ts +33 -0
  140. package/context/tasks/tasks.js +140 -0
  141. package/context/tasks/tasks.js.map +1 -0
  142. package/context/tasks/tasks.ts +159 -0
  143. package/data/index.d.ts +27 -0
  144. package/data/index.js +5 -0
  145. package/data/index.js.map +1 -0
  146. package/data/index.ts +30 -0
  147. package/hooks/api.d.ts +61 -0
  148. package/hooks/api.js +328 -0
  149. package/hooks/api.js.map +1 -0
  150. package/hooks/api.ts +341 -0
  151. package/hooks/hooks.d.ts +1 -0
  152. package/hooks/hooks.js +89 -0
  153. package/hooks/hooks.js.map +1 -0
  154. package/hooks/hooks.ts +100 -0
  155. package/kunlun/kunlun.d.ts +55 -0
  156. package/kunlun/kunlun.js +57 -0
  157. package/kunlun/kunlun.js.map +1 -0
  158. package/kunlun/kunlun.ts +69 -0
  159. package/kunlun/operator/IOperator.d.ts +158 -0
  160. package/kunlun/operator/IOperator.js +3 -0
  161. package/kunlun/operator/IOperator.js.map +1 -0
  162. package/kunlun/operator/IOperator.ts +163 -0
  163. package/kunlun/operator/impl/expression.d.ts +47 -0
  164. package/kunlun/operator/impl/expression.js +55 -0
  165. package/kunlun/operator/impl/expression.js.map +1 -0
  166. package/kunlun/operator/impl/expression.ts +71 -0
  167. package/kunlun/operator/impl/logic.d.ts +50 -0
  168. package/kunlun/operator/impl/logic.js +508 -0
  169. package/kunlun/operator/impl/logic.js.map +1 -0
  170. package/kunlun/operator/impl/logic.ts +595 -0
  171. package/kunlun/operator/impl/logicV2.d.ts +58 -0
  172. package/kunlun/operator/impl/logicV2.js +201 -0
  173. package/kunlun/operator/impl/logicV2.js.map +1 -0
  174. package/kunlun/operator/impl/logicV2.ts +254 -0
  175. package/kunlun/operator/impl/operator.d.ts +179 -0
  176. package/kunlun/operator/impl/operator.js +221 -0
  177. package/kunlun/operator/impl/operator.js.map +1 -0
  178. package/kunlun/operator/impl/operator.ts +255 -0
  179. package/kunlun/operator/impl/operatorV2.d.ts +180 -0
  180. package/kunlun/operator/impl/operatorV2.js +217 -0
  181. package/kunlun/operator/impl/operatorV2.js.map +1 -0
  182. package/kunlun/operator/impl/operatorV2.ts +249 -0
  183. package/lib/core.d.ts +4 -0
  184. package/lib/core.js +18 -0
  185. package/lib/core.js.map +1 -0
  186. package/lib/core.ts +4 -0
  187. package/package.json +50 -0
  188. package/request/common.d.ts +13 -0
  189. package/request/common.js +88 -0
  190. package/request/common.js.map +1 -0
  191. package/request/common.ts +91 -0
  192. package/request/constants.d.ts +10 -0
  193. package/request/constants.js +26 -0
  194. package/request/constants.js.map +1 -0
  195. package/request/constants.ts +25 -0
  196. package/request/faasinfra.d.ts +8 -0
  197. package/request/faasinfra.js +359 -0
  198. package/request/faasinfra.js.map +1 -0
  199. package/request/faasinfra.ts +393 -0
  200. package/request/innerapi.d.ts +67 -0
  201. package/request/innerapi.js +1411 -0
  202. package/request/innerapi.js.map +1 -0
  203. package/request/innerapi.ts +1645 -0
  204. package/request/interface.d.ts +95 -0
  205. package/request/interface.js +40 -0
  206. package/request/interface.js.map +1 -0
  207. package/request/interface.ts +166 -0
  208. package/request/openapi.d.ts +69 -0
  209. package/request/openapi.js +1013 -0
  210. package/request/openapi.js.map +1 -0
  211. package/request/openapi.ts +1220 -0
  212. package/types/types.d.ts +79 -0
  213. package/types/types.js +3 -0
  214. package/types/types.js.map +1 -0
  215. package/types/types.ts +105 -0
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Operator = exports.operates = void 0;
4
+ const server_common_node_1 = require("@byted-apaas/server-common-node");
5
+ const logic_1 = require("./logic");
6
+ exports.operates = {
7
+ AND: "and",
8
+ OR: "or",
9
+ EMTPY: "isEmpty",
10
+ NOT_EMTPY: "isNotEmpty",
11
+ EQ: "equals",
12
+ NEQ: "notEquals",
13
+ LT: "lessThan",
14
+ LTE: "lessThanOrEquals",
15
+ GT: "greaterThan",
16
+ GTE: "greaterThanOrEquals",
17
+ CONTAIN: "contains",
18
+ NOT_CONTAIN: "notContains",
19
+ IN: "isAnyOf",
20
+ NIN: "isNoneOf",
21
+ HAS_ANY_OF: "hasAnyOf",
22
+ HAS_NONE_OF: "hasNoneOf",
23
+ isOnOrBefore: "isOnOrBefore",
24
+ isOnOrAfter: "isOnOrAfter",
25
+ };
26
+ class Operator {
27
+ /**
28
+ * 逻辑且
29
+ * @param conditions 多个条件,用逗号分隔
30
+ * @example
31
+ * ```
32
+ * context.db.object("_user").where(kunlun.operator.and({
33
+ * age: "22"
34
+ * },{
35
+ * gender: "male"
36
+ * }))
37
+ * ```
38
+ */
39
+ and(...conditions) {
40
+ if (conditions.length < 1) {
41
+ return null;
42
+ }
43
+ return (0, logic_1.buildLogic)(conditions, exports.operates.AND);
44
+ }
45
+ ;
46
+ /**
47
+ * 逻辑或
48
+ * @param conditions 多个条件,用逗号分隔
49
+ * @example
50
+ * ```
51
+ * context.db.object("_user").where(kunlun.operator.or({
52
+ * age: "22"
53
+ * },{
54
+ * age: "25"
55
+ * }))
56
+ * ```
57
+ */
58
+ or(...conditions) {
59
+ if (conditions.length < 1) {
60
+ return null;
61
+ }
62
+ return (0, logic_1.buildLogic)(conditions, exports.operates.OR);
63
+ }
64
+ ;
65
+ /**
66
+ * 包含
67
+ * @param value 判定是否包含的文本值
68
+ * @example
69
+ * ```
70
+ * context.db.object("_user").where({_name: kunlun.operator.contain("a")})
71
+ * ```
72
+ */
73
+ contain(value) {
74
+ return new logic_1.Condition(null, value, exports.operates.CONTAIN);
75
+ }
76
+ ;
77
+ /**
78
+ * 不包含
79
+ * @param value 判定是否不包含的文本值
80
+ * @example
81
+ * ```
82
+ * context.db.object("_user").where({_name: kunlun.operator.notContain("a")})
83
+ * ```
84
+ */
85
+ notContain(value) {
86
+ return new logic_1.Condition(null, value, exports.operates.NOT_CONTAIN);
87
+ }
88
+ ;
89
+ /**
90
+ * 无需入参,判断是否为空
91
+ * @example
92
+ * ```
93
+ * context.db.object("_user").where({employeeType: kunlun.operator.empty()})
94
+ * ```
95
+ */
96
+ empty() {
97
+ return new logic_1.Condition(null, null, exports.operates.EMTPY);
98
+ }
99
+ ;
100
+ /**
101
+ * 无需入参,判断是否为空
102
+ * @example
103
+ * ```
104
+ * context.db.object("_user").where({employeeType: kunlun.operator.notEmpty()})
105
+ * ```
106
+ */
107
+ notEmpty() {
108
+ return new logic_1.Condition(null, null, exports.operates.NOT_EMTPY);
109
+ }
110
+ ;
111
+ /**
112
+ * 等于
113
+ * @param value 判定是否相等的值
114
+ * @example
115
+ * ```
116
+ * context.db.object("_user").where({age: kunlun.operator.eq(20)})
117
+ * ```
118
+ */
119
+ eq(value) {
120
+ return new logic_1.Condition(null, value, exports.operates.EQ);
121
+ }
122
+ ;
123
+ /**
124
+ * 不等于
125
+ * @param value 判定是否不相等的值
126
+ * @example
127
+ * ```
128
+ * context.db.object("_user").where({age: kunlun.operator.neq(20)})
129
+ * ```
130
+ */
131
+ neq(value) {
132
+ return new logic_1.Condition(null, value, exports.operates.NEQ);
133
+ }
134
+ ;
135
+ /**
136
+ * 大于或晚于
137
+ * @param value 判定是否大于或晚于的值
138
+ * @example
139
+ * ```
140
+ * kunlun.operator.gt(new Date("2020-11-26").getTime())
141
+ * ```
142
+ */
143
+ gt(value) {
144
+ return new logic_1.Condition(null, value, exports.operates.GT);
145
+ }
146
+ ;
147
+ /**
148
+ * 大于等于或晚于等于
149
+ * @param value 判定是否大于等于或晚于等于的值
150
+ * @example
151
+ * ```
152
+ * kunlun.operator.gte(new Date("2020-11-26").getTime())
153
+ * ```
154
+ */
155
+ gte(value) {
156
+ return new logic_1.Condition(null, value, exports.operates.GTE);
157
+ }
158
+ ;
159
+ /**
160
+ * 小于或早于
161
+ * @param value 判定是否小于或早于的值
162
+ * @example
163
+ * ```
164
+ * kunlun.operator.lt(new Date("2020-11-26").getTime())
165
+ * ```
166
+ */
167
+ lt(value) {
168
+ return new logic_1.Condition(null, value, exports.operates.LT);
169
+ }
170
+ ;
171
+ /**
172
+ * 小于等于或早于等于
173
+ * @param value 判定是否小于等于或早于等于的值
174
+ * @example
175
+ * ```
176
+ * kunlun.operator.lte(new Date("2020-11-26").getTime())
177
+ * ```
178
+ */
179
+ lte(value) {
180
+ return new logic_1.Condition(null, value, exports.operates.LTE);
181
+ }
182
+ ;
183
+ in(value, ...restValues) {
184
+ value = !value ? [] : value;
185
+ const argList = server_common_node_1.utils.argsToList(value, restValues);
186
+ if (argList.length === 0) {
187
+ throw new server_common_node_1.exceptions.InvalidParamError("can not IN empty list");
188
+ }
189
+ return new logic_1.Condition(null, argList, exports.operates.IN);
190
+ }
191
+ ;
192
+ notIn(value, ...restValues) {
193
+ value = !value ? [] : value;
194
+ const argList = server_common_node_1.utils.argsToList(value, restValues);
195
+ if (argList.length === 0) {
196
+ throw new server_common_node_1.exceptions.InvalidParamError("can not NOT_IN empty list");
197
+ }
198
+ return new logic_1.Condition(null, argList, exports.operates.NIN);
199
+ }
200
+ ;
201
+ hasAnyOf(value, ...restValues) {
202
+ value = !value ? [] : value;
203
+ const argList = server_common_node_1.utils.argsToList(value, restValues);
204
+ if (argList.length === 0) {
205
+ throw new server_common_node_1.exceptions.InvalidParamError("can not HAS_ANY_OF empty list");
206
+ }
207
+ return new logic_1.Condition(null, argList, exports.operates.HAS_ANY_OF);
208
+ }
209
+ ;
210
+ hasNoneOf(value, ...restValues) {
211
+ value = !value ? [] : value;
212
+ const argList = server_common_node_1.utils.argsToList(value, restValues);
213
+ if (argList.length === 0) {
214
+ throw new server_common_node_1.exceptions.InvalidParamError("can not HAS_NONE_OF empty list");
215
+ }
216
+ return new logic_1.Condition(null, argList, exports.operates.HAS_NONE_OF);
217
+ }
218
+ ;
219
+ }
220
+ exports.Operator = Operator;
221
+ //# sourceMappingURL=operator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operator.js","sourceRoot":"","sources":["operator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,255 @@
1
+ import { _Cond, _BooleanCond, _LogicalCond } from '../../../types/types'
2
+ import { IOperator } from "../IOperator";
3
+ import { exceptions, utils } from '@byted-apaas/server-common-node'
4
+ import { buildLogic, Condition } from './logic'
5
+ import { UserDataType } from './expression';
6
+
7
+ export const operates = {
8
+ AND: "and", // 逻辑与
9
+ OR: "or", // 逻辑或
10
+
11
+ EMTPY: "isEmpty", // 为空
12
+ NOT_EMTPY: "isNotEmpty", // 不为空
13
+
14
+ EQ: "equals", // 等于
15
+ NEQ: "notEquals", // 不等于
16
+ LT: "lessThan", // 小于
17
+ LTE: "lessThanOrEquals", // 小于或等于
18
+ GT: "greaterThan", // 大于
19
+ GTE: "greaterThanOrEquals", // 大于或等于
20
+
21
+ CONTAIN: "contains", // 包含
22
+ NOT_CONTAIN: "notContains", // 不包含
23
+
24
+ IN: "isAnyOf", // 在......列表内
25
+ NIN: "isNoneOf", // 不在......列表内
26
+
27
+ HAS_ANY_OF: "hasAnyOf", // 右值和左值有交集
28
+ HAS_NONE_OF: "hasNoneOf", // 右值和左值无交集
29
+
30
+ isOnOrBefore: "isOnOrBefore",
31
+ isOnOrAfter: "isOnOrAfter",
32
+ }
33
+
34
+ export class Operator<T> implements IOperator {
35
+ /**
36
+ * 逻辑且
37
+ * @param conditions 多个条件,用逗号分隔
38
+ * @example
39
+ * ```
40
+ * context.db.object("_user").where(kunlun.operator.and({
41
+ * age: "22"
42
+ * },{
43
+ * gender: "male"
44
+ * }))
45
+ * ```
46
+ */
47
+ and<T>(...conditions: (_Cond<T> | _BooleanCond<T>)[]): _LogicalCond<T> {
48
+ if (conditions.length < 1) {
49
+ return null;
50
+ }
51
+
52
+ return buildLogic(conditions, operates.AND);
53
+ };
54
+ /**
55
+ * 逻辑或
56
+ * @param conditions 多个条件,用逗号分隔
57
+ * @example
58
+ * ```
59
+ * context.db.object("_user").where(kunlun.operator.or({
60
+ * age: "22"
61
+ * },{
62
+ * age: "25"
63
+ * }))
64
+ * ```
65
+ */
66
+ or<T>(...conditions: (_Cond<T> | _BooleanCond<T>)[]): _LogicalCond<T> {
67
+ if (conditions.length < 1) {
68
+ return null;
69
+ }
70
+
71
+ return buildLogic(conditions, operates.OR);
72
+ };
73
+ /**
74
+ * 包含
75
+ * @param value 判定是否包含的文本值
76
+ * @example
77
+ * ```
78
+ * context.db.object("_user").where({_name: kunlun.operator.contain("a")})
79
+ * ```
80
+ */
81
+ contain<T>(value: UserDataType): _BooleanCond<T> {
82
+ return new Condition(null, value, operates.CONTAIN)
83
+ };
84
+ /**
85
+ * 不包含
86
+ * @param value 判定是否不包含的文本值
87
+ * @example
88
+ * ```
89
+ * context.db.object("_user").where({_name: kunlun.operator.notContain("a")})
90
+ * ```
91
+ */
92
+ notContain<T>(value: UserDataType): _BooleanCond<T> {
93
+ return new Condition(null, value, operates.NOT_CONTAIN)
94
+ };
95
+ /**
96
+ * 无需入参,判断是否为空
97
+ * @example
98
+ * ```
99
+ * context.db.object("_user").where({employeeType: kunlun.operator.empty()})
100
+ * ```
101
+ */
102
+ empty(): _BooleanCond<undefined> {
103
+ return new Condition(null, null, operates.EMTPY);
104
+ };
105
+ /**
106
+ * 无需入参,判断是否为空
107
+ * @example
108
+ * ```
109
+ * context.db.object("_user").where({employeeType: kunlun.operator.notEmpty()})
110
+ * ```
111
+ */
112
+ notEmpty(): _BooleanCond<undefined> {
113
+ return new Condition(null, null, operates.NOT_EMTPY);
114
+ };
115
+ /**
116
+ * 等于
117
+ * @param value 判定是否相等的值
118
+ * @example
119
+ * ```
120
+ * context.db.object("_user").where({age: kunlun.operator.eq(20)})
121
+ * ```
122
+ */
123
+ eq<T>(value: UserDataType): _BooleanCond<T> {
124
+ return new Condition(null, value, operates.EQ);
125
+ };
126
+ /**
127
+ * 不等于
128
+ * @param value 判定是否不相等的值
129
+ * @example
130
+ * ```
131
+ * context.db.object("_user").where({age: kunlun.operator.neq(20)})
132
+ * ```
133
+ */
134
+ neq<T>(value: UserDataType): _BooleanCond<T> {
135
+ return new Condition(null, value, operates.NEQ)
136
+ };
137
+ /**
138
+ * 大于或晚于
139
+ * @param value 判定是否大于或晚于的值
140
+ * @example
141
+ * ```
142
+ * kunlun.operator.gt(new Date("2020-11-26").getTime())
143
+ * ```
144
+ */
145
+ gt<T>(value: number | Date): _BooleanCond<T> {
146
+ return new Condition(null, value, operates.GT)
147
+ };
148
+ /**
149
+ * 大于等于或晚于等于
150
+ * @param value 判定是否大于等于或晚于等于的值
151
+ * @example
152
+ * ```
153
+ * kunlun.operator.gte(new Date("2020-11-26").getTime())
154
+ * ```
155
+ */
156
+ gte<T>(value: number | Date): _BooleanCond<T> {
157
+ return new Condition(null, value, operates.GTE)
158
+ };
159
+ /**
160
+ * 小于或早于
161
+ * @param value 判定是否小于或早于的值
162
+ * @example
163
+ * ```
164
+ * kunlun.operator.lt(new Date("2020-11-26").getTime())
165
+ * ```
166
+ */
167
+ lt<T>(value: number | Date): _BooleanCond<T> {
168
+ return new Condition(null, value, operates.LT)
169
+ };
170
+ /**
171
+ * 小于等于或早于等于
172
+ * @param value 判定是否小于等于或早于等于的值
173
+ * @example
174
+ * ```
175
+ * kunlun.operator.lte(new Date("2020-11-26").getTime())
176
+ * ```
177
+ */
178
+ lte<T>(value: number | Date): _BooleanCond<T> {
179
+ return new Condition(null, value, operates.LTE)
180
+ };
181
+ /**
182
+ * 存在于给定的数组内
183
+ * @param values 判定是否存在于的一组值,用数组传递
184
+ */
185
+ in<T>(values: T[]): _BooleanCond<T>;
186
+ /**
187
+ * 存在于给定的数组内
188
+ * @param values 判定是否存在于的一组值,用逗号分隔
189
+ */
190
+ in<T>(...values: T[]): _BooleanCond<T>;
191
+ in<T>(value: T | T[], ...restValues: T[]): _BooleanCond<T> {
192
+ value = !value ? [] : value;
193
+ const argList = utils.argsToList(value, restValues);
194
+ if (argList.length === 0) {
195
+ throw new exceptions.InvalidParamError("can not IN empty list");
196
+ }
197
+ return new Condition(null, argList, operates.IN)
198
+ };
199
+ /**
200
+ * 不存在于给定的数组内
201
+ * @param values 判定是否不存在于的一组值,用数组传递
202
+ */
203
+ notIn<T>(values: T[]): _BooleanCond<T>;
204
+ /**
205
+ * 不存在于给定的数组内
206
+ * @param values 判定是否不存在于的一组值,用逗号分隔
207
+ */
208
+ notIn<T>(...values: T[]): _BooleanCond<T>;
209
+ notIn<T>(value: T | T[], ...restValues: T[]): _BooleanCond<T> {
210
+ value = !value ? [] : value;
211
+ const argList = utils.argsToList(value, restValues);
212
+ if (argList.length === 0) {
213
+ throw new exceptions.InvalidParamError("can not NOT_IN empty list");
214
+ }
215
+ return new Condition(null, argList, operates.NIN)
216
+ };
217
+
218
+ /**
219
+ * 存在给定的多个值中的任何一个值
220
+ * @param values 判定是否不存在于的一组值,用逗号分隔
221
+ */
222
+ hasAnyOf<T>(values: number[] | string[]): _BooleanCond<T>;
223
+ /**
224
+ * 存在给定的多个值中的任何一个值
225
+ * @param values 判定是否不存在于的一组值,用逗号分隔
226
+ */
227
+ hasAnyOf<T>(...values: (number | string)[]): _BooleanCond<T>;
228
+ hasAnyOf<T>(value: (number | string) | (number | string)[], ...restValues: (number | string)[]): _BooleanCond<T> {
229
+ value = !value ? [] : value;
230
+ const argList = utils.argsToList(value, restValues);
231
+ if (argList.length === 0) {
232
+ throw new exceptions.InvalidParamError("can not HAS_ANY_OF empty list");
233
+ }
234
+ return new Condition(null, argList, operates.HAS_ANY_OF)
235
+ };
236
+ /**
237
+ * 不存在给定的多个值中的任何值
238
+ * @param values 判定是否不存在于的一组值,用逗号分隔
239
+ */
240
+ hasNoneOf<T>(values: number[] | string[]): _BooleanCond<T>;
241
+
242
+ /**
243
+ * 不存在给定的多个值中的任何值
244
+ * @param values 判定是否不存在于的一组值,用逗号分隔
245
+ */
246
+ hasNoneOf<T>(...values: (number | string)[]): _BooleanCond<T>;
247
+ hasNoneOf<T>(value: (number | string) | (number | string)[], ...restValues: (number | string)[]): _BooleanCond<T> {
248
+ value = !value ? [] : value;
249
+ const argList = utils.argsToList(value, restValues);
250
+ if (argList.length === 0) {
251
+ throw new exceptions.InvalidParamError("can not HAS_NONE_OF empty list");
252
+ }
253
+ return new Condition(null, argList, operates.HAS_NONE_OF)
254
+ };
255
+ }
@@ -0,0 +1,180 @@
1
+ import { _Cond, _BooleanCond } from '../../../types/types';
2
+ import { IOperator } from "../IOperator";
3
+ import { LogicalExpression } from './logicV2';
4
+ import { UserDataType } from './expression';
5
+ export declare const operates: {
6
+ AND: string;
7
+ OR: string;
8
+ EMPTY: string;
9
+ NOT_EMPTY: string;
10
+ EQ: string;
11
+ NEQ: string;
12
+ LT: string;
13
+ LTE: string;
14
+ GT: string;
15
+ GTE: string;
16
+ CONTAIN: string;
17
+ NOT_CONTAIN: string;
18
+ IN: string;
19
+ NIN: string;
20
+ HAS_ANY_OF: string;
21
+ HAS_NONE_OF: string;
22
+ isOnOrBefore: string;
23
+ isOnOrAfter: string;
24
+ };
25
+ export declare class OperatorV2<T> implements IOperator {
26
+ /**
27
+ * 逻辑且
28
+ * @param conditions 多个条件,用逗号分隔
29
+ * @example
30
+ * ```
31
+ * context.db.object("_user").where(kunlun.operator.and({
32
+ * age: "22"
33
+ * },{
34
+ * gender: "male"
35
+ * }))
36
+ * ```
37
+ */
38
+ and<T>(...exps: (_Cond<T> | _BooleanCond<T> | LogicalExpression)[]): LogicalExpression;
39
+ /**
40
+ * 逻辑或
41
+ * @param conditions 多个条件,用逗号分隔
42
+ * @example
43
+ * ```
44
+ * context.db.object("_user").where(kunlun.operator.or({
45
+ * age: "22"
46
+ * },{
47
+ * age: "25"
48
+ * }))
49
+ * ```
50
+ */
51
+ or<T>(...exps: (_Cond<T> | _BooleanCond<T> | LogicalExpression)[]): LogicalExpression;
52
+ /**
53
+ * 包含
54
+ * @param value 判定是否包含的文本值
55
+ * @example
56
+ * ```
57
+ * context.db.object("_user").where({_name: kunlun.operator.contain("a")})
58
+ * ```
59
+ */
60
+ contain<T>(value: UserDataType): _BooleanCond<T>;
61
+ /**
62
+ * 不包含
63
+ * @param value 判定是否不包含的文本值
64
+ * @example
65
+ * ```
66
+ * context.db.object("_user").where({_name: kunlun.operator.notContain("a")})
67
+ * ```
68
+ */
69
+ notContain<T>(value: UserDataType): _BooleanCond<T>;
70
+ /**
71
+ * 无需入参,判断是否为空
72
+ * @example
73
+ * ```
74
+ * context.db.object("_user").where({employeeType: kunlun.operator.empty()})
75
+ * ```
76
+ */
77
+ empty(): _BooleanCond<undefined>;
78
+ /**
79
+ * 无需入参,判断是否为空
80
+ * @example
81
+ * ```
82
+ * context.db.object("_user").where({employeeType: kunlun.operator.notEmpty()})
83
+ * ```
84
+ */
85
+ notEmpty(): _BooleanCond<undefined>;
86
+ /**
87
+ * 等于
88
+ * @param value 判定是否相等的值
89
+ * @example
90
+ * ```
91
+ * context.db.object("_user").where({age: kunlun.operator.eq(20)})
92
+ * ```
93
+ */
94
+ eq<T>(value: UserDataType): _BooleanCond<T>;
95
+ /**
96
+ * 不等于
97
+ * @param value 判定是否不相等的值
98
+ * @example
99
+ * ```
100
+ * context.db.object("_user").where({age: kunlun.operator.neq(20)})
101
+ * ```
102
+ */
103
+ neq<T>(value: UserDataType): _BooleanCond<T>;
104
+ /**
105
+ * 大于或晚于
106
+ * @param value 判定是否大于或晚于的值
107
+ * @example
108
+ * ```
109
+ * kunlun.operator.gt(new Date("2020-11-26").getTime())
110
+ * ```
111
+ */
112
+ gt<T>(value: number | Date): _BooleanCond<T>;
113
+ /**
114
+ * 大于等于或晚于等于
115
+ * @param value 判定是否大于等于或晚于等于的值
116
+ * @example
117
+ * ```
118
+ * kunlun.operator.gte(new Date("2020-11-26").getTime())
119
+ * ```
120
+ */
121
+ gte<T>(value: number | Date): _BooleanCond<T>;
122
+ /**
123
+ * 小于或早于
124
+ * @param value 判定是否小于或早于的值
125
+ * @example
126
+ * ```
127
+ * kunlun.operator.lt(new Date("2020-11-26").getTime())
128
+ * ```
129
+ */
130
+ lt<T>(value: number | Date): _BooleanCond<T>;
131
+ /**
132
+ * 小于等于或早于等于
133
+ * @param value 判定是否小于等于或早于等于的值
134
+ * @example
135
+ * ```
136
+ * kunlun.operator.lte(new Date("2020-11-26").getTime())
137
+ * ```
138
+ */
139
+ lte<T>(value: number | Date): _BooleanCond<T>;
140
+ /**
141
+ * 存在于给定的数组内
142
+ * @param values 判定是否存在于的一组值,用数组传递
143
+ */
144
+ in<T>(values: T[]): _BooleanCond<T>;
145
+ /**
146
+ * 存在于给定的数组内
147
+ * @param values 判定是否存在于的一组值,用逗号分隔
148
+ */
149
+ in<T>(...values: T[]): _BooleanCond<T>;
150
+ /**
151
+ * 不存在于给定的数组内
152
+ * @param values 判定是否不存在于的一组值,用数组传递
153
+ */
154
+ notIn<T>(values: T[]): _BooleanCond<T>;
155
+ /**
156
+ * 不存在于给定的数组内
157
+ * @param values 判定是否不存在于的一组值,用逗号分隔
158
+ */
159
+ notIn<T>(...values: T[]): _BooleanCond<T>;
160
+ /**
161
+ * 存在给定的多个值中的任何一个值
162
+ * @param values 判定是否不存在于的一组值,用逗号分隔
163
+ */
164
+ hasAnyOf<T>(values: number[] | string[]): _BooleanCond<T>;
165
+ /**
166
+ * 存在给定的多个值中的任何一个值
167
+ * @param values 判定是否不存在于的一组值,用逗号分隔
168
+ */
169
+ hasAnyOf<T>(...values: (number | string)[]): _BooleanCond<T>;
170
+ /**
171
+ * 不存在给定的多个值中的任何值
172
+ * @param values 判定是否不存在于的一组值,用逗号分隔
173
+ */
174
+ hasNoneOf<T>(values: number[] | string[]): _BooleanCond<T>;
175
+ /**
176
+ * 不存在给定的多个值中的任何值
177
+ * @param values 判定是否不存在于的一组值,用逗号分隔
178
+ */
179
+ hasNoneOf<T>(...values: (number | string)[]): _BooleanCond<T>;
180
+ }