(jsonStr: unknown)
| 12 | } |
| 13 | |
| 14 | export function parsePartialJson(jsonStr: unknown): Record<string, any> { |
| 15 | if (typeof jsonStr !== 'string' || jsonStr.trim() === '') { |
| 16 | return {}; |
| 17 | } |
| 18 | |
| 19 | try { |
| 20 | return objectParams(JSON.parse(jsonStr)); |
| 21 | } catch { |
| 22 | try { |
| 23 | const result = parse(jsonStr, Allow.ALL); |
| 24 | return objectParams(result); |
| 25 | } catch (error) { |
| 26 | log.warn('Failed to parse partial JSON', error); |
| 27 | return {}; |
| 28 | } |
| 29 | } |
| 30 | } |
| 31 | |
| 32 | export function isFieldComplete(jsonStr: string, fieldName: string): boolean { |
| 33 | const parsed = parsePartialJson(jsonStr); |
no test coverage detected