@antelopejs/interface-database 0.1.6 → 0.1.8
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/README.md +0 -2
- package/dist/antelope.test.js +1 -1
- package/dist/atomic.d.ts +3 -37
- package/dist/atomic.js +39 -121
- package/dist/atomic.js.map +1 -1
- package/dist/common.d.ts +1 -58
- package/dist/common.js +15 -41
- package/dist/common.js.map +1 -1
- package/dist/datum.d.ts +1 -55
- package/dist/datum.js +2 -66
- package/dist/datum.js.map +1 -1
- package/dist/query.d.ts +11 -12
- package/dist/query.js +24 -22
- package/dist/query.js.map +1 -1
- package/dist/schema.d.ts +3 -120
- package/dist/schema.js +7 -88
- package/dist/schema.js.map +1 -1
- package/dist/selection.d.ts +1 -104
- package/dist/selection.js +5 -123
- package/dist/selection.js.map +1 -1
- package/dist/staged-query/atomic.d.ts +34 -0
- package/dist/staged-query/atomic.js +108 -0
- package/dist/staged-query/atomic.js.map +1 -0
- package/dist/staged-query/common.d.ts +58 -0
- package/dist/staged-query/common.js +45 -0
- package/dist/staged-query/common.js.map +1 -0
- package/dist/staged-query/datum.d.ts +55 -0
- package/dist/staged-query/datum.js +70 -0
- package/dist/staged-query/datum.js.map +1 -0
- package/dist/staged-query/index.d.ts +8 -0
- package/dist/staged-query/index.js +36 -0
- package/dist/staged-query/index.js.map +1 -0
- package/dist/staged-query/query.d.ts +3 -0
- package/dist/staged-query/query.js +9 -0
- package/dist/staged-query/query.js.map +1 -0
- package/dist/staged-query/schema.d.ts +137 -0
- package/dist/staged-query/schema.js +99 -0
- package/dist/staged-query/schema.js.map +1 -0
- package/dist/staged-query/selection.d.ts +104 -0
- package/dist/staged-query/selection.js +126 -0
- package/dist/staged-query/selection.js.map +1 -0
- package/dist/staged-query/stream.d.ts +185 -0
- package/dist/staged-query/stream.js +221 -0
- package/dist/staged-query/stream.js.map +1 -0
- package/dist/staged-query/valueproxy.d.ts +415 -0
- package/dist/staged-query/valueproxy.js +562 -0
- package/dist/staged-query/valueproxy.js.map +1 -0
- package/dist/stream.d.ts +1 -185
- package/dist/stream.js +2 -217
- package/dist/stream.js.map +1 -1
- package/dist/valueproxy.d.ts +1 -415
- package/dist/valueproxy.js +15 -559
- package/dist/valueproxy.js.map +1 -1
- package/docs/2.operations/5.indexes.md +24 -0
- package/docs/3.results/3.index_changes.md +11 -0
- package/docs/3.results/5.database_changes.md +2 -0
- package/package.json +13 -4
- package/skills/database-interface/SKILL.md +1 -1
|
@@ -0,0 +1,562 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ValueProxy = void 0;
|
|
4
|
+
const common_1 = require("./common");
|
|
5
|
+
/**
|
|
6
|
+
* Proxy to an actual value in the database
|
|
7
|
+
*
|
|
8
|
+
* Actions performed on this proxy are not executed right away but instead recorded for the actual query
|
|
9
|
+
*/
|
|
10
|
+
class ValueProxy extends common_1.StagedObject {
|
|
11
|
+
//@internal
|
|
12
|
+
static arg(id) {
|
|
13
|
+
return new ValueProxy((0, common_1.QueryStage)("arg", undefined, id));
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create a new proxy with a constant value
|
|
17
|
+
*
|
|
18
|
+
* @param value Value
|
|
19
|
+
* @returns Proxy
|
|
20
|
+
*/
|
|
21
|
+
static constant(value) {
|
|
22
|
+
return new ValueProxy((0, common_1.QueryStage)("constant", undefined, value));
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Changes the type of this proxy.
|
|
26
|
+
* This does not actually perform any conversion, it only changes the typescript type.
|
|
27
|
+
*
|
|
28
|
+
* @returns Same proxy with a different type
|
|
29
|
+
*/
|
|
30
|
+
cast() {
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
//#region Any
|
|
34
|
+
/**
|
|
35
|
+
* Returns the parameter if the proxy is null.
|
|
36
|
+
*
|
|
37
|
+
* @param value Value to use in case the proxy is null
|
|
38
|
+
* @returns Non-null value.
|
|
39
|
+
*/
|
|
40
|
+
default(value) {
|
|
41
|
+
return this.stage((ValueProxy), "default", undefined, value);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* AND operator.
|
|
45
|
+
*
|
|
46
|
+
* @param other Operand B
|
|
47
|
+
* @returns A && B
|
|
48
|
+
*/
|
|
49
|
+
and(value) {
|
|
50
|
+
return this.stage((ValueProxy), "and", undefined, value);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* OR operator.
|
|
54
|
+
*
|
|
55
|
+
* @param other Operand B
|
|
56
|
+
* @returns A || B
|
|
57
|
+
*/
|
|
58
|
+
or(value) {
|
|
59
|
+
return this.stage((ValueProxy), "or", undefined, value);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* NOT operator.
|
|
63
|
+
*
|
|
64
|
+
* @returns !A
|
|
65
|
+
*/
|
|
66
|
+
not() {
|
|
67
|
+
return this.stage((ValueProxy), "not");
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Equality operator.
|
|
71
|
+
*
|
|
72
|
+
* @param other Operand B
|
|
73
|
+
* @returns A == B
|
|
74
|
+
*/
|
|
75
|
+
eq(value) {
|
|
76
|
+
return this.stage((ValueProxy), "eq", undefined, value);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Inequality operator.
|
|
80
|
+
*
|
|
81
|
+
* @param other Operand B
|
|
82
|
+
* @returns A != B
|
|
83
|
+
*/
|
|
84
|
+
ne(value) {
|
|
85
|
+
return this.stage((ValueProxy), "ne", undefined, value);
|
|
86
|
+
}
|
|
87
|
+
//#endregion
|
|
88
|
+
//#region Date & number arithmethic
|
|
89
|
+
/**
|
|
90
|
+
* Addition operator.
|
|
91
|
+
*
|
|
92
|
+
* @param other Operand B
|
|
93
|
+
* @returns New value
|
|
94
|
+
*/
|
|
95
|
+
add(value) {
|
|
96
|
+
return this.stage((ValueProxy), "add", undefined, value);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Subtraction operator.
|
|
100
|
+
*
|
|
101
|
+
* @param other Operand B
|
|
102
|
+
* @returns New value
|
|
103
|
+
*/
|
|
104
|
+
sub(value) {
|
|
105
|
+
return this.stage((ValueProxy), "sub", undefined, value);
|
|
106
|
+
}
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region Date
|
|
109
|
+
/**
|
|
110
|
+
* Determines whether or not the proxy is between the two bounds.
|
|
111
|
+
*
|
|
112
|
+
* @param left Left bound (inclusive)
|
|
113
|
+
* @param right Right bound (exclusive)
|
|
114
|
+
* @returns True if the date is within the bounds
|
|
115
|
+
*/
|
|
116
|
+
during(left, right) {
|
|
117
|
+
return this.stage((ValueProxy), "date_during", undefined, left, right);
|
|
118
|
+
}
|
|
119
|
+
//@internal
|
|
120
|
+
withTimezone(timezone) {
|
|
121
|
+
if (timezone) {
|
|
122
|
+
return this.stage((ValueProxy), "date_with_timezone", undefined, timezone);
|
|
123
|
+
}
|
|
124
|
+
return this.cast();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Number of seconds since the start of the day.
|
|
128
|
+
*
|
|
129
|
+
* @returns Seconds
|
|
130
|
+
*/
|
|
131
|
+
timeofday(timezone) {
|
|
132
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_tod");
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Year.
|
|
136
|
+
*
|
|
137
|
+
* @returns Year
|
|
138
|
+
*/
|
|
139
|
+
year(timezone) {
|
|
140
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_year");
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Month.
|
|
144
|
+
*
|
|
145
|
+
* @returns Month
|
|
146
|
+
*/
|
|
147
|
+
month(timezone) {
|
|
148
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_month");
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Day of the month.
|
|
152
|
+
*
|
|
153
|
+
* @returns Day of the month
|
|
154
|
+
*/
|
|
155
|
+
day(timezone) {
|
|
156
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_day");
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Day of the week.
|
|
160
|
+
*
|
|
161
|
+
* @returns Day of the week
|
|
162
|
+
*/
|
|
163
|
+
dayofweek(timezone) {
|
|
164
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_dow");
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Day of the year.
|
|
168
|
+
*
|
|
169
|
+
* @returns Day of the year
|
|
170
|
+
*/
|
|
171
|
+
dayofyear(timezone) {
|
|
172
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_doy");
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Hour of the day.
|
|
176
|
+
*
|
|
177
|
+
* @returns Hours
|
|
178
|
+
*/
|
|
179
|
+
hours(timezone) {
|
|
180
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_hours");
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Minutes.
|
|
184
|
+
*
|
|
185
|
+
* @returns Minutes
|
|
186
|
+
*/
|
|
187
|
+
minutes(timezone) {
|
|
188
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_minutes");
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Seconds.
|
|
192
|
+
*
|
|
193
|
+
* @returns Seconds
|
|
194
|
+
*/
|
|
195
|
+
seconds(timezone) {
|
|
196
|
+
return this.withTimezone(timezone).stage((ValueProxy), "date_seconds");
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Seconds since the UNIX epoch with millisecond precision.
|
|
200
|
+
*
|
|
201
|
+
* @returns Seconds
|
|
202
|
+
*/
|
|
203
|
+
epoch() {
|
|
204
|
+
return this.stage((ValueProxy), "date_epoch");
|
|
205
|
+
}
|
|
206
|
+
//#endregion
|
|
207
|
+
//#region Number
|
|
208
|
+
/**
|
|
209
|
+
* Multiplication operator.
|
|
210
|
+
*
|
|
211
|
+
* @param other Operand B
|
|
212
|
+
* @returns A * B
|
|
213
|
+
*/
|
|
214
|
+
mul(other) {
|
|
215
|
+
return this.stage((ValueProxy), "mul", undefined, other);
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Division operator.
|
|
219
|
+
*
|
|
220
|
+
* @param other Operand B
|
|
221
|
+
* @returns A / B
|
|
222
|
+
*/
|
|
223
|
+
div(other) {
|
|
224
|
+
return this.stage((ValueProxy), "div", undefined, other);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Modulo operator.
|
|
228
|
+
*
|
|
229
|
+
* @param other Operand B
|
|
230
|
+
* @returns A % B
|
|
231
|
+
*/
|
|
232
|
+
mod(other) {
|
|
233
|
+
return this.stage((ValueProxy), "mod", undefined, other);
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Round to the nearest integer.
|
|
237
|
+
*
|
|
238
|
+
* @returns Integer
|
|
239
|
+
*/
|
|
240
|
+
round() {
|
|
241
|
+
return this.stage((ValueProxy), "round");
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Round to the higher integer.
|
|
245
|
+
*
|
|
246
|
+
* @returns Integer
|
|
247
|
+
*/
|
|
248
|
+
ceil() {
|
|
249
|
+
return this.stage((ValueProxy), "ceil");
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Round to the lower integer.
|
|
253
|
+
*
|
|
254
|
+
* @returns Integer
|
|
255
|
+
*/
|
|
256
|
+
floor() {
|
|
257
|
+
return this.stage((ValueProxy), "floor");
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Bitwise AND operator.
|
|
261
|
+
*
|
|
262
|
+
* @param other Operand B
|
|
263
|
+
* @return A & B
|
|
264
|
+
*/
|
|
265
|
+
band(other) {
|
|
266
|
+
return this.stage((ValueProxy), "bit_and", undefined, other);
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Bitwise OR operator.
|
|
270
|
+
*
|
|
271
|
+
* @param other Operand B
|
|
272
|
+
* @return A | B
|
|
273
|
+
*/
|
|
274
|
+
bor(other) {
|
|
275
|
+
return this.stage((ValueProxy), "bit_or", undefined, other);
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Bitwise XOR operator.
|
|
279
|
+
*
|
|
280
|
+
* @param other Operand B
|
|
281
|
+
* @return A ^ B
|
|
282
|
+
*/
|
|
283
|
+
bxor(other) {
|
|
284
|
+
return this.stage((ValueProxy), "bit_xor", undefined, other);
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Bitwise NOT operator.
|
|
288
|
+
*
|
|
289
|
+
* @return ~A
|
|
290
|
+
*/
|
|
291
|
+
bnot() {
|
|
292
|
+
return this.stage((ValueProxy), "bit_not");
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Bitwise left shift operator.
|
|
296
|
+
*
|
|
297
|
+
* @param other Operand B
|
|
298
|
+
* @returns A << B
|
|
299
|
+
*/
|
|
300
|
+
blshift(other) {
|
|
301
|
+
return this.stage((ValueProxy), "bit_lshift", undefined, other);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Bitwise right shift operator.
|
|
305
|
+
*
|
|
306
|
+
* @param other Operand B
|
|
307
|
+
* @returns A >> B
|
|
308
|
+
*/
|
|
309
|
+
brshift(other) {
|
|
310
|
+
return this.stage((ValueProxy), "bit_rshift", undefined, other);
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Bitwise right shift operator with sign preservation.
|
|
314
|
+
*
|
|
315
|
+
* @param other Operand B
|
|
316
|
+
* @returns A >> B (sign-preserving)
|
|
317
|
+
*/
|
|
318
|
+
brshiftPreserveSign(other) {
|
|
319
|
+
return this.stage((ValueProxy), "bit_rshift", { preserveSign: true }, other);
|
|
320
|
+
}
|
|
321
|
+
//#endregion
|
|
322
|
+
//#region Comparison
|
|
323
|
+
/**
|
|
324
|
+
* Greater-than operator.
|
|
325
|
+
*
|
|
326
|
+
* @param other Operand B
|
|
327
|
+
* @returns A > B
|
|
328
|
+
*/
|
|
329
|
+
gt(other) {
|
|
330
|
+
return this.stage((ValueProxy), "cmp_gt", undefined, other);
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Greater-or-equal operator.
|
|
334
|
+
*
|
|
335
|
+
* @param other Operand B
|
|
336
|
+
* @returns A >= B
|
|
337
|
+
*/
|
|
338
|
+
ge(other) {
|
|
339
|
+
return this.stage((ValueProxy), "cmp_ge", undefined, other);
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Lesser-than operator.
|
|
343
|
+
*
|
|
344
|
+
* @param other Operand B
|
|
345
|
+
* @returns A < B
|
|
346
|
+
*/
|
|
347
|
+
lt(other) {
|
|
348
|
+
return this.stage((ValueProxy), "cmp_lt", undefined, other);
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* Lesser-or-equal operator.
|
|
352
|
+
*
|
|
353
|
+
* @param other Operand B
|
|
354
|
+
* @returns A <= B
|
|
355
|
+
*/
|
|
356
|
+
le(other) {
|
|
357
|
+
return this.stage((ValueProxy), "cmp_le", undefined, other);
|
|
358
|
+
}
|
|
359
|
+
//#endregion
|
|
360
|
+
//#region String
|
|
361
|
+
/**
|
|
362
|
+
* Splits the string using a separator.
|
|
363
|
+
*
|
|
364
|
+
* @param separator Separator string
|
|
365
|
+
* @param maxSplits Maximum number of results
|
|
366
|
+
* @returns Array of sub-strings
|
|
367
|
+
*/
|
|
368
|
+
split(separator, maxSplits) {
|
|
369
|
+
return this.stage((ValueProxy), "str_split", {
|
|
370
|
+
separator,
|
|
371
|
+
maxSplits,
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Concatenate the string with another.
|
|
376
|
+
*
|
|
377
|
+
* @param other Second string
|
|
378
|
+
* @returns Concatenated string
|
|
379
|
+
*/
|
|
380
|
+
concat(other) {
|
|
381
|
+
return this.stage((ValueProxy), "str_concat", undefined, other);
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Converts the string to all upper case.
|
|
385
|
+
*
|
|
386
|
+
* @returns New string
|
|
387
|
+
*/
|
|
388
|
+
upcase() {
|
|
389
|
+
return this.stage((ValueProxy), "str_upcase");
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Converts the string to all lower case.
|
|
393
|
+
*
|
|
394
|
+
* @returns New string
|
|
395
|
+
*/
|
|
396
|
+
downcase() {
|
|
397
|
+
return this.stage((ValueProxy), "str_downcase");
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Gets the number of Unicode codepoints in the string.
|
|
401
|
+
*
|
|
402
|
+
* @returns Number of codepoints
|
|
403
|
+
*/
|
|
404
|
+
strlen() {
|
|
405
|
+
return this.stage((ValueProxy), "str_len");
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Checks if the string matches a regex.
|
|
409
|
+
*
|
|
410
|
+
* @param regex Regex
|
|
411
|
+
* @returns True if the string matched
|
|
412
|
+
*/
|
|
413
|
+
match(regex) {
|
|
414
|
+
return this.stage((ValueProxy), "str_match", undefined, regex);
|
|
415
|
+
}
|
|
416
|
+
//#endregion
|
|
417
|
+
//#region Array
|
|
418
|
+
/**
|
|
419
|
+
* Indexes the array with a given number position
|
|
420
|
+
*
|
|
421
|
+
* @param key Position in the array
|
|
422
|
+
* @returns Element at the given position
|
|
423
|
+
*/
|
|
424
|
+
index(key) {
|
|
425
|
+
return this.stage((ValueProxy), "arr_index", undefined, key);
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Tests if the arrays contains a value.
|
|
429
|
+
*
|
|
430
|
+
* @param val Value to search for.
|
|
431
|
+
* @returns True if the value was found.
|
|
432
|
+
*/
|
|
433
|
+
includes(val) {
|
|
434
|
+
return this.stage((ValueProxy), "arr_includes", undefined, val);
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Returns a slice of the array.
|
|
438
|
+
*
|
|
439
|
+
* @param start Start index (inclusive, 0-indexed)
|
|
440
|
+
* @param end End index (exclusive)
|
|
441
|
+
* @returns Sub-array
|
|
442
|
+
*/
|
|
443
|
+
slice(start, end) {
|
|
444
|
+
return this.stage((ValueProxy), "arr_slice", undefined, start, end);
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Maps the array values using a mapping function.
|
|
448
|
+
*
|
|
449
|
+
* @param mapper Mapping function
|
|
450
|
+
* @returns New array
|
|
451
|
+
*/
|
|
452
|
+
map(mapper) {
|
|
453
|
+
return this.stage((ValueProxy), "arr_map", undefined, this.callfunc(mapper, (ValueProxy)));
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* Filters the array using a predicate function.
|
|
457
|
+
*
|
|
458
|
+
* @param predicate Predicate function.
|
|
459
|
+
* @returns Filtered array
|
|
460
|
+
*/
|
|
461
|
+
filter(predicate) {
|
|
462
|
+
return this.stage((ValueProxy), "arr_filter", undefined, this.callfunc(predicate, (ValueProxy)));
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Checks if the array is empty.
|
|
466
|
+
*
|
|
467
|
+
* @returns True if the array is empty
|
|
468
|
+
*/
|
|
469
|
+
isempty() {
|
|
470
|
+
return this.stage((ValueProxy), "arr_empty");
|
|
471
|
+
}
|
|
472
|
+
/**
|
|
473
|
+
* Gets the length of the array.
|
|
474
|
+
*
|
|
475
|
+
* @returns Length
|
|
476
|
+
*/
|
|
477
|
+
count() {
|
|
478
|
+
return this.stage((ValueProxy), "arr_count");
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Gets the sum of a number array.
|
|
482
|
+
*
|
|
483
|
+
* @returns Sum
|
|
484
|
+
*/
|
|
485
|
+
sum() {
|
|
486
|
+
return this.stage((ValueProxy), "arr_sum");
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Gets the average of a number array.
|
|
490
|
+
*
|
|
491
|
+
* @returns Average
|
|
492
|
+
*/
|
|
493
|
+
avg() {
|
|
494
|
+
return this.stage((ValueProxy), "arr_avg");
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Gets the minimum of a number array.
|
|
498
|
+
*
|
|
499
|
+
* @returns Minimum
|
|
500
|
+
*/
|
|
501
|
+
min() {
|
|
502
|
+
return this.stage((ValueProxy), "arr_min");
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Gets the maxmimum of a number array.
|
|
506
|
+
*
|
|
507
|
+
* @returns Maximum
|
|
508
|
+
*/
|
|
509
|
+
max() {
|
|
510
|
+
return this.stage((ValueProxy), "arr_max");
|
|
511
|
+
}
|
|
512
|
+
//#endregion
|
|
513
|
+
//#region Object
|
|
514
|
+
/**
|
|
515
|
+
* Indexes the object.
|
|
516
|
+
*
|
|
517
|
+
* TODO: Better name?
|
|
518
|
+
*
|
|
519
|
+
* @param key Field name
|
|
520
|
+
* @param def Default value
|
|
521
|
+
* @returns Value of the field
|
|
522
|
+
*/
|
|
523
|
+
key(key, def) {
|
|
524
|
+
return this.stage((ValueProxy), "obj_index", undefined, key, def);
|
|
525
|
+
}
|
|
526
|
+
/**
|
|
527
|
+
* Merges the object with another.
|
|
528
|
+
*
|
|
529
|
+
* @param value Other object
|
|
530
|
+
* @returns `{...A, ...B}`
|
|
531
|
+
*/
|
|
532
|
+
merge(other) {
|
|
533
|
+
return this.stage((ValueProxy), "obj_merge", undefined, other);
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* Gets the keys of the object as an array.
|
|
537
|
+
*
|
|
538
|
+
* @returns Array of keys
|
|
539
|
+
*/
|
|
540
|
+
keys() {
|
|
541
|
+
return this.stage((ValueProxy), "obj_keys");
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Gets the values of the object as an array.
|
|
545
|
+
*
|
|
546
|
+
* @returns Array of values
|
|
547
|
+
*/
|
|
548
|
+
values() {
|
|
549
|
+
return this.stage((ValueProxy), "obj_values");
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Tests if the object has the specified fields.
|
|
553
|
+
*
|
|
554
|
+
* @param fields field list
|
|
555
|
+
* @returns True if the object matches
|
|
556
|
+
*/
|
|
557
|
+
hasfields(...fields) {
|
|
558
|
+
return this.stage((ValueProxy), "obj_has", undefined, fields);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
exports.ValueProxy = ValueProxy;
|
|
562
|
+
//# sourceMappingURL=valueproxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valueproxy.js","sourceRoot":"","sources":["../../src/staged-query/valueproxy.ts"],"names":[],"mappings":"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"}
|