@hyperlane-xyz/utils 13.0.0 → 13.1.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/yaml.test.js CHANGED
@@ -1,5 +1,6 @@
1
+ //@ts-ignore
1
2
  import { expect } from 'chai';
2
- import { tryParseJsonOrYaml } from './yaml.js';
3
+ import { sortNestedArrays, transformYaml, tryParseJsonOrYaml, } from './yaml.js';
3
4
  describe('tryParseJsonOrYaml', () => {
4
5
  it('should parse valid JSON string', () => {
5
6
  const jsonString = '{"key": "value"}';
@@ -26,4 +27,493 @@ describe('tryParseJsonOrYaml', () => {
26
27
  expect(result.error).to.equal('Input is not valid JSON or YAML');
27
28
  });
28
29
  });
30
+ describe('sortNestedArrays', () => {
31
+ it('should sort a simple array by key', () => {
32
+ const data = {
33
+ items: [
34
+ { name: 'c', value: 3 },
35
+ { name: 'a', value: 1 },
36
+ { name: 'b', value: 2 },
37
+ ],
38
+ };
39
+ const config = {
40
+ arrays: [{ path: 'items', sortKey: 'name' }],
41
+ };
42
+ const result = sortNestedArrays(data, config);
43
+ expect(result.items).to.deep.equal([
44
+ { name: 'a', value: 1 },
45
+ { name: 'b', value: 2 },
46
+ { name: 'c', value: 3 },
47
+ ]);
48
+ });
49
+ it('should sort nested arrays by different keys', () => {
50
+ const data = {
51
+ level1: {
52
+ items: [
53
+ { id: 3, name: 'item3' },
54
+ { id: 1, name: 'item1' },
55
+ { id: 2, name: 'item2' },
56
+ ],
57
+ categories: [
58
+ {
59
+ code: 'cat-b',
60
+ items: [
61
+ { name: 'z', priority: 3 },
62
+ { name: 'x', priority: 1 },
63
+ { name: 'y', priority: 2 },
64
+ ],
65
+ },
66
+ { code: 'cat-a', items: [] },
67
+ ],
68
+ },
69
+ };
70
+ const config = {
71
+ arrays: [
72
+ { path: 'level1.items', sortKey: 'id' },
73
+ { path: 'level1.categories', sortKey: 'code' },
74
+ { path: 'level1.categories[].items', sortKey: 'priority' },
75
+ ],
76
+ };
77
+ const result = sortNestedArrays(data, config);
78
+ expect(result.level1.items).to.deep.equal([
79
+ { id: 1, name: 'item1' },
80
+ { id: 2, name: 'item2' },
81
+ { id: 3, name: 'item3' },
82
+ ]);
83
+ expect(result.level1.categories).to.deep.equal([
84
+ { code: 'cat-a', items: [] },
85
+ {
86
+ code: 'cat-b',
87
+ items: [
88
+ { name: 'x', priority: 1 },
89
+ { name: 'y', priority: 2 },
90
+ { name: 'z', priority: 3 },
91
+ ],
92
+ },
93
+ ]);
94
+ });
95
+ it('should handle array paths with wildcard patterns', () => {
96
+ const data = {
97
+ users: [
98
+ {
99
+ name: 'user2',
100
+ tasks: [
101
+ { id: 'c', completed: true },
102
+ { id: 'a', completed: false },
103
+ { id: 'b', completed: true },
104
+ ],
105
+ },
106
+ {
107
+ name: 'user1',
108
+ tasks: [
109
+ { id: 'z', completed: false },
110
+ { id: 'x', completed: true },
111
+ { id: 'y', completed: false },
112
+ ],
113
+ },
114
+ ],
115
+ };
116
+ const config = {
117
+ arrays: [
118
+ { path: 'users', sortKey: 'name' },
119
+ { path: 'users[].tasks', sortKey: 'id' },
120
+ ],
121
+ };
122
+ const result = sortNestedArrays(data, config);
123
+ expect(result.users[0].name).to.equal('user1');
124
+ expect(result.users[1].name).to.equal('user2');
125
+ expect(result.users[0].tasks.map((t) => t.id)).to.deep.equal([
126
+ 'x',
127
+ 'y',
128
+ 'z',
129
+ ]);
130
+ expect(result.users[1].tasks.map((t) => t.id)).to.deep.equal([
131
+ 'a',
132
+ 'b',
133
+ 'c',
134
+ ]);
135
+ });
136
+ it('should not modify data when no sort configuration matches', () => {
137
+ const data = {
138
+ items: [
139
+ { name: 'c', value: 3 },
140
+ { name: 'a', value: 1 },
141
+ { name: 'b', value: 2 },
142
+ ],
143
+ otherItems: [
144
+ { id: 3, label: 'Three' },
145
+ { id: 1, label: 'One' },
146
+ { id: 2, label: 'Two' },
147
+ ],
148
+ };
149
+ const config = {
150
+ arrays: [
151
+ { path: 'nonExistent', sortKey: 'name' },
152
+ { path: 'items.wrong.path', sortKey: 'value' },
153
+ ],
154
+ };
155
+ const result = sortNestedArrays(data, config);
156
+ // Data should remain unchanged
157
+ expect(result).to.deep.equal(data);
158
+ // Verify the original order is preserved
159
+ expect(result.items[0].name).to.equal('c');
160
+ expect(result.items[1].name).to.equal('a');
161
+ expect(result.items[2].name).to.equal('b');
162
+ expect(result.otherItems[0].id).to.equal(3);
163
+ expect(result.otherItems[1].id).to.equal(1);
164
+ expect(result.otherItems[2].id).to.equal(2);
165
+ });
166
+ it('should not match when path length is shorter than pattern length', () => {
167
+ const data = {
168
+ items: [
169
+ { name: 'c', value: 3 },
170
+ { name: 'a', value: 1 },
171
+ { name: 'b', value: 2 },
172
+ ],
173
+ };
174
+ // Pattern with longer path than exists in data
175
+ const config = {
176
+ arrays: [{ path: 'items.subItems[].name', sortKey: 'value' }],
177
+ };
178
+ const result = sortNestedArrays(data, config);
179
+ expect(result).to.deep.equal(data);
180
+ expect(result.items[0].name).to.equal('c');
181
+ expect(result.items[1].name).to.equal('a');
182
+ expect(result.items[2].name).to.equal('b');
183
+ });
184
+ it('should demonstrate difference between [] and * notations', () => {
185
+ const dataWithArray = {
186
+ root: {
187
+ categories: [
188
+ {
189
+ name: 'c',
190
+ items: [
191
+ {
192
+ age: 20,
193
+ name: 'c2',
194
+ },
195
+ {
196
+ age: 10,
197
+ name: 'c1',
198
+ },
199
+ ],
200
+ },
201
+ {
202
+ name: 'a',
203
+ items: [
204
+ {
205
+ age: 5,
206
+ name: 'a2',
207
+ },
208
+ {
209
+ age: 15,
210
+ name: 'a1',
211
+ },
212
+ ],
213
+ },
214
+ {
215
+ name: 'b',
216
+ items: [
217
+ {
218
+ age: 30,
219
+ name: 'b2',
220
+ },
221
+ {
222
+ age: 25,
223
+ name: 'b1',
224
+ },
225
+ ],
226
+ },
227
+ ],
228
+ },
229
+ };
230
+ const dataWithObject = {
231
+ root: {
232
+ categories: {
233
+ first: {
234
+ name: 'c',
235
+ items: [
236
+ {
237
+ age: 20,
238
+ name: 'c2',
239
+ },
240
+ {
241
+ age: 10,
242
+ name: 'c1',
243
+ },
244
+ ],
245
+ },
246
+ second: {
247
+ name: 'a',
248
+ items: [
249
+ {
250
+ age: 5,
251
+ name: 'a2',
252
+ },
253
+ {
254
+ age: 15,
255
+ name: 'a1',
256
+ },
257
+ ],
258
+ },
259
+ third: {
260
+ name: 'b',
261
+ items: [
262
+ {
263
+ age: 30,
264
+ name: 'b2',
265
+ },
266
+ {
267
+ age: 25,
268
+ name: 'b1',
269
+ },
270
+ ],
271
+ },
272
+ },
273
+ },
274
+ };
275
+ // Using [] notation only matches array structures
276
+ const arrayOnlyConfig = {
277
+ arrays: [{ path: 'root.categories[].items', sortKey: 'age' }],
278
+ };
279
+ // With * notation, both array and object children are matched
280
+ const wildcardConfig = {
281
+ arrays: [{ path: 'root.categories.*.items', sortKey: 'name' }],
282
+ };
283
+ const resultArrayNotationWithArray = sortNestedArrays(dataWithArray, arrayOnlyConfig);
284
+ expect(resultArrayNotationWithArray.root.categories[0].items).to.deep.equal([
285
+ { age: 10, name: 'c1' },
286
+ { age: 20, name: 'c2' },
287
+ ]);
288
+ expect(resultArrayNotationWithArray.root.categories[1].items).to.deep.equal([
289
+ { age: 5, name: 'a2' },
290
+ { age: 15, name: 'a1' },
291
+ ]);
292
+ const resultArrayNotationWithObject = sortNestedArrays(dataWithObject, arrayOnlyConfig);
293
+ expect(resultArrayNotationWithObject.root.categories.first.items).to.deep.equal([
294
+ { age: 20, name: 'c2' },
295
+ { age: 10, name: 'c1' },
296
+ ]);
297
+ const resultWildcardWithArray = sortNestedArrays(dataWithArray, wildcardConfig);
298
+ expect(resultWildcardWithArray.root.categories[0].items).to.deep.equal([
299
+ { age: 10, name: 'c1' },
300
+ { age: 20, name: 'c2' },
301
+ ]);
302
+ const resultWildcardWithObject = sortNestedArrays(dataWithObject, wildcardConfig);
303
+ expect(resultWildcardWithObject.root.categories.first.items).to.deep.equal([
304
+ { age: 10, name: 'c1' },
305
+ { age: 20, name: 'c2' },
306
+ ]);
307
+ expect(resultWildcardWithObject.root.categories.second.items).to.deep.equal([
308
+ { age: 15, name: 'a1' },
309
+ { age: 5, name: 'a2' },
310
+ ]);
311
+ const hybridConfig = {
312
+ arrays: [
313
+ { path: 'root.categories[].items', sortKey: 'age' },
314
+ { path: 'root.categories.*.items', sortKey: 'name' },
315
+ ],
316
+ };
317
+ const resultHybrid = sortNestedArrays(dataWithObject, hybridConfig);
318
+ expect(resultHybrid.root.categories.first.items).to.deep.equal([
319
+ { age: 10, name: 'c1' },
320
+ { age: 20, name: 'c2' },
321
+ ]);
322
+ });
323
+ });
324
+ describe('transformYaml', () => {
325
+ const testCases = [
326
+ {
327
+ name: 'should transform YAML content using the provided transformer',
328
+ original: `
329
+ name: test
330
+ items:
331
+ - id: 2
332
+ name: item2
333
+ - id: 1
334
+ name: item1
335
+ `,
336
+ expected: `name: test
337
+ items:
338
+ - id: 1
339
+ name: item1
340
+ - id: 2
341
+ name: item2`,
342
+ transformer: (data) => {
343
+ // Sort items by id
344
+ if (data?.items) {
345
+ data.items.sort((a, b) => a.id - b.id);
346
+ }
347
+ return data;
348
+ },
349
+ },
350
+ {
351
+ name: 'should preserve comments when transforming YAML',
352
+ original: `
353
+ # Root comment
354
+ name: test
355
+ # Comment for items
356
+ items:
357
+ # First item comment
358
+ - id: 2
359
+ name: item2
360
+ # Second item comment
361
+ - id: 1
362
+ name: item1
363
+ `,
364
+ expected: `# Root comment
365
+ name: test
366
+ # Comment for items
367
+ items:
368
+ # Second item comment
369
+ - id: 1
370
+ name: item1
371
+ # First item comment
372
+ - id: 2
373
+ name: item2`,
374
+ transformer: (data) => {
375
+ // Sort items by id
376
+ if (data?.items) {
377
+ data.items.sort((a, b) => a.id - b.id);
378
+ }
379
+ return data;
380
+ },
381
+ },
382
+ {
383
+ name: 'should handle nested objects and arrays',
384
+ original: `
385
+ config:
386
+ settings:
387
+ - name: setting3
388
+ value: 30
389
+ - name: setting1
390
+ value: 10
391
+ - name: setting2
392
+ value: 20
393
+ nested:
394
+ arrays:
395
+ - items:
396
+ - key: c
397
+ val: 3
398
+ - key: a
399
+ val: 1
400
+ - key: b
401
+ val: 2
402
+ `,
403
+ expected: `config:
404
+ settings:
405
+ - name: setting1
406
+ value: 10
407
+ - name: setting2
408
+ value: 20
409
+ - name: setting3
410
+ value: 30
411
+ nested:
412
+ arrays:
413
+ - items:
414
+ - key: a
415
+ val: 1
416
+ - key: b
417
+ val: 2
418
+ - key: c
419
+ val: 3`,
420
+ transformer: (data) => {
421
+ // Sort settings by name
422
+ if (data?.config?.settings) {
423
+ data.config.settings.sort((a, b) => a.name.localeCompare(b.name));
424
+ }
425
+ // Sort nested items by key
426
+ if (data?.config?.nested?.arrays?.[0]?.items) {
427
+ data.config.nested.arrays[0].items.sort((a, b) => a.key.localeCompare(b.key));
428
+ }
429
+ return data;
430
+ },
431
+ },
432
+ {
433
+ name: 'should handle empty arrays and add new items',
434
+ original: `
435
+ project:
436
+ tasks: []
437
+ status: pending
438
+ `,
439
+ expected: `project:
440
+ tasks:
441
+ - id: 1
442
+ name: Task 1
443
+ - id: 2
444
+ name: Task 2
445
+ status: pending`,
446
+ transformer: (data) => {
447
+ // Add new items to empty array
448
+ if (data?.project?.tasks) {
449
+ data.project.tasks = [
450
+ { id: 1, name: 'Task 1' },
451
+ { id: 2, name: 'Task 2' },
452
+ ];
453
+ }
454
+ return data;
455
+ },
456
+ },
457
+ {
458
+ name: 'should handle inline comments',
459
+ original: `
460
+ services: # Main services
461
+ - name: api # REST API
462
+ port: 3000 # Default port
463
+ - name: db # Database
464
+ port: 5432 # Postgres port
465
+ `,
466
+ expected: `services: # Main services
467
+ - name: db # Database
468
+ port: 5432 # Postgres port
469
+ - name: api # REST API
470
+ port: 3000 # Default port`,
471
+ transformer: (data) => {
472
+ // Sort services by name in reverse
473
+ if (data?.services) {
474
+ data.services.sort((a, b) => b.name.localeCompare(a.name));
475
+ }
476
+ return data;
477
+ },
478
+ },
479
+ {
480
+ name: 'should handle property deletion and modification',
481
+ original: `
482
+ config:
483
+ debug: true
484
+ environment: development
485
+ features:
486
+ legacy: true
487
+ experimental: false
488
+ beta: true
489
+ `,
490
+ expected: `config:
491
+ environment: production
492
+ features:
493
+ experimental: true
494
+ beta: true`,
495
+ transformer: (data) => {
496
+ if (data?.config) {
497
+ // Delete debug property
498
+ delete data.config.debug;
499
+ // Change environment value
500
+ data.config.environment = 'production';
501
+ // Remove legacy feature
502
+ if (data.config.features) {
503
+ delete data.config.features.legacy;
504
+ // Enable experimental feature
505
+ data.config.features.experimental = true;
506
+ }
507
+ }
508
+ return data;
509
+ },
510
+ },
511
+ ];
512
+ testCases.forEach(({ name, original, expected, transformer }) => {
513
+ it(name, () => {
514
+ const result = transformYaml(original, transformer);
515
+ expect(result.trim()).to.equal(expected);
516
+ });
517
+ });
518
+ });
29
519
  //# sourceMappingURL=yaml.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yaml.test.js","sourceRoot":"","sources":["../src/yaml.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,kBAAkB,CAAC;QACtC,MAAM,MAAM,GAAQ,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,UAAU,GAAG,YAAY,CAAC;QAChC,MAAM,MAAM,GAAQ,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;QAC5C,MAAM,MAAM,GAAQ,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,iBAAiB,GAAG,aAAa,CAAC;QACxC,MAAM,MAAM,GAAQ,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"yaml.test.js","sourceRoot":"","sources":["../src/yaml.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/utils",
3
3
  "description": "General utilities and types for the Hyperlane network",
4
- "version": "13.0.0",
4
+ "version": "13.1.1",
5
5
  "dependencies": {
6
6
  "@cosmjs/encoding": "^0.32.4",
7
7
  "@solana/web3.js": "^1.95.4",
@@ -14,6 +14,7 @@
14
14
  },
15
15
  "devDependencies": {
16
16
  "@eslint/js": "^9.15.0",
17
+ "@hyperlane-xyz/tsconfig": "workspace:^",
17
18
  "@types/lodash-es": "^4.17.12",
18
19
  "@types/mocha": "^10.0.1",
19
20
  "@types/sinon": "^17.0.1",