@balena/odata-parser 4.2.8 → 4.2.9

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: Replace `CollapseObjectArray` with `Object.fromEntries`
3
+ hash: cff575f1888896b9278adda63988df3922aae6c7
4
+ body: ""
5
+ footer:
6
+ Change-type: patch
7
+ change-type: patch
8
+ author: Pagan Gazzard
9
+ version: 4.2.9
10
+ title: ""
11
+ date: 2025-10-16T13:59:19.198Z
1
12
  - commits:
2
13
  - subject: Update dependency lint-staged to v16
3
14
  hash: 1ad6c3e66d76d9fba07440f75e719f210505f9d9
@@ -9,7 +20,7 @@
9
20
  author: balena-renovate[bot]
10
21
  version: 4.2.8
11
22
  title: ""
12
- date: 2025-09-11T12:17:01.514Z
23
+ date: 2025-09-11T12:20:28.065Z
13
24
  - commits:
14
25
  - subject: Update dependency peggy to v5
15
26
  hash: a3bd65a4f4a63999b58a5076563e0eaa51a755d3
package/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@ 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
+ # v4.2.9
8
+ ## (2025-10-16)
9
+
10
+ * Replace `CollapseObjectArray` with `Object.fromEntries` [Pagan Gazzard]
11
+
7
12
  # v4.2.8
8
13
  ## (2025-09-11)
9
14
 
package/odata-parser.js CHANGED
@@ -72,14 +72,6 @@
72
72
  // mod: 5
73
73
  // };
74
74
 
