glossarist 0.4.57 → 0.4.59
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/compiled-format.d.ts.map +1 -1
- package/dist/compiled-format.js +1 -0
- package/dist/compiled-format.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/output/csv.d.ts +11 -0
- package/dist/output/csv.d.ts.map +1 -0
- package/dist/output/csv.js +97 -0
- package/dist/output/csv.js.map +1 -0
- package/dist/output/index.d.ts +6 -0
- package/dist/output/index.d.ts.map +1 -0
- package/dist/output/index.js +15 -0
- package/dist/output/index.js.map +1 -0
- package/dist/output/jsonl.d.ts +10 -0
- package/dist/output/jsonl.d.ts.map +1 -0
- package/dist/output/jsonl.js +19 -0
- package/dist/output/jsonl.js.map +1 -0
- package/dist/output/output-set.d.ts +28 -0
- package/dist/output/output-set.d.ts.map +1 -0
- package/dist/output/output-set.js +151 -0
- package/dist/output/output-set.js.map +1 -0
- package/dist/output/tbx.d.ts +16 -0
- package/dist/output/tbx.d.ts.map +1 -0
- package/dist/output/tbx.js +203 -0
- package/dist/output/tbx.js.map +1 -0
- package/dist/output/turtle.d.ts +12 -0
- package/dist/output/turtle.d.ts.map +1 -0
- package/dist/output/turtle.js +33 -0
- package/dist/output/turtle.js.map +1 -0
- package/dist/rdf/bibliography-emitter.d.ts.map +1 -1
- package/dist/rdf/bibliography-emitter.js +2 -1
- package/dist/rdf/bibliography-emitter.js.map +1 -1
- package/dist/rdf/gloss-concept.d.ts.map +1 -1
- package/dist/rdf/gloss-concept.js +6 -4
- package/dist/rdf/gloss-concept.js.map +1 -1
- package/dist/rdf/gloss-generic-hyperedge.d.ts.map +1 -1
- package/dist/rdf/gloss-generic-hyperedge.js +3 -2
- package/dist/rdf/gloss-generic-hyperedge.js.map +1 -1
- package/dist/rdf/gloss-non-verbal-rep.d.ts.map +1 -1
- package/dist/rdf/gloss-non-verbal-rep.js +4 -2
- package/dist/rdf/gloss-non-verbal-rep.js.map +1 -1
- package/dist/rdf/gloss-partitive-relation.d.ts.map +1 -1
- package/dist/rdf/gloss-partitive-relation.js +3 -2
- package/dist/rdf/gloss-partitive-relation.js.map +1 -1
- package/dist/rdf/image-variant-emitter.d.ts.map +1 -1
- package/dist/rdf/image-variant-emitter.js +2 -1
- package/dist/rdf/image-variant-emitter.js.map +1 -1
- package/dist/rdf/index.d.ts +1 -0
- package/dist/rdf/index.d.ts.map +1 -1
- package/dist/rdf/index.js +1 -0
- package/dist/rdf/index.js.map +1 -1
- package/dist/rdf/iri.d.ts +2 -0
- package/dist/rdf/iri.d.ts.map +1 -0
- package/dist/rdf/iri.js +14 -0
- package/dist/rdf/iri.js.map +1 -0
- package/dist/transforms/concept-to-gloss.transform.d.ts.map +1 -1
- package/dist/transforms/concept-to-gloss.transform.js +2 -1
- package/dist/transforms/concept-to-gloss.transform.js.map +1 -1
- package/dist/utils/strings.d.ts +7 -0
- package/dist/utils/strings.d.ts.map +1 -0
- package/dist/utils/strings.js +13 -0
- package/dist/utils/strings.js.map +1 -0
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-format.d.ts","sourceRoot":"","sources":["../src/compiled-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,+
|
|
1
|
+
{"version":3,"file":"compiled-format.d.ts","sourceRoot":"","sources":["../src/compiled-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,+BAMtB,CAAC;AAEJ,uDAAuD;AACvD,QAAA,MAAM,gBAAgB,mBAAiD,CAAC;AAExE;;;;;;GAMG;AACH,iBAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAInD;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAE/C;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,WAEpC;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAajF;AAED,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,CAAC"}
|
package/dist/compiled-format.js
CHANGED
|
@@ -18,6 +18,7 @@ const COMPILED_EXTENSIONS = Object.freeze(new Map([
|
|
|
18
18
|
['jsonld', 'jsonld'],
|
|
19
19
|
['turtle', 'ttl'],
|
|
20
20
|
['jsonl', 'jsonl'],
|
|
21
|
+
['csv', 'csv'],
|
|
21
22
|
]));
|
|
22
23
|
/** Canonical format identifiers, in a stable order. */
|
|
23
24
|
const COMPILED_FORMATS = Object.freeze([...COMPILED_EXTENSIONS.keys()]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-format.js","sourceRoot":"","sources":["../src/compiled-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAChD,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,KAAK,CAAC;IACjB,CAAC,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"compiled-format.js","sourceRoot":"","sources":["../src/compiled-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAChD,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,KAAK,CAAC;IACjB,CAAC,OAAO,EAAE,OAAO,CAAC;IAClB,CAAC,KAAK,EAAE,KAAK,CAAC;CACf,CAAC,CAAC,CAAC;AAEJ,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAExE;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,EAAU;IAClD,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACrE,OAAO,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,EAAU;IAC9C,OAAO,YAAY,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -28,5 +28,6 @@ export { COMPILED_EXTENSIONS, COMPILED_FORMATS, isKnownFormat, compiledFilename,
|
|
|
28
28
|
export { DATASET_ASSETS, FILE_ASSETS, DIRECTORY_ASSETS, } from './dataset-asset.js';
|
|
29
29
|
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, NonConceptEntity, 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';
|
|
30
30
|
export { AssetIndex } from './validators/asset-index.js';
|
|
31
|
+
export { CSV_COLUMNS, conceptsToCsv, conceptToTbx, conceptsToTbx, conceptToJsonl, conceptsToJsonl, conceptToTurtle, emitOutputSet, emitPerConceptFiles, OUTPUT_FORMATS, PER_CONCEPT_FORMATS, type CsvOptions, type TbxOptions, type ConceptTurtleOptions, type OutputFormat, type OutputSet, type EmitOutputSetOptions, } from './output/index.js';
|
|
31
32
|
export { ENTITY_DIRECTORIES, ENTITY_TYPES, entityDir, entityPath, isKnownEntityType, parseEntityPath, } from './entity-directory.js';
|
|
32
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -26,6 +26,10 @@ export { COMPILED_EXTENSIONS, COMPILED_FORMATS, isKnownFormat, compiledFilename,
|
|
|
26
26
|
export { DATASET_ASSETS, FILE_ASSETS, DIRECTORY_ASSETS, } from './dataset-asset.js';
|
|
27
27
|
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, NonConceptEntity, 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';
|
|
28
28
|
export { AssetIndex } from './validators/asset-index.js';
|
|
29
|
+
// Canonical dataset output-set API (glossarist-js#132). Every format is a
|
|
30
|
+
// projection of the same Concept model walk; turtle/jsonld delegate to the
|
|
31
|
+
// rdf/ quad layer so predicates stay context.jsonld-aligned.
|
|
32
|
+
export { CSV_COLUMNS, conceptsToCsv, conceptToTbx, conceptsToTbx, conceptToJsonl, conceptsToJsonl, conceptToTurtle, emitOutputSet, emitPerConceptFiles, OUTPUT_FORMATS, PER_CONCEPT_FORMATS, } from './output/index.js';
|
|
29
33
|
export { ENTITY_DIRECTORIES, ENTITY_TYPES, entityDir, entityPath, isKnownEntityType, parseEntityPath, } from './entity-directory.js';
|
|
30
34
|
// RDF serialization layer (WS C). Mirrors lib/glossarist/rdf/.
|
|
31
35
|
//
|
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,11 @@
|
|
|
1
|
+
import type { Concept } from '../models/concept.js';
|
|
2
|
+
export declare const CSV_COLUMNS: readonly string[];
|
|
3
|
+
export interface CsvOptions {
|
|
4
|
+
/** Preferred language column order; unlisted languages append after. */
|
|
5
|
+
languageOrder?: readonly string[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Aggregate CSV: one row per (concept × language). UTF-8 BOM + CRLF.
|
|
9
|
+
*/
|
|
10
|
+
export declare function conceptsToCsv(concepts: readonly Concept[], options?: CsvOptions): string;
|
|
11
|
+
//# sourceMappingURL=csv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../src/output/csv.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,eAAO,MAAM,WAAW,EAalB,SAAS,MAAM,EAAE,CAAC;AAExB,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AA6ED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,GAAE,UAAe,GACvB,MAAM,CAsBR"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// Aggregate CSV projection of the Concept model.
|
|
2
|
+
//
|
|
3
|
+
// One row per (concept × language). Layout proven in
|
|
4
|
+
// glossarist/concept-browser#214 and specified in glossarist-js#132:
|
|
5
|
+
// UTF-8 BOM + CRLF so Excel opens the file without an import wizard;
|
|
6
|
+
// RFC 4180 quoting so embedded newlines survive inside cells.
|
|
7
|
+
//
|
|
8
|
+
// Model-driven: reads the same Concept/LocalizedConcept API covered by
|
|
9
|
+
// the v3 wire-format round-trip tests. No second normalization layer.
|
|
10
|
+
export const CSV_COLUMNS = Object.freeze([
|
|
11
|
+
'termid',
|
|
12
|
+
'uri',
|
|
13
|
+
'status',
|
|
14
|
+
'section',
|
|
15
|
+
'language',
|
|
16
|
+
'term',
|
|
17
|
+
'alt_terms',
|
|
18
|
+
'definition',
|
|
19
|
+
'notes',
|
|
20
|
+
'examples',
|
|
21
|
+
'sources',
|
|
22
|
+
'source_links',
|
|
23
|
+
]);
|
|
24
|
+
function csvEscape(value) {
|
|
25
|
+
if (/[",\r\n]/.test(value)) {
|
|
26
|
+
return `"${value.replace(/"/g, '""')}"`;
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
function joinLines(items) {
|
|
31
|
+
return items.filter((s) => typeof s === 'string' && s.length > 0).join('\n');
|
|
32
|
+
}
|
|
33
|
+
function joinSemicolons(items) {
|
|
34
|
+
return items.filter((s) => typeof s === 'string' && s.length > 0).join('; ');
|
|
35
|
+
}
|
|
36
|
+
function sourceRefString(src) {
|
|
37
|
+
const ref = src.origin?.ref;
|
|
38
|
+
if (!ref)
|
|
39
|
+
return '';
|
|
40
|
+
return [ref.source, ref.id].filter((p) => p != null && p !== '').join(': ');
|
|
41
|
+
}
|
|
42
|
+
function sourceLinkString(src) {
|
|
43
|
+
return src.origin?.link ?? '';
|
|
44
|
+
}
|
|
45
|
+
function orderedLanguages(present, languageOrder) {
|
|
46
|
+
if (!languageOrder?.length)
|
|
47
|
+
return [...present];
|
|
48
|
+
const ordered = languageOrder.filter((lang) => present.includes(lang));
|
|
49
|
+
return ordered.concat(present.filter((lang) => !ordered.includes(lang)));
|
|
50
|
+
}
|
|
51
|
+
function splitTerms(terms) {
|
|
52
|
+
const withText = terms.filter((t) => t.designation);
|
|
53
|
+
if (withText.length === 0)
|
|
54
|
+
return { term: '', altTerms: [] };
|
|
55
|
+
const preferred = withText.find((t) => t.normativeStatus === 'preferred') ?? withText[0];
|
|
56
|
+
const altTerms = withText.filter((t) => t !== preferred).map((t) => t.designation);
|
|
57
|
+
return { term: preferred.designation, altTerms };
|
|
58
|
+
}
|
|
59
|
+
function conceptRowCells(concept, lang, sources) {
|
|
60
|
+
const lc = concept.localization(lang);
|
|
61
|
+
const terms = lc?.terms ?? [];
|
|
62
|
+
const { term, altTerms } = splitTerms(terms);
|
|
63
|
+
return [
|
|
64
|
+
concept.termid ?? concept.id,
|
|
65
|
+
concept.uri ?? '',
|
|
66
|
+
concept.status ?? '',
|
|
67
|
+
joinSemicolons(concept.domains.map((d) => d.conceptId)),
|
|
68
|
+
lang,
|
|
69
|
+
term,
|
|
70
|
+
altTerms.join('; '),
|
|
71
|
+
joinLines((lc?.definitions ?? []).map((d) => d.content)),
|
|
72
|
+
joinLines((lc?.notes ?? []).map((d) => d.content)),
|
|
73
|
+
joinLines((lc?.examples ?? []).map((d) => d.content)),
|
|
74
|
+
joinSemicolons(sources.map(sourceRefString)),
|
|
75
|
+
joinSemicolons(sources.map(sourceLinkString)),
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Aggregate CSV: one row per (concept × language). UTF-8 BOM + CRLF.
|
|
80
|
+
*/
|
|
81
|
+
export function conceptsToCsv(concepts, options = {}) {
|
|
82
|
+
const rows = [CSV_COLUMNS.join(',')];
|
|
83
|
+
for (const concept of concepts) {
|
|
84
|
+
const languages = orderedLanguages(concept.languages, options.languageOrder);
|
|
85
|
+
if (languages.length === 0) {
|
|
86
|
+
rows.push(conceptRowCells(concept, '', concept.sources).map(csvEscape).join(','));
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
for (const lang of languages) {
|
|
90
|
+
const lc = concept.localization(lang);
|
|
91
|
+
const sources = lc?.sources?.length ? lc.sources : concept.sources;
|
|
92
|
+
rows.push(conceptRowCells(concept, lang, sources).map(csvEscape).join(','));
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return '\uFEFF' + rows.join('\r\n') + '\r\n';
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=csv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/output/csv.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { CSV_COLUMNS, conceptsToCsv, type CsvOptions, } from './csv.js';
|
|
2
|
+
export { conceptToTbx, conceptsToTbx, type TbxOptions, } from './tbx.js';
|
|
3
|
+
export { conceptToJsonl, conceptsToJsonl, } from './jsonl.js';
|
|
4
|
+
export { conceptToTurtle, type ConceptTurtleOptions, } from './turtle.js';
|
|
5
|
+
export { emitOutputSet, emitPerConceptFiles, OUTPUT_FORMATS, PER_CONCEPT_FORMATS, type OutputFormat, type OutputSet, type EmitOutputSetOptions, } from './output-set.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,WAAW,EACX,aAAa,EACb,KAAK,UAAU,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,KAAK,UAAU,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Canonical dataset output-set API (glossarist-js#132).
|
|
2
|
+
//
|
|
3
|
+
// Every interchange format is a projection of the same Concept model walk,
|
|
4
|
+
// aligned to concept-model by construction:
|
|
5
|
+
// - turtle/jsonld predicates come from the generated context.jsonld mapping
|
|
6
|
+
// - yaml/jsonl use the schemas/v3 wire shape
|
|
7
|
+
// - tbx/csv are pure model projections
|
|
8
|
+
//
|
|
9
|
+
// See TODO.refactor/64-output-set-api-design.md.
|
|
10
|
+
export { CSV_COLUMNS, conceptsToCsv, } from './csv.js';
|
|
11
|
+
export { conceptToTbx, conceptsToTbx, } from './tbx.js';
|
|
12
|
+
export { conceptToJsonl, conceptsToJsonl, } from './jsonl.js';
|
|
13
|
+
export { conceptToTurtle, } from './turtle.js';
|
|
14
|
+
export { emitOutputSet, emitPerConceptFiles, OUTPUT_FORMATS, PER_CONCEPT_FORMATS, } from './output-set.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,2EAA2E;AAC3E,4CAA4C;AAC5C,8EAA8E;AAC9E,+CAA+C;AAC/C,yCAAyC;AACzC,EAAE;AACF,iDAAiD;AAEjD,OAAO,EACL,WAAW,EACX,aAAa,GAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,YAAY,EACZ,aAAa,GAEd,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,GAEhB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GAIpB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Concept } from '../models/concept.js';
|
|
2
|
+
/**
|
|
3
|
+
* One concept as a single JSON line (no trailing newline).
|
|
4
|
+
*/
|
|
5
|
+
export declare function conceptToJsonl(concept: Concept): string;
|
|
6
|
+
/**
|
|
7
|
+
* Aggregate JSONL: one concept per line, LF-terminated.
|
|
8
|
+
*/
|
|
9
|
+
export declare function conceptsToJsonl(concepts: readonly Concept[]): string;
|
|
10
|
+
//# sourceMappingURL=jsonl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.d.ts","sourceRoot":"","sources":["../../src/output/jsonl.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAGpE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// JSONL projection: one wire-format JSON object per line.
|
|
2
|
+
//
|
|
3
|
+
// Wire shape comes straight from Concept.toJSON() — the same canonical
|
|
4
|
+
// shape the v3 schema round-trip tests cover. No second serializer.
|
|
5
|
+
/**
|
|
6
|
+
* One concept as a single JSON line (no trailing newline).
|
|
7
|
+
*/
|
|
8
|
+
export function conceptToJsonl(concept) {
|
|
9
|
+
return JSON.stringify(concept.toJSON());
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Aggregate JSONL: one concept per line, LF-terminated.
|
|
13
|
+
*/
|
|
14
|
+
export function conceptsToJsonl(concepts) {
|
|
15
|
+
if (concepts.length === 0)
|
|
16
|
+
return '';
|
|
17
|
+
return concepts.map(conceptToJsonl).join('\n') + '\n';
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=jsonl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl.js","sourceRoot":"","sources":["../../src/output/jsonl.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,uEAAuE;AACvE,oEAAoE;AAIpE;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAA4B;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,OAAO,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Concept } from '../models/concept.js';
|
|
2
|
+
export type OutputFormat = 'turtle' | 'jsonld' | 'tbx' | 'jsonl' | 'csv' | 'yaml';
|
|
3
|
+
export declare const OUTPUT_FORMATS: readonly OutputFormat[];
|
|
4
|
+
/** Formats that have a meaningful per-concept file (feeds GcrWriter.compiledFormats). */
|
|
5
|
+
export declare const PER_CONCEPT_FORMATS: readonly OutputFormat[];
|
|
6
|
+
export interface EmitOutputSetOptions {
|
|
7
|
+
/** Required — register id used in concept IRIs and aggregate filenames. */
|
|
8
|
+
registerId: string;
|
|
9
|
+
/** Required — deployment canonical URI root (never defaulted). */
|
|
10
|
+
uriBase: string;
|
|
11
|
+
/** Subset to emit; defaults to all six formats. */
|
|
12
|
+
formats?: readonly OutputFormat[];
|
|
13
|
+
/** Preferred language order for the CSV projection. */
|
|
14
|
+
languageOrder?: readonly string[];
|
|
15
|
+
}
|
|
16
|
+
export type OutputSet = Partial<Record<OutputFormat, string>>;
|
|
17
|
+
/**
|
|
18
|
+
* Aggregate output set: one document per requested format, keyed by
|
|
19
|
+
* format name. Filenames follow `{registerId}.{ext}`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function emitOutputSet(concepts: readonly Concept[], options: EmitOutputSetOptions): Promise<OutputSet>;
|
|
22
|
+
/**
|
|
23
|
+
* Per-concept files: `{conceptId: {format: content}}`. Feeds
|
|
24
|
+
* `GcrWriter.compiledFormats` (compiled/{format}/{id}.{ext}).
|
|
25
|
+
* CSV is aggregate-only and never appears here.
|
|
26
|
+
*/
|
|
27
|
+
export declare function emitPerConceptFiles(concepts: readonly Concept[], options: EmitOutputSetOptions): Promise<Record<string, OutputSet>>;
|
|
28
|
+
//# sourceMappingURL=output-set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-set.d.ts","sourceRoot":"","sources":["../../src/output/output-set.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAWpD,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAElF,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAOhD,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,EAAE,SAAS,YAAY,EAMrD,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAClC,uDAAuD;IACvD,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;AA8C9D;;;GAGG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAoCpB;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CA+CpC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// Dataset-level output-set API (glossarist-js#132).
|
|
2
|
+
//
|
|
3
|
+
// One call produces the whole interchange set for a Register/collection.
|
|
4
|
+
// Each format is a projection of the same Concept model walk:
|
|
5
|
+
// turtle/jsonld → rdf/ quad layer (context.jsonld-aligned predicates)
|
|
6
|
+
// yaml → conceptSerializer (schemas/v3 wire)
|
|
7
|
+
// tbx/csv/jsonl → src/output model-walk writers
|
|
8
|
+
// MECE: one projection per format; no cross-format re-normalization.
|
|
9
|
+
import { conceptToQuads } from '../rdf/gloss-concept.js';
|
|
10
|
+
import { writeTurtle, writeJsonld } from '../rdf/document-writer.js';
|
|
11
|
+
import { PREFIXES } from '../rdf/prefixes.js';
|
|
12
|
+
import { conceptSerializer } from '../concept-serializer.js';
|
|
13
|
+
import { InvalidInputError } from '../errors.js';
|
|
14
|
+
import { conceptsToCsv } from './csv.js';
|
|
15
|
+
import { conceptsToTbx } from './tbx.js';
|
|
16
|
+
import { conceptsToJsonl } from './jsonl.js';
|
|
17
|
+
import { conceptToTurtle } from './turtle.js';
|
|
18
|
+
export const OUTPUT_FORMATS = Object.freeze([
|
|
19
|
+
'turtle',
|
|
20
|
+
'jsonld',
|
|
21
|
+
'tbx',
|
|
22
|
+
'jsonl',
|
|
23
|
+
'csv',
|
|
24
|
+
'yaml',
|
|
25
|
+
]);
|
|
26
|
+
/** Formats that have a meaningful per-concept file (feeds GcrWriter.compiledFormats). */
|
|
27
|
+
export const PER_CONCEPT_FORMATS = Object.freeze([
|
|
28
|
+
'turtle',
|
|
29
|
+
'jsonld',
|
|
30
|
+
'tbx',
|
|
31
|
+
'jsonl',
|
|
32
|
+
'yaml',
|
|
33
|
+
]);
|
|
34
|
+
function requireOptions(options, fnName) {
|
|
35
|
+
if (!options?.registerId) {
|
|
36
|
+
throw new InvalidInputError(`${fnName} requires options.registerId`, 'non-empty registerId');
|
|
37
|
+
}
|
|
38
|
+
if (!options?.uriBase) {
|
|
39
|
+
throw new InvalidInputError(`${fnName} requires options.uriBase — the deployment canonical URI root is never defaulted`, 'non-empty uriBase');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function resolveFormats(options, fnName) {
|
|
43
|
+
const formats = options.formats ?? OUTPUT_FORMATS;
|
|
44
|
+
for (const f of formats) {
|
|
45
|
+
if (!OUTPUT_FORMATS.includes(f)) {
|
|
46
|
+
throw new RangeError(`Unknown output format: ${String(f)}`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
void fnName;
|
|
50
|
+
return [...formats];
|
|
51
|
+
}
|
|
52
|
+
function collectQuads(concepts, options) {
|
|
53
|
+
// n3/@rdfjs term variance bridged once at this seam (same pattern as
|
|
54
|
+
// document-writer's addQuad cast).
|
|
55
|
+
const quads = [];
|
|
56
|
+
for (const concept of concepts) {
|
|
57
|
+
for (const q of conceptToQuads(concept, {
|
|
58
|
+
registerId: options.registerId,
|
|
59
|
+
uriBase: options.uriBase,
|
|
60
|
+
})) {
|
|
61
|
+
quads.push(q);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return quads;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Aggregate output set: one document per requested format, keyed by
|
|
68
|
+
* format name. Filenames follow `{registerId}.{ext}`.
|
|
69
|
+
*/
|
|
70
|
+
export async function emitOutputSet(concepts, options) {
|
|
71
|
+
requireOptions(options, 'emitOutputSet');
|
|
72
|
+
const formats = resolveFormats(options, 'emitOutputSet');
|
|
73
|
+
const out = {};
|
|
74
|
+
// Shared quad collection for the RDF projections (single model walk).
|
|
75
|
+
const needsQuads = formats.includes('turtle') || formats.includes('jsonld');
|
|
76
|
+
const quads = needsQuads ? collectQuads(concepts, options) : [];
|
|
77
|
+
for (const format of formats) {
|
|
78
|
+
switch (format) {
|
|
79
|
+
case 'turtle':
|
|
80
|
+
out.turtle = await writeTurtle(quads, { prefixes: { ...PREFIXES } });
|
|
81
|
+
break;
|
|
82
|
+
case 'jsonld':
|
|
83
|
+
out.jsonld = await writeJsonld(quads);
|
|
84
|
+
break;
|
|
85
|
+
case 'tbx':
|
|
86
|
+
out.tbx = conceptsToTbx(concepts, { registerId: options.registerId });
|
|
87
|
+
break;
|
|
88
|
+
case 'jsonl':
|
|
89
|
+
out.jsonl = conceptsToJsonl(concepts);
|
|
90
|
+
break;
|
|
91
|
+
case 'csv':
|
|
92
|
+
out.csv = conceptsToCsv(concepts, { languageOrder: options.languageOrder });
|
|
93
|
+
break;
|
|
94
|
+
case 'yaml': {
|
|
95
|
+
const docs = concepts.map((c) => conceptSerializer.toYaml(c));
|
|
96
|
+
out.yaml = docs.join('');
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Per-concept files: `{conceptId: {format: content}}`. Feeds
|
|
105
|
+
* `GcrWriter.compiledFormats` (compiled/{format}/{id}.{ext}).
|
|
106
|
+
* CSV is aggregate-only and never appears here.
|
|
107
|
+
*/
|
|
108
|
+
export async function emitPerConceptFiles(concepts, options) {
|
|
109
|
+
requireOptions(options, 'emitPerConceptFiles');
|
|
110
|
+
const requested = resolveFormats(options, 'emitPerConceptFiles');
|
|
111
|
+
const formats = requested.filter((f) => PER_CONCEPT_FORMATS.includes(f));
|
|
112
|
+
const out = {};
|
|
113
|
+
for (const concept of concepts) {
|
|
114
|
+
const files = {};
|
|
115
|
+
for (const format of formats) {
|
|
116
|
+
switch (format) {
|
|
117
|
+
case 'turtle':
|
|
118
|
+
files.turtle = conceptToTurtle(concept, {
|
|
119
|
+
uriBase: options.uriBase,
|
|
120
|
+
registerId: options.registerId,
|
|
121
|
+
});
|
|
122
|
+
break;
|
|
123
|
+
case 'jsonld': {
|
|
124
|
+
const quads = [];
|
|
125
|
+
for (const q of conceptToQuads(concept, {
|
|
126
|
+
registerId: options.registerId,
|
|
127
|
+
uriBase: options.uriBase,
|
|
128
|
+
})) {
|
|
129
|
+
quads.push(q);
|
|
130
|
+
}
|
|
131
|
+
files.jsonld = await writeJsonld(quads);
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
case 'tbx':
|
|
135
|
+
files.tbx = conceptsToTbx([concept], { registerId: options.registerId });
|
|
136
|
+
break;
|
|
137
|
+
case 'jsonl':
|
|
138
|
+
files.jsonl = conceptsToJsonl([concept]);
|
|
139
|
+
break;
|
|
140
|
+
case 'yaml':
|
|
141
|
+
files.yaml = conceptSerializer.toYaml(concept);
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (Object.keys(files).length > 0) {
|
|
146
|
+
out[concept.id] = files;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return out;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=output-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-set.js","sourceRoot":"","sources":["../../src/output/output-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Concept } from '../models/concept.js';
|
|
2
|
+
export interface TbxOptions {
|
|
3
|
+
registerId?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* One concept as a standalone TBX-Basic document. Empty string when the
|
|
7
|
+
* concept has no terms or definitions in any localization.
|
|
8
|
+
*/
|
|
9
|
+
export declare function conceptToTbx(concept: Concept, options?: TbxOptions): string;
|
|
10
|
+
/**
|
|
11
|
+
* Aggregate TBX: one document, one `<conceptEntry>` per concept that has
|
|
12
|
+
* serializable content. Concepts without content are skipped (TBX has no
|
|
13
|
+
* empty-entry representation).
|
|
14
|
+
*/
|
|
15
|
+
export declare function conceptsToTbx(concepts: readonly Concept[], options?: TbxOptions): string;
|
|
16
|
+
//# sourceMappingURL=tbx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tbx.d.ts","sourceRoot":"","sources":["../../src/output/tbx.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAIpD,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0ID;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM,CAmC/E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,GAAE,UAAe,GACvB,MAAM,CA6BR"}
|