@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.
@@ -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-03T15:30:15.363Z
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-03)
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.2.
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 'Date Time' };
652
- var peg$f90 = function() { return 'Date' };
653
- var peg$f91 = function(type, date) { return Date.parse(date) };
654
- var peg$f92 = function(type, date) { return isNaN(date) };
655
- var peg$f93 = function(type, date) { return [type, date] };
656
- var peg$f94 = function(d) { return Bind(d[0], d[1]) };
657
- var peg$f95 = function(b) { return Bind('Boolean', b) };
658
- var peg$f96 = function(resource) {
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$f97 = function(t) { return Bind('Text', t) };
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 * 62 + 0;
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 * 62 + 1;
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 * 62 + 2;
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 * 62 + 3;
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 * 62 + 4;
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 * 62 + 5;
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 * 62 + 6;
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 * 62 + 7;
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 * 62 + 8;
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 * 62 + 9;
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 * 62 + 10;
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$parseUnsignedInteger();
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 * 62 + 11;
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$parseUnsignedInteger();
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 * 62 + 12;
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 * 62 + 13;
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 * 62 + 14;
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 * 62 + 15;
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 * 62 + 16;
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 * 62 + 17;
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 * 62 + 18;
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 * 62 + 19;
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 * 62 + 20;
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 * 62 + 21;
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 * 62 + 22;
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 * 62 + 23;
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 * 62 + 24;
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 * 62 + 25;
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 * 62 + 26;
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 * 62 + 27;
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 * 62 + 28;
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 * 62 + 29;
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 * 62 + 30;
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 * 62 + 31;
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 * 62 + 32;
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 * 62 + 33;
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 * 62 + 34;
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 * 62 + 35;
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 * 62 + 36;
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 * 62 + 37;
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 * 62 + 38;
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 * 62 + 39;
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 * 62 + 40;
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 * 62 + 41;
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 * 62 + 42;
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 * 62 + 43;
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 * 62 + 44;
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 * 62 + 45;
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 * 62 + 46;
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 * 62 + 47;
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 * 62 + 48;
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 * 62 + 49;
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 * 62 + 50;
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 * 62 + 51;
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 * 62 + 52;
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 * 62 + 53;
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 * 62 + 54;
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$f89();
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$f90();
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$f91(s1, s3);
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$f92(s1, s2);
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$f93(s1, s2);
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 * 62 + 55;
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$f94(s1);
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 * 62 + 56;
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$f95(s1);
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 * 62 + 57;
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$f96(s2);
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 * 62 + 58;
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$f97(s1);
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 * 62 + 59;
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 * 62 + 60;
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 * 62 + 61;
5386
+ var key = peg$currPos * 63 + 62;
5361
5387
  var cached = peg$resultsCache[key];
5362
5388
 
5363
5389
  if (cached) {
@@ -180,12 +180,12 @@ SortProperty =
180
180
 
181
181
  TopOption =
182
182
  'top='
183
- value:UnsignedInteger
183
+ value:UnsignedIntegerBind
184
184
  { return { name: '$top', value } }
185
185
 
186
186
  SkipOption =
187
187
  'skip='
188
- value:UnsignedInteger
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.8",
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-06-03T15:30:15.468Z"
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('$top=5&$skip=100', function (result) {
6
- it('top should be specified', () => {
7
- assert.equal(result.options.$top, 5);
8
- });
9
- it('skip should be specified', () => {
10
- assert.equal(result.options.$skip, 100);
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', () => {