@wix/wix-data-items-common 1.0.52

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 (228) hide show
  1. package/README.md +8 -0
  2. package/dist/cjs/api/ApiClient.js +186 -0
  3. package/dist/cjs/api/ApiClient.js.map +1 -0
  4. package/dist/cjs/api/QueryBase.js +200 -0
  5. package/dist/cjs/api/QueryBase.js.map +1 -0
  6. package/dist/cjs/api/QueryValidator.js +36 -0
  7. package/dist/cjs/api/QueryValidator.js.map +1 -0
  8. package/dist/cjs/api/WixDataAggregate.js +4 -0
  9. package/dist/cjs/api/WixDataAggregate.js.map +1 -0
  10. package/dist/cjs/api/WixDataApi.js +800 -0
  11. package/dist/cjs/api/WixDataApi.js.map +1 -0
  12. package/dist/cjs/api/WixDataFilter.js +2 -0
  13. package/dist/cjs/api/WixDataFilter.js.map +1 -0
  14. package/dist/cjs/api/WixDataPatch.js +139 -0
  15. package/dist/cjs/api/WixDataPatch.js.map +1 -0
  16. package/dist/cjs/api/WixDataQuery.js +4 -0
  17. package/dist/cjs/api/WixDataQuery.js.map +1 -0
  18. package/dist/cjs/api/WixDataResult.js +4 -0
  19. package/dist/cjs/api/WixDataResult.js.map +1 -0
  20. package/dist/cjs/api/common.js +14 -0
  21. package/dist/cjs/api/common.js.map +1 -0
  22. package/dist/cjs/api/errors.js +67 -0
  23. package/dist/cjs/api/errors.js.map +1 -0
  24. package/dist/cjs/api/impl/WixDataAggregateImpl.js +193 -0
  25. package/dist/cjs/api/impl/WixDataAggregateImpl.js.map +1 -0
  26. package/dist/cjs/api/impl/WixDataQueryImpl.js +116 -0
  27. package/dist/cjs/api/impl/WixDataQueryImpl.js.map +1 -0
  28. package/dist/cjs/api/impl/WixDataResultImpl.js +111 -0
  29. package/dist/cjs/api/impl/WixDataResultImpl.js.map +1 -0
  30. package/dist/cjs/api/index.js +32 -0
  31. package/dist/cjs/api/index.js.map +1 -0
  32. package/dist/cjs/api/types.js +2 -0
  33. package/dist/cjs/api/types.js.map +1 -0
  34. package/dist/cjs/errors/base-validator.js +92 -0
  35. package/dist/cjs/errors/base-validator.js.map +1 -0
  36. package/dist/cjs/errors/errors.js +155 -0
  37. package/dist/cjs/errors/errors.js.map +1 -0
  38. package/dist/cjs/errors/index.js +15 -0
  39. package/dist/cjs/errors/index.js.map +1 -0
  40. package/dist/cjs/errors/validations.js +91 -0
  41. package/dist/cjs/errors/validations.js.map +1 -0
  42. package/dist/cjs/external-types.d.js +2 -0
  43. package/dist/cjs/external-types.d.js.map +1 -0
  44. package/dist/cjs/filter/FilterTree.js +154 -0
  45. package/dist/cjs/filter/FilterTree.js.map +1 -0
  46. package/dist/cjs/filter/WithFilter.js +2 -0
  47. package/dist/cjs/filter/WithFilter.js.map +1 -0
  48. package/dist/cjs/filter/filterBuilder.js +53 -0
  49. package/dist/cjs/filter/filterBuilder.js.map +1 -0
  50. package/dist/cjs/filter/filterMixin.js +144 -0
  51. package/dist/cjs/filter/filterMixin.js.map +1 -0
  52. package/dist/cjs/filter/index.js +16 -0
  53. package/dist/cjs/filter/index.js.map +1 -0
  54. package/dist/cjs/index.js +120 -0
  55. package/dist/cjs/index.js.map +1 -0
  56. package/dist/cjs/sort/sortMixin.js +79 -0
  57. package/dist/cjs/sort/sortMixin.js.map +1 -0
  58. package/dist/cjs/test-types.d.js +2 -0
  59. package/dist/cjs/test-types.d.js.map +1 -0
  60. package/dist/cjs/types/api.js +4 -0
  61. package/dist/cjs/types/api.js.map +1 -0
  62. package/dist/cjs/types/data-item-types.js +46 -0
  63. package/dist/cjs/types/data-item-types.js.map +1 -0
  64. package/dist/cjs/types/error.js +2 -0
  65. package/dist/cjs/types/error.js.map +1 -0
  66. package/dist/cjs/types/index.js +16 -0
  67. package/dist/cjs/types/index.js.map +1 -0
  68. package/dist/cjs/utils/base64url.js +51 -0
  69. package/dist/cjs/utils/base64url.js.map +1 -0
  70. package/dist/cjs/utils/clone.js +21 -0
  71. package/dist/cjs/utils/clone.js.map +1 -0
  72. package/dist/cjs/utils/codec.js +64 -0
  73. package/dist/cjs/utils/codec.js.map +1 -0
  74. package/dist/cjs/utils/field-key-utils.js +18 -0
  75. package/dist/cjs/utils/field-key-utils.js.map +1 -0
  76. package/dist/cjs/utils/index.js +25 -0
  77. package/dist/cjs/utils/index.js.map +1 -0
  78. package/dist/cjs/utils/type-utils.js +54 -0
  79. package/dist/cjs/utils/type-utils.js.map +1 -0
  80. package/dist/esm/api/ApiClient.js +174 -0
  81. package/dist/esm/api/ApiClient.js.map +1 -0
  82. package/dist/esm/api/QueryBase.js +117 -0
  83. package/dist/esm/api/QueryBase.js.map +1 -0
  84. package/dist/esm/api/QueryValidator.js +32 -0
  85. package/dist/esm/api/QueryValidator.js.map +1 -0
  86. package/dist/esm/api/WixDataAggregate.js +2 -0
  87. package/dist/esm/api/WixDataAggregate.js.map +1 -0
  88. package/dist/esm/api/WixDataApi.js +829 -0
  89. package/dist/esm/api/WixDataApi.js.map +1 -0
  90. package/dist/esm/api/WixDataFilter.js +2 -0
  91. package/dist/esm/api/WixDataFilter.js.map +1 -0
  92. package/dist/esm/api/WixDataPatch.js +134 -0
  93. package/dist/esm/api/WixDataPatch.js.map +1 -0
  94. package/dist/esm/api/WixDataQuery.js +2 -0
  95. package/dist/esm/api/WixDataQuery.js.map +1 -0
  96. package/dist/esm/api/WixDataResult.js +2 -0
  97. package/dist/esm/api/WixDataResult.js.map +1 -0
  98. package/dist/esm/api/common.js +10 -0
  99. package/dist/esm/api/common.js.map +1 -0
  100. package/dist/esm/api/errors.js +52 -0
  101. package/dist/esm/api/errors.js.map +1 -0
  102. package/dist/esm/api/impl/WixDataAggregateImpl.js +214 -0
  103. package/dist/esm/api/impl/WixDataAggregateImpl.js.map +1 -0
  104. package/dist/esm/api/impl/WixDataQueryImpl.js +119 -0
  105. package/dist/esm/api/impl/WixDataQueryImpl.js.map +1 -0
  106. package/dist/esm/api/impl/WixDataResultImpl.js +100 -0
  107. package/dist/esm/api/impl/WixDataResultImpl.js.map +1 -0
  108. package/dist/esm/api/index.js +5 -0
  109. package/dist/esm/api/index.js.map +1 -0
  110. package/dist/esm/api/types.js +2 -0
  111. package/dist/esm/api/types.js.map +1 -0
  112. package/dist/esm/errors/base-validator.js +71 -0
  113. package/dist/esm/errors/base-validator.js.map +1 -0
  114. package/dist/esm/errors/errors.js +147 -0
  115. package/dist/esm/errors/errors.js.map +1 -0
  116. package/dist/esm/errors/index.js +5 -0
  117. package/dist/esm/errors/index.js.map +1 -0
  118. package/dist/esm/errors/validations.js +114 -0
  119. package/dist/esm/errors/validations.js.map +1 -0
  120. package/dist/esm/filter/FilterTree.js +148 -0
  121. package/dist/esm/filter/FilterTree.js.map +1 -0
  122. package/dist/esm/filter/WithFilter.js +2 -0
  123. package/dist/esm/filter/WithFilter.js.map +1 -0
  124. package/dist/esm/filter/filterBuilder.js +43 -0
  125. package/dist/esm/filter/filterBuilder.js.map +1 -0
  126. package/dist/esm/filter/filterMixin.js +137 -0
  127. package/dist/esm/filter/filterMixin.js.map +1 -0
  128. package/dist/esm/filter/index.js +5 -0
  129. package/dist/esm/filter/index.js.map +1 -0
  130. package/dist/esm/index.js +9 -0
  131. package/dist/esm/index.js.map +1 -0
  132. package/dist/esm/sort/sortMixin.js +74 -0
  133. package/dist/esm/sort/sortMixin.js.map +1 -0
  134. package/dist/esm/types/api.js +2 -0
  135. package/dist/esm/types/api.js.map +1 -0
  136. package/dist/esm/types/data-item-types.js +35 -0
  137. package/dist/esm/types/data-item-types.js.map +1 -0
  138. package/dist/esm/types/error.js +2 -0
  139. package/dist/esm/types/error.js.map +1 -0
  140. package/dist/esm/types/index.js +3 -0
  141. package/dist/esm/types/index.js.map +1 -0
  142. package/dist/esm/utils/base64url.js +57 -0
  143. package/dist/esm/utils/base64url.js.map +1 -0
  144. package/dist/esm/utils/clone.js +18 -0
  145. package/dist/esm/utils/clone.js.map +1 -0
  146. package/dist/esm/utils/codec.js +60 -0
  147. package/dist/esm/utils/codec.js.map +1 -0
  148. package/dist/esm/utils/field-key-utils.js +14 -0
  149. package/dist/esm/utils/field-key-utils.js.map +1 -0
  150. package/dist/esm/utils/index.js +7 -0
  151. package/dist/esm/utils/index.js.map +1 -0
  152. package/dist/esm/utils/type-utils.js +40 -0
  153. package/dist/esm/utils/type-utils.js.map +1 -0
  154. package/dist/types/api/ApiClient.d.ts +30 -0
  155. package/dist/types/api/ApiClient.d.ts.map +1 -0
  156. package/dist/types/api/QueryBase.d.ts +111 -0
  157. package/dist/types/api/QueryBase.d.ts.map +1 -0
  158. package/dist/types/api/QueryValidator.d.ts +12 -0
  159. package/dist/types/api/QueryValidator.d.ts.map +1 -0
  160. package/dist/types/api/WixDataAggregate.d.ts +320 -0
  161. package/dist/types/api/WixDataAggregate.d.ts.map +1 -0
  162. package/dist/types/api/WixDataApi.d.ts +52 -0
  163. package/dist/types/api/WixDataApi.d.ts.map +1 -0
  164. package/dist/types/api/WixDataFilter.d.ts +424 -0
  165. package/dist/types/api/WixDataFilter.d.ts.map +1 -0
  166. package/dist/types/api/WixDataPatch.d.ts +80 -0
  167. package/dist/types/api/WixDataPatch.d.ts.map +1 -0
  168. package/dist/types/api/WixDataQuery.d.ts +702 -0
  169. package/dist/types/api/WixDataQuery.d.ts.map +1 -0
  170. package/dist/types/api/WixDataResult.d.ts +144 -0
  171. package/dist/types/api/WixDataResult.d.ts.map +1 -0
  172. package/dist/types/api/common.d.ts +3 -0
  173. package/dist/types/api/common.d.ts.map +1 -0
  174. package/dist/types/api/errors.d.ts +12 -0
  175. package/dist/types/api/errors.d.ts.map +1 -0
  176. package/dist/types/api/impl/WixDataAggregateImpl.d.ts +76 -0
  177. package/dist/types/api/impl/WixDataAggregateImpl.d.ts.map +1 -0
  178. package/dist/types/api/impl/WixDataQueryImpl.d.ts +72 -0
  179. package/dist/types/api/impl/WixDataQueryImpl.d.ts.map +1 -0
  180. package/dist/types/api/impl/WixDataResultImpl.d.ts +34 -0
  181. package/dist/types/api/impl/WixDataResultImpl.d.ts.map +1 -0
  182. package/dist/types/api/index.d.ts +11 -0
  183. package/dist/types/api/index.d.ts.map +1 -0
  184. package/dist/types/api/types.d.ts +163 -0
  185. package/dist/types/api/types.d.ts.map +1 -0
  186. package/dist/types/errors/base-validator.d.ts +28 -0
  187. package/dist/types/errors/base-validator.d.ts.map +1 -0
  188. package/dist/types/errors/errors.d.ts +108 -0
  189. package/dist/types/errors/errors.d.ts.map +1 -0
  190. package/dist/types/errors/index.d.ts +5 -0
  191. package/dist/types/errors/index.d.ts.map +1 -0
  192. package/dist/types/errors/validations.d.ts +25 -0
  193. package/dist/types/errors/validations.d.ts.map +1 -0
  194. package/dist/types/filter/FilterTree.d.ts +56 -0
  195. package/dist/types/filter/FilterTree.d.ts.map +1 -0
  196. package/dist/types/filter/WithFilter.d.ts +470 -0
  197. package/dist/types/filter/WithFilter.d.ts.map +1 -0
  198. package/dist/types/filter/filterBuilder.d.ts +105 -0
  199. package/dist/types/filter/filterBuilder.d.ts.map +1 -0
  200. package/dist/types/filter/filterMixin.d.ts +61 -0
  201. package/dist/types/filter/filterMixin.d.ts.map +1 -0
  202. package/dist/types/filter/index.d.ts +8 -0
  203. package/dist/types/filter/index.d.ts.map +1 -0
  204. package/dist/types/index.d.ts +13 -0
  205. package/dist/types/index.d.ts.map +1 -0
  206. package/dist/types/sort/sortMixin.d.ts +46 -0
  207. package/dist/types/sort/sortMixin.d.ts.map +1 -0
  208. package/dist/types/types/api.d.ts +36 -0
  209. package/dist/types/types/api.d.ts.map +1 -0
  210. package/dist/types/types/data-item-types.d.ts +1448 -0
  211. package/dist/types/types/data-item-types.d.ts.map +1 -0
  212. package/dist/types/types/error.d.ts +23 -0
  213. package/dist/types/types/error.d.ts.map +1 -0
  214. package/dist/types/types/index.d.ts +4 -0
  215. package/dist/types/types/index.d.ts.map +1 -0
  216. package/dist/types/utils/base64url.d.ts +2 -0
  217. package/dist/types/utils/base64url.d.ts.map +1 -0
  218. package/dist/types/utils/clone.d.ts +2 -0
  219. package/dist/types/utils/clone.d.ts.map +1 -0
  220. package/dist/types/utils/codec.d.ts +3 -0
  221. package/dist/types/utils/codec.d.ts.map +1 -0
  222. package/dist/types/utils/field-key-utils.d.ts +2 -0
  223. package/dist/types/utils/field-key-utils.d.ts.map +1 -0
  224. package/dist/types/utils/index.d.ts +7 -0
  225. package/dist/types/utils/index.d.ts.map +1 -0
  226. package/dist/types/utils/type-utils.d.ts +11 -0
  227. package/dist/types/utils/type-utils.d.ts.map +1 -0
  228. package/package.json +89 -0
