glossarist 0.4.51 → 0.4.52
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/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/external-detection.d.ts +38 -0
- package/dist/utils/external-detection.d.ts.map +1 -0
- package/dist/utils/external-detection.js +55 -0
- package/dist/utils/external-detection.js.map +1 -0
- package/dist/validators/extensional-completeness.d.ts +18 -0
- package/dist/validators/extensional-completeness.d.ts.map +1 -0
- package/dist/validators/extensional-completeness.js +41 -0
- package/dist/validators/extensional-completeness.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,10 @@ export { parseMention } from './reference-mention.js';
|
|
|
13
13
|
export { ReferenceClassifier } from './render-classification.js';
|
|
14
14
|
export { V1Reader, migrateV1ToV2 } from './v1-reader.js';
|
|
15
15
|
export { GlossaristError, InvalidInputError, YamlParseError } from './errors.js';
|
|
16
|
+
export { isExternalConcept, isExternalMember, isExternalComprehensive, getExternalMembers, hasProvidedBy, hasDanglingExternal, } from './utils/external-detection.js';
|
|
17
|
+
export type { ConceptStore, ExternalConceptLike } from './utils/external-detection.js';
|
|
18
|
+
export { checkExtensionalCompleteness, OPEN_ENDED_PATTERNS, } from './validators/extensional-completeness.js';
|
|
19
|
+
export type { ExtensionalDefinitionLike, ExtensionalCompletenessIssue } from './validators/extensional-completeness.js';
|
|
16
20
|
export { COMPILED_EXTENSIONS, COMPILED_FORMATS, isKnownFormat, compiledFilename, compiledPath, parseCompiledPath, } from './compiled-format.js';
|
|
17
21
|
export { DATASET_ASSETS, FILE_ASSETS, DIRECTORY_ASSETS, } from './dataset-asset.js';
|
|
18
22
|
export { GlossaristModel, RegistrableModel, Register, Section, REGISTER_STATUSES, ORDERING_METHODS, Concept, LocalizedConcept, Designation, Expression, Abbreviation, Symbol, GraphicalSymbol, Citation, ConceptRef, ConceptSource, RelatedConcept, DesignationRelationship, ConceptReference, ConceptDate, DetailedDefinition, NonVerbRep, NON_VERBAL_TYPES, NonVerbalEntity, SharedNonVerbalEntity, Figure, FigureImage, Table, Formula, NonVerbalReference, FigureReference, TableReference, FormulaReference, BibliographyEntry, BibliographyData, fetchLocalizedString, localizedStringIsEmpty, localizedStringIsPresent, GcrMetadata, GcrStatistics, RELATIONSHIP_TYPES, DESIGNATION_RELATIONSHIP_TYPES, DATE_TYPES, PartitiveHyperedge, PARTITIVE_ENUMERATION, PARTITIVE_ENUMERATION_VALUES, PLURALITY_MARKER, PLURALITY_MARKER_VALUES, } from './models/index.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,GACR,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1M,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1I,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -13,6 +13,12 @@ export { parseMention } from './reference-mention.js';
|
|
|
13
13
|
export { ReferenceClassifier } from './render-classification.js';
|
|
14
14
|
export { V1Reader, migrateV1ToV2 } from './v1-reader.js';
|
|
15
15
|
export { GlossaristError, InvalidInputError, YamlParseError } from './errors.js';
|
|
16
|
+
// External concept detection + extensional completeness check.
|
|
17
|
+
// Utilities for concept-browser and other consumers that need to render
|
|
18
|
+
// ISO 704:2022 external-concept and ellipsis notation.
|
|
19
|
+
// Per TODO 14 (external-concepts-ellipsis-rendering).
|
|
20
|
+
export { isExternalConcept, isExternalMember, isExternalComprehensive, getExternalMembers, hasProvidedBy, hasDanglingExternal, } from './utils/external-detection.js';
|
|
21
|
+
export { checkExtensionalCompleteness, OPEN_ENDED_PATTERNS, } from './validators/extensional-completeness.js';
|
|
16
22
|
export { COMPILED_EXTENSIONS, COMPILED_FORMATS, isKnownFormat, compiledFilename, compiledPath, parseCompiledPath, } from './compiled-format.js';
|
|
17
23
|
export { DATASET_ASSETS, FILE_ASSETS, DIRECTORY_ASSETS, } from './dataset-asset.js';
|
|
18
24
|
export { GlossaristModel, RegistrableModel, Register, Section, REGISTER_STATUSES, ORDERING_METHODS, Concept, LocalizedConcept, Designation, Expression, Abbreviation, Symbol, GraphicalSymbol, Citation, ConceptRef, ConceptSource, RelatedConcept, DesignationRelationship, ConceptReference, ConceptDate, DetailedDefinition, NonVerbRep, NON_VERBAL_TYPES, NonVerbalEntity, SharedNonVerbalEntity, Figure, FigureImage, Table, Formula, NonVerbalReference, FigureReference, TableReference, FormulaReference, BibliographyEntry, BibliographyData, fetchLocalizedString, localizedStringIsEmpty, localizedStringIsPresent, GcrMetadata, GcrStatistics, RELATIONSHIP_TYPES, DESIGNATION_RELATIONSHIP_TYPES, DATE_TYPES, PartitiveHyperedge, PARTITIVE_ENUMERATION, PARTITIVE_ENUMERATION_VALUES, PLURALITY_MARKER, PLURALITY_MARKER_VALUES, } from './models/index.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ConceptRef } from '../models/concept-ref.js';
|
|
2
|
+
/** Minimal concept shape these utilities need. */
|
|
3
|
+
export interface ExternalConceptLike {
|
|
4
|
+
status?: string | null;
|
|
5
|
+
related?: ReadonlyArray<{
|
|
6
|
+
type?: string;
|
|
7
|
+
}>;
|
|
8
|
+
}
|
|
9
|
+
/** Lookup interface the caller provides. */
|
|
10
|
+
export interface ConceptStore {
|
|
11
|
+
lookup(ref: ConceptRef | RefShape | null | undefined): ExternalConceptLike | null | undefined;
|
|
12
|
+
}
|
|
13
|
+
interface RefShape {
|
|
14
|
+
source?: string | null;
|
|
15
|
+
id?: string | null;
|
|
16
|
+
text?: string | null;
|
|
17
|
+
}
|
|
18
|
+
interface MemberLike {
|
|
19
|
+
ref?: ConceptRef | RefShape | null;
|
|
20
|
+
}
|
|
21
|
+
interface HyperedgeLike {
|
|
22
|
+
comprehensive?: ConceptRef | RefShape | null;
|
|
23
|
+
members?: ReadonlyArray<MemberLike>;
|
|
24
|
+
partitives?: ReadonlyArray<MemberLike>;
|
|
25
|
+
}
|
|
26
|
+
export declare function isExternalConcept(concept: ExternalConceptLike | null | undefined): boolean;
|
|
27
|
+
export declare function isExternalMember(member: MemberLike | null | undefined, store: ConceptStore): boolean;
|
|
28
|
+
export declare function isExternalComprehensive(hyperedge: HyperedgeLike, store: ConceptStore): boolean;
|
|
29
|
+
export declare function getExternalMembers(hyperedge: HyperedgeLike, store: ConceptStore): MemberLike[];
|
|
30
|
+
export declare function hasProvidedBy(concept: ExternalConceptLike | null | undefined): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* True if any external concept (comprehensive or member) lacks a
|
|
33
|
+
* `provided_by` edge — the decomposition dangles because there's no
|
|
34
|
+
* way to reach the providing dataset.
|
|
35
|
+
*/
|
|
36
|
+
export declare function hasDanglingExternal(hyperedge: HyperedgeLike, store: ConceptStore): boolean;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=external-detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-detection.d.ts","sourceRoot":"","sources":["../../src/utils/external-detection.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5C;AAED,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,MAAM,CACJ,GAAG,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAC5C,mBAAmB,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3C;AAED,UAAU,QAAQ;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,UAAU,UAAU;IAClB,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;CACpC;AAED,UAAU,aAAa;IACrB,aAAa,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACxC;AAID,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC9C,OAAO,CAET;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EACrC,KAAK,EAAE,YAAY,GAClB,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,YAAY,GAClB,OAAO,CAGT;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,YAAY,GAClB,UAAU,EAAE,CAGd;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAC9C,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,YAAY,GAClB,OAAO,CAWT"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// External concept detection utilities.
|
|
2
|
+
//
|
|
3
|
+
// ISO 704:2022 diagrams distinguish "external concepts" — concepts
|
|
4
|
+
// referenced from this dataset but defined elsewhere. They are rendered
|
|
5
|
+
// with parentheses: `(precision condition of measurement)` instead of
|
|
6
|
+
// `precision condition of measurement`.
|
|
7
|
+
//
|
|
8
|
+
// External detection requires concept resolution (looking up the
|
|
9
|
+
// referenced concept's status), which is a consumer concern. These
|
|
10
|
+
// utilities take a `ConceptStore` abstraction so the model layer stays
|
|
11
|
+
// pure — the caller decides how to resolve refs (in-memory map, async
|
|
12
|
+
// fetch, etc.).
|
|
13
|
+
//
|
|
14
|
+
// Per TODO 14 (external-concepts-ellipsis-rendering).
|
|
15
|
+
const PROVIDED_BY_TYPES = new Set(['provided_by', 'provides']);
|
|
16
|
+
export function isExternalConcept(concept) {
|
|
17
|
+
return concept?.status === 'external';
|
|
18
|
+
}
|
|
19
|
+
export function isExternalMember(member, store) {
|
|
20
|
+
if (!member)
|
|
21
|
+
return false;
|
|
22
|
+
return isExternalConcept(store.lookup(member.ref ?? null));
|
|
23
|
+
}
|
|
24
|
+
export function isExternalComprehensive(hyperedge, store) {
|
|
25
|
+
if (!hyperedge?.comprehensive)
|
|
26
|
+
return false;
|
|
27
|
+
return isExternalConcept(store.lookup(hyperedge.comprehensive));
|
|
28
|
+
}
|
|
29
|
+
export function getExternalMembers(hyperedge, store) {
|
|
30
|
+
const members = hyperedge?.members ?? hyperedge?.partitives ?? [];
|
|
31
|
+
return members.filter(m => isExternalMember(m, store));
|
|
32
|
+
}
|
|
33
|
+
export function hasProvidedBy(concept) {
|
|
34
|
+
return !!concept?.related?.some(r => r.type != null && PROVIDED_BY_TYPES.has(r.type));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* True if any external concept (comprehensive or member) lacks a
|
|
38
|
+
* `provided_by` edge — the decomposition dangles because there's no
|
|
39
|
+
* way to reach the providing dataset.
|
|
40
|
+
*/
|
|
41
|
+
export function hasDanglingExternal(hyperedge, store) {
|
|
42
|
+
const refs = [
|
|
43
|
+
hyperedge?.comprehensive ?? null,
|
|
44
|
+
...(hyperedge?.members ?? hyperedge?.partitives ?? []).map(m => m?.ref ?? null),
|
|
45
|
+
];
|
|
46
|
+
for (const ref of refs) {
|
|
47
|
+
const concept = store.lookup(ref);
|
|
48
|
+
if (!isExternalConcept(concept))
|
|
49
|
+
continue;
|
|
50
|
+
if (!hasProvidedBy(concept))
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=external-detection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-detection.js","sourceRoot":"","sources":["../../src/utils/external-detection.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,mEAAmE;AACnE,wEAAwE;AACxE,sEAAsE;AACtE,wCAAwC;AACxC,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,uEAAuE;AACvE,sEAAsE;AACtE,gBAAgB;AAChB,EAAE;AACF,sDAAsD;AAiCtD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/D,MAAM,UAAU,iBAAiB,CAC/B,OAA+C;IAE/C,OAAO,OAAO,EAAE,MAAM,KAAK,UAAU,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAqC,EACrC,KAAmB;IAEnB,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,SAAwB,EACxB,KAAmB;IAEnB,IAAI,CAAC,SAAS,EAAE,aAAa;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,SAAwB,EACxB,KAAmB;IAEnB,MAAM,OAAO,GAAG,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC;IAClE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAA+C;IAE/C,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAwB,EACxB,KAAmB;IAEnB,MAAM,IAAI,GAAgD;QACxD,SAAS,EAAE,aAAa,IAAI,IAAI;QAChC,GAAG,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC;KAChF,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAAE,SAAS;QAC1C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const OPEN_ENDED_PATTERNS: readonly ReadonlyRegExp[];
|
|
2
|
+
export interface ExtensionalDefinitionLike {
|
|
3
|
+
type?: string | null;
|
|
4
|
+
content?: string | null;
|
|
5
|
+
}
|
|
6
|
+
export interface ExtensionalCompletenessIssue {
|
|
7
|
+
rule: 'ISO-704-6.4.5.1';
|
|
8
|
+
severity: 'warning';
|
|
9
|
+
message: string;
|
|
10
|
+
match: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function checkExtensionalCompleteness(definition: ExtensionalDefinitionLike | null | undefined): ExtensionalCompletenessIssue | null;
|
|
13
|
+
interface ReadonlyRegExp extends RegExp {
|
|
14
|
+
readonly source: string;
|
|
15
|
+
readonly flags: string;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=extensional-completeness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensional-completeness.d.ts","sourceRoot":"","sources":["../../src/validators/extensional-completeness.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,mBAAmB,EAQ3B,SAAS,cAAc,EAAE,CAAC;AAE/B,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,yBAAyB,GAAG,IAAI,GAAG,SAAS,GACvD,4BAA4B,GAAG,IAAI,CAiBrC;AAED,UAAU,cAAe,SAAQ,MAAM;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// Extensional definition completeness check.
|
|
2
|
+
//
|
|
3
|
+
// ISO 704:2022 §6.4.5.1 requires extensional definitions to enumerate
|
|
4
|
+
// exhaustively. Open-ended wording ("etc.", "...", "and so on") in an
|
|
5
|
+
// extensional definition violates this — the reader cannot reconstruct
|
|
6
|
+
// the full set from the definition text.
|
|
7
|
+
//
|
|
8
|
+
// This is a pure function, not a ValidationRule, because the check
|
|
9
|
+
// applies per-definition, not per-concept. Callers (validators, UI
|
|
10
|
+
// components) iterate definitions and call this on each.
|
|
11
|
+
//
|
|
12
|
+
// Per TODO 14 (external-concepts-ellipsis-rendering), mirroring the
|
|
13
|
+
// concept-model `check-definition-rules` §6.4.5.1.
|
|
14
|
+
export const OPEN_ENDED_PATTERNS = [
|
|
15
|
+
/\.\.\./,
|
|
16
|
+
/\betc\b\.?/i,
|
|
17
|
+
/\band similar\b/i,
|
|
18
|
+
/\band so on\b/i,
|
|
19
|
+
/\band the like\b/i,
|
|
20
|
+
/\band others?\b/i,
|
|
21
|
+
/\bincluding\b/i,
|
|
22
|
+
];
|
|
23
|
+
export function checkExtensionalCompleteness(definition) {
|
|
24
|
+
if (definition?.type !== 'extensional')
|
|
25
|
+
return null;
|
|
26
|
+
const content = definition?.content ?? '';
|
|
27
|
+
for (const pattern of OPEN_ENDED_PATTERNS) {
|
|
28
|
+
const match = content.match(pattern);
|
|
29
|
+
if (match) {
|
|
30
|
+
return {
|
|
31
|
+
rule: 'ISO-704-6.4.5.1',
|
|
32
|
+
severity: 'warning',
|
|
33
|
+
message: `Extensional definition contains open-ended wording '${match[0]}'; ` +
|
|
34
|
+
'ISO 704:2022 §6.4.5.1 requires exhaustive enumeration.',
|
|
35
|
+
match: match[0],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=extensional-completeness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extensional-completeness.js","sourceRoot":"","sources":["../../src/validators/extensional-completeness.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,EAAE;AACF,sEAAsE;AACtE,sEAAsE;AACtE,uEAAuE;AACvE,yCAAyC;AACzC,EAAE;AACF,mEAAmE;AACnE,mEAAmE;AACnE,yDAAyD;AACzD,EAAE;AACF,oEAAoE;AACpE,mDAAmD;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,QAAQ;IACR,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,gBAAgB;CACY,CAAC;AAc/B,MAAM,UAAU,4BAA4B,CAC1C,UAAwD;IAExD,IAAI,UAAU,EAAE,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC;IAC1C,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,QAAQ,EAAE,SAAS;gBACnB,OAAO,EACL,uDAAuD,KAAK,CAAC,CAAC,CAAC,KAAK;oBACpE,wDAAwD;gBAC1D,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|