( relativePath: string, current: ExistingModel, desired: z.infer<typeof SyncedAuthoredModel>, )
| 597 | } |
| 598 | |
| 599 | function sameModel( |
| 600 | relativePath: string, |
| 601 | current: ExistingModel, |
| 602 | desired: z.infer<typeof SyncedAuthoredModel>, |
| 603 | ) { |
| 604 | const parsed = SyncedAuthoredModel.safeParse({ |
| 605 | id: relativePath.slice(0, -5), |
| 606 | ...current, |
| 607 | }); |
| 608 | return parsed.success && stable(parsed.data) === stable(desired); |
| 609 | } |
| 610 | |
| 611 | function stable(value: unknown): string { |
| 612 | if (Array.isArray(value)) { |
no test coverage detected