75
- function CollapseObjectArray(options) {
76
- const optionsObj = {};
77
- for(const i in options) {
78
- optionsObj[options[i].name] = options[i].value;
79
- }
80
- return optionsObj;
81
- };
82
-
83
75
  class peg$SyntaxError extends SyntaxError {
84
76
  constructor(message, expected, found, location) {
85
77
  super(message);
@@ -476,36 +468,33 @@ function peg$parse(input, options) {
476
468
  function peg$f3(model) { return model }
477
469
  function peg$f4() { return { resource: '$metadata' } }
478
470
  function peg$f5() { return { resource: '$serviceroot' } }
479
- function peg$f6(options) { return CollapseObjectArray(options) }
471
+ function peg$f6(options) { return Object.fromEntries(options) }
480
472
  function peg$f7(name, n) { return [ 'Real', n ] }
481
473
  function peg$f8(name, b) { return [ 'Boolean', b ] }
482
474
  function peg$f9(name, s) { return [ 'Text', s ] }
483
475
  function peg$f10(name, value) { return !binds['@' + name] }
484
476
  function peg$f11(name, value) {
485
477
  binds['@' + name] = value
486
- return {
487
- name: '@' + name,
488
- value
489
- }
478
+ return [ '@' + name, value ]
490
479
  }
491
- function peg$f12(name, value) { return { name, value } }
492
- function peg$f13(properties) { return { name: '$orderby', value: { properties } } }
480
+ function peg$f12(name, value) { return [ name, value ] }
481
+ function peg$f13(properties) { return [ '$orderby', { properties } ] }
493
482
  function peg$f14(property) { return 'desc' }
494
483
  function peg$f15(property, order) {
495
484
  property.order = order;
496
485
  return property
497
486
  }
498
- function peg$f16(value) { return { name: '$top', value } }
499
- function peg$f17(value) { return { name: '$skip', value } }
487
+ function peg$f16(value) { return [ '$top', value ] }
488
+ function peg$f17(value) { return [ '$skip', value ] }
500
489
  function peg$f18() { return '' }
501
- function peg$f19(value) { return { name: '$inlinecount', value } }
502
- function peg$f20(value) { return { name: '$count', value } }
503
- function peg$f21(properties) { return { name: '$expand', value: { properties } } }
490
+ function peg$f19(value) { return [ '$inlinecount', value ] }
491
+ function peg$f20(value) { return [ '$count', value ] }
492
+ function peg$f21(properties) { return [ '$expand', { properties } ] }
504
493
  function peg$f22(properties) { return { properties } }
505
- function peg$f23(value) { return { name: '$select', value } }
506
- function peg$f24(expr) { return { name: '$filter', value: expr } }
507
- function peg$f25(type, metadata) { return { name: '$format', value: { type, metadata } } }
508
- function peg$f26(type) { return { name: '$format', value: type } }
494
+ function peg$f23(value) { return [ '$select', value ] }
495
+ function peg$f24(expr) { return [ '$filter', expr ] }
496
+ function peg$f25(type, metadata) { return [ '$format', { type, metadata } ] }
497
+ function peg$f26(type) { return [ '$format', type ] }
509
498
  function peg$f27() {
510
499
  precedence = 0;
511
500
  }
@@ -557,21 +546,21 @@ function peg$parse(input, options) {
557
546
  function peg$f42(methodName, args) { return [ 'call', { args, method: methodName } ] }
558
547
  function peg$f43(name) { return { name } }
559
548
  function peg$f44(result, property) { result.property = property }
560
- function peg$f45(result, option) { result.options = CollapseObjectArray([option]) }
549
+ function peg$f45(result, option) { result.options = Object.fromEntries([option]) }
561
550
  function peg$f46(result) { result.count = true }
562
551
  function peg$f47(result, key) { result.key = key }
563
552
  function peg$f48(result, property) { result.property = property }
564
553
  function peg$f49(result) { return result }
565
554
  function peg$f50(name) { return { name } }
566
555
  function peg$f51(result) { result.count = true }
567
- function peg$f52(result, options) { result.options = CollapseObjectArray(options) }
556
+ function peg$f52(result, options) { result.options = Object.fromEntries(options) }
568
557
  function peg$f53(result, next) { result.property = next }
569
558
  function peg$f54(result) { return result }
570
559
  function peg$f55(resource, next) { return { name: resource, property: next } }
571
560
  function peg$f56(resource, lambda) { return { name: resource, lambda } }
572
561
  function peg$f57(resource, method) { return { name: resource, method } }
573
- function peg$f58(keyBinds) { return CollapseObjectArray(keyBinds) }
574
- function peg$f59(name, value) { return { name, value } }
562
+ function peg$f58(keyBinds) { return Object.fromEntries(keyBinds) }
563
+ function peg$f59(name, value) { return [ name, value ] }
575
564
  function peg$f60(resource) { return { resource } }
576
565
  function peg$f61(result, key) { result.key = key }
577
566
  function peg$f62(result, link) {result.link = link }
@@ -65,14 +65,6 @@
65
65
  // div: 5,
66
66
  // mod: 5
67
67
  // };
68
-
69
- function CollapseObjectArray(options) {
70
- const optionsObj = {};
71
- for(const i in options) {
72
- optionsObj[options[i].name] = options[i].value;
73
- }
74
- return optionsObj;
75
- };
76
68
  }}
77
69
  {
78
70
  let binds = [];
@@ -113,7 +105,7 @@ OData =
113
105
 
114
106
  QueryOptions =
115
107
  options:QueryOption|1..,'&'|
116
- { return CollapseObjectArray(options) }
108
+ { return Object.fromEntries(options) }
117
109
 
118
110
  QueryOption =
119
111
  Dollar
@@ -148,20 +140,17 @@ ParameterAliasOption =
148
140
  &{ return !binds['@' + name] }
149
141
  {
150
142
  binds['@' + name] = value
151
- return {
152
- name: '@' + name,
153
- value
154
- }
143
+ return [ '@' + name, value ]
155
144
  }
156
145
 
157
146
  OperationParam =
158
147
  name:Text '=' value:Text
159
- { return { name, value } }
148
+ { return [ name, value ] }
160
149
 
161
150
  SortOption =
162
151
  'orderby='
163
152
  properties:SortProperty|1..,','|
164
- { return { name: '$orderby', value: { properties } } }
153
+ { return [ '$orderby', { properties } ] }
165
154
 
166
155
  SortProperty =
167
156
  property:PropertyPath
@@ -181,12 +170,12 @@ SortProperty =
181
170
  TopOption =
182
171
  'top='
183
172
  value:UnsignedIntegerBind
184
- { return { name: '$top', value } }
173
+ { return [ '$top', value ] }
185
174
 
186
175
  SkipOption =
187
176
  'skip='
188
177
  value:UnsignedIntegerBind
189
- { return { name: '$skip', value } }
178
+ { return [ '$skip', value ] }
190
179
 
191
180
  InlineCountOption =
192
181
  'inlinecount='
@@ -195,17 +184,17 @@ InlineCountOption =
195
184
  / 'none'
196
185
  / Text { return '' }
197
186
  )
198
- { return { name: '$inlinecount', value } }
187
+ { return [ '$inlinecount', value ] }
199
188
 
200
189
  CountOption =
201
190
  'count='
202
191
  value:Boolean
203
- { return { name: '$count', value } }
192
+ { return [ '$count', value ] }
204
193
 
205
194
  ExpandOption =
206
195
  'expand='
207
196
  properties:ExpandPropertyPathList
208
- { return { name: '$expand', value: { properties } } }
197
+ { return [ '$expand', { properties } ] }
209
198
 
210
199
  SelectOption =
211
200
  'select='
@@ -214,13 +203,13 @@ SelectOption =
214
203
  / properties:PropertyPathList
215
204
  { return { properties } }
216
205
  )
217
- { return { name: '$select', value } }
206
+ { return [ '$select', value ] }
218
207
 
219
208
 
220
209
  FilterByOption =
221
210
  'filter='
222
211
  expr:FilterByExpression
223
- { return { name: '$filter', value: expr } }
212
+ { return [ '$filter', expr ] }
224
213
 
225
214
 
226
215
  ContentType =
@@ -244,8 +233,8 @@ FormatOption =
244
233
  / 'minimal'
245
234
  / 'full'
246
235
  )
