@balena/odata-parser 3.0.8 → 3.1.0
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/.versionbot/CHANGELOG.yml +12 -1
- package/CHANGELOG.md +6 -1
- package/odata-parser.js +109 -83
- package/odata-parser.pegjs +6 -2
- package/package.json +2 -2
- package/test/paging.js +15 -8
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
- commits:
|
|
2
|
+
- subject: Use bind vars for $top and $skip options
|
|
3
|
+
hash: f160a140209cc5c9d3abc617cf8de7a37a0abf16
|
|
4
|
+
body: ""
|
|
5
|
+
footer:
|
|
6
|
+
Change-type: minor
|
|
7
|
+
change-type: minor
|
|
8
|
+
author: Pagan Gazzard
|
|
9
|
+
version: 3.1.0
|
|
10
|
+
title: ""
|
|
11
|
+
date: 2024-10-03T19:30:42.169Z
|
|
1
12
|
- commits:
|
|
2
13
|
- subject: Fix type checking of the declaration file
|
|
3
14
|
hash: 17dc377da3031f28bb5f2ffaff9b2185d65159aa
|
|
@@ -8,7 +19,7 @@
|
|
|
8
19
|
author: Pagan Gazzard
|
|
9
20
|
version: 3.0.8
|
|
10
21
|
title: ""
|
|
11
|
-
date: 2024-06-
|
|
22
|
+
date: 2024-06-04T09:56:51.182Z
|
|
12
23
|
- commits:
|
|
13
24
|
- subject: Update dependency husky to v9
|
|
14
25
|
hash: 8d5929cbbce1765e8ad14a84a1b6e669daedd9a8
|
package/CHANGELOG.md
CHANGED
|
@@ -4,8 +4,13 @@ All notable changes to this project will be documented in this file
|
|
|
4
4
|
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
|
5
5
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
6
6
|
|
|
7
|
+
# v3.1.0
|
|
8
|
+
## (2024-10-03)
|
|
9
|
+
|
|
10
|
+
* Use bind vars for $top and $skip options [Pagan Gazzard]
|
|
11
|
+
|
|
7
12
|
# v3.0.8
|
|
8
|
-
## (2024-06-
|
|
13
|
+
## (2024-06-04)
|
|
9
14
|
|
|
10
15
|
* Fix type checking of the declaration file [Pagan Gazzard]
|
|
11
16
|
|
package/odata-parser.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by Peggy 4.0.
|
|
1
|
+
// @generated by Peggy 4.0.3.
|
|
2
2
|
//
|
|
3
3
|
// https://peggyjs.org/
|
|
4
4
|
|
|
@@ -648,18 +648,19 @@ function peg$parse(input, options) {
|
|
|
648
648
|
var peg$f86 = function(text) { return decodeURIComponent(text.join('')) };
|
|
649
649
|
var peg$f87 = function(param) { return { bind: '@' + param } };
|
|
650
650
|
var peg$f88 = function(n) { return Bind('Real', n) };
|
|
651
|
-
var peg$f89 = function() { return '
|
|
652
|
-
var peg$f90 = function() { return 'Date' };
|
|
653
|
-
var peg$f91 = function(
|
|
654
|
-
var peg$f92 = function(type, date) { return
|
|
655
|
-
var peg$f93 = function(type, date) { return
|
|
656
|
-
var peg$f94 = function(
|
|
657
|
-
var peg$f95 = function(
|
|
658
|
-
var peg$f96 = function(
|
|
651
|
+
var peg$f89 = function(n) { return Bind('Integer', n) };
|
|
652
|
+
var peg$f90 = function() { return 'Date Time' };
|
|
653
|
+
var peg$f91 = function() { return 'Date' };
|
|
654
|
+
var peg$f92 = function(type, date) { return Date.parse(date) };
|
|
655
|
+
var peg$f93 = function(type, date) { return isNaN(date) };
|
|
656
|
+
var peg$f94 = function(type, date) { return [type, date] };
|
|
657
|
+
var peg$f95 = function(d) { return Bind(d[0], d[1]) };
|
|
658
|
+
var peg$f96 = function(b) { return Bind('Boolean', b) };
|
|
659
|
+
var peg$f97 = function(resource) {
|
|
659
660
|
const bind = Bind('ContentReference', resource)
|
|
660
661
|
return { resource: bind, key: bind }
|
|
661
662
|
};
|
|
662
|
-
var peg$
|
|
663
|
+
var peg$f98 = function(t) { return Bind('Text', t) };
|
|
663
664
|
var peg$currPos = options.peg$currPos | 0;
|
|
664
665
|
var peg$savedPos = peg$currPos;
|
|
665
666
|
var peg$posDetailsCache = [{ line: 1, column: 1 }];
|
|
@@ -827,7 +828,7 @@ function peg$parse(input, options) {
|
|
|
827
828
|
function peg$parseProcess() {
|
|
828
829
|
var s0, s1, s2;
|
|
829
830
|
|
|
830
|
-
var key = peg$currPos *
|
|
831
|
+
var key = peg$currPos * 63 + 0;
|
|
831
832
|
var cached = peg$resultsCache[key];
|
|
832
833
|
|
|
833
834
|
if (cached) {
|
|
@@ -866,7 +867,7 @@ function peg$parse(input, options) {
|
|
|
866
867
|
function peg$parseProcessRule() {
|
|
867
868
|
var s0, s1;
|
|
868
869
|
|
|
869
|
-
var key = peg$currPos *
|
|
870
|
+
var key = peg$currPos * 63 + 1;
|
|
870
871
|
var cached = peg$resultsCache[key];
|
|
871
872
|
|
|
872
873
|
if (cached) {
|
|
@@ -889,7 +890,7 @@ function peg$parse(input, options) {
|
|
|
889
890
|
function peg$parseOData() {
|
|
890
891
|
var s0, s1;
|
|
891
892
|
|
|
892
|
-
var key = peg$currPos *
|
|
893
|
+
var key = peg$currPos * 63 + 2;
|
|
893
894
|
var cached = peg$resultsCache[key];
|
|
894
895
|
|
|
895
896
|
if (cached) {
|
|
@@ -944,7 +945,7 @@ function peg$parse(input, options) {
|
|
|
944
945
|
function peg$parseQueryOptions() {
|
|
945
946
|
var s0, s1, s2, s3, s4;
|
|
946
947
|
|
|
947
|
-
var key = peg$currPos *
|
|
948
|
+
var key = peg$currPos * 63 + 3;
|
|
948
949
|
var cached = peg$resultsCache[key];
|
|
949
950
|
|
|
950
951
|
if (cached) {
|
|
@@ -999,7 +1000,7 @@ function peg$parse(input, options) {
|
|
|
999
1000
|
function peg$parseQueryOption() {
|
|
1000
1001
|
var s0, s1, s2;
|
|
1001
1002
|
|
|
1002
|
-
var key = peg$currPos *
|
|
1003
|
+
var key = peg$currPos * 63 + 4;
|
|
1003
1004
|
var cached = peg$resultsCache[key];
|
|
1004
1005
|
|
|
1005
1006
|
if (cached) {
|
|
@@ -1061,7 +1062,7 @@ function peg$parse(input, options) {
|
|
|
1061
1062
|
function peg$parseDollar() {
|
|
1062
1063
|
var s0, s1;
|
|
1063
1064
|
|
|
1064
|
-
var key = peg$currPos *
|
|
1065
|
+
var key = peg$currPos * 63 + 5;
|
|
1065
1066
|
var cached = peg$resultsCache[key];
|
|
1066
1067
|
|
|
1067
1068
|
if (cached) {
|
|
@@ -1101,7 +1102,7 @@ function peg$parse(input, options) {
|
|
|
1101
1102
|
function peg$parseParameterAliasOption() {
|
|
1102
1103
|
var s0, s1, s2, s3, s4, s5;
|
|
1103
1104
|
|
|
1104
|
-
var key = peg$currPos *
|
|
1105
|
+
var key = peg$currPos * 63 + 6;
|
|
1105
1106
|
var cached = peg$resultsCache[key];
|
|
1106
1107
|
|
|
1107
1108
|
if (cached) {
|
|
@@ -1192,7 +1193,7 @@ function peg$parse(input, options) {
|
|
|
1192
1193
|
function peg$parseOperationParam() {
|
|
1193
1194
|
var s0, s1, s2, s3;
|
|
1194
1195
|
|
|
1195
|
-
var key = peg$currPos *
|
|
1196
|
+
var key = peg$currPos * 63 + 7;
|
|
1196
1197
|
var cached = peg$resultsCache[key];
|
|
1197
1198
|
|
|
1198
1199
|
if (cached) {
|
|
@@ -1227,7 +1228,7 @@ function peg$parse(input, options) {
|
|
|
1227
1228
|
function peg$parseSortOption() {
|
|
1228
1229
|
var s0, s1, s2, s3, s4, s5;
|
|
1229
1230
|
|
|
1230
|
-
var key = peg$currPos *
|
|
1231
|
+
var key = peg$currPos * 63 + 8;
|
|
1231
1232
|
var cached = peg$resultsCache[key];
|
|
1232
1233
|
|
|
1233
1234
|
if (cached) {
|
|
@@ -1296,7 +1297,7 @@ function peg$parse(input, options) {
|
|
|
1296
1297
|
function peg$parseSortProperty() {
|
|
1297
1298
|
var s0, s1, s2, s3, s4;
|
|
1298
1299
|
|
|
1299
|
-
var key = peg$currPos *
|
|
1300
|
+
var key = peg$currPos * 63 + 9;
|
|
1300
1301
|
var cached = peg$resultsCache[key];
|
|
1301
1302
|
|
|
1302
1303
|
if (cached) {
|
|
@@ -1364,7 +1365,7 @@ function peg$parse(input, options) {
|
|
|
1364
1365
|
function peg$parseTopOption() {
|
|
1365
1366
|
var s0, s1, s2;
|
|
1366
1367
|
|
|
1367
|
-
var key = peg$currPos *
|
|
1368
|
+
var key = peg$currPos * 63 + 10;
|
|
1368
1369
|
var cached = peg$resultsCache[key];
|
|
1369
1370
|
|
|
1370
1371
|
if (cached) {
|
|
@@ -1382,7 +1383,7 @@ function peg$parse(input, options) {
|
|
|
1382
1383
|
if (peg$silentFails === 0) { peg$fail(peg$e12); }
|
|
1383
1384
|
}
|
|
1384
1385
|
if (s1 !== peg$FAILED) {
|
|
1385
|
-
s2 = peg$
|
|
1386
|
+
s2 = peg$parseUnsignedIntegerBind();
|
|
1386
1387
|
if (s2 !== peg$FAILED) {
|
|
1387
1388
|
peg$savedPos = s0;
|
|
1388
1389
|
s0 = peg$f16(s2);
|
|
@@ -1403,7 +1404,7 @@ function peg$parse(input, options) {
|
|
|
1403
1404
|
function peg$parseSkipOption() {
|
|
1404
1405
|
var s0, s1, s2;
|
|
1405
1406
|
|
|
1406
|
-
var key = peg$currPos *
|
|
1407
|
+
var key = peg$currPos * 63 + 11;
|
|
1407
1408
|
var cached = peg$resultsCache[key];
|
|
1408
1409
|
|
|
1409
1410
|
if (cached) {
|
|
@@ -1421,7 +1422,7 @@ function peg$parse(input, options) {
|
|
|
1421
1422
|
if (peg$silentFails === 0) { peg$fail(peg$e13); }
|
|
1422
1423
|
}
|
|
1423
1424
|
if (s1 !== peg$FAILED) {
|
|
1424
|
-
s2 = peg$
|
|
1425
|
+
s2 = peg$parseUnsignedIntegerBind();
|
|
1425
1426
|
if (s2 !== peg$FAILED) {
|
|
1426
1427
|
peg$savedPos = s0;
|
|
1427
1428
|
s0 = peg$f17(s2);
|
|
@@ -1442,7 +1443,7 @@ function peg$parse(input, options) {
|
|
|
1442
1443
|
function peg$parseInlineCountOption() {
|
|
1443
1444
|
var s0, s1, s2, s3;
|
|
1444
1445
|
|
|
1445
|
-
var key = peg$currPos *
|
|
1446
|
+
var key = peg$currPos * 63 + 12;
|
|
1446
1447
|
var cached = peg$resultsCache[key];
|
|
1447
1448
|
|
|
1448
1449
|
if (cached) {
|
|
@@ -1503,7 +1504,7 @@ function peg$parse(input, options) {
|
|
|
1503
1504
|
function peg$parseCountOption() {
|
|
1504
1505
|
var s0, s1, s2;
|
|
1505
1506
|
|
|
1506
|
-
var key = peg$currPos *
|
|
1507
|
+
var key = peg$currPos * 63 + 13;
|
|
1507
1508
|
var cached = peg$resultsCache[key];
|
|
1508
1509
|
|
|
1509
1510
|
if (cached) {
|
|
@@ -1542,7 +1543,7 @@ function peg$parse(input, options) {
|
|
|
1542
1543
|
function peg$parseExpandOption() {
|
|
1543
1544
|
var s0, s1, s2;
|
|
1544
1545
|
|
|
1545
|
-
var key = peg$currPos *
|
|
1546
|
+
var key = peg$currPos * 63 + 14;
|
|
1546
1547
|
var cached = peg$resultsCache[key];
|
|
1547
1548
|
|
|
1548
1549
|
if (cached) {
|
|
@@ -1581,7 +1582,7 @@ function peg$parse(input, options) {
|
|
|
1581
1582
|
function peg$parseSelectOption() {
|
|
1582
1583
|
var s0, s1, s2, s3;
|
|
1583
1584
|
|
|
1584
|
-
var key = peg$currPos *
|
|
1585
|
+
var key = peg$currPos * 63 + 15;
|
|
1585
1586
|
var cached = peg$resultsCache[key];
|
|
1586
1587
|
|
|
1587
1588
|
if (cached) {
|
|
@@ -1635,7 +1636,7 @@ function peg$parse(input, options) {
|
|
|
1635
1636
|
function peg$parseFilterByOption() {
|
|
1636
1637
|
var s0, s1, s2;
|
|
1637
1638
|
|
|
1638
|
-
var key = peg$currPos *
|
|
1639
|
+
var key = peg$currPos * 63 + 16;
|
|
1639
1640
|
var cached = peg$resultsCache[key];
|
|
1640
1641
|
|
|
1641
1642
|
if (cached) {
|
|
@@ -1674,7 +1675,7 @@ function peg$parse(input, options) {
|
|
|
1674
1675
|
function peg$parseContentType() {
|
|
1675
1676
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
|
|
1676
1677
|
|
|
1677
|
-
var key = peg$currPos *
|
|
1678
|
+
var key = peg$currPos * 63 + 17;
|
|
1678
1679
|
var cached = peg$resultsCache[key];
|
|
1679
1680
|
|
|
1680
1681
|
if (cached) {
|
|
@@ -1839,7 +1840,7 @@ function peg$parse(input, options) {
|
|
|
1839
1840
|
function peg$parseFormatOption() {
|
|
1840
1841
|
var s0, s1, s2, s3, s4, s5, s6, s7;
|
|
1841
1842
|
|
|
1842
|
-
var key = peg$currPos *
|
|
1843
|
+
var key = peg$currPos * 63 + 18;
|
|
1843
1844
|
var cached = peg$resultsCache[key];
|
|
1844
1845
|
|
|
1845
1846
|
if (cached) {
|
|
@@ -1956,7 +1957,7 @@ function peg$parse(input, options) {
|
|
|
1956
1957
|
function peg$parseFilterByExpression() {
|
|
1957
1958
|
var s0, s1, s2;
|
|
1958
1959
|
|
|
1959
|
-
var key = peg$currPos *
|
|
1960
|
+
var key = peg$currPos * 63 + 19;
|
|
1960
1961
|
var cached = peg$resultsCache[key];
|
|
1961
1962
|
|
|
1962
1963
|
if (cached) {
|
|
@@ -1987,7 +1988,7 @@ function peg$parse(input, options) {
|
|
|
1987
1988
|
function peg$parseFilterByExpressionLoop() {
|
|
1988
1989
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
|
|
1989
1990
|
|
|
1990
|
-
var key = peg$currPos *
|
|
1991
|
+
var key = peg$currPos * 63 + 20;
|
|
1991
1992
|
var cached = peg$resultsCache[key];
|
|
1992
1993
|
|
|
1993
1994
|
if (cached) {
|
|
@@ -2175,7 +2176,7 @@ function peg$parse(input, options) {
|
|
|
2175
2176
|
function peg$parseFilterByValue() {
|
|
2176
2177
|
var s0;
|
|
2177
2178
|
|
|
2178
|
-
var key = peg$currPos *
|
|
2179
|
+
var key = peg$currPos * 63 + 21;
|
|
2179
2180
|
var cached = peg$resultsCache[key];
|
|
2180
2181
|
|
|
2181
2182
|
if (cached) {
|
|
@@ -2206,7 +2207,7 @@ function peg$parse(input, options) {
|
|
|
2206
2207
|
function peg$parsePrimitive() {
|
|
2207
2208
|
var s0, s1, s2, s3, s4, s5;
|
|
2208
2209
|
|
|
2209
|
-
var key = peg$currPos *
|
|
2210
|
+
var key = peg$currPos * 63 + 22;
|
|
2210
2211
|
var cached = peg$resultsCache[key];
|
|
2211
2212
|
|
|
2212
2213
|
if (cached) {
|
|
@@ -2282,7 +2283,7 @@ function peg$parse(input, options) {
|
|
|
2282
2283
|
function peg$parseGroupedPrecedenceExpression() {
|
|
2283
2284
|
var s0, s1, s2, s3, s4, s5;
|
|
2284
2285
|
|
|
2285
|
-
var key = peg$currPos *
|
|
2286
|
+
var key = peg$currPos * 63 + 23;
|
|
2286
2287
|
var cached = peg$resultsCache[key];
|
|
2287
2288
|
|
|
2288
2289
|
if (cached) {
|
|
@@ -2334,7 +2335,7 @@ function peg$parse(input, options) {
|
|
|
2334
2335
|
function peg$parseFilterByOperand() {
|
|
2335
2336
|
var s0, s1, s2, s3;
|
|
2336
2337
|
|
|
2337
|
-
var key = peg$currPos *
|
|
2338
|
+
var key = peg$currPos * 63 + 24;
|
|
2338
2339
|
var cached = peg$resultsCache[key];
|
|
2339
2340
|
|
|
2340
2341
|
if (cached) {
|
|
@@ -2481,7 +2482,7 @@ function peg$parse(input, options) {
|
|
|
2481
2482
|
function peg$parseFilterNegateExpression() {
|
|
2482
2483
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
|
|
2483
2484
|
|
|
2484
|
-
var key = peg$currPos *
|
|
2485
|
+
var key = peg$currPos * 63 + 25;
|
|
2485
2486
|
var cached = peg$resultsCache[key];
|
|
2486
2487
|
|
|
2487
2488
|
if (cached) {
|
|
@@ -2562,7 +2563,7 @@ function peg$parse(input, options) {
|
|
|
2562
2563
|
function peg$parseGroupedPrimitive() {
|
|
2563
2564
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
|
|
2564
2565
|
|
|
2565
|
-
var key = peg$currPos *
|
|
2566
|
+
var key = peg$currPos * 63 + 26;
|
|
2566
2567
|
var cached = peg$resultsCache[key];
|
|
2567
2568
|
|
|
2568
2569
|
if (cached) {
|
|
@@ -2652,7 +2653,7 @@ function peg$parse(input, options) {
|
|
|
2652
2653
|
function peg$parseFilterMethodCallExpression() {
|
|
2653
2654
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
|
|
2654
2655
|
|
|
2655
|
-
var key = peg$currPos *
|
|
2656
|
+
var key = peg$currPos * 63 + 27;
|
|
2656
2657
|
var cached = peg$resultsCache[key];
|
|
2657
2658
|
|
|
2658
2659
|
if (cached) {
|
|
@@ -3053,7 +3054,7 @@ function peg$parse(input, options) {
|
|
|
3053
3054
|
function peg$parseLambdaMethodCall() {
|
|
3054
3055
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
|
|
3055
3056
|
|
|
3056
|
-
var key = peg$currPos *
|
|
3057
|
+
var key = peg$currPos * 63 + 28;
|
|
3057
3058
|
var cached = peg$resultsCache[key];
|
|
3058
3059
|
|
|
3059
3060
|
if (cached) {
|
|
@@ -3145,7 +3146,7 @@ function peg$parse(input, options) {
|
|
|
3145
3146
|
function peg$parseResourceMethodCall() {
|
|
3146
3147
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
|
|
3147
3148
|
|
|
3148
|
-
var key = peg$currPos *
|
|
3149
|
+
var key = peg$currPos * 63 + 29;
|
|
3149
3150
|
var cached = peg$resultsCache[key];
|
|
3150
3151
|
|
|
3151
3152
|
if (cached) {
|
|
@@ -3258,7 +3259,7 @@ function peg$parse(input, options) {
|
|
|
3258
3259
|
function peg$parsePropertyPathList() {
|
|
3259
3260
|
var s0, s1, s2, s3;
|
|
3260
3261
|
|
|
3261
|
-
var key = peg$currPos *
|
|
3262
|
+
var key = peg$currPos * 63 + 30;
|
|
3262
3263
|
var cached = peg$resultsCache[key];
|
|
3263
3264
|
|
|
3264
3265
|
if (cached) {
|
|
@@ -3307,7 +3308,7 @@ function peg$parse(input, options) {
|
|
|
3307
3308
|
function peg$parsePropertyPath() {
|
|
3308
3309
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
|
|
3309
3310
|
|
|
3310
|
-
var key = peg$currPos *
|
|
3311
|
+
var key = peg$currPos * 63 + 31;
|
|
3311
3312
|
var cached = peg$resultsCache[key];
|
|
3312
3313
|
|
|
3313
3314
|
if (cached) {
|
|
@@ -3424,7 +3425,7 @@ function peg$parse(input, options) {
|
|
|
3424
3425
|
function peg$parseExpandPropertyPathList() {
|
|
3425
3426
|
var s0, s1, s2, s3;
|
|
3426
3427
|
|
|
3427
|
-
var key = peg$currPos *
|
|
3428
|
+
var key = peg$currPos * 63 + 32;
|
|
3428
3429
|
var cached = peg$resultsCache[key];
|
|
3429
3430
|
|
|
3430
3431
|
if (cached) {
|
|
@@ -3473,7 +3474,7 @@ function peg$parse(input, options) {
|
|
|
3473
3474
|
function peg$parseExpandPropertyPath() {
|
|
3474
3475
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
|
|
3475
3476
|
|
|
3476
|
-
var key = peg$currPos *
|
|
3477
|
+
var key = peg$currPos * 63 + 33;
|
|
3477
3478
|
var cached = peg$resultsCache[key];
|
|
3478
3479
|
|
|
3479
3480
|
if (cached) {
|
|
@@ -3617,7 +3618,7 @@ function peg$parse(input, options) {
|
|
|
3617
3618
|
function peg$parseLambdaPropertyPath() {
|
|
3618
3619
|
var s0, s1, s2, s3, s4;
|
|
3619
3620
|
|
|
3620
|
-
var key = peg$currPos *
|
|
3621
|
+
var key = peg$currPos * 63 + 34;
|
|
3621
3622
|
var cached = peg$resultsCache[key];
|
|
3622
3623
|
|
|
3623
3624
|
if (cached) {
|
|
@@ -3685,7 +3686,7 @@ function peg$parse(input, options) {
|
|
|
3685
3686
|
function peg$parseKey() {
|
|
3686
3687
|
var s0, s1, s2, s3, s4, s5, s6;
|
|
3687
3688
|
|
|
3688
|
-
var key = peg$currPos *
|
|
3689
|
+
var key = peg$currPos * 63 + 35;
|
|
3689
3690
|
var cached = peg$resultsCache[key];
|
|
3690
3691
|
|
|
3691
3692
|
if (cached) {
|
|
@@ -3774,7 +3775,7 @@ function peg$parse(input, options) {
|
|
|
3774
3775
|
function peg$parseNamedKeyBind() {
|
|
3775
3776
|
var s0, s1, s2, s3;
|
|
3776
3777
|
|
|
3777
|
-
var key = peg$currPos *
|
|
3778
|
+
var key = peg$currPos * 63 + 36;
|
|
3778
3779
|
var cached = peg$resultsCache[key];
|
|
3779
3780
|
|
|
3780
3781
|
if (cached) {
|
|
@@ -3819,7 +3820,7 @@ function peg$parse(input, options) {
|
|
|
3819
3820
|
function peg$parseKeyBind() {
|
|
3820
3821
|
var s0;
|
|
3821
3822
|
|
|
3822
|
-
var key = peg$currPos *
|
|
3823
|
+
var key = peg$currPos * 63 + 37;
|
|
3823
3824
|
var cached = peg$resultsCache[key];
|
|
3824
3825
|
|
|
3825
3826
|
if (cached) {
|
|
@@ -3844,7 +3845,7 @@ function peg$parse(input, options) {
|
|
|
3844
3845
|
function peg$parseLinks() {
|
|
3845
3846
|
var s0, s1, s2;
|
|
3846
3847
|
|
|
3847
|
-
var key = peg$currPos *
|
|
3848
|
+
var key = peg$currPos * 63 + 38;
|
|
3848
3849
|
var cached = peg$resultsCache[key];
|
|
3849
3850
|
|
|
3850
3851
|
if (cached) {
|
|
@@ -3882,7 +3883,7 @@ function peg$parse(input, options) {
|
|
|
3882
3883
|
function peg$parsePathSegment() {
|
|
3883
3884
|
var s0, s1, s2, s3, s4, s5, s6, s7;
|
|
3884
3885
|
|
|
3885
|
-
var key = peg$currPos *
|
|
3886
|
+
var key = peg$currPos * 63 + 39;
|
|
3886
3887
|
var cached = peg$resultsCache[key];
|
|
3887
3888
|
|
|
3888
3889
|
if (cached) {
|
|
@@ -4045,7 +4046,7 @@ function peg$parse(input, options) {
|
|
|
4045
4046
|
function peg$parseSubPathSegment() {
|
|
4046
4047
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;
|
|
4047
4048
|
|
|
4048
|
-
var key = peg$currPos *
|
|
4049
|
+
var key = peg$currPos * 63 + 40;
|
|
4049
4050
|
var cached = peg$resultsCache[key];
|
|
4050
4051
|
|
|
4051
4052
|
if (cached) {
|
|
@@ -4177,7 +4178,7 @@ function peg$parse(input, options) {
|
|
|
4177
4178
|
function peg$parseResourceName() {
|
|
4178
4179
|
var s0, s1, s2, s3;
|
|
4179
4180
|
|
|
4180
|
-
var key = peg$currPos *
|
|
4181
|
+
var key = peg$currPos * 63 + 41;
|
|
4181
4182
|
var cached = peg$resultsCache[key];
|
|
4182
4183
|
|
|
4183
4184
|
if (cached) {
|
|
@@ -4229,7 +4230,7 @@ function peg$parse(input, options) {
|
|
|
4229
4230
|
function peg$parseNumber() {
|
|
4230
4231
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8;
|
|
4231
4232
|
|
|
4232
|
-
var key = peg$currPos *
|
|
4233
|
+
var key = peg$currPos * 63 + 42;
|
|
4233
4234
|
var cached = peg$resultsCache[key];
|
|
4234
4235
|
|
|
4235
4236
|
if (cached) {
|
|
@@ -4342,7 +4343,7 @@ function peg$parse(input, options) {
|
|
|
4342
4343
|
function peg$parseUnsignedInteger() {
|
|
4343
4344
|
var s0, s1, s2, s3;
|
|
4344
4345
|
|
|
4345
|
-
var key = peg$currPos *
|
|
4346
|
+
var key = peg$currPos * 63 + 43;
|
|
4346
4347
|
var cached = peg$resultsCache[key];
|
|
4347
4348
|
|
|
4348
4349
|
if (cached) {
|
|
@@ -4394,7 +4395,7 @@ function peg$parse(input, options) {
|
|
|
4394
4395
|
function peg$parseNull() {
|
|
4395
4396
|
var s0, s1;
|
|
4396
4397
|
|
|
4397
|
-
var key = peg$currPos *
|
|
4398
|
+
var key = peg$currPos * 63 + 44;
|
|
4398
4399
|
var cached = peg$resultsCache[key];
|
|
4399
4400
|
|
|
4400
4401
|
if (cached) {
|
|
@@ -4425,7 +4426,7 @@ function peg$parse(input, options) {
|
|
|
4425
4426
|
function peg$parseBoolean() {
|
|
4426
4427
|
var s0, s1;
|
|
4427
4428
|
|
|
4428
|
-
var key = peg$currPos *
|
|
4429
|
+
var key = peg$currPos * 63 + 45;
|
|
4429
4430
|
var cached = peg$resultsCache[key];
|
|
4430
4431
|
|
|
4431
4432
|
if (cached) {
|
|
@@ -4471,7 +4472,7 @@ function peg$parse(input, options) {
|
|
|
4471
4472
|
function peg$parseDuration() {
|
|
4472
4473
|
var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12;
|
|
4473
4474
|
|
|
4474
|
-
var key = peg$currPos *
|
|
4475
|
+
var key = peg$currPos * 63 + 46;
|
|
4475
4476
|
var cached = peg$resultsCache[key];
|
|
4476
4477
|
|
|
4477
4478
|
if (cached) {
|
|
@@ -4668,7 +4669,7 @@ function peg$parse(input, options) {
|
|
|
4668
4669
|
function peg$parseDurationNumber() {
|
|
4669
4670
|
var s0, s1, s2, s3, s4, s5, s6;
|
|
4670
4671
|
|
|
4671
|
-
var key = peg$currPos *
|
|
4672
|
+
var key = peg$currPos * 63 + 47;
|
|
4672
4673
|
var cached = peg$resultsCache[key];
|
|
4673
4674
|
|
|
4674
4675
|
if (cached) {
|
|
@@ -4770,7 +4771,7 @@ function peg$parse(input, options) {
|
|
|
4770
4771
|
function peg$parseText() {
|
|
4771
4772
|
var s0, s1, s2, s3;
|
|
4772
4773
|
|
|
4773
|
-
var key = peg$currPos *
|
|
4774
|
+
var key = peg$currPos * 63 + 48;
|
|
4774
4775
|
var cached = peg$resultsCache[key];
|
|
4775
4776
|
|
|
4776
4777
|
if (cached) {
|
|
@@ -4812,7 +4813,7 @@ function peg$parse(input, options) {
|
|
|
4812
4813
|
function peg$parseSign() {
|
|
4813
4814
|
var s0, s1;
|
|
4814
4815
|
|
|
4815
|
-
var key = peg$currPos *
|
|
4816
|
+
var key = peg$currPos * 63 + 49;
|
|
4816
4817
|
var cached = peg$resultsCache[key];
|
|
4817
4818
|
|
|
4818
4819
|
if (cached) {
|
|
@@ -4864,7 +4865,7 @@ function peg$parse(input, options) {
|
|
|
4864
4865
|
function peg$parseApostrophe() {
|
|
4865
4866
|
var s0, s1;
|
|
4866
4867
|
|
|
4867
|
-
var key = peg$currPos *
|
|
4868
|
+
var key = peg$currPos * 63 + 50;
|
|
4868
4869
|
var cached = peg$resultsCache[key];
|
|
4869
4870
|
|
|
4870
4871
|
if (cached) {
|
|
@@ -4904,7 +4905,7 @@ function peg$parse(input, options) {
|
|
|
4904
4905
|
function peg$parseQuotedText() {
|
|
4905
4906
|
var s0, s1, s2, s3, s4, s5;
|
|
4906
4907
|
|
|
4907
|
-
var key = peg$currPos *
|
|
4908
|
+
var key = peg$currPos * 63 + 51;
|
|
4908
4909
|
var cached = peg$resultsCache[key];
|
|
4909
4910
|
|
|
4910
4911
|
if (cached) {
|
|
@@ -5031,7 +5032,7 @@ function peg$parse(input, options) {
|
|
|
5031
5032
|
function peg$parseParameterAlias() {
|
|
5032
5033
|
var s0, s1, s2;
|
|
5033
5034
|
|
|
5034
|
-
var key = peg$currPos *
|
|
5035
|
+
var key = peg$currPos * 63 + 52;
|
|
5035
5036
|
var cached = peg$resultsCache[key];
|
|
5036
5037
|
|
|
5037
5038
|
if (cached) {
|
|
@@ -5070,7 +5071,7 @@ function peg$parse(input, options) {
|
|
|
5070
5071
|
function peg$parseNumberBind() {
|
|
5071
5072
|
var s0, s1;
|
|
5072
5073
|
|
|
5073
|
-
var key = peg$currPos *
|
|
5074
|
+
var key = peg$currPos * 63 + 53;
|
|
5074
5075
|
var cached = peg$resultsCache[key];
|
|
5075
5076
|
|
|
5076
5077
|
if (cached) {
|
|
@@ -5092,10 +5093,35 @@ function peg$parse(input, options) {
|
|
|
5092
5093
|
return s0;
|
|
5093
5094
|
}
|
|
5094
5095
|
|
|
5096
|
+
function peg$parseUnsignedIntegerBind() {
|
|
5097
|
+
var s0, s1;
|
|
5098
|
+
|
|
5099
|
+
var key = peg$currPos * 63 + 54;
|
|
5100
|
+
var cached = peg$resultsCache[key];
|
|
5101
|
+
|
|
5102
|
+
if (cached) {
|
|
5103
|
+
peg$currPos = cached.nextPos;
|
|
5104
|
+
|
|
5105
|
+
return cached.result;
|
|
5106
|
+
}
|
|
5107
|
+
|
|
5108
|
+
s0 = peg$currPos;
|
|
5109
|
+
s1 = peg$parseUnsignedInteger();
|
|
5110
|
+
if (s1 !== peg$FAILED) {
|
|
5111
|
+
peg$savedPos = s0;
|
|
5112
|
+
s1 = peg$f89(s1);
|
|
5113
|
+
}
|
|
5114
|
+
s0 = s1;
|
|
5115
|
+
|
|
5116
|
+
peg$resultsCache[key] = { nextPos: peg$currPos, result: s0 };
|
|
5117
|
+
|
|
5118
|
+
return s0;
|
|
5119
|
+
}
|
|
5120
|
+
|
|
5095
5121
|
function peg$parseDate() {
|
|
5096
5122
|
var s0, s1, s2, s3;
|
|
5097
5123
|
|
|
5098
|
-
var key = peg$currPos *
|
|
5124
|
+
var key = peg$currPos * 63 + 55;
|
|
5099
5125
|
var cached = peg$resultsCache[key];
|
|
5100
5126
|
|
|
5101
5127
|
if (cached) {
|
|
@@ -5115,7 +5141,7 @@ function peg$parse(input, options) {
|
|
|
5115
5141
|
}
|
|
5116
5142
|
if (s2 !== peg$FAILED) {
|
|
5117
5143
|
peg$savedPos = s1;
|
|
5118
|
-
s2 = peg$
|
|
5144
|
+
s2 = peg$f90();
|
|
5119
5145
|
}
|
|
5120
5146
|
s1 = s2;
|
|
5121
5147
|
if (s1 === peg$FAILED) {
|
|
@@ -5129,7 +5155,7 @@ function peg$parse(input, options) {
|
|
|
5129
5155
|
}
|
|
5130
5156
|
if (s2 !== peg$FAILED) {
|
|
5131
5157
|
peg$savedPos = s1;
|
|
5132
|
-
s2 = peg$
|
|
5158
|
+
s2 = peg$f91();
|
|
5133
5159
|
}
|
|
5134
5160
|
s1 = s2;
|
|
5135
5161
|
}
|
|
@@ -5138,12 +5164,12 @@ function peg$parse(input, options) {
|
|
|
5138
5164
|
s3 = peg$parseQuotedText();
|
|
5139
5165
|
if (s3 !== peg$FAILED) {
|
|
5140
5166
|
peg$savedPos = s2;
|
|
5141
|
-
s3 = peg$
|
|
5167
|
+
s3 = peg$f92(s1, s3);
|
|
5142
5168
|
}
|
|
5143
5169
|
s2 = s3;
|
|
5144
5170
|
if (s2 !== peg$FAILED) {
|
|
5145
5171
|
peg$savedPos = peg$currPos;
|
|
5146
|
-
s3 = peg$
|
|
5172
|
+
s3 = peg$f93(s1, s2);
|
|
5147
5173
|
if (s3) {
|
|
5148
5174
|
s3 = peg$FAILED;
|
|
5149
5175
|
} else {
|
|
@@ -5151,7 +5177,7 @@ function peg$parse(input, options) {
|
|
|
5151
5177
|
}
|
|
5152
5178
|
if (s3 !== peg$FAILED) {
|
|
5153
5179
|
peg$savedPos = s0;
|
|
5154
|
-
s0 = peg$
|
|
5180
|
+
s0 = peg$f94(s1, s2);
|
|
5155
5181
|
} else {
|
|
5156
5182
|
peg$currPos = s0;
|
|
5157
5183
|
s0 = peg$FAILED;
|
|
@@ -5173,7 +5199,7 @@ function peg$parse(input, options) {
|
|
|
5173
5199
|
function peg$parseDateBind() {
|
|
5174
5200
|
var s0, s1;
|
|
5175
5201
|
|
|
5176
|
-
var key = peg$currPos *
|
|
5202
|
+
var key = peg$currPos * 63 + 56;
|
|
5177
5203
|
var cached = peg$resultsCache[key];
|
|
5178
5204
|
|
|
5179
5205
|
if (cached) {
|
|
@@ -5186,7 +5212,7 @@ function peg$parse(input, options) {
|
|
|
5186
5212
|
s1 = peg$parseDate();
|
|
5187
5213
|
if (s1 !== peg$FAILED) {
|
|
5188
5214
|
peg$savedPos = s0;
|
|
5189
|
-
s1 = peg$
|
|
5215
|
+
s1 = peg$f95(s1);
|
|
5190
5216
|
}
|
|
5191
5217
|
s0 = s1;
|
|
5192
5218
|
|
|
@@ -5198,7 +5224,7 @@ function peg$parse(input, options) {
|
|
|
5198
5224
|
function peg$parseBooleanBind() {
|
|
5199
5225
|
var s0, s1;
|
|
5200
5226
|
|
|
5201
|
-
var key = peg$currPos *
|
|
5227
|
+
var key = peg$currPos * 63 + 57;
|
|
5202
5228
|
var cached = peg$resultsCache[key];
|
|
5203
5229
|
|
|
5204
5230
|
if (cached) {
|
|
@@ -5211,7 +5237,7 @@ function peg$parse(input, options) {
|
|
|
5211
5237
|
s1 = peg$parseBoolean();
|
|
5212
5238
|
if (s1 !== peg$FAILED) {
|
|
5213
5239
|
peg$savedPos = s0;
|
|
5214
|
-
s1 = peg$
|
|
5240
|
+
s1 = peg$f96(s1);
|
|
5215
5241
|
}
|
|
5216
5242
|
s0 = s1;
|
|
5217
5243
|
|
|
@@ -5223,7 +5249,7 @@ function peg$parse(input, options) {
|
|
|
5223
5249
|
function peg$parseContentReference() {
|
|
5224
5250
|
var s0, s1, s2;
|
|
5225
5251
|
|
|
5226
|
-
var key = peg$currPos *
|
|
5252
|
+
var key = peg$currPos * 63 + 58;
|
|
5227
5253
|
var cached = peg$resultsCache[key];
|
|
5228
5254
|
|
|
5229
5255
|
if (cached) {
|
|
@@ -5244,7 +5270,7 @@ function peg$parse(input, options) {
|
|
|
5244
5270
|
s2 = peg$parseResourceName();
|
|
5245
5271
|
if (s2 !== peg$FAILED) {
|
|
5246
5272
|
peg$savedPos = s0;
|
|
5247
|
-
s0 = peg$
|
|
5273
|
+
s0 = peg$f97(s2);
|
|
5248
5274
|
} else {
|
|
5249
5275
|
peg$currPos = s0;
|
|
5250
5276
|
s0 = peg$FAILED;
|
|
@@ -5262,7 +5288,7 @@ function peg$parse(input, options) {
|
|
|
5262
5288
|
function peg$parseQuotedTextBind() {
|
|
5263
5289
|
var s0, s1;
|
|
5264
5290
|
|
|
5265
|
-
var key = peg$currPos *
|
|
5291
|
+
var key = peg$currPos * 63 + 59;
|
|
5266
5292
|
var cached = peg$resultsCache[key];
|
|
5267
5293
|
|
|
5268
5294
|
if (cached) {
|
|
@@ -5275,7 +5301,7 @@ function peg$parse(input, options) {
|
|
|
5275
5301
|
s1 = peg$parseQuotedText();
|
|
5276
5302
|
if (s1 !== peg$FAILED) {
|
|
5277
5303
|
peg$savedPos = s0;
|
|
5278
|
-
s1 = peg$
|
|
5304
|
+
s1 = peg$f98(s1);
|
|
5279
5305
|
}
|
|
5280
5306
|
s0 = s1;
|
|
5281
5307
|
|
|
@@ -5287,7 +5313,7 @@ function peg$parse(input, options) {
|
|
|
5287
5313
|
function peg$parseboundary() {
|
|
5288
5314
|
var s0, s1;
|
|
5289
5315
|
|
|
5290
|
-
var key = peg$currPos *
|
|
5316
|
+
var key = peg$currPos * 63 + 60;
|
|
5291
5317
|
var cached = peg$resultsCache[key];
|
|
5292
5318
|
|
|
5293
5319
|
if (cached) {
|
|
@@ -5333,7 +5359,7 @@ function peg$parse(input, options) {
|
|
|
5333
5359
|
function peg$parsespaces() {
|
|
5334
5360
|
var s0, s1;
|
|
5335
5361
|
|
|
5336
|
-
var key = peg$currPos *
|
|
5362
|
+
var key = peg$currPos * 63 + 61;
|
|
5337
5363
|
var cached = peg$resultsCache[key];
|
|
5338
5364
|
|
|
5339
5365
|
if (cached) {
|
|
@@ -5357,7 +5383,7 @@ function peg$parse(input, options) {
|
|
|
5357
5383
|
function peg$parsespace() {
|
|
5358
5384
|
var s0;
|
|
5359
5385
|
|
|
5360
|
-
var key = peg$currPos *
|
|
5386
|
+
var key = peg$currPos * 63 + 62;
|
|
5361
5387
|
var cached = peg$resultsCache[key];
|
|
5362
5388
|
|
|
5363
5389
|
if (cached) {
|
package/odata-parser.pegjs
CHANGED
|
@@ -180,12 +180,12 @@ SortProperty =
|
|
|
180
180
|
|
|
181
181
|
TopOption =
|
|
182
182
|
'top='
|
|
183
|
-
value:
|
|
183
|
+
value:UnsignedIntegerBind
|
|
184
184
|
{ return { name: '$top', value } }
|
|
185
185
|
|
|
186
186
|
SkipOption =
|
|
187
187
|
'skip='
|
|
188
|
-
value:
|
|
188
|
+
value:UnsignedIntegerBind
|
|
189
189
|
{ return { name: '$skip', value } }
|
|
190
190
|
|
|
191
191
|
InlineCountOption =
|
|
@@ -675,6 +675,10 @@ NumberBind =
|
|
|
675
675
|
n:Number
|
|
676
676
|
{ return Bind('Real', n) }
|
|
677
677
|
|
|
678
|
+
UnsignedIntegerBind =
|
|
679
|
+
n:UnsignedInteger
|
|
680
|
+
{ return Bind('Integer', n) }
|
|
681
|
+
|
|
678
682
|
Date =
|
|
679
683
|
type:(
|
|
680
684
|
'datetime'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@balena/odata-parser",
|
|
3
|
-
"version": "3.0
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"description": "An OData parser written in OMeta",
|
|
5
5
|
"main": "odata-parser.js",
|
|
6
6
|
"scripts": {
|
|
@@ -39,6 +39,6 @@
|
|
|
39
39
|
"npm": ">=8.1.0"
|
|
40
40
|
},
|
|
41
41
|
"versionist": {
|
|
42
|
-
"publishedAt": "2024-
|
|
42
|
+
"publishedAt": "2024-10-03T19:30:42.294Z"
|
|
43
43
|
}
|
|
44
44
|
}
|
package/test/paging.js
CHANGED
|
@@ -2,14 +2,21 @@ import * as assert from 'assert';
|
|
|
2
2
|
|
|
3
3
|
export default (test) => {
|
|
4
4
|
describe('Paging', function () {
|
|
5
|
-
test(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
test(
|
|
6
|
+
'$top=5&$skip=100',
|
|
7
|
+
[
|
|
8
|
+
['Integer', 5],
|
|
9
|
+
['Integer', 100],
|
|
10
|
+
],
|
|
11
|
+
function (result) {
|
|
12
|
+
it('top should be specified', () => {
|
|
13
|
+
assert.deepEqual(result.options.$top, { bind: 0 });
|
|
14
|
+
});
|
|
15
|
+
it('skip should be specified', () => {
|
|
16
|
+
assert.deepEqual(result.options.$skip, { bind: 1 });
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
);
|
|
13
20
|
|
|
14
21
|
test('$inlinecount=allpages', (result) => {
|
|
15
22
|
it('inline should be specified', () => {
|