Split a vault-relative folder path into (folder, subpath) — inverse of vaultRelDir.
(rel: string, atRoot: boolean)
| 778 | |
| 779 | /** Split a vault-relative folder path into (folder, subpath) — inverse of vaultRelDir. */ |
| 780 | function splitVaultPath(rel: string, atRoot: boolean): { folder: NoteFolder; subpath: string } { |
| 781 | const parts = dbToPosix(rel).split('/').filter(Boolean) |
| 782 | const top = parts[0] |
| 783 | if (top === 'quick' || top === 'archive' || top === 'trash') { |
| 784 | return { folder: top as NoteFolder, subpath: parts.slice(1).join('/') } |
| 785 | } |
| 786 | if (top === 'inbox' && !atRoot) { |
| 787 | return { folder: 'inbox', subpath: parts.slice(1).join('/') } |
| 788 | } |
| 789 | return { folder: 'inbox', subpath: parts.join('/') } |
| 790 | } |
| 791 | |
| 792 | async function openDatabase(csvPath: string): Promise<DatabaseDoc> { |
| 793 | const rel = dbToPosix(csvPath) |
no test coverage detected