@@ -0,0 +1,174 @@
1
+ import { decode as parseDates, encode as serializeDates, base64url, } from '../utils';
2
+ import { messages, wixDataError, codes } from '../errors';
3
+ import { isHttpError, parseError } from './errors';
4
+ const SUPPORTS_GET_METHOD = {
5
+ 'com.wixpress.cloud.data.api.data.DataItemService.QueryDataItems': true,
6
+ };
7
+ export function apiRequestInterceptor(allowGet) {
8
+ return (request) => {
9
+ const preferGet = allowGet && SUPPORTS_GET_METHOD[request.methodFqn ?? ''];
10
+ const data = serializeDates(request.data);
11
+ if (preferGet) {
12
+ // https://github.com/wix-private/server-infra/tree/master/framework/grpc/rest#complex-requests-messages-with-get-mappings
13
+ const url = `${request.url}?.r=${base64url(data)}`;
14
+ if (url.length <= 2048) {
15
+ return {
16
+ ...request,
17
+ method: 'GET',
18
+ url,
19
+ data: undefined,
20
+ };
21
+ }
22
+ }
23
+ return { ...request, data };
24
+ };
25
+ }
26
+ export class ApiClient {
27
+ constructor(clientFactory, allowGet) {
28
+ this.httpApiClient = clientFactory(apiRequestInterceptor(allowGet));
29
+ }
30
+ async getDataItem(r) {
31
+ return this.withErrorHandling(async () => {
32
+ const response = await this.httpApiClient.getDataItem(r);
33
+ return parseDates(response.data);
34
+ });
35
+ }
36
+ async insertDataItem(r) {
37
+ return this.withErrorHandling(async () => {
38
+ const response = await this.httpApiClient.insertDataItem(r);
39
+ return parseDates(response.data);
40
+ });
41
+ }
42
+ async saveDataItem(r) {
43
+ return this.withErrorHandling(async () => {
44
+ const response = await this.httpApiClient.saveDataItem(r);
45
+ return parseDates(response.data);
46
+ });
47
+ }
48
+ async updateDataItem(r) {
49
+ return this.withErrorHandling(async () => {
50
+ const response = await this.httpApiClient.updateDataItem(r);
51
+ return parseDates(response.data);
52
+ });
53
+ }
54
+ async patchDataItem(r) {
55
+ return this.withErrorHandling(async () => {
56
+ const response = await this.httpApiClient.patchDataItem(r);
57
+ return parseDates(response.data);
58
+ });
59
+ }
60
+ async bulkPatchDataItems(r) {
61
+ return this.withErrorHandling(async () => {
62
+ const response = await this.httpApiClient.bulkPatchDataItems(r);
63
+ return parseDates(response.data);
64
+ });
65
+ }
66
+ async removeDataItem(r) {
67
+ return this.withErrorHandling(async () => {
68
+ const response = await this.httpApiClient.removeDataItem(r);
69
+ return parseDates(response.data);
70
+ });
71
+ }
72
+ async countDataItems(r) {
73
+ return this.withErrorHandling(async () => {
74
+ const response = await this.httpApiClient.countDataItems(r);
75
+ return parseDates(response.data);
76
+ });
77
+ }
78
+ async queryDistinctValues(r) {
79
+ return this.withErrorHandling(async () => {
80
+ const response = await this.httpApiClient.queryDistinctValues(r);
81
+ return parseDates(response.data);
82
+ });
83
+ }
84
+ async queryDataItems(r) {
85
+ return this.withErrorHandling(async () => {
86
+ const response = await this.httpApiClient.queryDataItems(r);
87
+ return parseDates(response.data);
88
+ });
89
+ }
90
+ async aggregateDataItems(r) {
91
+ return this.withErrorHandling(async () => {
92
+ const response = await this.httpApiClient.aggregateDataItems(r);
93
+ return parseDates(response.data);
94
+ });
95
+ }
96
+ async bulkInsertDataItems(r) {
97
+ return this.withErrorHandling(async () => {
98
+ const response = await this.httpApiClient.bulkInsertDataItems(r);
99
+ return parseDates(response.data);
100
+ });
101
+ }
102
+ async bulkUpdateDataItems(r) {
103
+ return this.withErrorHandling(async () => {
104
+ const response = await this.httpApiClient.bulkUpdateDataItems(r);
105
+ return parseDates(response.data);
106
+ });
107
+ }
108
+ async bulkSaveDataItems(r) {
109
+ return this.withErrorHandling(async () => {
110
+ const response = await this.httpApiClient.bulkSaveDataItems(r);
111
+ return parseDates(response.data);
112
+ });
113
+ }
114
+ async bulkRemoveDataItems(r) {
115
+ return this.withErrorHandling(async () => {
116
+ const response = await this.httpApiClient.bulkRemoveDataItems(r);
117
+ return parseDates(response.data);
118
+ });
119
+ }
120
+ async queryReferencedDataItems(r) {
121
+ return this.withErrorHandling(async () => {
122
+ const response = await this.httpApiClient.queryReferencedDataItems(r);
123
+ return parseDates(response.data);
124
+ });
125
+ }
126
+ async bulkInsertDataItemReferences(r) {
127
+ return this.withErrorHandling(async () => {
128
+ const response = await this.httpApiClient.bulkInsertDataItemReferences(r);
129
+ return parseDates(response.data);
130
+ });
131
+ }
132
+ async replaceDataItemReferences(r) {
133
+ return this.withErrorHandling(async () => {
134
+ const response = await this.httpApiClient.replaceDataItemReferences(r);
135
+ return parseDates(response.data);
136
+ });
137
+ }
138
+ async bulkRemoveDataItemReferences(r) {
139
+ return this.withErrorHandling(async () => {
140
+ const response = await this.httpApiClient.bulkRemoveDataItemReferences(r);
141
+ return parseDates(response.data);
142
+ });
143
+ }
144
+ async isReferencedDataItem(r) {
145
+ return this.withErrorHandling(async () => {
146
+ const response = await this.httpApiClient.isReferencedDataItem(r);
147
+ return parseDates(response.data);
148
+ });
149
+ }
150
+ async truncateDataItems(r) {
151
+ return this.withErrorHandling(async () => {
152
+ const response = await this.httpApiClient.truncateDataItems(r);
153
+ return parseDates(response.data);
154
+ });
155
+ }
156
+ async withErrorHandling(call) {
157
+ try {
158
+ return await call();
159
+ }
160
+ catch (error) {
161
+ if (isHttpError(error)) {
162
+ if (error.response?.status === 413) {
163
+ throw wixDataError(messages.payloadIsTooLarge(), 'WDE0109');
164
+ }
165
+ const parsedError = parseError(error.response?.data);
166
+ if (parsedError) {
167
+ throw parsedError;
168
+ }
169
+ }
170
+ throw wixDataError(messages.internalError('Unknown error.'), codes.UnknownError);
171
+ }
172
+ }
173
+ }
174
+ //# sourceMappingURL=ApiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiClient.js","sourceRoot":"","sources":["../../../src/api/ApiClient.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,MAAM,IAAI,UAAU,EACpB,MAAM,IAAI,cAAc,EACxB,SAAS,GACV,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,WAAW,CAAA;AAEzD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AA8ClD,MAAM,mBAAmB,GAA4B;IACnD,iEAAiE,EAAE,IAAI;CACxE,CAAA;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAiB;IAEjB,OAAO,CAAC,OAAO,EAAE,EAAE;QACjB,MAAM,SAAS,GAAG,QAAQ,IAAI,mBAAmB,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;QAC1E,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACzC,IAAI,SAAS,EAAE;YACb,0HAA0H;YAC1H,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAA;YAClD,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE;gBACtB,OAAO;oBACL,GAAG,OAAO;oBACV,MAAM,EAAE,KAAK;oBACb,GAAG;oBACH,IAAI,EAAE,SAAS;iBAChB,CAAA;aACF;SACF;QACD,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;IAC7B,CAAC,CAAA;AACH,CAAC;AAED,MAAM,OAAO,SAAS;IAGpB,YAAY,aAAwC,EAAE,QAAiB;QACrE,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,CAAqB;QACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YACxD,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,CAAwB;QAExB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;YAC3D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,CAAsB;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YACzD,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,CAAwB;QAExB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;YAC3D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,CAAuB;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;YAC1D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,CAA4B;QAE5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;YAC/D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,CAAwB;QAExB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;YAC3D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,CAAwB;QAExB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;YAC3D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,CAA6B;QAE7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,CAAwB;QAExB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;YAC3D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,CAA4B;QAE5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAA;YAC/D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,CAA6B;QAE7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,CAA6B;QAE7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,CAA2B;QAE3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAC9D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,CAA6B;QAE7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,CAAkC;QAElC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAA;YACrE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,CAAsC;QAEtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAA;YACzE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,CAAmC;QAEnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAA;YACtE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,CAAsC;QAEtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAA;YACzE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,CAA8B;QAE9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAA;YACjE,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,CAA2B;QAE3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;YAC9D,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAClC,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAI,IAAa;QAC9C,IAAI;YACF,OAAO,MAAM,IAAI,EAAE,CAAA;SACpB;QAAC,OAAO,KAAc,EAAE;YACvB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;gBACtB,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE;oBAClC,MAAM,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,CAAA;iBAC5D;gBACD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACpD,IAAI,WAAW,EAAE;oBACf,MAAM,WAAW,CAAA;iBAClB;aACF;YACD,MAAM,YAAY,CAChB,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,EACxC,KAAK,CAAC,YAAY,CACnB,CAAA;SACF;IACH,CAAC;CACF"}
@@ -0,0 +1,117 @@
1
+ import { validateFilterTree, } from '../filter';
2
+ import { Sort } from '../sort/sortMixin';
3
+ import { filterBuilder } from './common';
4
+ export class QueryBase {
5
+ constructor(origin) {
6
+ // filterMethod: WithFilter<Self>['filterMethod'] allows keeping type signature while capturing
7
+ // all args as an array
8
+ this.eq = (...args) => {
9
+ return this.withFilter('eq', args);
10
+ };
11
+ this.ne = (...args) => {
12
+ return this.withFilter('ne', args);
13
+ };
14
+ this.ge = (...args) => {
15
+ return this.withFilter('ge', args);
16
+ };
17
+ this.gt = (...args) => {
18
+ return this.withFilter('gt', args);
19
+ };
20
+ this.gte = (...args) => {
21
+ return this.withFilter('gte', args);
22
+ };
23
+ this.le = (...args) => {
24
+ return this.withFilter('le', args);
25
+ };
26
+ this.lt = (...args) => {
27
+ return this.withFilter('lt', args);
28
+ };
29
+ this.lte = (...args) => {
30
+ return this.withFilter('lte', args);
31
+ };
32
+ this.isNotEmpty = (...args) => {
33
+ return this.withFilter('isNotEmpty', args);
34
+ };
35
+ this.isEmpty = (...args) => {
36
+ return this.withFilter('isEmpty', args);
37
+ };
38
+ this.startsWith = (...args) => {
39
+ return this.withFilter('startsWith', args);
40
+ };
41
+ this.endsWith = (...args) => {
42
+ return this.withFilter('endsWith', args);
43
+ };
44
+ this.contains = (...args) => {
45
+ return this.withFilter('contains', args);
46
+ };
47
+ this.hasSome = (...args) => {
48
+ return this.withFilter('hasSome', args);
49
+ };
50
+ this.in = (...args) => {
51
+ return this.withFilter('in', args);
52
+ };
53
+ this.hasAll = (...args) => {
54
+ return this.withFilter('hasAll', args);
55
+ };
56
+ this.exists = (...args) => {
57
+ return this.withFilter('exists', args);
58
+ };
59
+ this.or = (...args) => {
60
+ // @ts-expect-error
61
+ return this.withFilter('or', args.map(this.extractFilter));
62
+ };
63
+ this.and = (...args) => {
64
+ // @ts-expect-error
65
+ return this.withFilter('and', args.map(this.extractFilter));
66
+ };
67
+ this.not = (...args) => {
68
+ // @ts-expect-error
69
+ return this.withFilter('not', args.map(this.extractFilter));
70
+ };
71
+ this.between = (...args) => {
72
+ return this.withFilter('between', args);
73
+ };
74
+ this.collectionName = origin.collectionName;
75
+ this.filterBuilder =
76
+ origin?.filterBuilder ?? filterBuilder({ filterTree: {} });
77
+ this.sort = origin?.sort ?? new Sort();
78
+ }
79
+ get filterTree() {
80
+ return this.filterBuilder.filterTree;
81
+ }
82
+ /**
83
+ * @internal
84
+ */
85
+ setFilterModel(filterTree) {
86
+ const filter = filterBuilder({
87
+ filterTree,
88
+ invalidArguments: validateFilterTree(filterTree),
89
+ });
90
+ return this.copy({ filterBuilder: filter });
91
+ }
92
+ /**
93
+ * @internal
94
+ */
95
+ getFilterModel() {
96
+ return this.filterBuilder.build();
97
+ }
98
+ withFilter(filter, args) {
99
+ return this.copy({
100
+ filterBuilder: this.filterBuilder[filter].apply(this.filterBuilder, args),
101
+ });
102
+ }
103
+ extractFilter(value) {
104
+ return value?.filterBuilder ? value.filterBuilder : value;
105
+ }
106
+ // --- sort ---
107
+ get orderBy() {
108
+ return this.sort.orderBy;
109
+ }
110
+ ascending(...fields) {
111
+ return this.copy({ sort: this.sort.ascending(...fields) });
112
+ }
113
+ descending(...fields) {
114
+ return this.copy({ sort: this.sort.descending(...fields) });
115
+ }
116
+ }
117
+ //# sourceMappingURL=QueryBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBase.js","sourceRoot":"","sources":["../../../src/api/QueryBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { isNumber } from '../utils';
2
+ import { AggregatingValidator, messages } from '../errors';
3
+ const MAX_SAFE_INTEGER = 9007199254740991;
4
+ export class QueryValidator extends AggregatingValidator {
5
+ constructor(operatorName, previousInvalidArguments) {
6
+ super(previousInvalidArguments);
7
+ this.operatorName = operatorName;
8
+ }
9
+ _isNumber(specifier, operand) {
10
+ return this.addValidation(() => isNumber(operand), () => messages.queryValidations.isNumber(this.operatorName, specifier, operand));
11
+ }
12
+ isPositiveNumber(operand) {
13
+ return this._isNumber('positive', operand).addValidation(() => !Number.isNaN(operand) && operand > 0, () => messages.queryValidations.isPositiveNumber(this.operatorName, operand));
14
+ }
15
+ isNonNegativeNumber(operand) {
16
+ return this._isNumber('non-negative', operand).addValidation(() => !Number.isNaN(operand) && operand >= 0, () => messages.queryValidations.isNonNegativeNumber(this.operatorName, operand));
17
+ }
18
+ isInteger(operand) {
19
+ return this.addValidation(() => !Number.isNaN(operand) &&
20
+ Number.isFinite(operand) &&
21
+ Number.isInteger(operand) &&
22
+ operand < MAX_SAFE_INTEGER &&
23
+ operand > -MAX_SAFE_INTEGER, () => messages.queryValidations.isInteger(this.operatorName, operand));
24
+ }
25
+ notGreaterThan(operand, value) {
26
+ return this.addValidation(() => operand <= value, () => messages.queryValidations.notGreaterThan(this.operatorName, operand, value));
27
+ }
28
+ nonEmptyString(operand) {
29
+ return this.addValidation(() => typeof operand === 'string' && operand.length > 0, () => messages.queryValidations.isNonEmptyString(this.operatorName));
30
+ }
31
+ }
32
+ //# sourceMappingURL=QueryValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryValidator.js","sourceRoot":"","sources":["../../../src/api/QueryValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAE1D,MAAM,gBAAgB,GAAG,gBAAgB,CAAA;AAEzC,MAAM,OAAO,cAAe,SAAQ,oBAAoB;IAGtD,YAAY,YAAoB,EAAE,wBAAkC;QAClE,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,SAAS,CAAC,SAAiB,EAAE,OAAY;QACvC,OAAO,IAAI,CAAC,aAAa,CACvB,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EACvB,GAAG,EAAE,CACH,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAChC,IAAI,CAAC,YAAY,EACjB,SAAS,EACT,OAAO,CACR,CACJ,CAAA;IACH,CAAC;IAED,gBAAgB,CAAC,OAAe;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,aAAa,CACtD,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAC3C,GAAG,EAAE,CACH,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CACzE,CAAA;IACH,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,aAAa,CAC1D,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAC5C,GAAG,EAAE,CACH,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAC3C,IAAI,CAAC,YAAY,EACjB,OAAO,CACR,CACJ,CAAA;IACH,CAAC;IAED,SAAS,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,aAAa,CACvB,GAAG,EAAE,CACH,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;YACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YACxB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC;YACzB,OAAO,GAAG,gBAAgB;YAC1B,OAAO,GAAG,CAAC,gBAAgB,EAC7B,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CACtE,CAAA;IACH,CAAC;IAED,cAAc,CAAC,OAAe,EAAE,KAAa;QAC3C,OAAO,IAAI,CAAC,aAAa,CACvB,GAAG,EAAE,CAAC,OAAO,IAAI,KAAK,EACtB,GAAG,EAAE,CACH,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CACtC,IAAI,CAAC,YAAY,EACjB,OAAO,EACP,KAAK,CACN,CACJ,CAAA;IACH,CAAC;IAED,cAAc,CAAC,OAAY;QACzB,OAAO,IAAI,CAAC,aAAa,CACvB,GAAG,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EACvD,GAAG,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CACpE,CAAA;IACH,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=WixDataAggregate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WixDataAggregate.js","sourceRoot":"","sources":["../../../src/api/WixDataAggregate.ts"],"names":[],"mappings":""}