@nocobase/database 0.7.0-alpha.8 → 0.7.0-alpha.80

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 (298) hide show
  1. package/lib/collection-importer.js +101 -67
  2. package/lib/collection.js +339 -210
  3. package/lib/database.d.ts +4 -1
  4. package/lib/database.js +489 -275
  5. package/lib/fields/array-field.js +45 -25
  6. package/lib/fields/belongs-to-field.js +101 -54
  7. package/lib/fields/belongs-to-many-field.js +98 -53
  8. package/lib/fields/boolean-field.js +24 -9
  9. package/lib/fields/context-field.js +77 -42
  10. package/lib/fields/date-field.js +24 -9
  11. package/lib/fields/field.js +114 -75
  12. package/lib/fields/has-inverse-field.js +4 -2
  13. package/lib/fields/has-many-field.js +105 -56
  14. package/lib/fields/has-one-field.js +105 -54
  15. package/lib/fields/index.d.ts +3 -1
  16. package/lib/fields/index.js +277 -32
  17. package/lib/fields/json-field.js +36 -16
  18. package/lib/fields/number-field.js +53 -26
  19. package/lib/fields/password-field.js +120 -73
  20. package/lib/fields/radio-field.js +75 -47
  21. package/lib/fields/relation-field.js +41 -28
  22. package/lib/fields/sort-field.js +165 -89
  23. package/lib/fields/string-field.js +24 -9
  24. package/lib/fields/text-field.js +24 -9
  25. package/lib/fields/time-field.js +24 -9
  26. package/lib/fields/uid-field.js +57 -28
  27. package/lib/fields/uuid-field.d.ts +9 -0
  28. package/lib/fields/uuid-field.js +39 -0
  29. package/lib/fields/virtual-field.js +24 -9
  30. package/lib/filter-parser.js +288 -179
  31. package/lib/index.js +210 -29
  32. package/lib/magic-attribute-model.js +123 -71
  33. package/lib/mock-database.js +68 -34
  34. package/lib/model-hook.js +101 -60
  35. package/lib/model.js +116 -81
  36. package/lib/operators/array.js +136 -96
  37. package/lib/operators/association.js +30 -14
  38. package/lib/operators/boolean.d.ts +13 -0
  39. package/lib/operators/boolean.js +35 -0
  40. package/lib/operators/date.js +78 -34
  41. package/lib/operators/empty.js +113 -75
  42. package/lib/operators/index.js +15 -3
  43. package/lib/operators/ne.js +27 -12
  44. package/{esm/operators/ne.d.ts → lib/operators/notIn.d.ts} +2 -2
  45. package/lib/operators/notIn.js +29 -0
  46. package/lib/operators/string.js +56 -35
  47. package/lib/operators/utils.js +18 -10
  48. package/lib/options-parser.js +323 -215
  49. package/lib/playground.js +66 -53
  50. package/lib/relation-repository/belongs-to-many-repository.js +281 -198
  51. package/lib/relation-repository/belongs-to-repository.js +10 -6
  52. package/lib/relation-repository/hasmany-repository.js +168 -121
  53. package/lib/relation-repository/hasone-repository.js +10 -6
  54. package/lib/relation-repository/multiple-relation-repository.d.ts +3 -3
  55. package/lib/relation-repository/multiple-relation-repository.js +263 -148
  56. package/lib/relation-repository/relation-repository.d.ts +1 -1
  57. package/lib/relation-repository/relation-repository.js +155 -95
  58. package/lib/relation-repository/single-relation-repository.d.ts +6 -6
  59. package/lib/relation-repository/single-relation-repository.js +138 -99
  60. package/lib/relation-repository/types.js +4 -2
  61. package/lib/repository.d.ts +4 -7
  62. package/lib/repository.js +465 -291
  63. package/lib/transaction-decorator.js +80 -67
  64. package/lib/update-associations.d.ts +1 -2
  65. package/lib/update-associations.js +525 -321
  66. package/lib/update-guard.js +160 -117
  67. package/package.json +3 -8
  68. package/src/__tests__/fields/uuid-field.test.ts +30 -0
  69. package/src/__tests__/operator/notIn.test.ts +33 -0
  70. package/src/__tests__/option-parser.test.ts +20 -0
  71. package/src/database.ts +51 -4
  72. package/src/fields/index.ts +3 -0
  73. package/src/fields/password-field.ts +2 -0
  74. package/src/fields/uuid-field.ts +21 -0
  75. package/src/mock-database.ts +1 -1
  76. package/src/model-hook.ts +1 -1
  77. package/src/operators/boolean.ts +18 -0
  78. package/src/operators/index.ts +2 -0
  79. package/src/operators/notIn.ts +12 -0
  80. package/src/options-parser.ts +1 -1
  81. package/src/relation-repository/multiple-relation-repository.ts +8 -6
  82. package/src/relation-repository/relation-repository.ts +11 -6
  83. package/src/relation-repository/single-relation-repository.ts +6 -6
  84. package/src/repository.ts +4 -6
  85. package/src/update-associations.ts +1 -2
  86. package/esm/collection-importer.d.ts +0 -7
  87. package/esm/collection-importer.js +0 -49
  88. package/esm/collection-importer.js.map +0 -1
  89. package/esm/collection.d.ts +0 -73
  90. package/esm/collection.js +0 -224
  91. package/esm/collection.js.map +0 -1
  92. package/esm/database.d.ts +0 -101
  93. package/esm/database.js +0 -275
  94. package/esm/database.js.map +0 -1
  95. package/esm/fields/array-field.d.ts +0 -11
  96. package/esm/fields/array-field.js +0 -26
  97. package/esm/fields/array-field.js.map +0 -1
  98. package/esm/fields/belongs-to-field.d.ts +0 -12
  99. package/esm/fields/belongs-to-field.js +0 -57
  100. package/esm/fields/belongs-to-field.js.map +0 -1
  101. package/esm/fields/belongs-to-many-field.d.ts +0 -11
  102. package/esm/fields/belongs-to-many-field.js +0 -55
  103. package/esm/fields/belongs-to-many-field.js.map +0 -1
  104. package/esm/fields/boolean-field.d.ts +0 -8
  105. package/esm/fields/boolean-field.js +0 -8
  106. package/esm/fields/boolean-field.js.map +0 -1
  107. package/esm/fields/context-field.d.ts +0 -13
  108. package/esm/fields/context-field.js +0 -43
  109. package/esm/fields/context-field.js.map +0 -1
  110. package/esm/fields/date-field.d.ts +0 -8
  111. package/esm/fields/date-field.js +0 -8
  112. package/esm/fields/date-field.js.map +0 -1
  113. package/esm/fields/field.d.ts +0 -37
  114. package/esm/fields/field.js +0 -74
  115. package/esm/fields/field.js.map +0 -1
  116. package/esm/fields/has-inverse-field.d.ts +0 -4
  117. package/esm/fields/has-inverse-field.js +0 -2
  118. package/esm/fields/has-inverse-field.js.map +0 -1
  119. package/esm/fields/has-many-field.d.ts +0 -64
  120. package/esm/fields/has-many-field.js +0 -58
  121. package/esm/fields/has-many-field.js.map +0 -1
  122. package/esm/fields/has-one-field.d.ts +0 -64
  123. package/esm/fields/has-one-field.js +0 -57
  124. package/esm/fields/has-one-field.js.map +0 -1
  125. package/esm/fields/index.d.ts +0 -40
  126. package/esm/fields/index.js +0 -21
  127. package/esm/fields/index.js.map +0 -1
  128. package/esm/fields/json-field.d.ts +0 -14
  129. package/esm/fields/json-field.js +0 -17
  130. package/esm/fields/json-field.js.map +0 -1
  131. package/esm/fields/number-field.d.ts +0 -32
  132. package/esm/fields/number-field.js +0 -28
  133. package/esm/fields/number-field.js.map +0 -1
  134. package/esm/fields/password-field.d.ts +0 -21
  135. package/esm/fields/password-field.js +0 -71
  136. package/esm/fields/password-field.js.map +0 -1
  137. package/esm/fields/radio-field.d.ts +0 -14
  138. package/esm/fields/radio-field.js +0 -49
  139. package/esm/fields/radio-field.js.map +0 -1
  140. package/esm/fields/relation-field.d.ts +0 -20
  141. package/esm/fields/relation-field.js +0 -27
  142. package/esm/fields/relation-field.js.map +0 -1
  143. package/esm/fields/sort-field.d.ts +0 -16
  144. package/esm/fields/sort-field.js +0 -90
  145. package/esm/fields/sort-field.js.map +0 -1
  146. package/esm/fields/string-field.d.ts +0 -8
  147. package/esm/fields/string-field.js +0 -8
  148. package/esm/fields/string-field.js.map +0 -1
  149. package/esm/fields/text-field.d.ts +0 -8
  150. package/esm/fields/text-field.js +0 -8
  151. package/esm/fields/text-field.js.map +0 -1
  152. package/esm/fields/time-field.d.ts +0 -8
  153. package/esm/fields/time-field.js +0 -8
  154. package/esm/fields/time-field.js.map +0 -1
  155. package/esm/fields/uid-field.d.ts +0 -10
  156. package/esm/fields/uid-field.js +0 -27
  157. package/esm/fields/uid-field.js.map +0 -1
  158. package/esm/fields/virtual-field.d.ts +0 -8
  159. package/esm/fields/virtual-field.js +0 -8
  160. package/esm/fields/virtual-field.js.map +0 -1
  161. package/esm/filter-parser.d.ts +0 -27
  162. package/esm/filter-parser.js +0 -185
  163. package/esm/filter-parser.js.map +0 -1
  164. package/esm/index.d.ts +0 -15
  165. package/esm/index.js +0 -16
  166. package/esm/index.js.map +0 -1
  167. package/esm/magic-attribute-model.d.ts +0 -7
  168. package/esm/magic-attribute-model.js +0 -70
  169. package/esm/magic-attribute-model.js.map +0 -1
  170. package/esm/mock-database.d.ts +0 -22
  171. package/esm/mock-database.js +0 -34
  172. package/esm/mock-database.js.map +0 -1
  173. package/esm/model-hook.d.ts +0 -12
  174. package/esm/model-hook.js +0 -61
  175. package/esm/model-hook.js.map +0 -1
  176. package/esm/model.d.ts +0 -15
  177. package/esm/model.js +0 -80
  178. package/esm/model.js.map +0 -1
  179. package/esm/operators/array.d.ts +0 -26
  180. package/esm/operators/array.js +0 -105
  181. package/esm/operators/array.js.map +0 -1
  182. package/esm/operators/association.d.ts +0 -10
  183. package/esm/operators/association.js +0 -14
  184. package/esm/operators/association.js.map +0 -1
  185. package/esm/operators/date.d.ts +0 -34
  186. package/esm/operators/date.js +0 -35
  187. package/esm/operators/date.js.map +0 -1
  188. package/esm/operators/empty.d.ts +0 -28
  189. package/esm/operators/empty.js +0 -58
  190. package/esm/operators/empty.js.map +0 -1
  191. package/esm/operators/index.d.ts +0 -2
  192. package/esm/operators/index.js +0 -2
  193. package/esm/operators/index.js.map +0 -1
  194. package/esm/operators/ne.js +0 -12
  195. package/esm/operators/ne.js.map +0 -1
  196. package/esm/operators/string.d.ts +0 -21
  197. package/esm/operators/string.js +0 -35
  198. package/esm/operators/string.js.map +0 -1
  199. package/esm/operators/utils.d.ts +0 -4
  200. package/esm/operators/utils.js +0 -11
  201. package/esm/operators/utils.js.map +0 -1
  202. package/esm/options-parser.d.ts +0 -31
  203. package/esm/options-parser.js +0 -225
  204. package/esm/options-parser.js.map +0 -1
  205. package/esm/playground.d.ts +0 -1
  206. package/esm/playground.js +0 -53
  207. package/esm/playground.js.map +0 -1
  208. package/esm/relation-repository/belongs-to-many-repository.d.ts +0 -36
  209. package/esm/relation-repository/belongs-to-many-repository.js +0 -199
  210. package/esm/relation-repository/belongs-to-many-repository.js.map +0 -1
  211. package/esm/relation-repository/belongs-to-repository.d.ts +0 -17
  212. package/esm/relation-repository/belongs-to-repository.js +0 -4
  213. package/esm/relation-repository/belongs-to-repository.js.map +0 -1
  214. package/esm/relation-repository/hasmany-repository.d.ts +0 -23
  215. package/esm/relation-repository/hasmany-repository.js +0 -125
  216. package/esm/relation-repository/hasmany-repository.js.map +0 -1
  217. package/esm/relation-repository/hasone-repository.d.ts +0 -17
  218. package/esm/relation-repository/hasone-repository.js +0 -4
  219. package/esm/relation-repository/hasone-repository.js.map +0 -1
  220. package/esm/relation-repository/multiple-relation-repository.d.ts +0 -23
  221. package/esm/relation-repository/multiple-relation-repository.js +0 -149
  222. package/esm/relation-repository/multiple-relation-repository.js.map +0 -1
  223. package/esm/relation-repository/relation-repository.d.ts +0 -32
  224. package/esm/relation-repository/relation-repository.js +0 -93
  225. package/esm/relation-repository/relation-repository.js.map +0 -1
  226. package/esm/relation-repository/single-relation-repository.d.ts +0 -23
  227. package/esm/relation-repository/single-relation-repository.js +0 -96
  228. package/esm/relation-repository/single-relation-repository.js.map +0 -1
  229. package/esm/relation-repository/types.d.ts +0 -7
  230. package/esm/relation-repository/types.js +0 -2
  231. package/esm/relation-repository/types.js.map +0 -1
  232. package/esm/repository.d.ts +0 -165
  233. package/esm/repository.js +0 -276
  234. package/esm/repository.js.map +0 -1
  235. package/esm/transaction-decorator.d.ts +0 -1
  236. package/esm/transaction-decorator.js +0 -63
  237. package/esm/transaction-decorator.js.map +0 -1
  238. package/esm/update-associations.d.ts +0 -60
  239. package/esm/update-associations.js +0 -362
  240. package/esm/update-associations.js.map +0 -1
  241. package/esm/update-guard.d.ts +0 -26
  242. package/esm/update-guard.js +0 -122
  243. package/esm/update-guard.js.map +0 -1
  244. package/lib/collection-importer.js.map +0 -1
  245. package/lib/collection.js.map +0 -1
  246. package/lib/database.js.map +0 -1
  247. package/lib/fields/array-field.js.map +0 -1
  248. package/lib/fields/belongs-to-field.js.map +0 -1
  249. package/lib/fields/belongs-to-many-field.js.map +0 -1
  250. package/lib/fields/boolean-field.js.map +0 -1
  251. package/lib/fields/context-field.js.map +0 -1
  252. package/lib/fields/date-field.js.map +0 -1
  253. package/lib/fields/field.js.map +0 -1
  254. package/lib/fields/has-inverse-field.js.map +0 -1
  255. package/lib/fields/has-many-field.js.map +0 -1
  256. package/lib/fields/has-one-field.js.map +0 -1
  257. package/lib/fields/index.js.map +0 -1
  258. package/lib/fields/json-field.js.map +0 -1
  259. package/lib/fields/number-field.js.map +0 -1
  260. package/lib/fields/password-field.js.map +0 -1
  261. package/lib/fields/radio-field.js.map +0 -1
  262. package/lib/fields/relation-field.js.map +0 -1
  263. package/lib/fields/sort-field.js.map +0 -1
  264. package/lib/fields/string-field.js.map +0 -1
  265. package/lib/fields/text-field.js.map +0 -1
  266. package/lib/fields/time-field.js.map +0 -1
  267. package/lib/fields/uid-field.js.map +0 -1
  268. package/lib/fields/virtual-field.js.map +0 -1
  269. package/lib/filter-parser.js.map +0 -1
  270. package/lib/index.js.map +0 -1
  271. package/lib/magic-attribute-model.js.map +0 -1
  272. package/lib/mock-database.js.map +0 -1
  273. package/lib/model-hook.js.map +0 -1
  274. package/lib/model.js.map +0 -1
  275. package/lib/operators/array.js.map +0 -1
  276. package/lib/operators/association.js.map +0 -1
  277. package/lib/operators/date.js.map +0 -1
  278. package/lib/operators/empty.js.map +0 -1
  279. package/lib/operators/index.js.map +0 -1
  280. package/lib/operators/ne.js.map +0 -1
  281. package/lib/operators/string.js.map +0 -1
  282. package/lib/operators/utils.js.map +0 -1
  283. package/lib/options-parser.js.map +0 -1
  284. package/lib/playground.js.map +0 -1
  285. package/lib/relation-repository/belongs-to-many-repository.js.map +0 -1
  286. package/lib/relation-repository/belongs-to-repository.js.map +0 -1
  287. package/lib/relation-repository/hasmany-repository.js.map +0 -1
  288. package/lib/relation-repository/hasone-repository.js.map +0 -1
  289. package/lib/relation-repository/multiple-relation-repository.js.map +0 -1
  290. package/lib/relation-repository/relation-repository.js.map +0 -1
  291. package/lib/relation-repository/single-relation-repository.js.map +0 -1
  292. package/lib/relation-repository/types.js.map +0 -1
  293. package/lib/repository.js.map +0 -1
  294. package/lib/transaction-decorator.js.map +0 -1
  295. package/lib/update-associations.js.map +0 -1
  296. package/lib/update-guard.js.map +0 -1
  297. package/tsconfig.build.json +0 -9
  298. package/tsconfig.json +0 -5
