(csvPath: string)
| 54 | * database data file. e.g. `a/X.base/data.csv` → `a/X.base`. |
| 55 | */ |
| 56 | export function formDirFromCsvPath(csvPath: string): string | null { |
| 57 | const p = toPosixPath(csvPath) |
| 58 | const slash = p.lastIndexOf('/') |
| 59 | if (slash < 0) return null |
| 60 | const dir = p.slice(0, slash) |
| 61 | const file = p.slice(slash + 1) |
| 62 | if (file.toLowerCase() !== FORM_DATA_FILE) return null |
| 63 | return isFormDirName(dir) ? dir : null |
| 64 | } |
| 65 | |
| 66 | /** The `data.csv` path for a database folder path. e.g. `a/X.base` → `a/X.base/data.csv`. */ |
| 67 | export function csvPathForFormDir(formDir: string): string { |
no test coverage detected