init
This commit is contained in:
commit
d295c7f139
1527 files changed
+270726
No files matched your search
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* tracker-utils.mjs — shared helpers for rewriting `data/applications.md` rows.
|
||||
*
|
||||
* The tracker is a markdown table that several scripts mutate in place
|
||||
* (`dedup-tracker.mjs`, `normalize-statuses.mjs`). Keeping the row-rewrite logic
|
||||
* here means a fix lands once instead of drifting between copies.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Rebuild a markdown table row from the cells produced by `line.split('|')`.
|
||||
*
|
||||
* `split('|')` yields a leading empty element (before the opening `|`) and,
|
||||
* when the row ends with a trailing `|`, a trailing empty element too. A naive
|
||||
* `slice(1, -1)` assumes that trailing empty always exists — but a row written
|
||||
* without a trailing pipe (`| 5 | … | note`, still a valid row) keeps its real
|
||||
* last cell (the notes) at the end, so `slice(1, -1)` silently drops it. Here we
|
||||
* drop the leading empty and only drop a trailing element when it is genuinely
|
||||
* empty, preserving every real cell regardless of trailing-pipe style (and
|
||||
* tolerating extra columns like a custom Location).
|
||||
*
|
||||
* @param {string[]} parts - Trimmed cells from `line.split('|').map(s => s.trim())`.
|
||||
* @returns {string} The rebuilt `| a | b | … |` row.
|
||||
*/
|
||||
export function rebuildRow(parts) {
|
||||
const cells = parts.slice(1);
|
||||
if (cells.length > 0 && cells[cells.length - 1] === '') cells.pop();
|
||||
return '| ' + cells.join(' | ') + ' |';
|
||||
}
|
||||
Reference in new issue
Block a user