fix(yaml-to-json): allow merge key to be parsed
This commit is contained in:
		
							parent
							
								
									5732483fc2
								
							
						
					
					
						commit
						bc48880fe6
					
				| @ -28,4 +28,53 @@ test.describe('Tool - Yaml to json', () => { | |||||||
|    `.trim(),
 |    `.trim(),
 | ||||||
|     ); |     ); | ||||||
|   }); |   }); | ||||||
|  | 
 | ||||||
|  |   test('Yaml is parsed and output clean json', async ({ page }) => { | ||||||
|  |     await page.getByTestId('input').fill(` | ||||||
|  |       default: &default | ||||||
|  |         name: '' | ||||||
|  |         age: 0 | ||||||
|  | 
 | ||||||
|  |       person: | ||||||
|  |         *default | ||||||
|  | 
 | ||||||
|  |       persons: | ||||||
|  |       - <<: *default | ||||||
|  |         age: 1 | ||||||
|  |       - <<: *default | ||||||
|  |         name: John | ||||||
|  |       - { age: 3, <<: *default } | ||||||
|  |        | ||||||
|  |       `);
 | ||||||
|  | 
 | ||||||
|  |     const generatedJson = await page.getByTestId('area-content').innerText(); | ||||||
|  | 
 | ||||||
|  |     expect(generatedJson.trim()).toEqual( | ||||||
|  |       ` | ||||||
|  | { | ||||||
|  |    "default": { | ||||||
|  |       "name": "", | ||||||
|  |       "age": 0 | ||||||
|  |    }, | ||||||
|  |    "person": { | ||||||
|  |       "name": "", | ||||||
|  |       "age": 0 | ||||||
|  |    }, | ||||||
|  |    "persons": [ | ||||||
|  |       { | ||||||
|  |          "name": "", | ||||||
|  |          "age": 1 | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |          "name": "John", | ||||||
|  |          "age": 0 | ||||||
|  |       }, | ||||||
|  |       { | ||||||
|  |          "age": 3, | ||||||
|  |          "name": "" | ||||||
|  |       } | ||||||
|  |    ] | ||||||
|  | }`.trim(),
 | ||||||
|  |     ); | ||||||
|  |   }); | ||||||
| }); | }); | ||||||
|  | |||||||
| @ -6,7 +6,7 @@ import { withDefaultOnError } from '@/utils/defaults'; | |||||||
| 
 | 
 | ||||||
| function transformer(value: string) { | function transformer(value: string) { | ||||||
|   return withDefaultOnError(() => { |   return withDefaultOnError(() => { | ||||||
|     const obj = parseYaml(value); |     const obj = parseYaml(value, { merge: true }); | ||||||
|     return obj ? JSON.stringify(obj, null, 3) : ''; |     return obj ? JSON.stringify(obj, null, 3) : ''; | ||||||
|   }, ''); |   }, ''); | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user