247
- { return { name: '$format', value: { type, metadata } } }
248
- / '' { return { name: '$format', value: type } }
236
+ { return [ '$format', { type, metadata } ] }
237
+ / '' { return [ '$format', type ] }
249
238
  )
250
239
 
251
240
  FilterByExpression =
@@ -344,7 +333,7 @@ FilterNegateExpression =
344
333
  GroupedPrimitive =
345
334
  '(' spaces
346
335
  bindings:(@Primitive|1..,',' spaces|)
347
- spaces
336
+ spaces
348
337
  ')'
349
338
  {
350
339
  const bindValues = [];
@@ -454,7 +443,7 @@ PropertyPath =
454
443
  '('
455
444
  ( Dollar
456
445
  option:FilterByOption
457
- { result.options = CollapseObjectArray([option]) }
446
+ { result.options = Object.fromEntries([option]) }
458
447
  )
459
448
  ')'
460
449
  )?
@@ -490,7 +479,7 @@ ExpandPropertyPath =
490
479
  '('
491
480
  (
492
481
  options:QueryOption|1..,[&;]|
493
- { result.options = CollapseObjectArray(options) }
482
+ { result.options = Object.fromEntries(options) }
494
483
  / ''
495
484
  )
496
485
  ')'
@@ -516,12 +505,12 @@ Key =
516
505
  '('
517
506
  @( KeyBind
518
507
  / keyBinds:NamedKeyBind|1..,','|
519
- { return CollapseObjectArray(keyBinds) }
508
+ { return Object.fromEntries(keyBinds) }
520
509
  )
521
510
  ')'
522
511
  NamedKeyBind =
523
512
  name:ResourceName '=' value:KeyBind
524
- { return { name, value }}
513
+ { return [ name, value ] }
525
514
  KeyBind =
526
515
  NumberBind
527
516
  / QuotedTextBind
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/odata-parser",
3
- "version": "4.2.8",
3
+ "version": "4.2.9",
4
4
  "description": "An OData parser written in OMeta",
5
5
  "type": "commonjs",
6
6
  "main": "odata-parser.js",
@@ -40,6 +40,6 @@
40
40
  "npm": ">=8.1.0"
41
41
  },
42
42
  "versionist": {
43
- "publishedAt": "2025-09-11T12:17:01.599Z"
43
+ "publishedAt": "2025-10-16T13:59:19.285Z"
44
44
  }
45
45
  }