@@ -1,16 +1,32 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const sequelize_1 = require("sequelize");
4
- exports.default = {
5
- $exists(value, ctx) {
6
- return {
7
- [sequelize_1.Op.not]: null,
8
- };
9
- },
10
- $notExists(value, ctx) {
11
- return {
12
- [sequelize_1.Op.is]: null,
13
- };
14
- },
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _sequelize() {
9
+ const data = require("sequelize");
10
+
11
+ _sequelize = function _sequelize() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ var _default = {
19
+ $exists(value, ctx) {
20
+ return {
21
+ [_sequelize().Op.not]: null
22
+ };
23
+ },
24
+
25
+ $notExists(value, ctx) {
26
+ return {
27
+ [_sequelize().Op.is]: null
28
+ };
29
+ }
30
+
15
31
  };
16
- //# sourceMappingURL=association.js.map
32
+ exports.default = _default;
@@ -0,0 +1,13 @@
1
+ import { Op } from 'sequelize';
2
+ declare const _default: {
3
+ $isFalsy(): {
4
+ [Op.or]: {
5
+ [Op.is]: any;
6
+ [Op.eq]: boolean;
7
+ };
8
+ };
9
+ $isTruly(): {
10
+ [Op.eq]: boolean;
11
+ };
12
+ };
13
+ export default _default;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _sequelize() {
9
+ const data = require("sequelize");
10
+
11
+ _sequelize = function _sequelize() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ var _default = {
19
+ $isFalsy() {
20
+ return {
21
+ [_sequelize().Op.or]: {
22
+ [_sequelize().Op.is]: null,
23
+ [_sequelize().Op.eq]: false
24
+ }
25
+ };
26
+ },
27
+
28
+ $isTruly() {
29
+ return {
30
+ [_sequelize().Op.eq]: true
31
+ };
32
+ }
33
+
34
+ };
35
+ exports.default = _default;
@@ -1,40 +1,84 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const sequelize_1 = require("sequelize");
7
- const moment_1 = __importDefault(require("moment"));
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _sequelize() {
9
+ const data = require("sequelize");
10
+
11
+ _sequelize = function _sequelize() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ function _moment() {
19
+ const data = _interopRequireDefault(require("moment"));
20
+
21
+ _moment = function _moment() {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
8
30
  function stringToDate(value) {
9
- return (0, moment_1.default)(value).toDate();
31
+ return (0, _moment().default)(value).toDate();
10
32
  }
33
+
11
34
  function getNextDay(value) {
12
- return (0, moment_1.default)(value).add(1, 'd').toDate();
35
+ return (0, _moment().default)(value).add(1, 'd').toDate();
13
36
  }
14
- exports.default = {
15
- $dateOn(value) {
16
- return {
17
- [sequelize_1.Op.and]: [{ [sequelize_1.Op.gte]: stringToDate(value) }, { [sequelize_1.Op.lt]: getNextDay(value) }],
18
- };
19
- },
20
- $dateNotOn(value) {
21
- return {
22
- [sequelize_1.Op.or]: [{ [sequelize_1.Op.lt]: stringToDate(value) }, { [sequelize_1.Op.gte]: getNextDay(value) }],
23
- };
24
- },
25
- $dateBefore(value) {
26
- return { [sequelize_1.Op.lt]: stringToDate(value) };
27
- },
28
- $dateNotBefore(value) {
29
- return {
30
- [sequelize_1.Op.gte]: stringToDate(value),
31
- };
32
- },
33
- $dateAfter(value) {
34
- return { [sequelize_1.Op.gte]: getNextDay(value) };
35
- },
36
- $dateNotAfter(value) {
37
- return { [sequelize_1.Op.lt]: getNextDay(value) };
38
- },
37
+
38
+ var _default = {
39
+ $dateOn(value) {
40
+ return {
41
+ [_sequelize().Op.and]: [{
42
+ [_sequelize().Op.gte]: stringToDate(value)
43
+ }, {
44
+ [_sequelize().Op.lt]: getNextDay(value)
45
+ }]
46
+ };
47
+ },
48
+
49
+ $dateNotOn(value) {
50
+ return {
51
+ [_sequelize().Op.or]: [{
52
+ [_sequelize().Op.lt]: stringToDate(value)
53
+ }, {
54
+ [_sequelize().Op.gte]: getNextDay(value)
55
+ }]
56
+ };
57
+ },
58
+
59
+ $dateBefore(value) {
60
+ return {
61
+ [_sequelize().Op.lt]: stringToDate(value)
62
+ };
63
+ },
64
+
65
+ $dateNotBefore(value) {
66
+ return {
67
+ [_sequelize().Op.gte]: stringToDate(value)
68
+ };
69
+ },
70
+
71
+ $dateAfter(value) {
72
+ return {
73
+ [_sequelize().Op.gte]: getNextDay(value)
74
+ };
75
+ },
76
+
77
+ $dateNotAfter(value) {
78
+ return {
79
+ [_sequelize().Op.lt]: getNextDay(value)
80
+ };
81
+ }
82
+
39
83
  };
40
- //# sourceMappingURL=date.js.map
84
+ exports.default = _default;
@@ -1,82 +1,120 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
13
5
  });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- const sequelize_1 = require("sequelize");
26
- const fields_1 = require("../fields");
27
- const array_1 = __importDefault(require("./array"));
28
- const lodash_1 = __importStar(require("lodash"));
29
- const findFilterFieldType = (ctx) => {
30
- const db = ctx.db;
31
- let path = ctx.path.split('.');
32
- // remove operators
33
- path.pop();
34
- const fieldName = path.pop();
35
- let model = ctx.model;
36
- const associationPath = path;
37
- for (const association of associationPath) {
38
- if (lodash_1.default.isNumber((0, lodash_1.parseInt)(association)) || association.startsWith('$')) {
39
- continue;
40
- }
41
- model = model.associations[association].target;
6
+ exports.default = void 0;
7
+
8
+ function _sequelize() {
9
+ const data = require("sequelize");
10
+
11
+ _sequelize = function _sequelize() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ var _fields = require("../fields");
19
+
20
+ var _array = _interopRequireDefault(require("./array"));
21
+
22
+ function _lodash() {
23
+ const data = _interopRequireWildcard(require("lodash"));
24
+
25
+ _lodash = function _lodash() {
26
+ return data;
27
+ };
28
+
29
+ return data;
30
+ }
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
+
38
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
39
+
40
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
41
+
42
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
43
+
44
+ const findFilterFieldType = ctx => {
45
+ const db = ctx.db;
46
+ let path = ctx.path.split('.'); // remove operators
47
+
48
+ path.pop();
49
+ const fieldName = path.pop();
50
+ let model = ctx.model;
51
+ const associationPath = path;
52
+
53
+ var _iterator = _createForOfIteratorHelper(associationPath),
54
+ _step;
55
+
56
+ try {
57
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
58
+ const association = _step.value;
59
+
60
+ if (_lodash().default.isNumber((0, _lodash().parseInt)(association)) || association.startsWith('$')) {
61
+ continue;
62
+ }
63
+
64
+ model = model.associations[association].target;
42
65
  }
43
- const collection = db.modelCollection.get(model);
44
- return collection.getField(fieldName);
66
+ } catch (err) {
67
+ _iterator.e(err);
68
+ } finally {
69
+ _iterator.f();
70
+ }
71
+
72
+ const collection = db.modelCollection.get(model);
73
+ return collection.getField(fieldName);
45
74
  };
46
- exports.default = {
47
- $empty(_, ctx) {
48
- const field = findFilterFieldType(ctx);
49
- if (field instanceof fields_1.StringField) {
50
- return {
51
- [sequelize_1.Op.or]: {
52
- [sequelize_1.Op.is]: null,
53
- [sequelize_1.Op.eq]: '',
54
- },
55
- };
56
- }
57
- if (field instanceof fields_1.ArrayField) {
58
- return array_1.default.$arrayEmpty(_, ctx);
59
- }
60
- return {
61
- [sequelize_1.Op.is]: null,
62
- };
63
- },
64
- $notEmpty(_, ctx) {
65
- const field = findFilterFieldType(ctx);
66
- if (field instanceof fields_1.StringField) {
67
- return {
68
- [sequelize_1.Op.and]: {
69
- [sequelize_1.Op.not]: null,
70
- [sequelize_1.Op.ne]: '',
71
- },
72
- };
75
+
76
+ var _default = {
77
+ $empty(_, ctx) {
78
+ const field = findFilterFieldType(ctx);
79
+
80
+ if (field instanceof _fields.StringField) {
81
+ return {
82
+ [_sequelize().Op.or]: {
83
+ [_sequelize().Op.is]: null,
84
+ [_sequelize().Op.eq]: ''
73
85
  }
74
- if (field instanceof fields_1.ArrayField) {
75
- return array_1.default.$arrayNotEmpty(_, ctx);
86
+ };
87
+ }
88
+
89
+ if (field instanceof _fields.ArrayField) {
90
+ return _array.default.$arrayEmpty(_, ctx);
91
+ }
92
+
93
+ return {
94
+ [_sequelize().Op.is]: null
95
+ };
96
+ },
97
+
98
+ $notEmpty(_, ctx) {
99
+ const field = findFilterFieldType(ctx);
100
+
101
+ if (field instanceof _fields.StringField) {
102
+ return {
103
+ [_sequelize().Op.and]: {
104
+ [_sequelize().Op.not]: null,
105
+ [_sequelize().Op.ne]: ''
76
106
  }
77
- return {
78
- [sequelize_1.Op.not]: null,
79
- };
80
- },
107
+ };
108
+ }
109
+
110
+ if (field instanceof _fields.ArrayField) {
111
+ return _array.default.$arrayNotEmpty(_, ctx);
112
+ }
113
+
114
+ return {
115
+ [_sequelize().Op.not]: null
116
+ };
117
+ }
118
+
81
119
  };
82
- //# sourceMappingURL=empty.js.map
120
+ exports.default = _default;
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, require('./association').default), require('./date').default), require('./array').default), require('./empty').default), require('./string').default), require('./ne').default);
4
- //# sourceMappingURL=index.js.map
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
9
+
10
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
11
+
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
14
+ var _default = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, require('./association').default), require('./date').default), require('./array').default), require('./empty').default), require('./string').default), require('./ne').default), require('./notIn').default), require('./boolean').default);
15
+
16
+ exports.default = _default;
@@ -1,14 +1,29 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const sequelize_1 = require("sequelize");
4
- exports.default = {
5
- $ne(val, ctx) {
6
- return {
7
- [sequelize_1.Op.or]: {
8
- [sequelize_1.Op.ne]: val,
9
- [sequelize_1.Op.is]: null,
10
- },
11
- };
12
- },
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _sequelize() {
9
+ const data = require("sequelize");
10
+
11
+ _sequelize = function _sequelize() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ var _default = {
19
+ $ne(val, ctx) {
20
+ return {
21
+ [_sequelize().Op.or]: {
22
+ [_sequelize().Op.ne]: val,
23
+ [_sequelize().Op.is]: null
24
+ }
25
+ };
26
+ }
27
+
13
28
  };
14
- //# sourceMappingURL=ne.js.map
29
+ exports.default = _default;
@@ -1,8 +1,8 @@
1
1
  import { Op } from 'sequelize';
2
2
  declare const _default: {
3
- $ne(val: any, ctx: any): {
3
+ $notIn(val: any, ctx: any): {
4
4
  [Op.or]: {
5
- [Op.ne]: any;
5
+ [Op.notIn]: any;
6
6
  [Op.is]: any;
7
7
  };
8
8
  };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _sequelize() {
9
+ const data = require("sequelize");
10
+
11
+ _sequelize = function _sequelize() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ var _default = {
19
+ $notIn(val, ctx) {
20
+ return {
21
+ [_sequelize().Op.or]: {
22
+ [_sequelize().Op.notIn]: val,
23
+ [_sequelize().Op.is]: null
24
+ }
25
+ };
26
+ }
27
+
28
+ };
29
+ exports.default = _default;
@@ -1,37 +1,58 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utils_1 = require("./utils");
4
- const sequelize_1 = require("sequelize");
5
- exports.default = {
6
- $includes(value, ctx) {
7
- return {
8
- [(0, utils_1.isPg)(ctx) ? sequelize_1.Op.iLike : sequelize_1.Op.like]: `%${value}%`,
9
- };
10
- },
11
- $notIncludes(value, ctx) {
12
- return {
13
- [(0, utils_1.isPg)(ctx) ? sequelize_1.Op.notILike : sequelize_1.Op.notLike]: `%${value}%`,
14
- };
15
- },
16
- $startsWith(value, ctx) {
17
- return {
18
- [(0, utils_1.isPg)(ctx) ? sequelize_1.Op.iLike : sequelize_1.Op.like]: `${value}%`,
19
- };
20
- },
21
- $notStartsWith(value, ctx) {
22
- return {
23
- [(0, utils_1.isPg)(ctx) ? sequelize_1.Op.notILike : sequelize_1.Op.notLike]: `${value}%`,
24
- };
25
- },
26
- $endWith(value, ctx) {
27
- return {
28
- [(0, utils_1.isPg)(ctx) ? sequelize_1.Op.iLike : sequelize_1.Op.like]: `%${value}`,
29
- };
30
- },
31
- $notEndWith(value, ctx) {
32
- return {
33
- [(0, utils_1.isPg)(ctx) ? sequelize_1.Op.notILike : sequelize_1.Op.notLike]: `%${value}`,
34
- };
35
- },
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _utils = require("./utils");
9
+
10
+ function _sequelize() {
11
+ const data = require("sequelize");
12
+
13
+ _sequelize = function _sequelize() {
14
+ return data;
15
+ };
16
+
17
+ return data;
18
+ }
19
+
20
+ var _default = {
21
+ $includes(value, ctx) {
22
+ return {
23
+ [(0, _utils.isPg)(ctx) ? _sequelize().Op.iLike : _sequelize().Op.like]: `%${value}%`
24
+ };
25
+ },
26
+
27
+ $notIncludes(value, ctx) {
28
+ return {
29
+ [(0, _utils.isPg)(ctx) ? _sequelize().Op.notILike : _sequelize().Op.notLike]: `%${value}%`
30
+ };
31
+ },
32
+
33
+ $startsWith(value, ctx) {
34
+ return {
35
+ [(0, _utils.isPg)(ctx) ? _sequelize().Op.iLike : _sequelize().Op.like]: `${value}%`
36
+ };
37
+ },
38
+
39
+ $notStartsWith(value, ctx) {
40
+ return {
41
+ [(0, _utils.isPg)(ctx) ? _sequelize().Op.notILike : _sequelize().Op.notLike]: `${value}%`
42
+ };
43
+ },
44
+
45
+ $endWith(value, ctx) {
46
+ return {
47
+ [(0, _utils.isPg)(ctx) ? _sequelize().Op.iLike : _sequelize().Op.like]: `%${value}`
48
+ };
49
+ },
50
+
51
+ $notEndWith(value, ctx) {
52
+ return {
53
+ [(0, _utils.isPg)(ctx) ? _sequelize().Op.notILike : _sequelize().Op.notLike]: `%${value}`
54
+ };
55
+ }
56
+
36
57
  };
37
- //# sourceMappingURL=string.js.map
58
+ exports.default = _default;
@@ -1,16 +1,24 @@
1
1
  "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isMySQL = exports.isPg = exports.getDialect = void 0;
4
- const getDialect = (ctx) => {
5
- return ctx.db.sequelize.getDialect();
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isPg = exports.isMySQL = exports.getDialect = void 0;
7
+
8
+ const getDialect = ctx => {
9
+ return ctx.db.sequelize.getDialect();
6
10
  };
11
+
7
12
  exports.getDialect = getDialect;
8
- const isPg = (ctx) => {
9
- return getDialect(ctx) === 'postgres';
13
+
14
+ const isPg = ctx => {
15
+ return getDialect(ctx) === 'postgres';
10
16
  };
17
+
11
18
  exports.isPg = isPg;
12
- const isMySQL = (ctx) => {
13
- return getDialect(ctx) === 'mysql';
19
+
20
+ const isMySQL = ctx => {
21
+ return getDialect(ctx) === 'mysql';
14
22
  };
15
- exports.isMySQL = isMySQL;
16
- //# sourceMappingURL=utils.js.map
23
+
24
+ exports.isMySQL = isMySQL;