tn-elections-mcp 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/tncamp-client.d.ts +10 -1
- package/dist/api/tncamp-client.js +9 -2
- package/dist/api/tncamp-client.js.map +1 -1
- package/dist/parsers/tncamp-report.js +208 -115
- package/dist/parsers/tncamp-report.js.map +1 -1
- package/dist/parsers/tncamp-report.test.d.ts +1 -0
- package/dist/parsers/tncamp-report.test.js +847 -0
- package/dist/parsers/tncamp-report.test.js.map +1 -0
- package/dist/tools/tncamp.js +26 -9
- package/dist/tools/tncamp.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/package.json +1 -1
|
@@ -27,7 +27,16 @@ export declare function searchCandidates(params: CandidateSearchParams): Promise
|
|
|
27
27
|
export declare function getCandidateReports(candidateId: number, ownerName: string): Promise<TncampReport[]>;
|
|
28
28
|
export declare function getReportDetail(reportId: number): Promise<TncampReportDetail>;
|
|
29
29
|
export interface ContributionSearchParams {
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Filter by the candidate/PAC that RECEIVED the contribution.
|
|
32
|
+
*
|
|
33
|
+
* ⚠️ There is deliberately NO `candName` here. tncamp IGNORES `candName` on the contributions
|
|
34
|
+
* form — measured 2026-08-29, `candName=HANCOCK` and `candName=ZZQXNONEXISTENT` both returned
|
|
35
|
+
* the identical unfiltered 912-record set. Omitting it from the type turns a silently wrong
|
|
36
|
+
* result into a compile error. `candName` remains valid on ExpenditureSearchParams, where it
|
|
37
|
+
* genuinely filters.
|
|
38
|
+
*/
|
|
39
|
+
recipientName?: string;
|
|
31
40
|
contributorName?: string;
|
|
32
41
|
employer?: string;
|
|
33
42
|
occupation?: string;
|
|
@@ -215,7 +215,9 @@ function buildCeFormData(searchType, params) {
|
|
|
215
215
|
const form = new URLSearchParams();
|
|
216
216
|
form.set('searchType', searchType);
|
|
217
217
|
form.set('toType', 'both');
|
|
218
|
-
|
|
218
|
+
// candName is expenditure-only; it is inert on the contributions form (see
|
|
219
|
+
// ContributionSearchParams). Set per-branch below rather than off the union.
|
|
220
|
+
form.set('candName', '');
|
|
219
221
|
form.set('yearSelection', params.year);
|
|
220
222
|
form.set('electionYearSelection', params.electionYearId || '');
|
|
221
223
|
form.set('typeOf', params.typeOf || 'all');
|
|
@@ -242,7 +244,11 @@ function buildCeFormData(searchType, params) {
|
|
|
242
244
|
if (searchType === 'contributions') {
|
|
243
245
|
const cp = params;
|
|
244
246
|
form.set('contributorName', cp.contributorName || '');
|
|
245
|
-
form
|
|
247
|
+
// The contributions form filters by recipient via `recipientName`, NOT `candName`.
|
|
248
|
+
// `candName` is inert here (see ContributionSearchParams). Verified 2026-08-29 against
|
|
249
|
+
// apps.tn.gov: recipientName=HANCOCK -> 148 records, recipientName=ZZQXNONEXISTENT -> none,
|
|
250
|
+
// while candName varied not at all from the 912-record unfiltered baseline.
|
|
251
|
+
form.set('recipientName', cp.recipientName || '');
|
|
246
252
|
form.set('employer', cp.employer || '');
|
|
247
253
|
form.set('occupation', cp.occupation || '');
|
|
248
254
|
form.set('zipCode', cp.zipCode || '');
|
|
@@ -261,6 +267,7 @@ function buildCeFormData(searchType, params) {
|
|
|
261
267
|
}
|
|
262
268
|
else {
|
|
263
269
|
const ep = params;
|
|
270
|
+
form.set('candName', ep.candName || '');
|
|
264
271
|
form.set('contributorName', '');
|
|
265
272
|
form.set('recipientName', '');
|
|
266
273
|
form.set('employer', '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tncamp-client.js","sourceRoot":"","sources":["../../src/api/tncamp-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tncamp-client.js","sourceRoot":"","sources":["../../src/api/tncamp-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,6 @@
|
|
|
2
2
|
* tncamp report_full.htm parser.
|
|
3
3
|
* Extracts financial aggregates and itemized line items from h-tag sections.
|
|
4
4
|
*/
|
|
5
|
-
function parseDollar(text) {
|
|
6
|
-
const match = text.match(/\$([\d,]+\.?\d*)/);
|
|
7
|
-
if (!match)
|
|
8
|
-
return 0;
|
|
9
|
-
return parseFloat(match[1].replace(/,/g, '')) || 0;
|
|
10
|
-
}
|
|
11
5
|
/**
|
|
12
6
|
* Extract a dollar amount following a label in the full text.
|
|
13
7
|
* Looks for patterns like "TOTAL CONTRIBUTIONS ... $38,910.00"
|
|
@@ -22,98 +16,201 @@ function extractAggregate(fullText, label) {
|
|
|
22
16
|
return 0;
|
|
23
17
|
}
|
|
24
18
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
19
|
+
* Itemized line items are read from the page's data tables, located by section heading and
|
|
20
|
+
* selected by header signature. See `sectionTable` for the two rules that must not be simplified
|
|
21
|
+
* away (no id lookups, no positional selection) and the evidence behind each.
|
|
22
|
+
*
|
|
23
|
+
* Confirmed unpaginated to at least 587 rows: the full row set renders inline, with no `p=2` link
|
|
24
|
+
* and no "displaying N of M" banner. The `d-…-p=` params on the column headers are sort links.
|
|
27
25
|
*/
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
//
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
26
|
+
function cellText(td) {
|
|
27
|
+
// ⚠️ Only <br> is a line break. The source HTML is pretty-printed, so a single logical line
|
|
28
|
+
// ("ADELMAN" + ", WILLIAM") arrives split across several raw newlines — collapsing ALL
|
|
29
|
+
// whitespace first and splitting only on a <br> sentinel is what keeps names intact.
|
|
30
|
+
// Strip any literal U+0001 from the source first, so real data can never be mistaken for the
|
|
31
|
+
// <br> sentinel. No fixture contains one; this closes the hole rather than relying on that.
|
|
32
|
+
const BR = '\u0001';
|
|
33
|
+
return td
|
|
34
|
+
.replace(/\u0001/g, '')
|
|
35
|
+
.replace(/<br\s*\/?>/gi, BR)
|
|
36
|
+
.replace(/<[^>]+>/g, ' ')
|
|
37
|
+
.replace(/ /g, ' ')
|
|
38
|
+
// ⚠️ tncamp emits the LEADING-ZERO numeric form `'`, which a literal `'` rule misses —
|
|
39
|
+
// real data carries "Daddy's Dogs", "AMERIGO'S", "LOVE'S TRAVEL STOP". Decode
|
|
40
|
+
// numeric entities generically, and decode & LAST so `&#039;` cannot double-decode.
|
|
41
|
+
.replace(/&#x([0-9a-f]+);/gi, (_, h) => String.fromCodePoint(parseInt(h, 16)))
|
|
42
|
+
.replace(/&#(\d+);/g, (_, d) => String.fromCodePoint(parseInt(d, 10)))
|
|
43
|
+
.replace(/'/g, "'")
|
|
44
|
+
.replace(/"/g, '"')
|
|
45
|
+
.replace(/</g, '<')
|
|
46
|
+
.replace(/>/g, '>')
|
|
47
|
+
.replace(/&/g, '&')
|
|
48
|
+
.replace(/\s+/g, ' ')
|
|
49
|
+
.split(BR)
|
|
50
|
+
.map((l) => l.replace(/\s+,/g, ',').replace(/,\s+/g, ', ').trim())
|
|
51
|
+
.filter(Boolean)
|
|
52
|
+
.join('\n')
|
|
53
|
+
.trim();
|
|
45
54
|
}
|
|
46
55
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
56
|
+
* Locate a section's data table: scope to the section by its <h2> heading, then pick the first
|
|
57
|
+
* table inside it whose HEADER ROW carries the expected entity column.
|
|
58
|
+
*
|
|
59
|
+
* ⚠️ TWO RULES, each learned from a real defect. Do not simplify either away.
|
|
60
|
+
*
|
|
61
|
+
* 1. DO NOT select by `id`. Ids here are neither unique nor semantic — `report-louallen-126212`
|
|
62
|
+
* carries TWO `id="contribution"` tables (Receipts and In-Kind), so an id lookup returns
|
|
63
|
+
* Receipts twice and drops In-Kind.
|
|
64
|
+
* 2. DO NOT take the first table in the section. A section routinely opens with a table that is
|
|
65
|
+
* NOT the itemized list:
|
|
66
|
+
* - Disbursements may open with an "Expenditures, Unitemized" breakdown `{purpose, amount}`
|
|
67
|
+
* (reportId 100136: 6 rows; 72153: 11 rows), or with Loan Payments
|
|
68
|
+
* `{loan source, payment}` (86229).
|
|
69
|
+
* - Receipts may contain a Loans Received table `{loan source, ...}` (72153).
|
|
70
|
+
* Taking position 1 returned 6 junk rows totalling $1,153.13 for report 100136 and DROPPED its
|
|
71
|
+
* real 111-row, $218,578.55 itemized list; on 86229 it fabricated loan rows as expenditures.
|
|
72
|
+
*
|
|
73
|
+
* Header signatures observed across 7 real reports:
|
|
74
|
+
* Receipts itemized {contributor, c/p, rec'd for, date, amount, aggregate}
|
|
75
|
+
* In-Kind itemized {contributor, c/p, rec'd for, DETAILS, date, amount, aggregate} (7 cols)
|
|
76
|
+
* Disbursements {vendor, c/p, purpose, date, amount}
|
|
77
|
+
* Unitemized {purpose, amount} <- not an itemized list
|
|
78
|
+
* Loans Received {loan source, election rec'd for, date, amount}
|
|
79
|
+
* Loan Payments {loan source, payment}
|
|
80
|
+
* Outstanding Loans {loans, beg balance, paid, end balance*}
|
|
81
|
+
*
|
|
82
|
+
* A section whose tables match no signature yields [] rather than junk — failing empty is safe,
|
|
83
|
+
* failing plausible is not.
|
|
84
|
+
*
|
|
85
|
+
* NOTE the first matching table is taken deliberately: "Expenditures, Adjustments" renders as a
|
|
86
|
+
* LATER table with headers identical to the itemized list. Merging them would double-count and
|
|
87
|
+
* mis-sign (adjustments render positive). Itemized + Unitemized ties to TOTAL EXPENDITURES;
|
|
88
|
+
* adjustments sit outside it.
|
|
49
89
|
*/
|
|
50
|
-
function
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
.
|
|
57
|
-
.
|
|
58
|
-
.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
.replace(/Loans? Received[^$]*\$[\d,.]+/gi, '')
|
|
63
|
-
.replace(/Interest Received[^$]*\$[\d,.]+/gi, '')
|
|
64
|
-
.replace(/Loan Payments[^$]*\$[\d,.]+/gi, '')
|
|
65
|
-
.replace(/Obligation Payments[^$]*\$[\d,.]+/gi, '')
|
|
66
|
-
.replace(/Expenditures?, Adjustments[^$]*\$[\d,.]+/gi, '')
|
|
67
|
-
.replace(/Unitemized\s*\$[\d,.]+/gi, '')
|
|
68
|
-
.replace(/Itemized\s*\$[\d,.]+/gi, '')
|
|
69
|
-
.replace(/Obligations?, Outstanding from Previous[^$]*\$[\d,.]+/gi, '')
|
|
70
|
-
.trim();
|
|
71
|
-
if (!cleanText)
|
|
72
|
-
return items;
|
|
73
|
-
// Split on patterns that look like: date followed by dollar amount
|
|
74
|
-
// Each itemized entry ends with a date (MM/DD/YYYY) and amount ($X,XXX.XX)
|
|
75
|
-
// There may also be an aggregate amount after the contribution amount
|
|
76
|
-
const entryPattern = /(\d{2}\/\d{2}\/\d{4})\s+\$([\d,]+\.?\d*)/g;
|
|
77
|
-
let match;
|
|
78
|
-
let lastEnd = 0;
|
|
79
|
-
const entries = [];
|
|
80
|
-
while ((match = entryPattern.exec(cleanText)) !== null) {
|
|
81
|
-
const textBefore = cleanText.substring(lastEnd, match.index).trim();
|
|
82
|
-
entries.push({
|
|
83
|
-
textBefore,
|
|
84
|
-
date: match[1],
|
|
85
|
-
amount: parseFloat(match[2].replace(/,/g, '')) || 0,
|
|
86
|
-
});
|
|
87
|
-
// Skip past the amount and any aggregate that follows
|
|
88
|
-
lastEnd = match.index + match[0].length;
|
|
89
|
-
// Check if there's an aggregate amount right after (e.g., "$1,500.00 $1,500.00")
|
|
90
|
-
const afterMatch = cleanText.substring(lastEnd).match(/^\s+\$([\d,]+\.?\d*)/);
|
|
91
|
-
if (afterMatch) {
|
|
92
|
-
lastEnd += afterMatch[0].length;
|
|
90
|
+
function sectionTable(html, heading, entityColumns) {
|
|
91
|
+
const headings = [...html.matchAll(/<h2[^>]*>([\s\S]*?)<\/h2>/gi)];
|
|
92
|
+
for (let i = 0; i < headings.length; i++) {
|
|
93
|
+
const text = headings[i][1].replace(/<[^>]+>/g, '').replace(/\s+/g, ' ').trim();
|
|
94
|
+
if (!heading.test(text))
|
|
95
|
+
continue;
|
|
96
|
+
const from = headings[i].index + headings[i][0].length;
|
|
97
|
+
const to = i + 1 < headings.length ? headings[i + 1].index : html.length;
|
|
98
|
+
for (const t of html.slice(from, to).matchAll(/<table[^>]*>([\s\S]*?)<\/table>/gi)) {
|
|
99
|
+
const headers = tableHeaders(t[1]);
|
|
100
|
+
if (entityColumns.some((c) => headers.includes(c)))
|
|
101
|
+
return t[1];
|
|
93
102
|
}
|
|
103
|
+
return null; // section present, no table matching the signature = genuinely empty
|
|
94
104
|
}
|
|
95
|
-
|
|
96
|
-
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
/** Header cell labels, lowercased, in column order. */
|
|
108
|
+
function tableHeaders(tableHtml) {
|
|
109
|
+
const headRow = tableHtml.match(/<tr[^>]*>([\s\S]*?)<\/tr>/i);
|
|
110
|
+
if (!headRow || !/<th[\s>]/i.test(headRow[1]))
|
|
111
|
+
return [];
|
|
112
|
+
return [...headRow[1].matchAll(/<th[^>]*>([\s\S]*?)<\/th>/gi)].map((m) => cellText(m[1]).toLowerCase().replace(/\*+$/, '').trim());
|
|
113
|
+
}
|
|
114
|
+
/** Split a table body into rows of cell text. Header rows (`<th>`) are skipped. */
|
|
115
|
+
function tableRows(tableHtml) {
|
|
116
|
+
const rows = [];
|
|
117
|
+
for (const rowMatch of tableHtml.matchAll(/<tr[^>]*>([\s\S]*?)<\/tr>/gi)) {
|
|
118
|
+
const row = rowMatch[1];
|
|
119
|
+
if (/<th[\s>]/i.test(row))
|
|
97
120
|
continue;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
121
|
+
const cells = [...row.matchAll(/<td[^>]*>([\s\S]*?)<\/td>/gi)].map((m) => cellText(m[1]));
|
|
122
|
+
if (cells.length)
|
|
123
|
+
rows.push(cells);
|
|
124
|
+
}
|
|
125
|
+
return rows;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* The first cell packs name and address into one <td> separated by <br>. Occupation and employer,
|
|
129
|
+
* when present, trail the address lines.
|
|
130
|
+
*/
|
|
131
|
+
function splitEntity(cell, expectExtras) {
|
|
132
|
+
const lines = cell.split('\n').map((l) => l.trim()).filter(Boolean);
|
|
133
|
+
const name = (lines.shift() || '').replace(/\s*,\s*/, ', ').trim();
|
|
134
|
+
// Address runs to the line carrying "CITY, ST ZIP"; anything after is occupation/employer.
|
|
135
|
+
// ⚠️ The COMMA IS LOAD-BEARING — do not drop it to be "permissive". Without it, "P.O. BOX 12255"
|
|
136
|
+
// matches ("OX" + " " + "12255" reads as ST + ZIP), so a PO-box entity has its real city line
|
|
137
|
+
// demoted to occupation. ZIP+4 is allowed.
|
|
138
|
+
let cut = lines.findIndex((l) => /,\s*[A-Z]{2}\s+\d{5}(-\d{4})?\s*$/.test(l));
|
|
139
|
+
if (cut === -1) {
|
|
140
|
+
// No recognisable ZIP line. Only contribution-shaped tables carry trailing occupation and
|
|
141
|
+
// employer lines, so on those assume the last two are the extras rather than swallowing them
|
|
142
|
+
// into the address. Expenditure and loan tables have no extras to lose, so take every line.
|
|
143
|
+
cut = expectExtras && lines.length > 2 ? lines.length - 3 : lines.length - 1;
|
|
144
|
+
}
|
|
145
|
+
return {
|
|
146
|
+
name,
|
|
147
|
+
address: lines.slice(0, Math.max(cut + 1, 0)).join('\n'),
|
|
148
|
+
extra: lines.slice(cut + 1),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
function parseMoney(text) {
|
|
152
|
+
// Accept a leading decimal point ("$.50") as well as "$1,234.56". Requiring a leading digit
|
|
153
|
+
// turned $.50 into 50 — a 100x error.
|
|
154
|
+
const hit = text.match(/(\d[\d,]*(?:\.\d+)?|\.\d+)/);
|
|
155
|
+
if (!hit)
|
|
156
|
+
return 0;
|
|
157
|
+
const n = parseFloat(hit[1].replace(/,/g, '')) || 0;
|
|
158
|
+
// Negatives render as -$100.00, $-100.00, ($100.00) or (100.00) — parentheses count with or
|
|
159
|
+
// without a dollar sign. No negative amount appears in any real report seen so far, so this is
|
|
160
|
+
// defensive and is covered by unit tests rather than by a fixture.
|
|
161
|
+
const negative = /-\s*\$?\s*[\d.,]/.test(text) || /\(\s*\$?\s*[\d.,]/.test(text);
|
|
162
|
+
return negative ? -n : n;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Parse one section's table into line items, resolving columns BY HEADER NAME.
|
|
166
|
+
*
|
|
167
|
+
* ⚠️ Column positions are NOT stable across sections. Receipts has 6 columns while In-Kind has 7
|
|
168
|
+
* (it inserts a "Details" column at index 3), so positional indexing read In-Kind's date as
|
|
169
|
+
* "Event Fee Rental" and parsed "03/07/2026" into an amount of 3. Loans has no Date column at all
|
|
170
|
+
* and its money column is "End Balance". Reading the <th> row keeps all of them correct, and keeps
|
|
171
|
+
* Obligations working even though no captured fixture contains one.
|
|
172
|
+
*/
|
|
173
|
+
function parseSection(html, heading, entityColumns) {
|
|
174
|
+
const table = sectionTable(html, heading, entityColumns);
|
|
175
|
+
if (!table)
|
|
176
|
+
return [];
|
|
177
|
+
const headers = tableHeaders(table);
|
|
178
|
+
const col = (...names) => {
|
|
179
|
+
for (const n of names) {
|
|
180
|
+
const i = headers.findIndex((h) => h === n);
|
|
181
|
+
if (i !== -1)
|
|
182
|
+
return i;
|
|
183
|
+
}
|
|
184
|
+
for (const n of names) {
|
|
185
|
+
const i = headers.findIndex((h) => h.includes(n));
|
|
186
|
+
if (i !== -1)
|
|
187
|
+
return i;
|
|
111
188
|
}
|
|
189
|
+
return -1;
|
|
190
|
+
};
|
|
191
|
+
const iDate = col('date');
|
|
192
|
+
// "end balance" is the loans table's money column; prefer a plain "amount" where both exist.
|
|
193
|
+
const iAmount = col('amount', 'end balance');
|
|
194
|
+
const iPurpose = col('purpose');
|
|
195
|
+
const iDetails = col('details');
|
|
196
|
+
// Only contribution-shaped tables (Contributor / Aggregate) carry occupation + employer lines.
|
|
197
|
+
const expectExtras = headers.includes('contributor');
|
|
198
|
+
const items = [];
|
|
199
|
+
for (const cells of tableRows(table)) {
|
|
200
|
+
if (!cells.length)
|
|
201
|
+
continue;
|
|
202
|
+
const { name, address, extra } = splitEntity(cells[0] || '', expectExtras);
|
|
203
|
+
if (!name)
|
|
204
|
+
continue;
|
|
205
|
+
const purposeText = iPurpose !== -1 ? cells[iPurpose] : iDetails !== -1 ? cells[iDetails] : '';
|
|
112
206
|
items.push({
|
|
113
207
|
name,
|
|
114
208
|
address,
|
|
115
|
-
date:
|
|
116
|
-
amount:
|
|
209
|
+
date: iDate !== -1 ? cells[iDate] || '' : '',
|
|
210
|
+
amount: iAmount !== -1 ? parseMoney(cells[iAmount] || '') : 0,
|
|
211
|
+
...(extra[0] ? { occupation: extra[0] } : {}),
|
|
212
|
+
...(extra[1] ? { employer: extra[1] } : {}),
|
|
213
|
+
...(purposeText ? { purpose: purposeText } : {}),
|
|
117
214
|
});
|
|
118
215
|
}
|
|
119
216
|
return items;
|
|
@@ -122,16 +219,27 @@ export function parseReportDetail(html, reportId) {
|
|
|
122
219
|
// Extract full text for aggregate searching
|
|
123
220
|
const fullText = html.replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ');
|
|
124
221
|
// Extract candidate name and report title from the page
|
|
125
|
-
|
|
222
|
+
// ⚠️ The report title is in <h1>. The page's <h2> tags are section headings
|
|
223
|
+
// ("Beginning Balance", "Receipts", ...), so matching h2 here returned "Beginning Balance"
|
|
224
|
+
// and left candidateName empty on EVERY report. Fall back to h2 for older page shapes.
|
|
225
|
+
const titleMatch = html.match(/<h1[^>]*>([\s\S]*?)<\/h1>/i) || html.match(/<h2[^>]*>([\s\S]*?)<\/h2>/i);
|
|
126
226
|
let candidateName = '';
|
|
127
227
|
let reportTitle = '';
|
|
228
|
+
let amended = false;
|
|
128
229
|
if (titleMatch) {
|
|
129
|
-
|
|
230
|
+
// Decode entities here too — tncamp emits `'`, so an O'NEAL or a "SMITH & JONES PAC"
|
|
231
|
+
// would otherwise surface still-encoded in candidateName.
|
|
232
|
+
const titleText = cellText(titleMatch[1]).replace(/\s+/g, ' ').trim();
|
|
130
233
|
// Format: "2028 \n Annual Year End Supplemental \n (2025) \n for BILL POWERS submitted on 02/02/2026"
|
|
131
234
|
const forMatch = titleText.match(/for\s+(.+?)\s+submitted/i);
|
|
132
235
|
if (forMatch)
|
|
133
236
|
candidateName = forMatch[1].trim();
|
|
134
|
-
|
|
237
|
+
// ⚠️ The title may be prefixed "Amended", e.g. "Amended 2026 1st Quarter for JOHN LOUALLEN".
|
|
238
|
+
// Anchoring on a leading 4-digit year dropped reportTitle to '' on every amended filing.
|
|
239
|
+
// Capture the amendment separately rather than discarding it — an amended report supersedes
|
|
240
|
+
// its original, which matters when comparing filings.
|
|
241
|
+
amended = /^\s*amended\b/i.test(titleText);
|
|
242
|
+
const reportMatch = titleText.match(/^(?:amended\s+)?\d{4}\s+(.*?)(?:\s*\(\d{4}\))?\s+for\s/i);
|
|
135
243
|
if (reportMatch)
|
|
136
244
|
reportTitle = reportMatch[1].trim();
|
|
137
245
|
}
|
|
@@ -143,35 +251,20 @@ export function parseReportDetail(html, reportId) {
|
|
|
143
251
|
const totalDisbursements = extractAggregate(fullText, 'TOTAL DISBURSEMENTS');
|
|
144
252
|
const endingBalance = extractAggregate(fullText, 'ENDING BALANCE');
|
|
145
253
|
const totalOutstandingLoans = extractAggregate(fullText, 'TOTAL OUTSTANDING LOAN BALANCE');
|
|
146
|
-
//
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (h.includes('receipt')) {
|
|
156
|
-
receipts = parseLineItems(section.bodyText);
|
|
157
|
-
}
|
|
158
|
-
else if (h.includes('disbursement')) {
|
|
159
|
-
disbursements = parseLineItems(section.bodyText);
|
|
160
|
-
}
|
|
161
|
-
else if (h.includes('in-kind')) {
|
|
162
|
-
inKindContributions = parseLineItems(section.bodyText);
|
|
163
|
-
}
|
|
164
|
-
else if (h.includes('outstanding loan')) {
|
|
165
|
-
loans = parseLineItems(section.bodyText);
|
|
166
|
-
}
|
|
167
|
-
else if (h.includes('obligation')) {
|
|
168
|
-
obligations = parseLineItems(section.bodyText);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
254
|
+
// Itemized line items come straight from the tables (see parser note above — the old
|
|
255
|
+
// h3-section walk matched nothing because the page has no h3 tags).
|
|
256
|
+
const receipts = parseSection(html, /^receipts$/i, ['contributor']);
|
|
257
|
+
const disbursements = parseSection(html, /^disbursements$/i, ['vendor']);
|
|
258
|
+
const inKindContributions = parseSection(html, /in-?kind/i, ['contributor']);
|
|
259
|
+
const loans = parseSection(html, /outstanding loans/i, ['loans']);
|
|
260
|
+
// ⚠️ No captured report has a nonzero Obligations table, so its header shape is UNVERIFIED.
|
|
261
|
+
// Accepting either entity column means an unexpected shape yields [] rather than junk.
|
|
262
|
+
const obligations = parseSection(html, /^obligations$/i, ['contributor', 'vendor']);
|
|
171
263
|
return {
|
|
172
264
|
reportId,
|
|
173
265
|
candidateName,
|
|
174
266
|
reportTitle,
|
|
267
|
+
amended,
|
|
175
268
|
beginningBalance,
|
|
176
269
|
totalContributions,
|
|
177
270
|
totalReceipts,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tncamp-report.js","sourceRoot":"","sources":["../../src/parsers/tncamp-report.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,SAAS,
|
|
1
|
+
{"version":3,"file":"tncamp-report.js","sourceRoot":"","sources":["../../src/parsers/tncamp-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|