eyecite-ts 0.29.2 → 0.31.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/README.md +29 -0
- package/dist/annotate/index.d.cts +1 -1
- package/dist/annotate/index.d.mts +1 -1
- package/dist/{citation-CsWsvkxB.d.cts → citation-CF4OCqrj.d.cts} +104 -4
- package/dist/citation-CF4OCqrj.d.cts.map +1 -0
- package/dist/{citation-Dy_8OOzV.d.mts → citation-D-erWRnr.d.mts} +104 -4
- package/dist/citation-D-erWRnr.d.mts.map +1 -0
- package/dist/index.cjs +7 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +87 -11
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +87 -11
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +7 -7
- package/dist/index.mjs.map +1 -1
- package/dist/{types-BS607EPW.d.mts → types-51QezvLS.d.cts} +10 -2
- package/dist/types-51QezvLS.d.cts.map +1 -0
- package/dist/{types-DXnfQIbk.d.cts → types-BmVt4hE6.d.mts} +10 -2
- package/dist/types-BmVt4hE6.d.mts.map +1 -0
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.cts +64 -3
- package/dist/utils/index.d.cts.map +1 -1
- package/dist/utils/index.d.mts +64 -3
- package/dist/utils/index.d.mts.map +1 -1
- package/dist/utils/index.mjs +1 -1
- package/dist/utils/index.mjs.map +1 -1
- package/package.json +6 -5
- package/dist/citation-CsWsvkxB.d.cts.map +0 -1
- package/dist/citation-Dy_8OOzV.d.mts.map +0 -1
- package/dist/types-BS607EPW.d.mts.map +0 -1
- package/dist/types-DXnfQIbk.d.cts.map +0 -1
package/README.md
CHANGED
|
@@ -151,6 +151,10 @@ if (citations[0].type === "case") {
|
|
|
151
151
|
citations[0].parallelCitations
|
|
152
152
|
// [{ volume: 93, reporter: 'S. Ct.', page: 705 },
|
|
153
153
|
// { volume: 35, reporter: 'L. Ed. 2d', page: 147 }]
|
|
154
|
+
|
|
155
|
+
// Every member also carries the group by stable id (doc order, incl. self),
|
|
156
|
+
// so byId() resolves the full sibling citations (not lossy value-copies):
|
|
157
|
+
citations[0].parallelGroup // { memberIds: ['c0', 'c1', 'c2'] }
|
|
154
158
|
}
|
|
155
159
|
```
|
|
156
160
|
|
|
@@ -185,6 +189,12 @@ const [cite] = extractCitations(text)
|
|
|
185
189
|
if (cite.type === "case") {
|
|
186
190
|
cite.subsequentHistoryEntries
|
|
187
191
|
// [{ signal: 'affirmed', rawSignal: "aff'd", signalSpan: { ... }, order: 0 }]
|
|
192
|
+
|
|
193
|
+
// Ordered chain (root → latest), shared by every member, keyed by stable id:
|
|
194
|
+
cite.historyChain
|
|
195
|
+
// { links: [{ citationId: 'c0' }, { citationId: 'c1', signal: 'affirmed' }] }
|
|
196
|
+
// The back-reference also carries the parent's id alongside the numeric index:
|
|
197
|
+
// cite.subsequentHistoryOf // { index, priorId, signal }
|
|
188
198
|
}
|
|
189
199
|
```
|
|
190
200
|
|
|
@@ -256,6 +266,8 @@ cite.signal // "see also"
|
|
|
256
266
|
|
|
257
267
|
Recognized signals: `see`, `see also`, `see generally`, `cf`, `but see`, `but cf`, `compare`, `accord`, `contra`, `e.g.`, and combined forms (`see, e.g.`, `see also, e.g.`, `but see, e.g.`, `cf., e.g.`, `but cf., e.g.`).
|
|
258
268
|
|
|
269
|
+
Citations chained for one proposition (`See A; B; C`) form a **string-citation group** — each member carries `stringCitationGroup` (all member ids in document order, incl. self, keyed by stable id) plus the group's leading signal.
|
|
270
|
+
|
|
259
271
|
### Court Inference
|
|
260
272
|
|
|
261
273
|
Case citations carry a `inferredCourt` field derived from the reporter series:
|
|
@@ -344,6 +356,23 @@ const ctx = getSurroundingContext(
|
|
|
344
356
|
)
|
|
345
357
|
```
|
|
346
358
|
|
|
359
|
+
### Citation Identity (`id` + `byId`)
|
|
360
|
+
|
|
361
|
+
Every citation returned by `extractCitations()` carries a stable `id` (`"c0"`, `"c1"`, … in document order). The id is stable **within one result set** — it survives `filter`/`sort`/`map`, unlike array position — so you can reference and look up citations by id rather than by index.
|
|
362
|
+
|
|
363
|
+
```typescript
|
|
364
|
+
import { byId, extractCitations } from "eyecite-ts"
|
|
365
|
+
|
|
366
|
+
const citations = extractCitations(text)
|
|
367
|
+
citations[0].id // "c0"
|
|
368
|
+
|
|
369
|
+
// Build a lookup keyed by stable id:
|
|
370
|
+
const map = byId(citations) // Map<CitationId, Citation>
|
|
371
|
+
const cite = map.get(citations[0].id!)
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
Because the key is the id and not the array position, `byId(citations.filter(...))` still resolves correctly after you have filtered or reordered the array. `id` is **not** durable across runs (the same text re-extracts to fresh ids each call) — for cross-run / cross-document identity use `toDurableLocator()` from `eyecite-ts/utils`.
|
|
375
|
+
|
|
347
376
|
## Type System
|
|
348
377
|
|
|
349
378
|
All citation types use a [discriminated union](https://www.typescriptlang.org/docs/handbook/2/narrowing.html#discriminated-unions) on the `type` field:
|
|
@@ -354,6 +354,28 @@ interface AnnotationComponentSpans {
|
|
|
354
354
|
//#endregion
|
|
355
355
|
//#region src/types/citation.d.ts
|
|
356
356
|
/**
|
|
357
|
+
* Generic nominal-typing brand. Zero runtime cost — the value stays a plain `T`
|
|
358
|
+
* (so it survives `JSON.stringify`, `structuredClone`, and `{...spread}`); the
|
|
359
|
+
* brand only exists in the type system to prevent mixing unrelated string ids.
|
|
360
|
+
*/
|
|
361
|
+
type Brand<T, B extends string> = T & {
|
|
362
|
+
readonly __brand: B;
|
|
363
|
+
};
|
|
364
|
+
/**
|
|
365
|
+
* Stable identity for a citation **within one `extractCitations()` result set**.
|
|
366
|
+
* Survives consumer `filter`/`sort`/`map` of the returned array, so aggregates
|
|
367
|
+
* (history chains, parallel groups, short-form references) reference members by
|
|
368
|
+
* id rather than by fragile positional array index.
|
|
369
|
+
*
|
|
370
|
+
* NOT durable across runs — the same logical citation re-extracts to a fresh id
|
|
371
|
+
* each call. For cross-run identity use `toDurableLocator()` (contentHash).
|
|
372
|
+
*
|
|
373
|
+
* Opaque token (currently `"c0"`, `"c1"`, …): compare it, key a `Map`/`Set` with
|
|
374
|
+
* it, store it as a reference — but never parse it or derive it from array
|
|
375
|
+
* position. See `docs/superpowers/specs/2026-06-06-inter-citation-grammar-design.md`.
|
|
376
|
+
*/
|
|
377
|
+
type CitationId = Brand<string, "CitationId">;
|
|
378
|
+
/**
|
|
357
379
|
* Citation type discriminator for type-safe pattern matching.
|
|
358
380
|
*/
|
|
359
381
|
type CitationType = "case" | "docket" | "statute" | "regulation" | "stateRule" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "restatement" | "treatise" | "annotation" | "id" | "supra" | "shortFormCase";
|
|
@@ -381,9 +403,27 @@ interface Warning {
|
|
|
381
403
|
*/
|
|
382
404
|
type CitationSignal = "see" | "see also" | "see generally" | "cf" | "but see" | "but cf" | "compare" | "accord" | "contra" | "e.g." | "see, e.g." | "see also, e.g." | "but see, e.g." | "cf., e.g." | "but cf., e.g.";
|
|
383
405
|
/**
|
|
406
|
+
* A string-citation group (#857): citations chained for one proposition
|
|
407
|
+
* (`See A; B; C`). Members reference all members (including self) by stable
|
|
408
|
+
* `CitationId` in document order; `signal` is the group's leading signal. Built
|
|
409
|
+
* in the structuring pass; the flat `stringCitationGroupId` / `stringCitationIndex`
|
|
410
|
+
* / `stringCitationGroupSize` fields are retained alongside it.
|
|
411
|
+
*/
|
|
412
|
+
interface StringCitationGroup {
|
|
413
|
+
memberIds: CitationId[];
|
|
414
|
+
signal?: CitationSignal;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
384
417
|
* Base fields shared by all citation types.
|
|
385
418
|
*/
|
|
386
419
|
interface CitationBase {
|
|
420
|
+
/**
|
|
421
|
+
* Stable identity within one `extractCitations()` result set (see {@link CitationId}).
|
|
422
|
+
* Populated by `extractCitations()` for every citation in its output. Optional
|
|
423
|
+
* because the granular per-type extractors (`extractCase()`, etc.) do not assign
|
|
424
|
+
* one — it is targeted to become required in a future major (#858).
|
|
425
|
+
*/
|
|
426
|
+
id?: CitationId;
|
|
387
427
|
/** Original matched text */
|
|
388
428
|
text: string;
|
|
389
429
|
/** Position span in document (originalStart/End point to original text) */
|
|
@@ -412,6 +452,12 @@ interface CitationBase {
|
|
|
412
452
|
stringCitationIndex?: number;
|
|
413
453
|
/** Total number of citations in this string citation group */
|
|
414
454
|
stringCitationGroupSize?: number;
|
|
455
|
+
/**
|
|
456
|
+
* String-citation group (#857): all members (incl. self) by stable id, in
|
|
457
|
+
* document order, plus the group's leading signal. Survives consumer
|
|
458
|
+
* `filter`/`sort`/`map`. See {@link StringCitationGroup}.
|
|
459
|
+
*/
|
|
460
|
+
stringCitationGroup?: StringCitationGroup;
|
|
415
461
|
/** Whether this citation appears in a footnote (only populated when detectFootnotes enabled) */
|
|
416
462
|
inFootnote?: boolean;
|
|
417
463
|
/** Footnote number, if applicable (only populated when detectFootnotes enabled) */
|
|
@@ -487,6 +533,32 @@ interface SubsequentHistoryEntry {
|
|
|
487
533
|
* @example "500 F.2d 123"
|
|
488
534
|
* @example "410 U.S. 113, 115"
|
|
489
535
|
*/
|
|
536
|
+
/**
|
|
537
|
+
* One link in a subsequent-history chain (#849): the case at this position, plus
|
|
538
|
+
* the disposition signal that led TO it. The chain root has no inbound `signal`.
|
|
539
|
+
*/
|
|
540
|
+
interface HistoryLink {
|
|
541
|
+
citationId: CitationId;
|
|
542
|
+
signal?: HistorySignal;
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* A subsequent-history chain (#849), ordered root → latest. Built post-id-assignment
|
|
546
|
+
* in the structuring pass and attached (shared) to every member, so a consumer can
|
|
547
|
+
* read the whole chain from any link. References members by stable `CitationId`,
|
|
548
|
+
* so it survives `filter`/`sort`/`map` of the result array.
|
|
549
|
+
*/
|
|
550
|
+
interface HistoryChain {
|
|
551
|
+
links: HistoryLink[];
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* A parallel-citation group (#850): the same case reported in multiple reporters.
|
|
555
|
+
* Every member references all members (including itself) by stable `CitationId`,
|
|
556
|
+
* in document order. Built in the structuring pass; the flat `groupId` label and
|
|
557
|
+
* `parallelCitations` array are retained alongside it.
|
|
558
|
+
*/
|
|
559
|
+
interface ParallelGroup {
|
|
560
|
+
memberIds: CitationId[];
|
|
561
|
+
}
|
|
490
562
|
interface FullCaseCitation extends CitationBase {
|
|
491
563
|
type: "case";
|
|
492
564
|
volume: number | string;
|
|
@@ -516,6 +588,11 @@ interface FullCaseCitation extends CitationBase {
|
|
|
516
588
|
* @example "410-U.S.-113" for parallel group [410 U.S. 113, 93 S. Ct. 705]
|
|
517
589
|
*/
|
|
518
590
|
groupId?: string;
|
|
591
|
+
/**
|
|
592
|
+
* Parallel-citation group (#850): all members (incl. self) by stable id, in
|
|
593
|
+
* document order. Survives consumer `filter`/`sort`/`map`. See {@link ParallelGroup}.
|
|
594
|
+
*/
|
|
595
|
+
parallelGroup?: ParallelGroup;
|
|
519
596
|
/** Parallel citations for same case in different reporters */
|
|
520
597
|
parallelCitations?: Array<{
|
|
521
598
|
volume: number | string;
|
|
@@ -543,6 +620,13 @@ interface FullCaseCitation extends CitationBase {
|
|
|
543
620
|
*/
|
|
544
621
|
subsequentHistoryEntries?: SubsequentHistoryEntry[];
|
|
545
622
|
/**
|
|
623
|
+
* Ordered subsequent-history chain (root → latest), shared by every member of
|
|
624
|
+
* the chain (#849). Built in the structuring pass; references members by stable
|
|
625
|
+
* id. The flat `subsequentHistoryOf` / `subsequentHistoryEntries` fields are
|
|
626
|
+
* retained alongside it. See {@link HistoryChain}.
|
|
627
|
+
*/
|
|
628
|
+
historyChain?: HistoryChain;
|
|
629
|
+
/**
|
|
546
630
|
* Back-pointer indicating this citation is a subsequent history citation.
|
|
547
631
|
* `index` is the parent's position in the results array returned by
|
|
548
632
|
* `extractCitations()` — it becomes invalid if the array is filtered or reordered.
|
|
@@ -550,6 +634,7 @@ interface FullCaseCitation extends CitationBase {
|
|
|
550
634
|
*/
|
|
551
635
|
subsequentHistoryOf?: {
|
|
552
636
|
index: number;
|
|
637
|
+
priorId?: CitationId;
|
|
553
638
|
signal: HistorySignal;
|
|
554
639
|
};
|
|
555
640
|
/**
|
|
@@ -1330,6 +1415,11 @@ interface IdCitation extends CitationBase {
|
|
|
1330
1415
|
*/
|
|
1331
1416
|
pinciteInheritedFrom?: number;
|
|
1332
1417
|
/**
|
|
1418
|
+
* Stable id of the `pinciteInheritedFrom` citation (#860). Survives consumer
|
|
1419
|
+
* `filter`/`sort`/`map` (keys on identity, not array position).
|
|
1420
|
+
*/
|
|
1421
|
+
pinciteInheritedFromId?: CitationId;
|
|
1422
|
+
/**
|
|
1333
1423
|
* Trailing parenthetical content (text between the parens, excluding the
|
|
1334
1424
|
* parens themselves) captured from `Id. at N (...)` forms. Common values
|
|
1335
1425
|
* include drop-citation markers (`citation omitted`, `internal quotation
|
|
@@ -1389,6 +1479,11 @@ interface SupraCitation extends CitationBase {
|
|
|
1389
1479
|
*/
|
|
1390
1480
|
pinciteInheritedFrom?: number;
|
|
1391
1481
|
/**
|
|
1482
|
+
* Stable id of the `pinciteInheritedFrom` citation (#860). Survives consumer
|
|
1483
|
+
* `filter`/`sort`/`map` (keys on identity, not array position).
|
|
1484
|
+
*/
|
|
1485
|
+
pinciteInheritedFromId?: CitationId;
|
|
1486
|
+
/**
|
|
1392
1487
|
* Trailing parenthetical content (text between the parens, excluding the
|
|
1393
1488
|
* parens themselves). See `IdCitation.parenthetical` for common shapes
|
|
1394
1489
|
* and rationale. #303
|
|
@@ -1427,6 +1522,11 @@ interface ShortFormCaseCitation extends CitationBase {
|
|
|
1427
1522
|
*/
|
|
1428
1523
|
pinciteInheritedFrom?: number;
|
|
1429
1524
|
/**
|
|
1525
|
+
* Stable id of the `pinciteInheritedFrom` citation (#860). Survives consumer
|
|
1526
|
+
* `filter`/`sort`/`map` (keys on identity, not array position).
|
|
1527
|
+
*/
|
|
1528
|
+
pinciteInheritedFromId?: CitationId;
|
|
1529
|
+
/**
|
|
1430
1530
|
* Case name inferred from prose preceding this short-form when no full
|
|
1431
1531
|
* citation in `citations[]` matched its vol+reporter. Populated by the
|
|
1432
1532
|
* resolver fallback for the "In Smith v. Jones... Smith, 100 F.2d at 200"
|
|
@@ -1480,12 +1580,12 @@ type Citation = FullCaseCitation | DocketCitation | StatuteCitation | Regulation
|
|
|
1480
1580
|
/**
|
|
1481
1581
|
* Citation type discriminators grouped by category.
|
|
1482
1582
|
*/
|
|
1483
|
-
type FullCitationType = "case" | "docket" | "statute" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "stateRule" | "restatement" | "treatise" | "annotation";
|
|
1583
|
+
type FullCitationType = "case" | "docket" | "statute" | "regulation" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "stateRule" | "restatement" | "treatise" | "annotation";
|
|
1484
1584
|
type ShortFormCitationType = "id" | "supra" | "shortFormCase";
|
|
1485
1585
|
/**
|
|
1486
1586
|
* Union of all full citation types (not short-form references).
|
|
1487
1587
|
*/
|
|
1488
|
-
type FullCitation = FullCaseCitation | SessionLawCitation | TreatyCitation | LegislativeMaterialCitation | LocalOrdinanceCitation | CanonCitation | DocketCitation | StatuteCitation | JournalCitation | NeutralCitation | PublicLawCitation | FederalRegisterCitation | StatutesAtLargeCitation | ConstitutionalCitation | FederalRuleCitation | StateRuleCitation | RestatementCitation | TreatiseCitation | AnnotationCitation;
|
|
1588
|
+
type FullCitation = FullCaseCitation | SessionLawCitation | TreatyCitation | LegislativeMaterialCitation | LocalOrdinanceCitation | CanonCitation | DocketCitation | StatuteCitation | RegulationCitation | JournalCitation | NeutralCitation | PublicLawCitation | FederalRegisterCitation | StatutesAtLargeCitation | ConstitutionalCitation | FederalRuleCitation | StateRuleCitation | RestatementCitation | TreatiseCitation | AnnotationCitation;
|
|
1489
1589
|
/**
|
|
1490
1590
|
* Union of all short-form citation types (Id., supra, short-form case).
|
|
1491
1591
|
*/
|
|
@@ -1508,5 +1608,5 @@ type CitationOfType<T extends CitationType> = Extract<Citation, {
|
|
|
1508
1608
|
*/
|
|
1509
1609
|
type ExtractorMap = { [K in FullCitationType]: CitationOfType<K> };
|
|
1510
1610
|
//#endregion
|
|
1511
|
-
export {
|
|
1512
|
-
//# sourceMappingURL=citation-
|
|
1611
|
+
export { spanFromGroupIndex as $, ShortFormCitation as A, CaseComponentSpans as B, ParallelGroup as C, RegulationCitation as D, PublicLawCitation as E, SubsequentHistoryEntry as F, NeutralComponentSpans as G, FederalRegisterComponentSpans as H, SupraCitation as I, StatuteComponentSpans as J, PublicLawComponentSpans as K, TreatiseCitation as L, StatuteCitation as M, StatutesAtLargeCitation as N, RestatementCitation as O, StringCitationGroup as P, TransformationMap as Q, Warning as R, NeutralCitation as S, ParentheticalType as T, FederalRuleComponentSpans as U, ConstitutionalComponentSpans as V, JournalComponentSpans as W, TreatiseComponentSpans as X, StatutesAtLargeComponentSpans as Y, Span as Z, HistoryChain as _, CitationOfType as a, IdCitation as b, ConstitutionalCitation as c, ExtractorMap as d, PinciteInfo as et, FederalRegisterCitation as f, FullCitationType as g, FullCitation as h, CitationId as i, ShortFormCitationType as j, ShortFormCaseCitation as k, CourtInference as l, FullCaseCitation as m, Citation as n, CitationSignal as o, FederalRuleCitation as p, RestatementComponentSpans as q, CitationBase as r, CitationType as s, AnnotationCitation as t, parsePincite as tt, DocketCitation as u, HistoryLink as v, Parenthetical as w, JournalCitation as x, HistorySignal as y, AnnotationComponentSpans as z };
|
|
1612
|
+
//# sourceMappingURL=citation-CF4OCqrj.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation-CF4OCqrj.d.cts","names":[],"sources":["../src/extract/pincite.ts","../src/extract/dates.ts","../src/clean/segmentMap.ts","../src/types/span.ts","../src/types/componentSpans.ts","../src/types/citation.ts"],"mappings":"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"}
|
|
@@ -354,6 +354,28 @@ interface AnnotationComponentSpans {
|
|
|
354
354
|
//#endregion
|
|
355
355
|
//#region src/types/citation.d.ts
|
|
356
356
|
/**
|
|
357
|
+
* Generic nominal-typing brand. Zero runtime cost — the value stays a plain `T`
|
|
358
|
+
* (so it survives `JSON.stringify`, `structuredClone`, and `{...spread}`); the
|
|
359
|
+
* brand only exists in the type system to prevent mixing unrelated string ids.
|
|
360
|
+
*/
|
|
361
|
+
type Brand<T, B extends string> = T & {
|
|
362
|
+
readonly __brand: B;
|
|
363
|
+
};
|
|
364
|
+
/**
|
|
365
|
+
* Stable identity for a citation **within one `extractCitations()` result set**.
|
|
366
|
+
* Survives consumer `filter`/`sort`/`map` of the returned array, so aggregates
|
|
367
|
+
* (history chains, parallel groups, short-form references) reference members by
|
|
368
|
+
* id rather than by fragile positional array index.
|
|
369
|
+
*
|
|
370
|
+
* NOT durable across runs — the same logical citation re-extracts to a fresh id
|
|
371
|
+
* each call. For cross-run identity use `toDurableLocator()` (contentHash).
|
|
372
|
+
*
|
|
373
|
+
* Opaque token (currently `"c0"`, `"c1"`, …): compare it, key a `Map`/`Set` with
|
|
374
|
+
* it, store it as a reference — but never parse it or derive it from array
|
|
375
|
+
* position. See `docs/superpowers/specs/2026-06-06-inter-citation-grammar-design.md`.
|
|
376
|
+
*/
|
|
377
|
+
type CitationId = Brand<string, "CitationId">;
|
|
378
|
+
/**
|
|
357
379
|
* Citation type discriminator for type-safe pattern matching.
|
|
358
380
|
*/
|
|
359
381
|
type CitationType = "case" | "docket" | "statute" | "regulation" | "stateRule" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "restatement" | "treatise" | "annotation" | "id" | "supra" | "shortFormCase";
|
|
@@ -381,9 +403,27 @@ interface Warning {
|
|
|
381
403
|
*/
|
|
382
404
|
type CitationSignal = "see" | "see also" | "see generally" | "cf" | "but see" | "but cf" | "compare" | "accord" | "contra" | "e.g." | "see, e.g." | "see also, e.g." | "but see, e.g." | "cf., e.g." | "but cf., e.g.";
|
|
383
405
|
/**
|
|
406
|
+
* A string-citation group (#857): citations chained for one proposition
|
|
407
|
+
* (`See A; B; C`). Members reference all members (including self) by stable
|
|
408
|
+
* `CitationId` in document order; `signal` is the group's leading signal. Built
|
|
409
|
+
* in the structuring pass; the flat `stringCitationGroupId` / `stringCitationIndex`
|
|
410
|
+
* / `stringCitationGroupSize` fields are retained alongside it.
|
|
411
|
+
*/
|
|
412
|
+
interface StringCitationGroup {
|
|
413
|
+
memberIds: CitationId[];
|
|
414
|
+
signal?: CitationSignal;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
384
417
|
* Base fields shared by all citation types.
|
|
385
418
|
*/
|
|
386
419
|
interface CitationBase {
|
|
420
|
+
/**
|
|
421
|
+
* Stable identity within one `extractCitations()` result set (see {@link CitationId}).
|
|
422
|
+
* Populated by `extractCitations()` for every citation in its output. Optional
|
|
423
|
+
* because the granular per-type extractors (`extractCase()`, etc.) do not assign
|
|
424
|
+
* one — it is targeted to become required in a future major (#858).
|
|
425
|
+
*/
|
|
426
|
+
id?: CitationId;
|
|
387
427
|
/** Original matched text */
|
|
388
428
|
text: string;
|
|
389
429
|
/** Position span in document (originalStart/End point to original text) */
|
|
@@ -412,6 +452,12 @@ interface CitationBase {
|
|
|
412
452
|
stringCitationIndex?: number;
|
|
413
453
|
/** Total number of citations in this string citation group */
|
|
414
454
|
stringCitationGroupSize?: number;
|
|
455
|
+
/**
|
|
456
|
+
* String-citation group (#857): all members (incl. self) by stable id, in
|
|
457
|
+
* document order, plus the group's leading signal. Survives consumer
|
|
458
|
+
* `filter`/`sort`/`map`. See {@link StringCitationGroup}.
|
|
459
|
+
*/
|
|
460
|
+
stringCitationGroup?: StringCitationGroup;
|
|
415
461
|
/** Whether this citation appears in a footnote (only populated when detectFootnotes enabled) */
|
|
416
462
|
inFootnote?: boolean;
|
|
417
463
|
/** Footnote number, if applicable (only populated when detectFootnotes enabled) */
|
|
@@ -487,6 +533,32 @@ interface SubsequentHistoryEntry {
|
|
|
487
533
|
* @example "500 F.2d 123"
|
|
488
534
|
* @example "410 U.S. 113, 115"
|
|
489
535
|
*/
|
|
536
|
+
/**
|
|
537
|
+
* One link in a subsequent-history chain (#849): the case at this position, plus
|
|
538
|
+
* the disposition signal that led TO it. The chain root has no inbound `signal`.
|
|
539
|
+
*/
|
|
540
|
+
interface HistoryLink {
|
|
541
|
+
citationId: CitationId;
|
|
542
|
+
signal?: HistorySignal;
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* A subsequent-history chain (#849), ordered root → latest. Built post-id-assignment
|
|
546
|
+
* in the structuring pass and attached (shared) to every member, so a consumer can
|
|
547
|
+
* read the whole chain from any link. References members by stable `CitationId`,
|
|
548
|
+
* so it survives `filter`/`sort`/`map` of the result array.
|
|
549
|
+
*/
|
|
550
|
+
interface HistoryChain {
|
|
551
|
+
links: HistoryLink[];
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* A parallel-citation group (#850): the same case reported in multiple reporters.
|
|
555
|
+
* Every member references all members (including itself) by stable `CitationId`,
|
|
556
|
+
* in document order. Built in the structuring pass; the flat `groupId` label and
|
|
557
|
+
* `parallelCitations` array are retained alongside it.
|
|
558
|
+
*/
|
|
559
|
+
interface ParallelGroup {
|
|
560
|
+
memberIds: CitationId[];
|
|
561
|
+
}
|
|
490
562
|
interface FullCaseCitation extends CitationBase {
|
|
491
563
|
type: "case";
|
|
492
564
|
volume: number | string;
|
|
@@ -516,6 +588,11 @@ interface FullCaseCitation extends CitationBase {
|
|
|
516
588
|
* @example "410-U.S.-113" for parallel group [410 U.S. 113, 93 S. Ct. 705]
|
|
517
589
|
*/
|
|
518
590
|
groupId?: string;
|
|
591
|
+
/**
|
|
592
|
+
* Parallel-citation group (#850): all members (incl. self) by stable id, in
|
|
593
|
+
* document order. Survives consumer `filter`/`sort`/`map`. See {@link ParallelGroup}.
|
|
594
|
+
*/
|
|
595
|
+
parallelGroup?: ParallelGroup;
|
|
519
596
|
/** Parallel citations for same case in different reporters */
|
|
520
597
|
parallelCitations?: Array<{
|
|
521
598
|
volume: number | string;
|
|
@@ -543,6 +620,13 @@ interface FullCaseCitation extends CitationBase {
|
|
|
543
620
|
*/
|
|
544
621
|
subsequentHistoryEntries?: SubsequentHistoryEntry[];
|
|
545
622
|
/**
|
|
623
|
+
* Ordered subsequent-history chain (root → latest), shared by every member of
|
|
624
|
+
* the chain (#849). Built in the structuring pass; references members by stable
|
|
625
|
+
* id. The flat `subsequentHistoryOf` / `subsequentHistoryEntries` fields are
|
|
626
|
+
* retained alongside it. See {@link HistoryChain}.
|
|
627
|
+
*/
|
|
628
|
+
historyChain?: HistoryChain;
|
|
629
|
+
/**
|
|
546
630
|
* Back-pointer indicating this citation is a subsequent history citation.
|
|
547
631
|
* `index` is the parent's position in the results array returned by
|
|
548
632
|
* `extractCitations()` — it becomes invalid if the array is filtered or reordered.
|
|
@@ -550,6 +634,7 @@ interface FullCaseCitation extends CitationBase {
|
|
|
550
634
|
*/
|
|
551
635
|
subsequentHistoryOf?: {
|
|
552
636
|
index: number;
|
|
637
|
+
priorId?: CitationId;
|
|
553
638
|
signal: HistorySignal;
|
|
554
639
|
};
|
|
555
640
|
/**
|
|
@@ -1330,6 +1415,11 @@ interface IdCitation extends CitationBase {
|
|
|
1330
1415
|
*/
|
|
1331
1416
|
pinciteInheritedFrom?: number;
|
|
1332
1417
|
/**
|
|
1418
|
+
* Stable id of the `pinciteInheritedFrom` citation (#860). Survives consumer
|
|
1419
|
+
* `filter`/`sort`/`map` (keys on identity, not array position).
|
|
1420
|
+
*/
|
|
1421
|
+
pinciteInheritedFromId?: CitationId;
|
|
1422
|
+
/**
|
|
1333
1423
|
* Trailing parenthetical content (text between the parens, excluding the
|
|
1334
1424
|
* parens themselves) captured from `Id. at N (...)` forms. Common values
|
|
1335
1425
|
* include drop-citation markers (`citation omitted`, `internal quotation
|
|
@@ -1389,6 +1479,11 @@ interface SupraCitation extends CitationBase {
|
|
|
1389
1479
|
*/
|
|
1390
1480
|
pinciteInheritedFrom?: number;
|
|
1391
1481
|
/**
|
|
1482
|
+
* Stable id of the `pinciteInheritedFrom` citation (#860). Survives consumer
|
|
1483
|
+
* `filter`/`sort`/`map` (keys on identity, not array position).
|
|
1484
|
+
*/
|
|
1485
|
+
pinciteInheritedFromId?: CitationId;
|
|
1486
|
+
/**
|
|
1392
1487
|
* Trailing parenthetical content (text between the parens, excluding the
|
|
1393
1488
|
* parens themselves). See `IdCitation.parenthetical` for common shapes
|
|
1394
1489
|
* and rationale. #303
|
|
@@ -1427,6 +1522,11 @@ interface ShortFormCaseCitation extends CitationBase {
|
|
|
1427
1522
|
*/
|
|
1428
1523
|
pinciteInheritedFrom?: number;
|
|
1429
1524
|
/**
|
|
1525
|
+
* Stable id of the `pinciteInheritedFrom` citation (#860). Survives consumer
|
|
1526
|
+
* `filter`/`sort`/`map` (keys on identity, not array position).
|
|
1527
|
+
*/
|
|
1528
|
+
pinciteInheritedFromId?: CitationId;
|
|
1529
|
+
/**
|
|
1430
1530
|
* Case name inferred from prose preceding this short-form when no full
|
|
1431
1531
|
* citation in `citations[]` matched its vol+reporter. Populated by the
|
|
1432
1532
|
* resolver fallback for the "In Smith v. Jones... Smith, 100 F.2d at 200"
|
|
@@ -1480,12 +1580,12 @@ type Citation = FullCaseCitation | DocketCitation | StatuteCitation | Regulation
|
|
|
1480
1580
|
/**
|
|
1481
1581
|
* Citation type discriminators grouped by category.
|
|
1482
1582
|
*/
|
|
1483
|
-
type FullCitationType = "case" | "docket" | "statute" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "stateRule" | "restatement" | "treatise" | "annotation";
|
|
1583
|
+
type FullCitationType = "case" | "docket" | "statute" | "regulation" | "journal" | "neutral" | "publicLaw" | "federalRegister" | "statutesAtLarge" | "sessionLaw" | "treaty" | "legislativeMaterial" | "localOrdinance" | "canon" | "constitutional" | "federalRule" | "stateRule" | "restatement" | "treatise" | "annotation";
|
|
1484
1584
|
type ShortFormCitationType = "id" | "supra" | "shortFormCase";
|
|
1485
1585
|
/**
|
|
1486
1586
|
* Union of all full citation types (not short-form references).
|
|
1487
1587
|
*/
|
|
1488
|
-
type FullCitation = FullCaseCitation | SessionLawCitation | TreatyCitation | LegislativeMaterialCitation | LocalOrdinanceCitation | CanonCitation | DocketCitation | StatuteCitation | JournalCitation | NeutralCitation | PublicLawCitation | FederalRegisterCitation | StatutesAtLargeCitation | ConstitutionalCitation | FederalRuleCitation | StateRuleCitation | RestatementCitation | TreatiseCitation | AnnotationCitation;
|
|
1588
|
+
type FullCitation = FullCaseCitation | SessionLawCitation | TreatyCitation | LegislativeMaterialCitation | LocalOrdinanceCitation | CanonCitation | DocketCitation | StatuteCitation | RegulationCitation | JournalCitation | NeutralCitation | PublicLawCitation | FederalRegisterCitation | StatutesAtLargeCitation | ConstitutionalCitation | FederalRuleCitation | StateRuleCitation | RestatementCitation | TreatiseCitation | AnnotationCitation;
|
|
1489
1589
|
/**
|
|
1490
1590
|
* Union of all short-form citation types (Id., supra, short-form case).
|
|
1491
1591
|
*/
|
|
@@ -1508,5 +1608,5 @@ type CitationOfType<T extends CitationType> = Extract<Citation, {
|
|
|
1508
1608
|
*/
|
|
1509
1609
|
type ExtractorMap = { [K in FullCitationType]: CitationOfType<K> };
|
|
1510
1610
|
//#endregion
|
|
1511
|
-
export {
|
|
1512
|
-
//# sourceMappingURL=citation-
|
|
1611
|
+
export { spanFromGroupIndex as $, ShortFormCitation as A, CaseComponentSpans as B, ParallelGroup as C, RegulationCitation as D, PublicLawCitation as E, SubsequentHistoryEntry as F, NeutralComponentSpans as G, FederalRegisterComponentSpans as H, SupraCitation as I, StatuteComponentSpans as J, PublicLawComponentSpans as K, TreatiseCitation as L, StatuteCitation as M, StatutesAtLargeCitation as N, RestatementCitation as O, StringCitationGroup as P, TransformationMap as Q, Warning as R, NeutralCitation as S, ParentheticalType as T, FederalRuleComponentSpans as U, ConstitutionalComponentSpans as V, JournalComponentSpans as W, TreatiseComponentSpans as X, StatutesAtLargeComponentSpans as Y, Span as Z, HistoryChain as _, CitationOfType as a, IdCitation as b, ConstitutionalCitation as c, ExtractorMap as d, PinciteInfo as et, FederalRegisterCitation as f, FullCitationType as g, FullCitation as h, CitationId as i, ShortFormCitationType as j, ShortFormCaseCitation as k, CourtInference as l, FullCaseCitation as m, Citation as n, CitationSignal as o, FederalRuleCitation as p, RestatementComponentSpans as q, CitationBase as r, CitationType as s, AnnotationCitation as t, parsePincite as tt, DocketCitation as u, HistoryLink as v, Parenthetical as w, JournalCitation as x, HistorySignal as y, AnnotationComponentSpans as z };
|
|
1612
|
+
//# sourceMappingURL=citation-D-erWRnr.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"citation-D-erWRnr.d.mts","names":[],"sources":["../src/extract/pincite.ts","../src/extract/dates.ts","../src/clean/segmentMap.ts","../src/types/span.ts","../src/types/componentSpans.ts","../src/types/citation.ts"],"mappings":"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"}
|