@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,69 @@
1
+ import { IOperator } from './operator/IOperator';
2
+ import { globalVariables } from '../data/index'
3
+ import { GMTOffset as GMT } from "@byted-apaas/server-common-node/constants/timeZone";
4
+ import { area2code } from "@byted-apaas/server-common-node/constants/countryCode";
5
+ import { ITool, IToolsExtra } from "@byted-apaas/server-common-node/kunlun/tool/Itool";
6
+ import { Tool } from "@byted-apaas/server-common-node/kunlun/tool/impl/tool";
7
+ import { errCodes } from "@byted-apaas/server-common-node/utils/exceptions";
8
+ import { Operator } from "./operator/impl/operator";
9
+ import * as common from "@byted-apaas/server-common-node";
10
+ import * as Request from "../request/interface";
11
+
12
+ declare global {
13
+ export namespace kunlun {
14
+ /**
15
+ * 指令操作符
16
+ */
17
+ export let operator: IOperator;
18
+ }
19
+ }
20
+
21
+ export namespace kunlun {
22
+ /**
23
+ * 引用时区信息
24
+ */
25
+ export const GMTOffset: typeof GMT = GMT;
26
+
27
+ /**
28
+ * 引用国际区号
29
+ */
30
+ export const countryCode: typeof area2code = area2code;
31
+
32
+ /**
33
+ * 工具方法
34
+ */
35
+ export let tool: ITool & IToolsExtra = new Tool();
36
+
37
+ /**
38
+ * 生成复杂数据结构
39
+ */
40
+ export namespace type {
41
+ export import Multilingual = common.fieldType.Multilingual
42
+ export import Phone = common.fieldType.Phone
43
+ export import Date = common.fieldType.Date
44
+ export import DateTime = common.fieldType.DateTime
45
+ }
46
+
47
+ /**
48
+ * 错误码
49
+ */
50
+ export const errorCode = {
51
+ /**
52
+ * 限流错误码
53
+ */
54
+ RATE_LIMIT_ERROR: errCodes.RATE_LIMIT_ERROR,
55
+ }
56
+
57
+ /**
58
+ * 根据 key 获取对应的全局变量
59
+ * @param key 全局变量的 key
60
+ */
61
+ export async function getVar(key: string): Promise<string> {
62
+ return await Request.GetInstance().getGlobalConfigByKey(key);
63
+ }
64
+
65
+ /**
66
+ * 指令操作符
67
+ */
68
+ export const operator: IOperator = new Operator();
69
+ }
@@ -0,0 +1,158 @@
1
+ import { _Cond, _BooleanCond, _LogicalCond } from '../../types/types';
2
+ import { UserDataType } from './impl/expression';
3
+ export interface IOperator {
4
+ /**
5
+ * 逻辑与
6
+ * @param conditions 多个条件,用逗号分隔
7
+ * @example
8
+ * ```
9
+ * context.db.object("_user").where(kunlun.operator.and({
10
+ * age: "22"
11
+ * },{
12
+ * gender: "male"
13
+ * }))
14
+ * ```
15
+ */
16
+ and<T>(...conditions: (_Cond<T> | _BooleanCond<T>)[]): _LogicalCond<T>;
17
+ /**
18
+ * 逻辑或
19
+ * @param conditions 多个条件,用逗号分隔
20
+ * @example
21
+ * ```
22
+ * context.db.object("_user").where(kunlun.operator.or({
23
+ * age: "22"
24
+ * },{
25
+ * age: "25"
26
+ * }))
27
+ * ```
28
+ */
29
+ or<T>(...conditions: (_Cond<T> | _BooleanCond<T>)[]): _LogicalCond<T>;
30
+ /**
31
+ * 包含
32
+ * @param value 判定是否包含的文本值
33
+ * @example
34
+ * ```
35
+ * context.db.object("_user").where({_name: kunlun.operator.contain("a")})
36
+ * ```
37
+ */
38
+ contain<T>(value: UserDataType): _BooleanCond<T>;
39
+ /**
40
+ * 不包含
41
+ * @param value 判定是否不包含的文本值
42
+ * @example
43
+ * ```
44
+ * context.db.object("_user").where({_name: kunlun.operator.notContain("a")})
45
+ * ```
46
+ */
47
+ notContain<T>(value: UserDataType): _BooleanCond<T>;
48
+ /**
49
+ * 无需入参,判断是否为空
50
+ * @example
51
+ * ```
52
+ * context.db.object("_user").where({employeeType: kunlun.operator.empty()})
53
+ * ```
54
+ */
55
+ empty(): _BooleanCond<any>;
56
+ /**
57
+ * 无需入参,判断是否为空
58
+ * @example
59
+ * ```
60
+ * context.db.object("_user").where({employeeType: kunlun.operator.notEmpty()})
61
+ * ```
62
+ */
63
+ notEmpty(): _BooleanCond<any>;
64
+ /**
65
+ * 等于
66
+ * @param value 判定是否相等的值
67
+ * @example
68
+ * ```
69
+ * context.db.object("_user").where({age: kunlun.operator.eq(20)})
70
+ * ```
71
+ */
72
+ eq<T>(value: UserDataType): _BooleanCond<T>;
73
+ /**
74
+ * 不等于
75
+ * @param value 判定是否不相等的值
76
+ * @example
77
+ * ```
78
+ * context.db.object("_user").where({age: kunlun.operator.neq(20)})
79
+ * ```
80
+ */
81
+ neq<T>(value: UserDataType): _BooleanCond<T>;
82
+ /**
83
+ * 大于或晚于
84
+ * @param value 判定是否大于或晚于的值
85
+ * @example
86
+ * ```
87
+ * kunlun.operator.gt(new Date("2020-11-26").getTime())
88
+ * ```
89
+ */
90
+ gt<T>(value: number | Date): _BooleanCond<T>;
91
+ /**
92
+ * 大于等于或晚于等于
93
+ * @param value 判定是否大于等于或晚于等于的值
94
+ * @example
95
+ * ```
96
+ * kunlun.operator.gte(new Date("2020-11-26").getTime())
97
+ * ```
98
+ */
99
+ gte<T>(value: number | Date): _BooleanCond<T>;
100
+ /**
101
+ * 小于或早于
102
+ * @param value 判定是否小于或早于的值
103
+ * @example
104
+ * ```
105
+ * kunlun.operator.lt(new Date("2020-11-26").getTime())
106
+ * ```
107
+ */
108
+ lt<T>(value: number | Date): _BooleanCond<T>;
109
+ /**
110
+ * 小于等于或早于等于
111
+ * @param value 判定是否小于等于或早于等于的值
112
+ * @example
113
+ * ```
114
+ * kunlun.operator.lte(new Date("2020-11-26").getTime())
115
+ * ```
116
+ */
117
+ lte<T>(value: number | Date): _BooleanCond<T>;
118
+ /**
119
+ * 存在于给定的数组内
120
+ * @param values 判定是否存在于的一组值,用数组传递
121
+ */
122
+ in<T>(values: UserDataType[]): _BooleanCond<T>;
123
+ /**
124
+ * 存在于给定的数组内
125
+ * @param values 判定是否存在于的一组值,用逗号分隔
126
+ */
127
+ in<T>(...values: UserDataType[]): _BooleanCond<T>;
128
+ /**
129
+ * 不存在于给定的数组内
130
+ * @param values 判定是否不存在于的一组值,用数组传递
131
+ */
132
+ notIn<T>(values: UserDataType[]): _BooleanCond<T>;
133
+ /**
134
+ * 不存在于给定的数组内
135
+ * @param values 判定是否不存在于的一组值,用逗号分隔
136
+ */
137
+ notIn<T>(...values: UserDataType[]): _BooleanCond<T>;
138
+ /**
139
+ * 存在给定的多个值中的任何一个值
140
+ * @param values 判定是否不存在于的一组值,用逗号分隔
141
+ */
142
+ hasAnyOf<T>(values: number[] | string[]): _BooleanCond<T>;
143
+ /**
144
+ * 存在给定的多个值中的任何一个值
145
+ * @param values 判定是否不存在于的一组值,用逗号分隔
146
+ */
147
+ hasAnyOf<T>(...values: number[] | string[]): _BooleanCond<T>;
148
+ /**
149
+ * 不存在给定的多个值中的任何值
150
+ * @param values 判定是否不存在于的一组值,用逗号分隔
151
+ */
152
+ hasNoneOf<T>(values: number[] | string[]): _BooleanCond<T>;
153
+ /**
154
+ * 不存在给定的多个值中的任何值
155
+ * @param values 判定是否不存在于的一组值,用逗号分隔
156
+ */
157
+ hasNoneOf<T>(...values: number[] | string[]): _BooleanCond<T>;
158
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IOperator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOperator.js","sourceRoot":"","sources":["IOperator.ts"],"names":[],"mappings":""}
@@ -0,0 +1,163 @@
1
+ import { _Cond, _BooleanCond, _LogicalCond } from '../../types/types'
2
+ import { UserDataType } from './impl/expression';
3
+
4
+ export interface IOperator {
5
+ /**
6
+ * 逻辑与
7
+ * @param conditions 多个条件,用逗号分隔
8
+ * @example
9
+ * ```
10
+ * context.db.object("_user").where(kunlun.operator.and({
11
+ * age: "22"
12
+ * },{
13
+ * gender: "male"
14
+ * }))
15
+ * ```
16
+ */
17
+ and<T>(...conditions: (_Cond<T> | _BooleanCond<T>)[]): _LogicalCond<T>;
18
+ /**
19
+ * 逻辑或
20
+ * @param conditions 多个条件,用逗号分隔
21
+ * @example
22
+ * ```
23
+ * context.db.object("_user").where(kunlun.operator.or({
24
+ * age: "22"
25
+ * },{
26
+ * age: "25"
27
+ * }))
28
+ * ```
29
+ */
30
+ or<T>(...conditions: (_Cond<T> | _BooleanCond<T>)[]): _LogicalCond<T>;
31
+ /**
32
+ * 包含
33
+ * @param value 判定是否包含的文本值
34
+ * @example
35
+ * ```
36
+ * context.db.object("_user").where({_name: kunlun.operator.contain("a")})
37
+ * ```
38
+ */
39
+ contain<T>(value: UserDataType): _BooleanCond<T>;
40
+ /**
41
+ * 不包含
42
+ * @param value 判定是否不包含的文本值
43
+ * @example
44
+ * ```
45
+ * context.db.object("_user").where({_name: kunlun.operator.notContain("a")})
46
+ * ```
47
+ */
48
+ notContain<T>(value: UserDataType): _BooleanCond<T>;
49
+ /**
50
+ * 无需入参,判断是否为空
51
+ * @example
52
+ * ```
53
+ * context.db.object("_user").where({employeeType: kunlun.operator.empty()})
54
+ * ```
55
+ */
56
+ empty(): _BooleanCond<any>;
57
+ /**
58
+ * 无需入参,判断是否为空
59
+ * @example
60
+ * ```
61
+ * context.db.object("_user").where({employeeType: kunlun.operator.notEmpty()})
62
+ * ```
63
+ */
64
+ notEmpty(): _BooleanCond<any>;
65
+ /**
66
+ * 等于
67
+ * @param value 判定是否相等的值
68
+ * @example
69
+ * ```
70
+ * context.db.object("_user").where({age: kunlun.operator.eq(20)})
71
+ * ```
72
+ */
73
+ eq<T>(value: UserDataType): _BooleanCond<T>;
74
+ /**
75
+ * 不等于
76
+ * @param value 判定是否不相等的值
77
+ * @example
78
+ * ```
79
+ * context.db.object("_user").where({age: kunlun.operator.neq(20)})
80
+ * ```
81
+ */
82
+ neq<T>(value: UserDataType): _BooleanCond<T>;
83
+ /**
84
+ * 大于或晚于
85
+ * @param value 判定是否大于或晚于的值
86
+ * @example
87
+ * ```
88
+ * kunlun.operator.gt(new Date("2020-11-26").getTime())
89
+ * ```
90
+ */
91
+ gt<T>(value: number | Date): _BooleanCond<T>;
92
+ /**
93
+ * 大于等于或晚于等于
94
+ * @param value 判定是否大于等于或晚于等于的值
95
+ * @example
96
+ * ```
97
+ * kunlun.operator.gte(new Date("2020-11-26").getTime())
98
+ * ```
99
+ */
100
+ gte<T>(value: number | Date): _BooleanCond<T>;
101
+ /**
102
+ * 小于或早于
103
+ * @param value 判定是否小于或早于的值
104
+ * @example
105
+ * ```
106
+ * kunlun.operator.lt(new Date("2020-11-26").getTime())
107
+ * ```
108
+ */
109
+ lt<T>(value: number | Date): _BooleanCond<T>;
110
+ /**
111
+ * 小于等于或早于等于
112
+ * @param value 判定是否小于等于或早于等于的值
113
+ * @example
114
+ * ```
115
+ * kunlun.operator.lte(new Date("2020-11-26").getTime())
116
+ * ```
117
+ */
118
+ lte<T>(value: number | Date): _BooleanCond<T>;
119
+ /**
120
+ * 存在于给定的数组内
121
+ * @param values 判定是否存在于的一组值,用数组传递
122
+ */
123
+ in<T>(values: UserDataType[]): _BooleanCond<T>;
124
+ /**
125
+ * 存在于给定的数组内
126
+ * @param values 判定是否存在于的一组值,用逗号分隔
127
+ */
128
+ in<T>(...values: UserDataType[]): _BooleanCond<T>;
129
+ /**
130
+ * 不存在于给定的数组内
131
+ * @param values 判定是否不存在于的一组值,用数组传递
132
+ */
133
+ notIn<T>(values: UserDataType[]): _BooleanCond<T>;
134
+ /**
135
+ * 不存在于给定的数组内
136
+ * @param values 判定是否不存在于的一组值,用逗号分隔
137
+ */
138
+ notIn<T>(...values: UserDataType[]): _BooleanCond<T>;
139
+
140
+ /**
141
+ * 存在给定的多个值中的任何一个值
142
+ * @param values 判定是否不存在于的一组值,用逗号分隔
143
+ */
144
+ hasAnyOf<T>(values: number[] | string[]): _BooleanCond<T>;
145
+
146
+ /**
147
+ * 存在给定的多个值中的任何一个值
148
+ * @param values 判定是否不存在于的一组值,用逗号分隔
149
+ */
150
+ hasAnyOf<T>(...values: number[] | string[]): _BooleanCond<T>;
151
+
152
+ /**
153
+ * 不存在给定的多个值中的任何值
154
+ * @param values 判定是否不存在于的一组值,用逗号分隔
155
+ */
156
+ hasNoneOf<T>(values: number[] | string[]): _BooleanCond<T>;
157
+
158
+ /**
159
+ * 不存在给定的多个值中的任何值
160
+ * @param values 判定是否不存在于的一组值,用逗号分隔
161
+ */
162
+ hasNoneOf<T>(...values: number[] | string[]): _BooleanCond<T>;
163
+ }
@@ -0,0 +1,47 @@
1
+ export declare type UserDataType = null | string | boolean | number | Date | object;
2
+ export declare class Expression {
3
+ index: number;
4
+ left: ExpressionField;
5
+ operator: string;
6
+ right: ExpressionField;
7
+ constructor(left: ExpressionField, operator: string, right: ExpressionField, index: number);
8
+ }
9
+ declare type SettingType = {
10
+ data?: UserDataType;
11
+ fieldPath?: PathType[];
12
+ };
13
+ export declare type PathType = {
14
+ objectApiName: string;
15
+ fieldApiName: string;
16
+ extendLogicTags: string[];
17
+ };
18
+ /**
19
+ * 总共有4种类型,当前仅支持constant,metadataVariable
20
+ *
21
+ * constant:不可为左值
22
+ * metadataVariable
23
+ * function
24
+ * customizedVariable
25
+ */
26
+ declare class ExpressionField {
27
+ type: string;
28
+ settings: SettingType;
29
+ constructor(type: string, settings: SettingType);
30
+ }
31
+ /**
32
+ * 常量表达式字段
33
+ *
34
+ * 比如在 condition: user.name equal "bob" 中,"bob" 将被构建为 ConstantExpressionField
35
+ */
36
+ export declare class ConstantExpressionField extends ExpressionField {
37
+ constructor(data: UserDataType);
38
+ }
39
+ /**
40
+ * 元数据表达式字段
41
+ *
42
+ * 比如在 condition: user.name equal "bob" 中,"user.name" 将被构建为 MetadataExpressionField
43
+ */
44
+ export declare class MetadataExpressionField extends ExpressionField {
45
+ constructor(objectApiName: string, fieldApiName: string);
46
+ }
47
+ export {};
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetadataExpressionField = exports.ConstantExpressionField = exports.Expression = void 0;
4
+ class Expression {
5
+ constructor(left, operator, right, index) {
6
+ this.index = index;
7
+ this.left = left;
8
+ this.operator = operator;
9
+ this.right = right;
10
+ }
11
+ }
12
+ exports.Expression = Expression;
13
+ /**
14
+ * 总共有4种类型,当前仅支持constant,metadataVariable
15
+ *
16
+ * constant:不可为左值
17
+ * metadataVariable
18
+ * function
19
+ * customizedVariable
20
+ */
21
+ class ExpressionField {
22
+ constructor(type, settings) {
23
+ this.type = type;
24
+ this.settings = settings;
25
+ }
26
+ }
27
+ /**
28
+ * 常量表达式字段
29
+ *
30
+ * 比如在 condition: user.name equal "bob" 中,"bob" 将被构建为 ConstantExpressionField
31
+ */
32
+ class ConstantExpressionField extends ExpressionField {
33
+ constructor(data) {
34
+ super("constant", { "data": data });
35
+ }
36
+ }
37
+ exports.ConstantExpressionField = ConstantExpressionField;
38
+ /**
39
+ * 元数据表达式字段
40
+ *
41
+ * 比如在 condition: user.name equal "bob" 中,"user.name" 将被构建为 MetadataExpressionField
42
+ */
43
+ class MetadataExpressionField extends ExpressionField {
44
+ constructor(objectApiName, fieldApiName) {
45
+ super("metadataVariable", {
46
+ "fieldPath": [{
47
+ objectApiName: objectApiName,
48
+ fieldApiName: fieldApiName,
49
+ extendLogicTags: [],
50
+ }]
51
+ });
52
+ }
53
+ }
54
+ exports.MetadataExpressionField = MetadataExpressionField;
55
+ //# sourceMappingURL=expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["expression.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAMnB,YAAY,IAAqB,EAAE,QAAgB,EAAE,KAAsB,EAAE,KAAa;QACtF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAZD,gCAYC;AAaD;;;;;;;GAOG;AACH,MAAM,eAAe;IAGjB,YAAY,IAAY,EAAE,QAAqB;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAa,uBAAwB,SAAQ,eAAe;IACxD,YAAY,IAAkB;QAC1B,KAAK,CAAC,UAAU,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;IACtC,CAAC;CACJ;AAJD,0DAIC;AAED;;;;GAIG;AACH,MAAa,uBAAwB,SAAQ,eAAe;IACxD,YAAY,aAAqB,EAAE,YAAoB;QACnD,KAAK,CAAC,kBAAkB,EAAE;YACtB,WAAW,EAAE,CAAC;oBACV,aAAa,EAAE,aAAa;oBAC5B,YAAY,EAAE,YAAY;oBAC1B,eAAe,EAAE,EAAE;iBACtB,CAAC;SACL,CAAC,CAAC;IACP,CAAC;CACJ;AAVD,0DAUC"}
@@ -0,0 +1,71 @@
1
+ export type UserDataType = null | string | boolean | number | Date | object
2
+
3
+ export class Expression {
4
+ index: number
5
+ left: ExpressionField
6
+ operator: string
7
+ right: ExpressionField
8
+
9
+ constructor(left: ExpressionField, operator: string, right: ExpressionField, index: number) {
10
+ this.index = index;
11
+ this.left = left;
12
+ this.operator = operator;
13
+ this.right = right;
14
+ }
15
+ }
16
+
17
+ type SettingType = {
18
+ data?: UserDataType
19
+ fieldPath?: PathType[]
20
+ }
21
+
22
+ export type PathType = {
23
+ objectApiName: string
24
+ fieldApiName: string
25
+ extendLogicTags: string[]
26
+ }
27
+
28
+ /**
29
+ * 总共有4种类型,当前仅支持constant,metadataVariable
30
+ *
31
+ * constant:不可为左值
32
+ * metadataVariable
33
+ * function
34
+ * customizedVariable
35
+ */
36
+ class ExpressionField {
37
+ type: string
38
+ settings: SettingType
39
+ constructor(type: string, settings: SettingType) {
40
+ this.type = type;
41
+ this.settings = settings;
42
+ }
43
+ }
44
+
45
+ /**
46
+ * 常量表达式字段
47
+ *
48
+ * 比如在 condition: user.name equal "bob" 中,"bob" 将被构建为 ConstantExpressionField
49
+ */
50
+ export class ConstantExpressionField extends ExpressionField {
51
+ constructor(data: UserDataType) {
52
+ super("constant", {"data": data});
53
+ }
54
+ }
55
+
56
+ /**
57
+ * 元数据表达式字段
58
+ *
59
+ * 比如在 condition: user.name equal "bob" 中,"user.name" 将被构建为 MetadataExpressionField
60
+ */
61
+ export class MetadataExpressionField extends ExpressionField {
62
+ constructor(objectApiName: string, fieldApiName: string) {
63
+ super("metadataVariable", {
64
+ "fieldPath": [{
65
+ objectApiName: objectApiName,
66
+ fieldApiName: fieldApiName,
67
+ extendLogicTags: [],
68
+ }]
69
+ });
70
+ }
71
+ }
@@ -0,0 +1,50 @@
1
+ import { Expression, UserDataType } from './expression';
2
+ export declare class Condition {
3
+ left: string;
4
+ right: Condition | UserDataType;
5
+ op: string;
6
+ /**
7
+ *
8
+ * @param objectApiName 对象的ApiName
9
+ * @param fieldApiName 字段的ApiName,指左值,即key
10
+ * @param index 条件的排序
11
+ * @returns {Expression}
12
+ */
13
+ toExpression(objectApiName: string, fieldApiName: string, index: number): Expression;
14
+ constructor(left: string, right: Condition | UserDataType, op?: string);
15
+ }
16
+ export declare type Criterion = {
17
+ conditions: Expression[];
18
+ logic: string;
19
+ };
20
+ /**
21
+ * 构造 criterion
22
+ *
23
+ * @param logic
24
+ * @param objectApiName
25
+ * @param maxId 添加 _id>maxId 条件,为 -1 表示不使用该参数
26
+ */
27
+ export declare function buildCriterion(logic: Logic, objectApiName: string, maxId?: number): Criterion | string;
28
+ export declare function buildExpression(objectApiName: string, left: string, right: Condition | UserDataType, index?: number): Expression;
29
+ export declare class Logic {
30
+ value: string;
31
+ expressions: {
32
+ [index: string]: any;
33
+ };
34
+ logics: Logic[];
35
+ constructor(expressions?: {
36
+ [index: string]: any;
37
+ }, logicValue?: string);
38
+ /**
39
+ * 处理:右值包含逻辑表达式and|or的情况
40
+ *
41
+ * @param expressions
42
+ * @param lookupField
43
+ */
44
+ handleRightLogic(expressions: {
45
+ [index: string]: any;
46
+ }, lookupField?: string): void;
47
+ addLogic(logic: Logic): void;
48
+ }
49
+ export declare function buildLogic(param: (Logic | object)[], logicValue?: string): Logic;
50
+ export declare function handleCriterion(criterion: string | Criterion): Promise<string | Criterion>;