wapi-client 0.17.13 → 0.18.0-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.
- package/dist/api/base-client.browser.cjs +41 -0
- package/dist/api/base-client.browser.js +41 -0
- package/dist/api/base-client.cjs +41 -0
- package/dist/api/base-client.js +41 -0
- package/dist/client.browser.cjs +15 -0
- package/dist/client.browser.js +15 -0
- package/dist/client.cjs +15 -0
- package/dist/client.js +15 -0
- package/dist/db/consts.browser.cjs +26 -2
- package/dist/db/consts.browser.js +26 -2
- package/dist/db/consts.cjs +29 -3
- package/dist/db/consts.js +26 -2
- package/dist/fns/create-deposit/create-deposit.schema.zod.browser.cjs +1 -1
- package/dist/fns/create-deposit/create-deposit.schema.zod.browser.js +1 -1
- package/dist/fns/create-deposit/create-deposit.schema.zod.cjs +1 -1
- package/dist/fns/create-deposit/create-deposit.schema.zod.js +1 -1
- package/dist/fns/create-index/create-index.browser.cjs +51 -0
- package/dist/fns/create-index/create-index.browser.js +32 -0
- package/dist/fns/create-index/create-index.cjs +55 -0
- package/dist/fns/create-index/create-index.enums.browser.cjs +18 -0
- package/dist/fns/create-index/create-index.enums.browser.js +0 -0
- package/dist/fns/create-index/create-index.enums.cjs +18 -0
- package/dist/fns/create-index/create-index.enums.js +0 -0
- package/dist/fns/create-index/create-index.js +32 -0
- package/dist/fns/create-index/create-index.schema.zod.browser.cjs +41 -0
- package/dist/fns/create-index/create-index.schema.zod.browser.js +24 -0
- package/dist/fns/create-index/create-index.schema.zod.cjs +49 -0
- package/dist/fns/create-index/create-index.schema.zod.js +24 -0
- package/dist/fns/create-transfer/create-transfer.schema.zod.browser.cjs +1 -1
- package/dist/fns/create-transfer/create-transfer.schema.zod.browser.js +1 -1
- package/dist/fns/create-transfer/create-transfer.schema.zod.cjs +1 -1
- package/dist/fns/create-transfer/create-transfer.schema.zod.js +1 -1
- package/dist/fns/create-withdrawal/create-withdrawal.schema.zod.browser.cjs +1 -1
- package/dist/fns/create-withdrawal/create-withdrawal.schema.zod.browser.js +1 -1
- package/dist/fns/create-withdrawal/create-withdrawal.schema.zod.cjs +1 -1
- package/dist/fns/create-withdrawal/create-withdrawal.schema.zod.js +1 -1
- package/dist/fns/drop-index/drop-index.browser.cjs +51 -0
- package/dist/fns/drop-index/drop-index.browser.js +32 -0
- package/dist/fns/drop-index/drop-index.cjs +55 -0
- package/dist/fns/drop-index/drop-index.enums.browser.cjs +18 -0
- package/dist/fns/drop-index/drop-index.enums.browser.js +0 -0
- package/dist/fns/drop-index/drop-index.enums.cjs +18 -0
- package/dist/fns/drop-index/drop-index.enums.js +0 -0
- package/dist/fns/drop-index/drop-index.js +32 -0
- package/dist/fns/drop-index/drop-index.schema.zod.browser.cjs +41 -0
- package/dist/fns/drop-index/drop-index.schema.zod.browser.js +24 -0
- package/dist/fns/drop-index/drop-index.schema.zod.cjs +49 -0
- package/dist/fns/drop-index/drop-index.schema.zod.js +24 -0
- package/dist/fns/find-balances/find-balances.browser.cjs +13 -1
- package/dist/fns/find-balances/find-balances.browser.js +13 -1
- package/dist/fns/find-balances/find-balances.cjs +13 -1
- package/dist/fns/find-balances/find-balances.js +13 -1
- package/dist/fns/find-indexes/find-indexes.browser.cjs +51 -0
- package/dist/fns/find-indexes/find-indexes.browser.js +32 -0
- package/dist/fns/find-indexes/find-indexes.cjs +55 -0
- package/dist/fns/find-indexes/find-indexes.enums.browser.cjs +18 -0
- package/dist/fns/find-indexes/find-indexes.enums.browser.js +0 -0
- package/dist/fns/find-indexes/find-indexes.enums.cjs +18 -0
- package/dist/fns/find-indexes/find-indexes.enums.js +0 -0
- package/dist/fns/find-indexes/find-indexes.js +32 -0
- package/dist/fns/find-indexes/find-indexes.schema.zod.browser.cjs +41 -0
- package/dist/fns/find-indexes/find-indexes.schema.zod.browser.js +24 -0
- package/dist/fns/find-indexes/find-indexes.schema.zod.cjs +49 -0
- package/dist/fns/find-indexes/find-indexes.schema.zod.js +24 -0
- package/dist/fns/find-transfers/find-transfers.browser.cjs +4 -1
- package/dist/fns/find-transfers/find-transfers.browser.js +4 -1
- package/dist/fns/find-transfers/find-transfers.cjs +4 -1
- package/dist/fns/find-transfers/find-transfers.js +4 -1
- package/dist/fns/fn-types.browser.cjs +3 -0
- package/dist/fns/fn-types.browser.js +3 -0
- package/dist/fns/fn-types.cjs +6 -0
- package/dist/fns/fn-types.js +3 -0
- package/dist/fns/get-balance/get-balance.schema.zod.browser.cjs +1 -1
- package/dist/fns/get-balance/get-balance.schema.zod.browser.js +1 -1
- package/dist/fns/get-balance/get-balance.schema.zod.cjs +1 -1
- package/dist/fns/get-balance/get-balance.schema.zod.js +1 -1
- package/dist/lib/env.browser.cjs +1 -1
- package/dist/lib/env.browser.js +1 -1
- package/dist/lib/env.cjs +1 -1
- package/dist/lib/env.js +1 -1
- package/dist/lib/query-builder/aggregate-query-builder.browser.cjs +0 -193
- package/dist/lib/query-builder/aggregate-query-builder.browser.js +1 -196
- package/dist/lib/query-builder/aggregate-query-builder.cjs +0 -193
- package/dist/lib/query-builder/aggregate-query-builder.js +1 -196
- package/dist/lib/query-builder/find-query-builder.browser.cjs +0 -193
- package/dist/lib/query-builder/find-query-builder.browser.js +1 -196
- package/dist/lib/query-builder/find-query-builder.cjs +0 -193
- package/dist/lib/query-builder/find-query-builder.js +1 -196
- package/dist/lib/query-builder/query-builder.browser.cjs +75 -80
- package/dist/lib/query-builder/query-builder.browser.js +75 -80
- package/dist/lib/query-builder/query-builder.cjs +75 -80
- package/dist/lib/query-builder/query-builder.js +75 -80
- package/dist/lib/query-builder/reverse-query-builder.browser.cjs +0 -193
- package/dist/lib/query-builder/reverse-query-builder.browser.js +0 -193
- package/dist/lib/query-builder/reverse-query-builder.cjs +0 -193
- package/dist/lib/query-builder/reverse-query-builder.js +0 -193
- package/dist/lib/query-builder/update-query-builder.browser.cjs +0 -193
- package/dist/lib/query-builder/update-query-builder.browser.js +0 -193
- package/dist/lib/query-builder/update-query-builder.cjs +0 -193
- package/dist/lib/query-builder/update-query-builder.js +0 -193
- package/dist/lib/validator.browser.cjs +18 -0
- package/dist/lib/validator.browser.js +36 -0
- package/dist/lib/validator.cjs +18 -0
- package/dist/lib/validator.js +36 -0
- package/dist/txs/consts.browser.cjs +3 -0
- package/dist/txs/consts.browser.js +3 -0
- package/dist/txs/consts.cjs +3 -0
- package/dist/txs/consts.js +3 -0
- package/dist/txs/create-access-token/create-access-token.schema.zod.browser.cjs +3 -0
- package/dist/txs/create-access-token/create-access-token.schema.zod.browser.js +3 -0
- package/dist/txs/create-access-token/create-access-token.schema.zod.cjs +3 -0
- package/dist/txs/create-access-token/create-access-token.schema.zod.js +3 -0
- package/dist/txs/create-index/create-index.enums.browser.cjs +18 -0
- package/dist/txs/create-index/create-index.enums.browser.js +0 -0
- package/dist/txs/create-index/create-index.enums.cjs +18 -0
- package/dist/txs/create-index/create-index.enums.js +0 -0
- package/dist/txs/create-index/create-index.schema.zod.browser.cjs +53 -0
- package/dist/txs/create-index/create-index.schema.zod.browser.js +32 -0
- package/dist/txs/create-index/create-index.schema.zod.cjs +61 -0
- package/dist/txs/create-index/create-index.schema.zod.js +32 -0
- package/dist/txs/drop-index/drop-index.enums.browser.cjs +18 -0
- package/dist/txs/drop-index/drop-index.enums.browser.js +0 -0
- package/dist/txs/drop-index/drop-index.enums.cjs +18 -0
- package/dist/txs/drop-index/drop-index.enums.js +0 -0
- package/dist/txs/drop-index/drop-index.schema.zod.browser.cjs +46 -0
- package/dist/txs/drop-index/drop-index.schema.zod.browser.js +28 -0
- package/dist/txs/drop-index/drop-index.schema.zod.cjs +53 -0
- package/dist/txs/drop-index/drop-index.schema.zod.js +28 -0
- package/dist/txs/find-balance-many/find-balance-many.schema.zod.browser.cjs +16 -1
- package/dist/txs/find-balance-many/find-balance-many.schema.zod.browser.js +22 -2
- package/dist/txs/find-balance-many/find-balance-many.schema.zod.cjs +16 -1
- package/dist/txs/find-balance-many/find-balance-many.schema.zod.js +22 -2
- package/dist/txs/find-index-many/find-index-many.enums.browser.cjs +18 -0
- package/dist/txs/find-index-many/find-index-many.enums.browser.js +0 -0
- package/dist/txs/find-index-many/find-index-many.enums.cjs +18 -0
- package/dist/txs/find-index-many/find-index-many.enums.js +0 -0
- package/dist/txs/find-index-many/find-index-many.schema.zod.browser.cjs +66 -0
- package/dist/txs/find-index-many/find-index-many.schema.zod.browser.js +48 -0
- package/dist/txs/find-index-many/find-index-many.schema.zod.cjs +74 -0
- package/dist/txs/find-index-many/find-index-many.schema.zod.js +48 -0
- package/dist/txs/find-transfer-many/find-transfer-many.schema.zod.browser.cjs +76 -3
- package/dist/txs/find-transfer-many/find-transfer-many.schema.zod.browser.js +90 -4
- package/dist/txs/find-transfer-many/find-transfer-many.schema.zod.cjs +76 -3
- package/dist/txs/find-transfer-many/find-transfer-many.schema.zod.js +90 -4
- package/dist/txs/get-transfer-group/get-transfer-group.schema.zod.browser.cjs +1 -1
- package/dist/txs/get-transfer-group/get-transfer-group.schema.zod.browser.js +1 -1
- package/dist/txs/get-transfer-group/get-transfer-group.schema.zod.cjs +1 -1
- package/dist/txs/get-transfer-group/get-transfer-group.schema.zod.js +1 -1
- package/dist/txs/tx-types.browser.cjs +3 -0
- package/dist/txs/tx-types.browser.js +3 -0
- package/dist/txs/tx-types.cjs +6 -0
- package/dist/txs/tx-types.js +3 -0
- package/dist/types/wapi-client.d.ts +17547 -2165
- package/dist/wapi-client.iife.js +7 -7
- package/package.json +1 -1
- package/dist/txs/index.browser.cjs +0 -193
- package/dist/txs/index.browser.js +0 -172
- package/dist/txs/index.cjs +0 -198
- package/dist/txs/index.js +0 -172
|
@@ -26,6 +26,10 @@ __export(query_builder_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(query_builder_exports);
|
|
28
28
|
var import_index = require("./index.cjs");
|
|
29
|
+
var import_consts = require("../../db/consts.cjs");
|
|
30
|
+
function isForeignValue(value) {
|
|
31
|
+
return "foreign" in value && Object.keys(value).length === 1;
|
|
32
|
+
}
|
|
29
33
|
function getWhereObject({
|
|
30
34
|
function: fn,
|
|
31
35
|
field,
|
|
@@ -33,35 +37,28 @@ function getWhereObject({
|
|
|
33
37
|
value
|
|
34
38
|
}) {
|
|
35
39
|
if (Array.isArray(value)) {
|
|
36
|
-
return {
|
|
37
|
-
function: fn,
|
|
38
|
-
inner: value
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
if (typeof value === "object" && operator && field && "foreign" in value && Object.keys(value).length === 1) {
|
|
42
|
-
return {
|
|
43
|
-
function: fn,
|
|
44
|
-
operator,
|
|
45
|
-
field,
|
|
46
|
-
value: value.foreign
|
|
47
|
-
};
|
|
40
|
+
return { function: fn, inner: value };
|
|
48
41
|
}
|
|
49
42
|
if (typeof value === "object") {
|
|
50
|
-
|
|
51
|
-
function: fn,
|
|
52
|
-
|
|
53
|
-
};
|
|
43
|
+
if (operator && field && isForeignValue(value)) {
|
|
44
|
+
return { function: fn, operator, field, value: value.foreign };
|
|
45
|
+
}
|
|
46
|
+
return { function: fn, value };
|
|
54
47
|
}
|
|
55
|
-
operator != null ? operator : operator = "=";
|
|
56
48
|
if (!field) {
|
|
57
49
|
throw new TypeError("FIELD_IS_REQUIRED");
|
|
58
50
|
}
|
|
59
|
-
return {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
value
|
|
64
|
-
|
|
51
|
+
return { function: fn, field, operator: operator != null ? operator : "=", value };
|
|
52
|
+
}
|
|
53
|
+
function normalizeOperatorValue(operator, value) {
|
|
54
|
+
if (value === void 0) {
|
|
55
|
+
value = operator;
|
|
56
|
+
operator = "=";
|
|
57
|
+
}
|
|
58
|
+
if (value === void 0) {
|
|
59
|
+
throw new TypeError("Invalid comparison value: undefined not allowed");
|
|
60
|
+
}
|
|
61
|
+
return { operator: operator != null ? operator : "=", value };
|
|
65
62
|
}
|
|
66
63
|
var QueryBuilder = class _QueryBuilder {
|
|
67
64
|
constructor($schemaBasic, $schema, $queries = []) {
|
|
@@ -98,32 +95,42 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
98
95
|
this.$schemaBasic,
|
|
99
96
|
this.$schema
|
|
100
97
|
);
|
|
101
|
-
|
|
102
|
-
if (res === false) {
|
|
98
|
+
if (field(inner) === false) {
|
|
103
99
|
return this;
|
|
104
100
|
}
|
|
105
|
-
|
|
106
|
-
throw new TypeError("Inner Builder must return QueryBuilderInner");
|
|
107
|
-
}
|
|
108
|
-
return this.add(
|
|
109
|
-
getWhereObject({
|
|
110
|
-
function: fn,
|
|
111
|
-
value: inner.toQuery()
|
|
112
|
-
})
|
|
113
|
-
);
|
|
101
|
+
return this.add(getWhereObject({ function: fn, value: inner.toQuery() }));
|
|
114
102
|
}
|
|
115
103
|
if (typeof field === "object") {
|
|
116
104
|
const validObject = (0, import_index.validateQueryBuilderSchema)(this.$schemaBasic, field);
|
|
117
|
-
return this.add(
|
|
118
|
-
getWhereObject({
|
|
119
|
-
function: fn,
|
|
120
|
-
value: validObject
|
|
121
|
-
})
|
|
122
|
-
);
|
|
105
|
+
return this.add(getWhereObject({ function: fn, value: validObject }));
|
|
123
106
|
}
|
|
124
107
|
if (typeof field !== "string") {
|
|
125
108
|
throw new TypeError("Field is required");
|
|
126
109
|
}
|
|
110
|
+
if ((0, import_consts.isMetadataDotFilterField)(field)) {
|
|
111
|
+
return this.add(this.buildMetadataFilter(fn, field, operator, value));
|
|
112
|
+
}
|
|
113
|
+
return this.add(this.buildFieldFilter(fn, field, operator, value));
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Build a comparison against a `metadata.x` dot-path field. The two-argument
|
|
117
|
+
* form (`.where('metadata.x', value)`) carries the value in the operator slot.
|
|
118
|
+
*/
|
|
119
|
+
buildMetadataFilter(fn, field, operator, value) {
|
|
120
|
+
const normalized = normalizeOperatorValue(operator, value);
|
|
121
|
+
return {
|
|
122
|
+
function: fn,
|
|
123
|
+
field,
|
|
124
|
+
operator: normalized.operator,
|
|
125
|
+
value: normalized.value
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Build a comparison against a schema field. The two-argument form
|
|
130
|
+
* (`.where('token', 'EUR')`) carries the value in the operator slot with an
|
|
131
|
+
* implied equals; the three-argument form supplies a real operator.
|
|
132
|
+
*/
|
|
133
|
+
buildFieldFilter(fn, field, operator, value) {
|
|
127
134
|
const fieldShape = this.$schemaBasic.shape[field] || this.$schema.shape[field];
|
|
128
135
|
if (!fieldShape) {
|
|
129
136
|
throw new TypeError("Invalid field:" + field);
|
|
@@ -131,41 +138,30 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
131
138
|
if (operator === void 0) {
|
|
132
139
|
throw new TypeError("Operator is required");
|
|
133
140
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
141
|
+
const operatorSlotHoldsValue = typeof operator !== "string" || !(operator in import_index.DbFilterOperatorAllEnum) || value === void 0;
|
|
142
|
+
if (operatorSlotHoldsValue) {
|
|
143
|
+
const validated = (0, import_index.validateQueryBuilderSchema)(fieldShape, operator);
|
|
144
|
+
if (validated === void 0) {
|
|
137
145
|
throw new TypeError("unexpectedly value needed");
|
|
138
146
|
}
|
|
139
|
-
if (typeof
|
|
140
|
-
return
|
|
141
|
-
getWhereObject({
|
|
142
|
-
function: fn,
|
|
143
|
-
value: {
|
|
144
|
-
[field]: operator
|
|
145
|
-
}
|
|
146
|
-
})
|
|
147
|
-
);
|
|
148
|
-
}
|
|
149
|
-
return this.add(
|
|
150
|
-
getWhereObject({
|
|
147
|
+
if (typeof validated === "object") {
|
|
148
|
+
return getWhereObject({
|
|
151
149
|
function: fn,
|
|
152
|
-
field
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
);
|
|
150
|
+
value: { [field]: validated }
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
return getWhereObject({ function: fn, field, value: validated });
|
|
156
154
|
}
|
|
157
|
-
|
|
158
|
-
if (
|
|
155
|
+
const validatedValue = (0, import_index.validateQueryBuilderSchema)(fieldShape, value);
|
|
156
|
+
if (validatedValue === void 0) {
|
|
159
157
|
throw new Error("undefined value");
|
|
160
158
|
}
|
|
161
|
-
return
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
})
|
|
168
|
-
);
|
|
159
|
+
return getWhereObject({
|
|
160
|
+
function: fn,
|
|
161
|
+
field,
|
|
162
|
+
operator,
|
|
163
|
+
value: validatedValue
|
|
164
|
+
});
|
|
169
165
|
}
|
|
170
166
|
addIn({
|
|
171
167
|
fn,
|
|
@@ -175,7 +171,7 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
175
171
|
if (!field) {
|
|
176
172
|
throw new TypeError("Field is required");
|
|
177
173
|
}
|
|
178
|
-
if (!(field in this.$schema.shape)) {
|
|
174
|
+
if (!(field in this.$schema.shape) && !(0, import_consts.isMetadataDotFilterField)(field)) {
|
|
179
175
|
throw new TypeError("Invalid field");
|
|
180
176
|
}
|
|
181
177
|
if (!value) {
|
|
@@ -212,12 +208,14 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
212
208
|
if (!field) {
|
|
213
209
|
throw new TypeError("Field is required");
|
|
214
210
|
}
|
|
215
|
-
if (!(field in this.$schema.shape)) {
|
|
211
|
+
if (!(field in this.$schema.shape) && !(0, import_consts.isMetadataDotFilterField)(field)) {
|
|
216
212
|
throw new TypeError("Invalid field");
|
|
217
213
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
214
|
+
if (!(0, import_consts.isMetadataDotFilterField)(field)) {
|
|
215
|
+
this.$schema.parse({
|
|
216
|
+
[field]: null
|
|
217
|
+
});
|
|
218
|
+
}
|
|
221
219
|
return this.add({
|
|
222
220
|
function: fn,
|
|
223
221
|
field
|
|
@@ -232,15 +230,12 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
232
230
|
if (typeof field !== "string") {
|
|
233
231
|
throw new TypeError("expected field to be string");
|
|
234
232
|
}
|
|
235
|
-
|
|
236
|
-
value = operator;
|
|
237
|
-
operator = "=";
|
|
238
|
-
}
|
|
233
|
+
const normalized = normalizeOperatorValue(operator, value);
|
|
239
234
|
return this.add({
|
|
240
235
|
function: fn,
|
|
241
236
|
field,
|
|
242
|
-
operator,
|
|
243
|
-
value
|
|
237
|
+
operator: normalized.operator,
|
|
238
|
+
value: normalized.value
|
|
244
239
|
});
|
|
245
240
|
}
|
|
246
241
|
addMetadataIn({
|
|
@@ -7,6 +7,10 @@ import {
|
|
|
7
7
|
DbFilterOperatorAllEnum,
|
|
8
8
|
validateQueryBuilderSchema
|
|
9
9
|
} from "./index.js";
|
|
10
|
+
import { isMetadataDotFilterField } from "../../db/consts.js";
|
|
11
|
+
function isForeignValue(value) {
|
|
12
|
+
return "foreign" in value && Object.keys(value).length === 1;
|
|
13
|
+
}
|
|
10
14
|
function getWhereObject({
|
|
11
15
|
function: fn,
|
|
12
16
|
field,
|
|
@@ -14,35 +18,28 @@ function getWhereObject({
|
|
|
14
18
|
value
|
|
15
19
|
}) {
|
|
16
20
|
if (Array.isArray(value)) {
|
|
17
|
-
return {
|
|
18
|
-
function: fn,
|
|
19
|
-
inner: value
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
if (typeof value === "object" && operator && field && "foreign" in value && Object.keys(value).length === 1) {
|
|
23
|
-
return {
|
|
24
|
-
function: fn,
|
|
25
|
-
operator,
|
|
26
|
-
field,
|
|
27
|
-
value: value.foreign
|
|
28
|
-
};
|
|
21
|
+
return { function: fn, inner: value };
|
|
29
22
|
}
|
|
30
23
|
if (typeof value === "object") {
|
|
31
|
-
|
|
32
|
-
function: fn,
|
|
33
|
-
|
|
34
|
-
};
|
|
24
|
+
if (operator && field && isForeignValue(value)) {
|
|
25
|
+
return { function: fn, operator, field, value: value.foreign };
|
|
26
|
+
}
|
|
27
|
+
return { function: fn, value };
|
|
35
28
|
}
|
|
36
|
-
operator != null ? operator : operator = "=";
|
|
37
29
|
if (!field) {
|
|
38
30
|
throw new TypeError("FIELD_IS_REQUIRED");
|
|
39
31
|
}
|
|
40
|
-
return {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
value
|
|
45
|
-
|
|
32
|
+
return { function: fn, field, operator: operator != null ? operator : "=", value };
|
|
33
|
+
}
|
|
34
|
+
function normalizeOperatorValue(operator, value) {
|
|
35
|
+
if (value === void 0) {
|
|
36
|
+
value = operator;
|
|
37
|
+
operator = "=";
|
|
38
|
+
}
|
|
39
|
+
if (value === void 0) {
|
|
40
|
+
throw new TypeError("Invalid comparison value: undefined not allowed");
|
|
41
|
+
}
|
|
42
|
+
return { operator: operator != null ? operator : "=", value };
|
|
46
43
|
}
|
|
47
44
|
var QueryBuilder = class _QueryBuilder {
|
|
48
45
|
constructor($schemaBasic, $schema, $queries = []) {
|
|
@@ -79,32 +76,42 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
79
76
|
this.$schemaBasic,
|
|
80
77
|
this.$schema
|
|
81
78
|
);
|
|
82
|
-
|
|
83
|
-
if (res === false) {
|
|
79
|
+
if (field(inner) === false) {
|
|
84
80
|
return this;
|
|
85
81
|
}
|
|
86
|
-
|
|
87
|
-
throw new TypeError("Inner Builder must return QueryBuilderInner");
|
|
88
|
-
}
|
|
89
|
-
return this.add(
|
|
90
|
-
getWhereObject({
|
|
91
|
-
function: fn,
|
|
92
|
-
value: inner.toQuery()
|
|
93
|
-
})
|
|
94
|
-
);
|
|
82
|
+
return this.add(getWhereObject({ function: fn, value: inner.toQuery() }));
|
|
95
83
|
}
|
|
96
84
|
if (typeof field === "object") {
|
|
97
85
|
const validObject = validateQueryBuilderSchema(this.$schemaBasic, field);
|
|
98
|
-
return this.add(
|
|
99
|
-
getWhereObject({
|
|
100
|
-
function: fn,
|
|
101
|
-
value: validObject
|
|
102
|
-
})
|
|
103
|
-
);
|
|
86
|
+
return this.add(getWhereObject({ function: fn, value: validObject }));
|
|
104
87
|
}
|
|
105
88
|
if (typeof field !== "string") {
|
|
106
89
|
throw new TypeError("Field is required");
|
|
107
90
|
}
|
|
91
|
+
if (isMetadataDotFilterField(field)) {
|
|
92
|
+
return this.add(this.buildMetadataFilter(fn, field, operator, value));
|
|
93
|
+
}
|
|
94
|
+
return this.add(this.buildFieldFilter(fn, field, operator, value));
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Build a comparison against a `metadata.x` dot-path field. The two-argument
|
|
98
|
+
* form (`.where('metadata.x', value)`) carries the value in the operator slot.
|
|
99
|
+
*/
|
|
100
|
+
buildMetadataFilter(fn, field, operator, value) {
|
|
101
|
+
const normalized = normalizeOperatorValue(operator, value);
|
|
102
|
+
return {
|
|
103
|
+
function: fn,
|
|
104
|
+
field,
|
|
105
|
+
operator: normalized.operator,
|
|
106
|
+
value: normalized.value
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Build a comparison against a schema field. The two-argument form
|
|
111
|
+
* (`.where('token', 'EUR')`) carries the value in the operator slot with an
|
|
112
|
+
* implied equals; the three-argument form supplies a real operator.
|
|
113
|
+
*/
|
|
114
|
+
buildFieldFilter(fn, field, operator, value) {
|
|
108
115
|
const fieldShape = this.$schemaBasic.shape[field] || this.$schema.shape[field];
|
|
109
116
|
if (!fieldShape) {
|
|
110
117
|
throw new TypeError("Invalid field:" + field);
|
|
@@ -112,41 +119,30 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
112
119
|
if (operator === void 0) {
|
|
113
120
|
throw new TypeError("Operator is required");
|
|
114
121
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
122
|
+
const operatorSlotHoldsValue = typeof operator !== "string" || !(operator in DbFilterOperatorAllEnum) || value === void 0;
|
|
123
|
+
if (operatorSlotHoldsValue) {
|
|
124
|
+
const validated = validateQueryBuilderSchema(fieldShape, operator);
|
|
125
|
+
if (validated === void 0) {
|
|
118
126
|
throw new TypeError("unexpectedly value needed");
|
|
119
127
|
}
|
|
120
|
-
if (typeof
|
|
121
|
-
return
|
|
122
|
-
getWhereObject({
|
|
123
|
-
function: fn,
|
|
124
|
-
value: {
|
|
125
|
-
[field]: operator
|
|
126
|
-
}
|
|
127
|
-
})
|
|
128
|
-
);
|
|
129
|
-
}
|
|
130
|
-
return this.add(
|
|
131
|
-
getWhereObject({
|
|
128
|
+
if (typeof validated === "object") {
|
|
129
|
+
return getWhereObject({
|
|
132
130
|
function: fn,
|
|
133
|
-
field
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
);
|
|
131
|
+
value: { [field]: validated }
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return getWhereObject({ function: fn, field, value: validated });
|
|
137
135
|
}
|
|
138
|
-
|
|
139
|
-
if (
|
|
136
|
+
const validatedValue = validateQueryBuilderSchema(fieldShape, value);
|
|
137
|
+
if (validatedValue === void 0) {
|
|
140
138
|
throw new Error("undefined value");
|
|
141
139
|
}
|
|
142
|
-
return
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
})
|
|
149
|
-
);
|
|
140
|
+
return getWhereObject({
|
|
141
|
+
function: fn,
|
|
142
|
+
field,
|
|
143
|
+
operator,
|
|
144
|
+
value: validatedValue
|
|
145
|
+
});
|
|
150
146
|
}
|
|
151
147
|
addIn({
|
|
152
148
|
fn,
|
|
@@ -156,7 +152,7 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
156
152
|
if (!field) {
|
|
157
153
|
throw new TypeError("Field is required");
|
|
158
154
|
}
|
|
159
|
-
if (!(field in this.$schema.shape)) {
|
|
155
|
+
if (!(field in this.$schema.shape) && !isMetadataDotFilterField(field)) {
|
|
160
156
|
throw new TypeError("Invalid field");
|
|
161
157
|
}
|
|
162
158
|
if (!value) {
|
|
@@ -193,12 +189,14 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
193
189
|
if (!field) {
|
|
194
190
|
throw new TypeError("Field is required");
|
|
195
191
|
}
|
|
196
|
-
if (!(field in this.$schema.shape)) {
|
|
192
|
+
if (!(field in this.$schema.shape) && !isMetadataDotFilterField(field)) {
|
|
197
193
|
throw new TypeError("Invalid field");
|
|
198
194
|
}
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
195
|
+
if (!isMetadataDotFilterField(field)) {
|
|
196
|
+
this.$schema.parse({
|
|
197
|
+
[field]: null
|
|
198
|
+
});
|
|
199
|
+
}
|
|
202
200
|
return this.add({
|
|
203
201
|
function: fn,
|
|
204
202
|
field
|
|
@@ -213,15 +211,12 @@ var QueryBuilder = class _QueryBuilder {
|
|
|
213
211
|
if (typeof field !== "string") {
|
|
214
212
|
throw new TypeError("expected field to be string");
|
|
215
213
|
}
|
|
216
|
-
|
|
217
|
-
value = operator;
|
|
218
|
-
operator = "=";
|
|
219
|
-
}
|
|
214
|
+
const normalized = normalizeOperatorValue(operator, value);
|
|
220
215
|
return this.add({
|
|
221
216
|
function: fn,
|
|
222
217
|
field,
|
|
223
|
-
operator,
|
|
224
|
-
value
|
|
218
|
+
operator: normalized.operator,
|
|
219
|
+
value: normalized.value
|
|
225
220
|
});
|
|
226
221
|
}
|
|
227
222
|
addMetadataIn({
|
|
@@ -126,197 +126,4 @@ var ReverseQueryBuilder = class _ReverseQueryBuilder extends import_query_builde
|
|
|
126
126
|
reverse: __spreadValues(__spreadValues({}, (_a = this.$reverse) != null ? _a : {}), valid)
|
|
127
127
|
});
|
|
128
128
|
}
|
|
129
|
-
where(field, operator, value) {
|
|
130
|
-
return this.addWhere({
|
|
131
|
-
fn: "where",
|
|
132
|
-
field,
|
|
133
|
-
operator,
|
|
134
|
-
value
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
orWhere(field, operator, value) {
|
|
138
|
-
return this.addWhere({
|
|
139
|
-
fn: "orWhere",
|
|
140
|
-
field,
|
|
141
|
-
operator,
|
|
142
|
-
value
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* ```javascript
|
|
147
|
-
* Add an IN filter
|
|
148
|
-
*
|
|
149
|
-
* .whereIn('token', ['EUR', 'USD'])
|
|
150
|
-
* ```
|
|
151
|
-
*/
|
|
152
|
-
whereIn(field, value) {
|
|
153
|
-
return this.addIn({
|
|
154
|
-
fn: "whereIn",
|
|
155
|
-
field,
|
|
156
|
-
value
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* ```javascript
|
|
161
|
-
* Add an OR IN filter
|
|
162
|
-
*
|
|
163
|
-
* .orWhereIn('token', ['EUR', 'USD'])
|
|
164
|
-
* ```
|
|
165
|
-
*/
|
|
166
|
-
orWhereIn(field, value) {
|
|
167
|
-
return this.addIn({
|
|
168
|
-
fn: "orWhereIn",
|
|
169
|
-
field,
|
|
170
|
-
value
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* ```javascript
|
|
175
|
-
* Add an IS NULL filter
|
|
176
|
-
*
|
|
177
|
-
* .whereNull('status_finalized_at')
|
|
178
|
-
* ```
|
|
179
|
-
*/
|
|
180
|
-
whereNull(field) {
|
|
181
|
-
return this.addNull({
|
|
182
|
-
fn: "whereNull",
|
|
183
|
-
field
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* ```javascript
|
|
188
|
-
* Add an OR IS NULL filter
|
|
189
|
-
*
|
|
190
|
-
* .orWhereNull('status_finalized_at')
|
|
191
|
-
* ```
|
|
192
|
-
*/
|
|
193
|
-
orWhereNull(field) {
|
|
194
|
-
return this.addNull({
|
|
195
|
-
fn: "orWhereNull",
|
|
196
|
-
field
|
|
197
|
-
});
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* ```javascript
|
|
201
|
-
* Add an NOT NULL filter
|
|
202
|
-
*
|
|
203
|
-
* .whereNotNull('status_finalized_at')
|
|
204
|
-
* ```
|
|
205
|
-
*/
|
|
206
|
-
whereNotNull(field) {
|
|
207
|
-
return this.addNull({
|
|
208
|
-
fn: "whereNotNull",
|
|
209
|
-
field
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* ```javascript
|
|
214
|
-
* Add an OR NOT NULL filter
|
|
215
|
-
*
|
|
216
|
-
* .orWhereNotNull('status_finalized_at')
|
|
217
|
-
* ```
|
|
218
|
-
*/
|
|
219
|
-
orWhereNotNull(field) {
|
|
220
|
-
return this.addNull({
|
|
221
|
-
fn: "orWhereNotNull",
|
|
222
|
-
field
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
whereMetadata(field, operator, value) {
|
|
226
|
-
return this.addMetadata({
|
|
227
|
-
fn: "whereMetadata",
|
|
228
|
-
field,
|
|
229
|
-
operator,
|
|
230
|
-
value
|
|
231
|
-
});
|
|
232
|
-
}
|
|
233
|
-
orWhereMetadata(field, operator, value) {
|
|
234
|
-
return this.addMetadata({
|
|
235
|
-
fn: "orWhereMetadata",
|
|
236
|
-
field,
|
|
237
|
-
operator,
|
|
238
|
-
value
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* ```javascript
|
|
243
|
-
* Add an IN filter for metadata field
|
|
244
|
-
*
|
|
245
|
-
* .whereMetadataIn('myCustomField', [9, 10])
|
|
246
|
-
* ```
|
|
247
|
-
*/
|
|
248
|
-
whereMetadataIn(field, value) {
|
|
249
|
-
return this.addMetadataIn({
|
|
250
|
-
fn: "whereMetadataIn",
|
|
251
|
-
field,
|
|
252
|
-
value
|
|
253
|
-
});
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* ```javascript
|
|
257
|
-
* Add an OR IN filter for metadata field
|
|
258
|
-
*
|
|
259
|
-
* .orWhereMetadataIn('myCustomField', [9, 10])
|
|
260
|
-
* ```
|
|
261
|
-
*/
|
|
262
|
-
orWhereMetadataIn(field, value) {
|
|
263
|
-
return this.addMetadataIn({
|
|
264
|
-
fn: "orWhereMetadataIn",
|
|
265
|
-
field,
|
|
266
|
-
value
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* ```javascript
|
|
271
|
-
* Add an IS NULL filter for metadata field
|
|
272
|
-
*
|
|
273
|
-
* .whereMetadataNull('myCustomField')
|
|
274
|
-
* ```
|
|
275
|
-
*/
|
|
276
|
-
whereMetadataNull(field) {
|
|
277
|
-
return this.addMetadataNull({
|
|
278
|
-
fn: "whereMetadataNull",
|
|
279
|
-
field
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* ```javascript
|
|
284
|
-
* Add an OR IS NULL filter for metadata field
|
|
285
|
-
*
|
|
286
|
-
* .orWhereMetadataNull('myCustomField')
|
|
287
|
-
* ```
|
|
288
|
-
*/
|
|
289
|
-
orWhereMetadataNull(field) {
|
|
290
|
-
return this.addMetadataNull({
|
|
291
|
-
fn: "orWhereMetadataNull",
|
|
292
|
-
field
|
|
293
|
-
});
|
|
294
|
-
}
|
|
295
|
-
/**
|
|
296
|
-
* ```javascript
|
|
297
|
-
* Add an NOT NULL filter for metadata field
|
|
298
|
-
*
|
|
299
|
-
* .whereMetadataNotNull('myCustomField')
|
|
300
|
-
* ```
|
|
301
|
-
*/
|
|
302
|
-
whereMetadataNotNull(field) {
|
|
303
|
-
return this.addMetadataNull({
|
|
304
|
-
fn: "whereMetadataNotNull",
|
|
305
|
-
field
|
|
306
|
-
});
|
|
307
|
-
}
|
|
308
|
-
/**
|
|
309
|
-
* ```javascript
|
|
310
|
-
* Add an OR NOT NULL filter for metadata field
|
|
311
|
-
*
|
|
312
|
-
* .orWhereMetadataNotNull('myCustomField')
|
|
313
|
-
* ```
|
|
314
|
-
*/
|
|
315
|
-
orWhereMetadataNotNull(field) {
|
|
316
|
-
return this.addMetadataNull({
|
|
317
|
-
fn: "orWhereMetadataNotNull",
|
|
318
|
-
field
|
|
319
|
-
});
|
|
320
|
-
}
|
|
321
|
-
// FILTERING FUNCTIONS
|
|
322
129
|
};
|