(
root: string,
entries: Array<{ path: string; mtimeMs: number; size: number; meta: NoteMeta }>
)
| 1817 | } |
| 1818 | |
| 1819 | async function persistNoteMetaCacheSnapshot( |
| 1820 | root: string, |
| 1821 | entries: Array<{ path: string; mtimeMs: number; size: number; meta: NoteMeta }> |
| 1822 | ): Promise<void> { |
| 1823 | const target = noteMetaCachePath(root) |
| 1824 | const temp = `${target}.${process.pid}.${Date.now()}.tmp` |
| 1825 | try { |
| 1826 | await fs.mkdir(path.dirname(target), { recursive: true }) |
| 1827 | await fs.writeFile( |
| 1828 | temp, |
| 1829 | `${JSON.stringify({ version: NOTE_META_CACHE_VERSION, entries })}\n`, |
| 1830 | 'utf8' |
| 1831 | ) |
| 1832 | await fs.rename(temp, target) |
| 1833 | } catch { |
| 1834 | await fs.rm(temp, { force: true }).catch(() => {}) |
| 1835 | } |
| 1836 | } |
| 1837 | |
| 1838 | function schedulePersistNoteMetaCache(root: string, metas: NoteMeta[]): void { |
| 1839 | if (process.env.ZEN_PERF_DISABLE_PERSISTED_META_CACHE === '1') return |
no test coverage detected