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(),
 | ||||
|     ); | ||||
|   }); | ||||
| 
 | ||||
|   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) { | ||||
|   return withDefaultOnError(() => { | ||||
|     const obj = parseYaml(value); | ||||
|     const obj = parseYaml(value, { merge: true }); | ||||
|     return obj ? JSON.stringify(obj, null, 3) : ''; | ||||
|   }, ''); | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user