glossarist 0.4.49 → 0.4.51
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 +43 -0
- package/dist/compiled-format.d.ts.map +1 -0
- package/{src/compiled-format.ts → dist/compiled-format.js} +28 -46
- package/dist/compiled-format.js.map +1 -0
- package/dist/concept-collection.d.ts +39 -0
- package/dist/concept-collection.d.ts.map +1 -0
- package/dist/concept-collection.js +127 -0
- package/dist/concept-collection.js.map +1 -0
- package/dist/concept-diff.d.ts +14 -0
- package/dist/concept-diff.d.ts.map +1 -0
- package/{src/concept-diff.ts → dist/concept-diff.js} +2 -20
- package/dist/concept-diff.js.map +1 -0
- package/dist/concept-parser.d.ts +11 -0
- package/dist/concept-parser.d.ts.map +1 -0
- package/dist/concept-parser.js +209 -0
- package/dist/concept-parser.js.map +1 -0
- package/dist/concept-reader.d.ts +55 -0
- package/dist/concept-reader.d.ts.map +1 -0
- package/{src/concept-reader.ts → dist/concept-reader.js} +70 -76
- package/dist/concept-reader.js.map +1 -0
- package/dist/concept-serializer.d.ts +9 -0
- package/dist/concept-serializer.d.ts.map +1 -0
- package/dist/concept-serializer.js +87 -0
- package/dist/concept-serializer.js.map +1 -0
- package/dist/concept-writer.d.ts +10 -0
- package/dist/concept-writer.d.ts.map +1 -0
- package/dist/concept-writer.js +28 -0
- package/dist/concept-writer.js.map +1 -0
- package/dist/dataset-asset.d.ts +49 -0
- package/dist/dataset-asset.d.ts.map +1 -0
- package/{src/dataset-asset.ts → dist/dataset-asset.js} +16 -33
- package/dist/dataset-asset.js.map +1 -0
- package/dist/diff/canonical-json.d.ts +7 -0
- package/dist/diff/canonical-json.d.ts.map +1 -0
- package/dist/diff/canonical-json.js +28 -0
- package/dist/diff/canonical-json.js.map +1 -0
- package/dist/diff/change.d.ts +67 -0
- package/dist/diff/change.d.ts.map +1 -0
- package/dist/diff/change.js +131 -0
- package/dist/diff/change.js.map +1 -0
- package/dist/diff/collection-diff.d.ts +50 -0
- package/dist/diff/collection-diff.d.ts.map +1 -0
- package/dist/diff/collection-diff.js +182 -0
- package/dist/diff/collection-diff.js.map +1 -0
- package/dist/diff/concept-diff.d.ts +188 -0
- package/dist/diff/concept-diff.d.ts.map +1 -0
- package/dist/diff/concept-diff.js +624 -0
- package/dist/diff/concept-diff.js.map +1 -0
- package/dist/diff/diff-patch.d.ts +7 -0
- package/dist/diff/diff-patch.d.ts.map +1 -0
- package/dist/diff/diff-patch.js +225 -0
- package/dist/diff/diff-patch.js.map +1 -0
- package/dist/diff/diff-renderer.d.ts +44 -0
- package/dist/diff/diff-renderer.d.ts.map +1 -0
- package/dist/diff/diff-renderer.js +263 -0
- package/dist/diff/diff-renderer.js.map +1 -0
- package/dist/diff/identity.d.ts +2 -0
- package/dist/diff/identity.d.ts.map +1 -0
- package/dist/diff/identity.js +29 -0
- package/dist/diff/identity.js.map +1 -0
- package/dist/diff/index.d.ts +8 -0
- package/dist/diff/index.d.ts.map +1 -0
- package/dist/diff/index.js +8 -0
- package/dist/diff/index.js.map +1 -0
- package/dist/diff/list-diff.d.ts +36 -0
- package/dist/diff/list-diff.d.ts.map +1 -0
- package/dist/diff/list-diff.js +185 -0
- package/dist/diff/list-diff.js.map +1 -0
- package/dist/diff/similarity.d.ts +4 -0
- package/dist/diff/similarity.d.ts.map +1 -0
- package/dist/diff/similarity.js +20 -0
- package/dist/diff/similarity.js.map +1 -0
- package/dist/diff/text-diff.d.ts +42 -0
- package/dist/diff/text-diff.d.ts.map +1 -0
- package/dist/diff/text-diff.js +134 -0
- package/dist/diff/text-diff.js.map +1 -0
- package/dist/entity-directory.d.ts +13 -0
- package/dist/entity-directory.d.ts.map +1 -0
- package/dist/entity-directory.js +35 -0
- package/dist/entity-directory.js.map +1 -0
- package/dist/errors.d.ts +15 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +23 -0
- package/dist/errors.js.map +1 -0
- package/dist/gcr-reader.d.ts +57 -0
- package/dist/gcr-reader.d.ts.map +1 -0
- package/dist/gcr-reader.js +264 -0
- package/dist/gcr-reader.js.map +1 -0
- package/dist/gcr-writer.d.ts +23 -0
- package/dist/gcr-writer.d.ts.map +1 -0
- package/dist/gcr-writer.js +84 -0
- package/dist/gcr-writer.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.js} +6 -66
- package/dist/index.js.map +1 -0
- package/dist/managed-concept-collection.d.ts +31 -0
- package/dist/managed-concept-collection.d.ts.map +1 -0
- package/dist/managed-concept-collection.js +87 -0
- package/dist/managed-concept-collection.js.map +1 -0
- package/dist/migration/hyperedge-migrator.d.ts +33 -0
- package/dist/migration/hyperedge-migrator.d.ts.map +1 -0
- package/dist/migration/hyperedge-migrator.js +70 -0
- package/dist/migration/hyperedge-migrator.js.map +1 -0
- package/dist/models/abstract-hyperedge.d.ts +35 -0
- package/dist/models/abstract-hyperedge.d.ts.map +1 -0
- package/dist/models/abstract-hyperedge.js +112 -0
- package/dist/models/abstract-hyperedge.js.map +1 -0
- package/dist/models/base.d.ts +58 -0
- package/dist/models/base.d.ts.map +1 -0
- package/dist/models/base.js +77 -0
- package/dist/models/base.js.map +1 -0
- package/dist/models/bibliography-data.d.ts +20 -0
- package/dist/models/bibliography-data.d.ts.map +1 -0
- package/dist/models/bibliography-data.js +43 -0
- package/dist/models/bibliography-data.js.map +1 -0
- package/dist/models/bibliography-entry.d.ts +19 -0
- package/dist/models/bibliography-entry.d.ts.map +1 -0
- package/dist/models/bibliography-entry.js +34 -0
- package/dist/models/bibliography-entry.js.map +1 -0
- package/dist/models/citation.d.ts +40 -0
- package/dist/models/citation.d.ts.map +1 -0
- package/dist/models/citation.js +82 -0
- package/dist/models/citation.js.map +1 -0
- package/dist/models/completeness.d.ts +9 -0
- package/dist/models/completeness.d.ts.map +1 -0
- package/{src/models/completeness.ts → dist/models/completeness.js} +4 -9
- package/dist/models/completeness.js.map +1 -0
- package/dist/models/concept-date.d.ts +20 -0
- package/dist/models/concept-date.d.ts.map +1 -0
- package/dist/models/concept-date.js +36 -0
- package/dist/models/concept-date.js.map +1 -0
- package/dist/models/concept-ref.d.ts +32 -0
- package/dist/models/concept-ref.d.ts.map +1 -0
- package/dist/models/concept-ref.js +53 -0
- package/dist/models/concept-ref.js.map +1 -0
- package/dist/models/concept-reference.d.ts +22 -0
- package/dist/models/concept-reference.d.ts.map +1 -0
- package/dist/models/concept-reference.js +39 -0
- package/dist/models/concept-reference.js.map +1 -0
- package/dist/models/concept-source.d.ts +53 -0
- package/dist/models/concept-source.d.ts.map +1 -0
- package/dist/models/concept-source.js +66 -0
- package/dist/models/concept-source.js.map +1 -0
- package/dist/models/concept-system-type.d.ts +6 -0
- package/dist/models/concept-system-type.d.ts.map +1 -0
- package/dist/models/concept-system-type.js +22 -0
- package/dist/models/concept-system-type.js.map +1 -0
- package/dist/models/concept-system.d.ts +44 -0
- package/dist/models/concept-system.d.ts.map +1 -0
- package/dist/models/concept-system.js +115 -0
- package/dist/models/concept-system.js.map +1 -0
- package/dist/models/concept-type.d.ts +7 -0
- package/dist/models/concept-type.d.ts.map +1 -0
- package/{src/models/concept-type.ts → dist/models/concept-type.js} +8 -19
- package/dist/models/concept-type.js.map +1 -0
- package/dist/models/concept.d.ts +94 -0
- package/dist/models/concept.d.ts.map +1 -0
- package/dist/models/concept.js +368 -0
- package/dist/models/concept.js.map +1 -0
- package/dist/models/dataset-color.d.ts +28 -0
- package/dist/models/dataset-color.d.ts.map +1 -0
- package/dist/models/dataset-color.js +74 -0
- package/dist/models/dataset-color.js.map +1 -0
- package/dist/models/definition-type.d.ts +9 -0
- package/dist/models/definition-type.d.ts.map +1 -0
- package/{src/models/definition-type.ts → dist/models/definition-type.js} +6 -15
- package/dist/models/definition-type.js.map +1 -0
- package/dist/models/designation-relationship.d.ts +17 -0
- package/dist/models/designation-relationship.d.ts.map +1 -0
- package/dist/models/designation-relationship.js +30 -0
- package/dist/models/designation-relationship.js.map +1 -0
- package/dist/models/designation.d.ts +110 -0
- package/dist/models/designation.d.ts.map +1 -0
- package/dist/models/designation.js +224 -0
- package/dist/models/designation.js.map +1 -0
- package/dist/models/detailed-definition.d.ts +34 -0
- package/dist/models/detailed-definition.d.ts.map +1 -0
- package/dist/models/detailed-definition.js +63 -0
- package/dist/models/detailed-definition.js.map +1 -0
- package/dist/models/enum.d.ts +21 -0
- package/dist/models/enum.d.ts.map +1 -0
- package/dist/models/enum.js +39 -0
- package/dist/models/enum.js.map +1 -0
- package/dist/models/equivalence-degree.d.ts +7 -0
- package/dist/models/equivalence-degree.d.ts.map +1 -0
- package/dist/models/equivalence-degree.js +20 -0
- package/dist/models/equivalence-degree.js.map +1 -0
- package/dist/models/figure.d.ts +40 -0
- package/dist/models/figure.d.ts.map +1 -0
- package/dist/models/figure.js +82 -0
- package/dist/models/figure.js.map +1 -0
- package/dist/models/formula.d.ts +15 -0
- package/dist/models/formula.d.ts.map +1 -0
- package/dist/models/formula.js +27 -0
- package/dist/models/formula.js.map +1 -0
- package/dist/models/gcr-metadata.d.ts +62 -0
- package/dist/models/gcr-metadata.d.ts.map +1 -0
- package/dist/models/gcr-metadata.js +102 -0
- package/dist/models/gcr-metadata.js.map +1 -0
- package/dist/models/gcr-statistics.d.ts +30 -0
- package/dist/models/gcr-statistics.d.ts.map +1 -0
- package/dist/models/gcr-statistics.js +53 -0
- package/dist/models/gcr-statistics.js.map +1 -0
- package/dist/models/generic-hyperedge.d.ts +32 -0
- package/dist/models/generic-hyperedge.d.ts.map +1 -0
- package/dist/models/generic-hyperedge.js +51 -0
- package/dist/models/generic-hyperedge.js.map +1 -0
- package/dist/models/generic-member.d.ts +14 -0
- package/dist/models/generic-member.d.ts.map +1 -0
- package/dist/models/generic-member.js +51 -0
- package/dist/models/generic-member.js.map +1 -0
- package/dist/models/grammar-info.d.ts +34 -0
- package/dist/models/grammar-info.d.ts.map +1 -0
- package/dist/models/grammar-info.js +59 -0
- package/dist/models/grammar-info.js.map +1 -0
- package/dist/models/hyperedge-colors.d.ts +19 -0
- package/dist/models/hyperedge-colors.d.ts.map +1 -0
- package/dist/models/hyperedge-colors.js +61 -0
- package/dist/models/hyperedge-colors.js.map +1 -0
- package/dist/models/hyperedge-index.d.ts +34 -0
- package/dist/models/hyperedge-index.d.ts.map +1 -0
- package/dist/models/hyperedge-index.js +85 -0
- package/dist/models/hyperedge-index.js.map +1 -0
- package/dist/models/hyperedge-member.d.ts +28 -0
- package/dist/models/hyperedge-member.d.ts.map +1 -0
- package/dist/models/hyperedge-member.js +92 -0
- package/dist/models/hyperedge-member.js.map +1 -0
- package/dist/models/hyperedge-registry.d.ts +47 -0
- package/dist/models/hyperedge-registry.d.ts.map +1 -0
- package/dist/models/hyperedge-registry.js +118 -0
- package/dist/models/hyperedge-registry.js.map +1 -0
- package/dist/models/index.d.ts +53 -0
- package/dist/models/index.d.ts.map +1 -0
- package/{src/models/index.ts → dist/models/index.js} +11 -63
- package/dist/models/index.js.map +1 -0
- package/dist/models/locality.d.ts +17 -0
- package/dist/models/locality.d.ts.map +1 -0
- package/dist/models/locality.js +26 -0
- package/dist/models/locality.js.map +1 -0
- package/dist/models/localized-concept.d.ts +102 -0
- package/dist/models/localized-concept.d.ts.map +1 -0
- package/dist/models/localized-concept.js +195 -0
- package/dist/models/localized-concept.js.map +1 -0
- package/dist/models/localized-string.d.ts +5 -0
- package/dist/models/localized-string.d.ts.map +1 -0
- package/dist/models/localized-string.js +20 -0
- package/dist/models/localized-string.js.map +1 -0
- package/dist/models/multiplicity.d.ts +42 -0
- package/dist/models/multiplicity.d.ts.map +1 -0
- package/dist/models/multiplicity.js +84 -0
- package/dist/models/multiplicity.js.map +1 -0
- package/dist/models/non-verb-rep.d.ts +20 -0
- package/dist/models/non-verb-rep.d.ts.map +1 -0
- package/dist/models/non-verb-rep.js +32 -0
- package/dist/models/non-verb-rep.js.map +1 -0
- package/dist/models/non-verbal-entity.d.ts +30 -0
- package/dist/models/non-verbal-entity.d.ts.map +1 -0
- package/dist/models/non-verbal-entity.js +48 -0
- package/dist/models/non-verbal-entity.js.map +1 -0
- package/dist/models/non-verbal-reference.d.ts +23 -0
- package/dist/models/non-verbal-reference.d.ts.map +1 -0
- package/dist/models/non-verbal-reference.js +44 -0
- package/dist/models/non-verbal-reference.js.map +1 -0
- package/dist/models/non-verbal-references.d.ts +12 -0
- package/dist/models/non-verbal-references.d.ts.map +1 -0
- package/dist/models/non-verbal-references.js +20 -0
- package/dist/models/non-verbal-references.js.map +1 -0
- package/dist/models/partitive-count.d.ts +10 -0
- package/dist/models/partitive-count.d.ts.map +1 -0
- package/{src/models/partitive-count.ts → dist/models/partitive-count.js} +5 -9
- package/dist/models/partitive-count.js.map +1 -0
- package/dist/models/partitive-enumeration.d.ts +5 -0
- package/dist/models/partitive-enumeration.d.ts.map +1 -0
- package/dist/models/partitive-enumeration.js +16 -0
- package/dist/models/partitive-enumeration.js.map +1 -0
- package/dist/models/partitive-hyperedge.d.ts +43 -0
- package/dist/models/partitive-hyperedge.d.ts.map +1 -0
- package/dist/models/partitive-hyperedge.js +63 -0
- package/dist/models/partitive-hyperedge.js.map +1 -0
- package/dist/models/partitive-member.d.ts +14 -0
- package/dist/models/partitive-member.d.ts.map +1 -0
- package/dist/models/partitive-member.js +44 -0
- package/dist/models/partitive-member.js.map +1 -0
- package/dist/models/partitive-presence.d.ts +9 -0
- package/dist/models/partitive-presence.d.ts.map +1 -0
- package/{src/models/partitive-presence.ts → dist/models/partitive-presence.js} +4 -8
- package/dist/models/partitive-presence.js.map +1 -0
- package/dist/models/plurality-marker.d.ts +5 -0
- package/dist/models/plurality-marker.d.ts.map +1 -0
- package/dist/models/plurality-marker.js +20 -0
- package/dist/models/plurality-marker.js.map +1 -0
- package/dist/models/pronunciation.d.ts +19 -0
- package/dist/models/pronunciation.d.ts.map +1 -0
- package/dist/models/pronunciation.js +34 -0
- package/dist/models/pronunciation.js.map +1 -0
- package/dist/models/register.d.ts +104 -0
- package/dist/models/register.d.ts.map +1 -0
- package/dist/models/register.js +297 -0
- package/dist/models/register.js.map +1 -0
- package/dist/models/registrable.d.ts +25 -0
- package/dist/models/registrable.d.ts.map +1 -0
- package/dist/models/registrable.js +23 -0
- package/dist/models/registrable.js.map +1 -0
- package/dist/models/related-concept.d.ts +33 -0
- package/dist/models/related-concept.d.ts.map +1 -0
- package/dist/models/related-concept.js +95 -0
- package/dist/models/related-concept.js.map +1 -0
- package/dist/models/relation-categories.d.ts +38 -0
- package/dist/models/relation-categories.d.ts.map +1 -0
- package/dist/models/relation-categories.js +135 -0
- package/dist/models/relation-categories.js.map +1 -0
- package/dist/models/relation-colors.d.ts +35 -0
- package/dist/models/relation-colors.d.ts.map +1 -0
- package/dist/models/relation-colors.js +68 -0
- package/dist/models/relation-colors.js.map +1 -0
- package/dist/models/relation-loader.d.ts +41 -0
- package/dist/models/relation-loader.d.ts.map +1 -0
- package/dist/models/relation-loader.js +101 -0
- package/dist/models/relation-loader.js.map +1 -0
- package/dist/models/section.d.ts +22 -0
- package/dist/models/section.d.ts.map +1 -0
- package/dist/models/section.js +47 -0
- package/dist/models/section.js.map +1 -0
- package/dist/models/sequential-hyperedge.d.ts +32 -0
- package/dist/models/sequential-hyperedge.d.ts.map +1 -0
- package/dist/models/sequential-hyperedge.js +49 -0
- package/dist/models/sequential-hyperedge.js.map +1 -0
- package/dist/models/sequential-member.d.ts +8 -0
- package/dist/models/sequential-member.d.ts.map +1 -0
- package/{src/models/sequential-member.ts → dist/models/sequential-member.js} +4 -9
- package/dist/models/sequential-member.js.map +1 -0
- package/dist/models/shared-non-verbal-entity.d.ts +16 -0
- package/dist/models/shared-non-verbal-entity.d.ts.map +1 -0
- package/dist/models/shared-non-verbal-entity.js +28 -0
- package/dist/models/shared-non-verbal-entity.js.map +1 -0
- package/dist/models/table.d.ts +15 -0
- package/dist/models/table.d.ts.map +1 -0
- package/dist/models/table.js +27 -0
- package/dist/models/table.js.map +1 -0
- package/dist/rdf/agents-emitter.d.ts +37 -0
- package/dist/rdf/agents-emitter.d.ts.map +1 -0
- package/dist/rdf/agents-emitter.js +107 -0
- package/dist/rdf/agents-emitter.js.map +1 -0
- package/dist/rdf/bibliography-emitter.d.ts +16 -0
- package/dist/rdf/bibliography-emitter.d.ts.map +1 -0
- package/dist/rdf/bibliography-emitter.js +84 -0
- package/dist/rdf/bibliography-emitter.js.map +1 -0
- package/dist/rdf/bnode-id.d.ts +2 -0
- package/dist/rdf/bnode-id.d.ts.map +1 -0
- package/dist/rdf/bnode-id.js +57 -0
- package/dist/rdf/bnode-id.js.map +1 -0
- package/dist/rdf/build-activity-emitter.d.ts +42 -0
- package/dist/rdf/build-activity-emitter.d.ts.map +1 -0
- package/dist/rdf/build-activity-emitter.js +103 -0
- package/dist/rdf/build-activity-emitter.js.map +1 -0
- package/dist/rdf/curie.d.ts +7 -0
- package/dist/rdf/curie.d.ts.map +1 -0
- package/dist/rdf/curie.js +45 -0
- package/dist/rdf/curie.js.map +1 -0
- package/dist/rdf/dataset-emitter.d.ts +37 -0
- package/dist/rdf/dataset-emitter.d.ts.map +1 -0
- package/dist/rdf/dataset-emitter.js +126 -0
- package/dist/rdf/dataset-emitter.js.map +1 -0
- package/dist/rdf/deterministic-id.d.ts +3 -0
- package/dist/rdf/deterministic-id.d.ts.map +1 -0
- package/dist/rdf/deterministic-id.js +68 -0
- package/dist/rdf/deterministic-id.js.map +1 -0
- package/dist/rdf/document-writer.d.ts +11 -0
- package/dist/rdf/document-writer.d.ts.map +1 -0
- package/dist/rdf/document-writer.js +77 -0
- package/dist/rdf/document-writer.js.map +1 -0
- package/dist/rdf/gloss-concept.d.ts +27 -0
- package/dist/rdf/gloss-concept.d.ts.map +1 -0
- package/dist/rdf/gloss-concept.js +95 -0
- package/dist/rdf/gloss-concept.js.map +1 -0
- package/dist/rdf/gloss-designation.d.ts +17 -0
- package/dist/rdf/gloss-designation.d.ts.map +1 -0
- package/dist/rdf/gloss-designation.js +46 -0
- package/dist/rdf/gloss-designation.js.map +1 -0
- package/dist/rdf/gloss-detailed-definition.d.ts +14 -0
- package/dist/rdf/gloss-detailed-definition.d.ts.map +1 -0
- package/dist/rdf/gloss-detailed-definition.js +53 -0
- package/dist/rdf/gloss-detailed-definition.js.map +1 -0
- package/dist/rdf/gloss-generic-hyperedge.d.ts +27 -0
- package/dist/rdf/gloss-generic-hyperedge.d.ts.map +1 -0
- package/{src/rdf/gloss-generic-hyperedge.ts → dist/rdf/gloss-generic-hyperedge.js} +36 -50
- package/dist/rdf/gloss-generic-hyperedge.js.map +1 -0
- package/dist/rdf/gloss-localized-concept.d.ts +24 -0
- package/dist/rdf/gloss-localized-concept.d.ts.map +1 -0
- package/dist/rdf/gloss-localized-concept.js +71 -0
- package/dist/rdf/gloss-localized-concept.js.map +1 -0
- package/dist/rdf/gloss-non-verbal-rep.d.ts +33 -0
- package/dist/rdf/gloss-non-verbal-rep.d.ts.map +1 -0
- package/dist/rdf/gloss-non-verbal-rep.js +163 -0
- package/dist/rdf/gloss-non-verbal-rep.js.map +1 -0
- package/dist/rdf/gloss-partitive-member.d.ts +8 -0
- package/dist/rdf/gloss-partitive-member.d.ts.map +1 -0
- package/{src/rdf/gloss-partitive-member.ts → dist/rdf/gloss-partitive-member.js} +23 -41
- package/dist/rdf/gloss-partitive-member.js.map +1 -0
- package/dist/rdf/gloss-partitive-relation.d.ts +26 -0
- package/dist/rdf/gloss-partitive-relation.d.ts.map +1 -0
- package/dist/rdf/gloss-partitive-relation.js +73 -0
- package/dist/rdf/gloss-partitive-relation.js.map +1 -0
- package/dist/rdf/gloss-source.d.ts +23 -0
- package/dist/rdf/gloss-source.d.ts.map +1 -0
- package/dist/rdf/gloss-source.js +52 -0
- package/dist/rdf/gloss-source.js.map +1 -0
- package/dist/rdf/group-emitter.d.ts +46 -0
- package/dist/rdf/group-emitter.d.ts.map +1 -0
- package/dist/rdf/group-emitter.js +107 -0
- package/dist/rdf/group-emitter.js.map +1 -0
- package/dist/rdf/image-variant-emitter.d.ts +12 -0
- package/dist/rdf/image-variant-emitter.d.ts.map +1 -0
- package/dist/rdf/image-variant-emitter.js +55 -0
- package/dist/rdf/image-variant-emitter.js.map +1 -0
- package/dist/rdf/index.d.ts +26 -0
- package/dist/rdf/index.d.ts.map +1 -0
- package/{src/rdf/index.ts → dist/rdf/index.js} +8 -37
- package/dist/rdf/index.js.map +1 -0
- package/dist/rdf/normalize-enum.d.ts +3 -0
- package/dist/rdf/normalize-enum.d.ts.map +1 -0
- package/{src/rdf/normalize-enum.ts → dist/rdf/normalize-enum.js} +11 -10
- package/dist/rdf/normalize-enum.js.map +1 -0
- package/dist/rdf/predicates.d.ts +277 -0
- package/dist/rdf/predicates.d.ts.map +1 -0
- package/dist/rdf/predicates.js +279 -0
- package/dist/rdf/predicates.js.map +1 -0
- package/dist/rdf/prefixes.d.ts +16 -0
- package/dist/rdf/prefixes.d.ts.map +1 -0
- package/{src/rdf/prefixes.ts → dist/rdf/prefixes.js} +10 -12
- package/dist/rdf/prefixes.js.map +1 -0
- package/dist/rdf/provenance-emitter.d.ts +28 -0
- package/dist/rdf/provenance-emitter.d.ts.map +1 -0
- package/dist/rdf/provenance-emitter.js +74 -0
- package/dist/rdf/provenance-emitter.js.map +1 -0
- package/dist/rdf/sections-builder.d.ts +17 -0
- package/dist/rdf/sections-builder.d.ts.map +1 -0
- package/dist/rdf/sections-builder.js +137 -0
- package/dist/rdf/sections-builder.js.map +1 -0
- package/dist/rdf/shacl-entry.d.ts +2 -0
- package/dist/rdf/shacl-entry.d.ts.map +1 -0
- package/{src/rdf/shacl-entry.ts → dist/rdf/shacl-entry.js} +1 -1
- package/dist/rdf/shacl-entry.js.map +1 -0
- package/dist/rdf/shacl.d.ts +10 -0
- package/dist/rdf/shacl.d.ts.map +1 -0
- package/{src/rdf/shacl.ts → dist/rdf/shacl.js} +38 -56
- package/dist/rdf/shacl.js.map +1 -0
- package/dist/rdf/terms.d.ts +10 -0
- package/dist/rdf/terms.d.ts.map +1 -0
- package/{src/rdf/terms.ts → dist/rdf/terms.js} +6 -3
- package/dist/rdf/terms.js.map +1 -0
- package/dist/rdf/version-emitter.d.ts +57 -0
- package/dist/rdf/version-emitter.d.ts.map +1 -0
- package/dist/rdf/version-emitter.js +68 -0
- package/dist/rdf/version-emitter.js.map +1 -0
- package/dist/rdf/vocabulary-emitter.d.ts +32 -0
- package/dist/rdf/vocabulary-emitter.d.ts.map +1 -0
- package/dist/rdf/vocabulary-emitter.js +46 -0
- package/dist/rdf/vocabulary-emitter.js.map +1 -0
- package/dist/rdf/write-turtle-sync.d.ts +7 -0
- package/dist/rdf/write-turtle-sync.d.ts.map +1 -0
- package/dist/rdf/write-turtle-sync.js +130 -0
- package/dist/rdf/write-turtle-sync.js.map +1 -0
- package/dist/reference-mention.d.ts +49 -0
- package/dist/reference-mention.d.ts.map +1 -0
- package/dist/reference-mention.js +98 -0
- package/dist/reference-mention.js.map +1 -0
- package/dist/reference-resolver.d.ts +52 -0
- package/dist/reference-resolver.d.ts.map +1 -0
- package/dist/reference-resolver.js +311 -0
- package/dist/reference-resolver.js.map +1 -0
- package/dist/render-classification.d.ts +19 -0
- package/dist/render-classification.d.ts.map +1 -0
- package/dist/render-classification.js +82 -0
- package/dist/render-classification.js.map +1 -0
- package/dist/sort.d.ts +5 -0
- package/dist/sort.d.ts.map +1 -0
- package/dist/sort.js +25 -0
- package/dist/sort.js.map +1 -0
- package/dist/transforms/concept-to-gloss.transform.d.ts +32 -0
- package/dist/transforms/concept-to-gloss.transform.d.ts.map +1 -0
- package/dist/transforms/concept-to-gloss.transform.js +60 -0
- package/dist/transforms/concept-to-gloss.transform.js.map +1 -0
- package/dist/transforms/index.d.ts +2 -0
- package/dist/transforms/index.d.ts.map +1 -0
- package/{src/transforms/index.ts → dist/transforms/index.js} +1 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/utils/assertions.d.ts +4 -0
- package/dist/utils/assertions.d.ts.map +1 -0
- package/dist/utils/assertions.js +17 -0
- package/dist/utils/assertions.js.map +1 -0
- package/dist/uuid.d.ts +4 -0
- package/dist/uuid.d.ts.map +1 -0
- package/dist/uuid.js +23 -0
- package/dist/uuid.js.map +1 -0
- package/dist/v1-reader.d.ts +8 -0
- package/dist/v1-reader.d.ts.map +1 -0
- package/dist/v1-reader.js +56 -0
- package/dist/v1-reader.js.map +1 -0
- package/dist/validators/asset-index.d.ts +23 -0
- package/dist/validators/asset-index.d.ts.map +1 -0
- package/dist/validators/asset-index.js +58 -0
- package/dist/validators/asset-index.js.map +1 -0
- package/dist/validators/binary-has-part-redundancy-rule.d.ts +8 -0
- package/dist/validators/binary-has-part-redundancy-rule.d.ts.map +1 -0
- package/dist/validators/binary-has-part-redundancy-rule.js +57 -0
- package/dist/validators/binary-has-part-redundancy-rule.js.map +1 -0
- package/dist/validators/concept-validator.d.ts +21 -0
- package/dist/validators/concept-validator.d.ts.map +1 -0
- package/dist/validators/concept-validator.js +76 -0
- package/dist/validators/concept-validator.js.map +1 -0
- package/dist/validators/delimiting-coherence-rule.d.ts +8 -0
- package/dist/validators/delimiting-coherence-rule.d.ts.map +1 -0
- package/dist/validators/delimiting-coherence-rule.js +72 -0
- package/dist/validators/delimiting-coherence-rule.js.map +1 -0
- package/dist/validators/external-concept-shape-rule.d.ts +8 -0
- package/dist/validators/external-concept-shape-rule.d.ts.map +1 -0
- package/dist/validators/external-concept-shape-rule.js +48 -0
- package/dist/validators/external-concept-shape-rule.js.map +1 -0
- package/dist/validators/gcr-validator.d.ts +11 -0
- package/dist/validators/gcr-validator.d.ts.map +1 -0
- package/dist/validators/gcr-validator.js +76 -0
- package/dist/validators/gcr-validator.js.map +1 -0
- package/dist/validators/hyperedge-coherence-rule.d.ts +9 -0
- package/dist/validators/hyperedge-coherence-rule.d.ts.map +1 -0
- package/dist/validators/hyperedge-coherence-rule.js +78 -0
- package/dist/validators/hyperedge-coherence-rule.js.map +1 -0
- package/dist/validators/index.d.ts +21 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/{src/validators/index.ts → dist/validators/index.js} +25 -51
- package/dist/validators/index.js.map +1 -0
- package/dist/validators/partitive-relation-coherence-rule.d.ts +2 -0
- package/dist/validators/partitive-relation-coherence-rule.d.ts.map +1 -0
- package/{src/validators/partitive-relation-coherence-rule.ts → dist/validators/partitive-relation-coherence-rule.js} +1 -1
- package/dist/validators/partitive-relation-coherence-rule.js.map +1 -0
- package/dist/validators/ref-keys.d.ts +8 -0
- package/dist/validators/ref-keys.d.ts.map +1 -0
- package/dist/validators/ref-keys.js +27 -0
- package/dist/validators/ref-keys.js.map +1 -0
- package/dist/validators/register-validator.d.ts +10 -0
- package/dist/validators/register-validator.d.ts.map +1 -0
- package/dist/validators/register-validator.js +18 -0
- package/dist/validators/register-validator.js.map +1 -0
- package/dist/validators/relationship-type-rule.d.ts +13 -0
- package/dist/validators/relationship-type-rule.d.ts.map +1 -0
- package/dist/validators/relationship-type-rule.js +34 -0
- package/dist/validators/relationship-type-rule.js.map +1 -0
- package/dist/validators/sourced-from-locality-rule.d.ts +8 -0
- package/dist/validators/sourced-from-locality-rule.d.ts.map +1 -0
- package/dist/validators/sourced-from-locality-rule.js +37 -0
- package/dist/validators/sourced-from-locality-rule.js.map +1 -0
- package/dist/validators/v3-rules.d.ts +60 -0
- package/dist/validators/v3-rules.d.ts.map +1 -0
- package/dist/validators/v3-rules.js +327 -0
- package/dist/validators/v3-rules.js.map +1 -0
- package/dist/validators/validation-error.d.ts +13 -0
- package/dist/validators/validation-error.d.ts.map +1 -0
- package/dist/validators/validation-error.js +17 -0
- package/dist/validators/validation-error.js.map +1 -0
- package/dist/validators/validation-result.d.ts +17 -0
- package/dist/validators/validation-result.d.ts.map +1 -0
- package/dist/validators/validation-result.js +47 -0
- package/dist/validators/validation-result.js.map +1 -0
- package/dist/validators/validation-rule.d.ts +10 -0
- package/dist/validators/validation-rule.d.ts.map +1 -0
- package/dist/validators/validation-rule.js +17 -0
- package/dist/validators/validation-rule.js.map +1 -0
- package/package.json +37 -42
- package/src/concept-collection.ts +0 -166
- package/src/concept-parser.ts +0 -229
- package/src/concept-reader.d.ts +0 -13
- package/src/concept-serializer.ts +0 -99
- package/src/concept-writer.d.ts +0 -7
- package/src/concept-writer.ts +0 -43
- package/src/diff/canonical-json.ts +0 -29
- package/src/diff/change.ts +0 -175
- package/src/diff/collection-diff.ts +0 -197
- package/src/diff/concept-diff.ts +0 -702
- package/src/diff/diff-patch.ts +0 -260
- package/src/diff/diff-renderer.ts +0 -293
- package/src/diff/identity.ts +0 -33
- package/src/diff/index.d.ts +0 -242
- package/src/diff/index.ts +0 -50
- package/src/diff/list-diff.ts +0 -231
- package/src/diff/similarity.ts +0 -20
- package/src/diff/text-diff.ts +0 -167
- package/src/entity-directory.ts +0 -43
- package/src/errors.d.ts +0 -11
- package/src/errors.ts +0 -24
- package/src/gcr-reader.d.ts +0 -65
- package/src/gcr-reader.ts +0 -487
- package/src/gcr-writer.d.ts +0 -22
- package/src/gcr-writer.ts +0 -97
- package/src/index.d.ts +0 -124
- package/src/managed-concept-collection.ts +0 -95
- package/src/migration/hyperedge-migrator.ts +0 -104
- package/src/models/abstract-hyperedge.ts +0 -164
- package/src/models/base.ts +0 -110
- package/src/models/bibliography-data.ts +0 -64
- package/src/models/bibliography-entry.ts +0 -40
- package/src/models/citation.ts +0 -98
- package/src/models/concept-date.ts +0 -48
- package/src/models/concept-ref.ts +0 -64
- package/src/models/concept-reference.ts +0 -50
- package/src/models/concept-source.ts +0 -96
- package/src/models/concept-system-type.ts +0 -39
- package/src/models/concept-system.ts +0 -152
- package/src/models/concept.ts +0 -499
- package/src/models/dataset-color.ts +0 -88
- package/src/models/designation-relationship.ts +0 -39
- package/src/models/designation.ts +0 -297
- package/src/models/detailed-definition.ts +0 -92
- package/src/models/enum.ts +0 -60
- package/src/models/equivalence-degree.ts +0 -34
- package/src/models/figure.ts +0 -110
- package/src/models/formula.ts +0 -36
- package/src/models/gcr-metadata.ts +0 -118
- package/src/models/gcr-statistics.ts +0 -76
- package/src/models/generic-hyperedge.ts +0 -72
- package/src/models/generic-member.ts +0 -80
- package/src/models/grammar-info.ts +0 -78
- package/src/models/hyperedge-colors.ts +0 -87
- package/src/models/hyperedge-index.ts +0 -101
- package/src/models/hyperedge-member.ts +0 -121
- package/src/models/hyperedge-registry.ts +0 -145
- package/src/models/index.d.ts +0 -586
- package/src/models/locality.ts +0 -34
- package/src/models/localized-concept.ts +0 -284
- package/src/models/localized-string.ts +0 -32
- package/src/models/multiplicity.ts +0 -134
- package/src/models/non-verb-rep.ts +0 -48
- package/src/models/non-verbal-entity.ts +0 -65
- package/src/models/non-verbal-reference.ts +0 -73
- package/src/models/non-verbal-references.ts +0 -29
- package/src/models/partitive-enumeration.ts +0 -27
- package/src/models/partitive-hyperedge.ts +0 -90
- package/src/models/partitive-member.ts +0 -56
- package/src/models/plurality-marker.ts +0 -31
- package/src/models/pronunciation.ts +0 -40
- package/src/models/register.ts +0 -315
- package/src/models/registrable.ts +0 -48
- package/src/models/related-concept.ts +0 -117
- package/src/models/relation-categories.ts +0 -167
- package/src/models/relation-colors.ts +0 -90
- package/src/models/relation-loader.ts +0 -115
- package/src/models/section.ts +0 -61
- package/src/models/sequential-hyperedge.ts +0 -70
- package/src/models/shared-non-verbal-entity.ts +0 -36
- package/src/models/table.ts +0 -36
- package/src/rdf/agents-emitter.ts +0 -134
- package/src/rdf/bibliography-emitter.ts +0 -126
- package/src/rdf/bnode-id.ts +0 -55
- package/src/rdf/build-activity-emitter.ts +0 -129
- package/src/rdf/curie.ts +0 -47
- package/src/rdf/dataset-emitter.ts +0 -170
- package/src/rdf/deterministic-id.ts +0 -69
- package/src/rdf/document-writer.ts +0 -87
- package/src/rdf/gloss-concept.ts +0 -115
- package/src/rdf/gloss-designation.ts +0 -72
- package/src/rdf/gloss-detailed-definition.ts +0 -69
- package/src/rdf/gloss-localized-concept.ts +0 -79
- package/src/rdf/gloss-non-verbal-rep.ts +0 -192
- package/src/rdf/gloss-partitive-relation.ts +0 -89
- package/src/rdf/gloss-source.ts +0 -56
- package/src/rdf/group-emitter.ts +0 -133
- package/src/rdf/image-variant-emitter.ts +0 -80
- package/src/rdf/index.d.ts +0 -371
- package/src/rdf/predicates.d.ts +0 -527
- package/src/rdf/predicates.ts +0 -287
- package/src/rdf/provenance-emitter.ts +0 -87
- package/src/rdf/sections-builder.ts +0 -178
- package/src/rdf/shacl-entry.d.ts +0 -6
- package/src/rdf/version-emitter.ts +0 -97
- package/src/rdf/vocabulary-emitter.ts +0 -67
- package/src/rdf/write-turtle-sync.ts +0 -167
- package/src/reference-mention.ts +0 -114
- package/src/reference-resolver.ts +0 -331
- package/src/render-classification.ts +0 -76
- package/src/sort.ts +0 -22
- package/src/transforms/concept-to-gloss.transform.ts +0 -81
- package/src/transforms/index.d.ts +0 -26
- package/src/uuid.ts +0 -32
- package/src/v1-reader.ts +0 -64
- package/src/validators/asset-index.ts +0 -67
- package/src/validators/binary-has-part-redundancy-rule.ts +0 -67
- package/src/validators/concept-validator.ts +0 -93
- package/src/validators/delimiting-coherence-rule.ts +0 -105
- package/src/validators/external-concept-shape-rule.ts +0 -60
- package/src/validators/gcr-validator.ts +0 -75
- package/src/validators/hyperedge-coherence-rule.ts +0 -98
- package/src/validators/index.d.ts +0 -43
- package/src/validators/ref-keys.ts +0 -31
- package/src/validators/register-validator.ts +0 -18
- package/src/validators/relationship-type-rule.ts +0 -39
- package/src/validators/sourced-from-locality-rule.ts +0 -53
- package/src/validators/v3-rules.ts +0 -378
- package/src/validators/validation-error.ts +0 -19
- package/src/validators/validation-result.ts +0 -52
- package/src/validators/validation-rule.ts +0 -21
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { GlossaristModel } from './base.js';
|
|
2
|
+
import { ConceptRef } from './concept-ref.js';
|
|
3
|
+
import type { ConceptRefJson } from './concept-ref.js';
|
|
4
|
+
import type { LocalizedString } from './generic-member.js';
|
|
5
|
+
export declare const RELATIONSHIP_TYPES: ReadonlyArray<string>;
|
|
6
|
+
export type RelationshipType = string;
|
|
7
|
+
export interface RelatedConceptJson {
|
|
8
|
+
type?: RelationshipType;
|
|
9
|
+
content?: LocalizedString | string | null;
|
|
10
|
+
ref?: ConceptRefJson | ConceptRef | null;
|
|
11
|
+
}
|
|
12
|
+
export declare class RelatedConcept extends GlossaristModel {
|
|
13
|
+
readonly type: RelationshipType;
|
|
14
|
+
readonly content: LocalizedString | null;
|
|
15
|
+
readonly ref: ConceptRef | null;
|
|
16
|
+
constructor(data?: RelatedConceptJson);
|
|
17
|
+
/**
|
|
18
|
+
* Convenience reader: returns the first available string value from
|
|
19
|
+
* the localized hash, or null if absent.
|
|
20
|
+
*/
|
|
21
|
+
get contentString(): string | null;
|
|
22
|
+
toJSON(): RelatedConceptJson;
|
|
23
|
+
static identityOf(value: {
|
|
24
|
+
type?: string;
|
|
25
|
+
ref?: {
|
|
26
|
+
source?: string | null;
|
|
27
|
+
id?: string | null;
|
|
28
|
+
} | null;
|
|
29
|
+
} | null | undefined): string;
|
|
30
|
+
identity(): string;
|
|
31
|
+
static fromJSON(data: RelatedConceptJson): RelatedConcept;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=related-concept.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"related-concept.d.ts","sourceRoot":"","sources":["../../src/models/related-concept.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,MAAM,CAkCnD,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,GAAG,CAAC,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAAC;CAC1C;AAED,qBAAa,cAAe,SAAQ,eAAe;IACjD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;gBAEpB,IAAI,GAAE,kBAAuB;IAWzC;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,IAAI,CAIjC;IAEQ,MAAM,IAAI,kBAAkB;IAOrC,MAAM,CAAC,UAAU,CACf,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KAC7D,GAAG,IAAI,GAAG,SAAS,GACnB,MAAM;IAMA,QAAQ,IAAI,MAAM;WAIX,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc;CAGnE"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { GlossaristModel } from './base.js';
|
|
2
|
+
import { ConceptRef } from './concept-ref.js';
|
|
3
|
+
export const RELATIONSHIP_TYPES = Object.freeze([
|
|
4
|
+
// Lifecycle (ISO 10241-1)
|
|
5
|
+
'deprecates', 'deprecated_by', 'supersedes', 'superseded_by',
|
|
6
|
+
'replaces', 'replaced_by', 'invalidates', 'invalidated_by',
|
|
7
|
+
'retires', 'retired_by',
|
|
8
|
+
// Hierarchical (SKOS)
|
|
9
|
+
'broader', 'narrower',
|
|
10
|
+
// ISO 25964 generic
|
|
11
|
+
'broader_generic', 'narrower_generic',
|
|
12
|
+
// ISO 25964 partitive
|
|
13
|
+
'broader_partitive', 'narrower_partitive',
|
|
14
|
+
// ISO 25964 instantial
|
|
15
|
+
'broader_instantial', 'narrower_instantial',
|
|
16
|
+
// ISO 19135 concept-to-concept
|
|
17
|
+
'has_concept', 'is_concept_of', 'instance_of', 'has_instance',
|
|
18
|
+
'has_definition', 'definition_of', 'has_part', 'is_part_of',
|
|
19
|
+
'inherits', 'inherited_by',
|
|
20
|
+
// ISO 19135 versioning
|
|
21
|
+
'has_version', 'version_of', 'current_version', 'current_version_of',
|
|
22
|
+
// SKOS mapping
|
|
23
|
+
'equivalent', 'close_match', 'broad_match', 'narrow_match', 'related_match',
|
|
24
|
+
// Associative (ISO 10241-1 / ISO 25964)
|
|
25
|
+
'see', 'related_concept', 'related_concept_broader', 'related_concept_narrower',
|
|
26
|
+
'references',
|
|
27
|
+
// ExternalConcept resolution (Glossarist extension). Direction: real
|
|
28
|
+
// concept `provides` substance for an external concept; external concept
|
|
29
|
+
// `provided_by` real concept. Stored on the ExternalConcept.
|
|
30
|
+
'provides', 'provided_by',
|
|
31
|
+
// Comparative (ISO 10241-1)
|
|
32
|
+
'compare', 'contrast',
|
|
33
|
+
// Spatiotemporal (ISO 25964 / TBX)
|
|
34
|
+
'sequentially_related_concept', 'spatially_related_concept', 'temporally_related_concept',
|
|
35
|
+
// Lexical (ISO 12620 / TBX)
|
|
36
|
+
'homograph', 'false_friend',
|
|
37
|
+
]);
|
|
38
|
+
export class RelatedConcept extends GlossaristModel {
|
|
39
|
+
type;
|
|
40
|
+
content;
|
|
41
|
+
ref;
|
|
42
|
+
constructor(data = {}) {
|
|
43
|
+
super();
|
|
44
|
+
this.type = data.type ?? 'see';
|
|
45
|
+
this.content = _normalizeContent(data.content);
|
|
46
|
+
this.ref = data.ref
|
|
47
|
+
? data.ref instanceof ConceptRef
|
|
48
|
+
? data.ref
|
|
49
|
+
: new ConceptRef(data.ref)
|
|
50
|
+
: null;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Convenience reader: returns the first available string value from
|
|
54
|
+
* the localized hash, or null if absent.
|
|
55
|
+
*/
|
|
56
|
+
get contentString() {
|
|
57
|
+
if (!this.content)
|
|
58
|
+
return null;
|
|
59
|
+
const values = Object.values(this.content);
|
|
60
|
+
return values.length > 0 ? (values[0] ?? null) : null;
|
|
61
|
+
}
|
|
62
|
+
toJSON() {
|
|
63
|
+
const obj = { type: this.type };
|
|
64
|
+
if (this.content != null)
|
|
65
|
+
obj.content = this.content;
|
|
66
|
+
if (this.ref != null)
|
|
67
|
+
obj.ref = this.ref.toJSON();
|
|
68
|
+
return obj;
|
|
69
|
+
}
|
|
70
|
+
static identityOf(value) {
|
|
71
|
+
const v = value ?? {};
|
|
72
|
+
const ref = v.ref;
|
|
73
|
+
return `${v.type ?? ''}|${ref?.source ?? ''}|${ref?.id ?? ''}`;
|
|
74
|
+
}
|
|
75
|
+
identity() {
|
|
76
|
+
return RelatedConcept.identityOf(this);
|
|
77
|
+
}
|
|
78
|
+
static fromJSON(data) {
|
|
79
|
+
return new RelatedConcept(data);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function _normalizeContent(value) {
|
|
83
|
+
if (value == null)
|
|
84
|
+
return null;
|
|
85
|
+
if (typeof value === 'string')
|
|
86
|
+
return { default: value };
|
|
87
|
+
if (typeof value === 'object') {
|
|
88
|
+
const entries = Object.entries(value).filter(([, v]) => typeof v === 'string');
|
|
89
|
+
return entries.length > 0
|
|
90
|
+
? Object.fromEntries(entries)
|
|
91
|
+
: null;
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=related-concept.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"related-concept.js","sourceRoot":"","sources":["../../src/models/related-concept.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface CategoryDefinition {
|
|
2
|
+
label: string;
|
|
3
|
+
description: string;
|
|
4
|
+
types: ReadonlyArray<string>;
|
|
5
|
+
}
|
|
6
|
+
type CategoryKey = 'lifecycle' | 'hierarchical' | 'associative' | 'comparative' | 'spatiotemporal' | 'lexical' | 'mapping' | 'definitional';
|
|
7
|
+
/**
|
|
8
|
+
* Each type in RELATIONSHIP_TYPES belongs to exactly one category. The
|
|
9
|
+
* categories mirror the concept-model taxonomy. Adding a new type
|
|
10
|
+
* means adding a taxonomy entry — no code changes here.
|
|
11
|
+
*/
|
|
12
|
+
export declare const RELATION_CATEGORIES: Readonly<Record<CategoryKey, CategoryDefinition>>;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the category key for the given relationship type, or null
|
|
15
|
+
* when the type is not categorized.
|
|
16
|
+
*/
|
|
17
|
+
export declare function categoryOf(type: string): string | null;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the category definition for the given category key.
|
|
20
|
+
* Accepts both canonical names (definitional) and aliases from
|
|
21
|
+
* earlier glossarist-js versions.
|
|
22
|
+
*/
|
|
23
|
+
export declare function categoryDefinition(categoryKey: string): CategoryDefinition | null;
|
|
24
|
+
/**
|
|
25
|
+
* MECE sanity check. Returns the list of relationship types that are
|
|
26
|
+
* NOT categorized.
|
|
27
|
+
*/
|
|
28
|
+
export declare function uncategorizedTypes(): string[];
|
|
29
|
+
/**
|
|
30
|
+
* MECE sanity check. Returns a list of { type, count } entries for any
|
|
31
|
+
* type that appears in MORE than one category.
|
|
32
|
+
*/
|
|
33
|
+
export declare function duplicatedTypes(): ReadonlyArray<{
|
|
34
|
+
type: string;
|
|
35
|
+
count: number;
|
|
36
|
+
}>;
|
|
37
|
+
export { RELATION_CATEGORIES as RELATION_CATEGORIES_READONLY, type CategoryKey as RelationCategoryKey, };
|
|
38
|
+
//# sourceMappingURL=relation-categories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-categories.d.ts","sourceRoot":"","sources":["../../src/models/relation-categories.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,KAAK,WAAW,GACZ,WAAW,GACX,cAAc,GACd,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,SAAS,GACT,SAAS,GACT,cAAc,CAAC;AAEnB;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CA+EhF,CAAC;AAeH;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,CAGjF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAYhF;AAED,OAAO,EACL,mBAAmB,IAAI,4BAA4B,EACnD,KAAK,WAAW,IAAI,mBAAmB,GACxC,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// Categorization SSOT for the 52 glossarist relationship types.
|
|
2
|
+
import { RELATIONSHIP_TYPES } from './related-concept.js';
|
|
3
|
+
/**
|
|
4
|
+
* Each type in RELATIONSHIP_TYPES belongs to exactly one category. The
|
|
5
|
+
* categories mirror the concept-model taxonomy. Adding a new type
|
|
6
|
+
* means adding a taxonomy entry — no code changes here.
|
|
7
|
+
*/
|
|
8
|
+
export const RELATION_CATEGORIES = Object.freeze({
|
|
9
|
+
lifecycle: Object.freeze({
|
|
10
|
+
label: 'Lifecycle',
|
|
11
|
+
description: 'Concept lifecycle transitions: supersession, deprecation, replacement.',
|
|
12
|
+
types: Object.freeze([
|
|
13
|
+
'deprecates', 'deprecated_by',
|
|
14
|
+
'supersedes', 'superseded_by',
|
|
15
|
+
'replaces', 'replaced_by',
|
|
16
|
+
'invalidates', 'invalidated_by',
|
|
17
|
+
'retires', 'retired_by',
|
|
18
|
+
]),
|
|
19
|
+
}),
|
|
20
|
+
hierarchical: Object.freeze({
|
|
21
|
+
label: 'Hierarchical',
|
|
22
|
+
description: 'Broader/narrower relations, including SKOS and ISO 25964 generic/partitive/instantial.',
|
|
23
|
+
types: Object.freeze([
|
|
24
|
+
'broader', 'narrower',
|
|
25
|
+
'broader_generic', 'narrower_generic',
|
|
26
|
+
'broader_partitive', 'narrower_partitive',
|
|
27
|
+
'broader_instantial', 'narrower_instantial',
|
|
28
|
+
]),
|
|
29
|
+
}),
|
|
30
|
+
associative: Object.freeze({
|
|
31
|
+
label: 'Associative',
|
|
32
|
+
description: 'Generic see-also references between concepts.',
|
|
33
|
+
types: Object.freeze([
|
|
34
|
+
'see', 'related_concept',
|
|
35
|
+
'related_concept_broader', 'related_concept_narrower',
|
|
36
|
+
'references',
|
|
37
|
+
]),
|
|
38
|
+
}),
|
|
39
|
+
comparative: Object.freeze({
|
|
40
|
+
label: 'Comparative',
|
|
41
|
+
description: 'Compare / contrast relations between concepts.',
|
|
42
|
+
types: Object.freeze(['compare', 'contrast']),
|
|
43
|
+
}),
|
|
44
|
+
spatiotemporal: Object.freeze({
|
|
45
|
+
label: 'Spatiotemporal',
|
|
46
|
+
description: 'Sequential, spatial, and temporal relations.',
|
|
47
|
+
types: Object.freeze([
|
|
48
|
+
'sequentially_related_concept',
|
|
49
|
+
'spatially_related_concept',
|
|
50
|
+
'temporally_related_concept',
|
|
51
|
+
]),
|
|
52
|
+
}),
|
|
53
|
+
lexical: Object.freeze({
|
|
54
|
+
label: 'Lexical',
|
|
55
|
+
description: 'Lexical relations between designations across languages.',
|
|
56
|
+
types: Object.freeze(['homograph', 'false_friend']),
|
|
57
|
+
}),
|
|
58
|
+
mapping: Object.freeze({
|
|
59
|
+
label: 'Mapping',
|
|
60
|
+
description: 'SKOS mapping properties for cross-vocabulary alignment.',
|
|
61
|
+
types: Object.freeze([
|
|
62
|
+
'equivalent', 'close_match',
|
|
63
|
+
'broad_match', 'narrow_match', 'related_match',
|
|
64
|
+
]),
|
|
65
|
+
}),
|
|
66
|
+
definitional: Object.freeze({
|
|
67
|
+
label: 'Definitional',
|
|
68
|
+
description: 'ISO 19135 concept-to-concept relations: definition, part, instance, inheritance, versioning.',
|
|
69
|
+
types: Object.freeze([
|
|
70
|
+
'has_concept', 'is_concept_of',
|
|
71
|
+
'instance_of', 'has_instance',
|
|
72
|
+
'has_definition', 'definition_of',
|
|
73
|
+
'has_part', 'is_part_of',
|
|
74
|
+
'inherits', 'inherited_by',
|
|
75
|
+
'has_version', 'version_of',
|
|
76
|
+
'current_version', 'current_version_of',
|
|
77
|
+
'provides', 'provided_by',
|
|
78
|
+
]),
|
|
79
|
+
}),
|
|
80
|
+
});
|
|
81
|
+
const _CATEGORY_BY_TYPE = (() => {
|
|
82
|
+
const map = new Map();
|
|
83
|
+
for (const [cat, def] of Object.entries(RELATION_CATEGORIES)) {
|
|
84
|
+
for (const t of def.types)
|
|
85
|
+
map.set(t, cat);
|
|
86
|
+
}
|
|
87
|
+
return map;
|
|
88
|
+
})();
|
|
89
|
+
const _CATEGORY_ALIASES = {
|
|
90
|
+
conceptInstance: 'definitional',
|
|
91
|
+
versioning: 'definitional',
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Returns the category key for the given relationship type, or null
|
|
95
|
+
* when the type is not categorized.
|
|
96
|
+
*/
|
|
97
|
+
export function categoryOf(type) {
|
|
98
|
+
return _CATEGORY_BY_TYPE.get(type) ?? null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Returns the category definition for the given category key.
|
|
102
|
+
* Accepts both canonical names (definitional) and aliases from
|
|
103
|
+
* earlier glossarist-js versions.
|
|
104
|
+
*/
|
|
105
|
+
export function categoryDefinition(categoryKey) {
|
|
106
|
+
const canonical = _CATEGORY_ALIASES[categoryKey] ?? categoryKey;
|
|
107
|
+
return RELATION_CATEGORIES[canonical] ?? null;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* MECE sanity check. Returns the list of relationship types that are
|
|
111
|
+
* NOT categorized.
|
|
112
|
+
*/
|
|
113
|
+
export function uncategorizedTypes() {
|
|
114
|
+
return RELATIONSHIP_TYPES.filter((t) => !_CATEGORY_BY_TYPE.has(t));
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* MECE sanity check. Returns a list of { type, count } entries for any
|
|
118
|
+
* type that appears in MORE than one category.
|
|
119
|
+
*/
|
|
120
|
+
export function duplicatedTypes() {
|
|
121
|
+
const counts = new Map();
|
|
122
|
+
for (const def of Object.values(RELATION_CATEGORIES)) {
|
|
123
|
+
for (const t of def.types) {
|
|
124
|
+
counts.set(t, (counts.get(t) ?? 0) + 1);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const out = [];
|
|
128
|
+
for (const [type, count] of counts) {
|
|
129
|
+
if (count > 1)
|
|
130
|
+
out.push({ type, count });
|
|
131
|
+
}
|
|
132
|
+
return out;
|
|
133
|
+
}
|
|
134
|
+
export { RELATION_CATEGORIES as RELATION_CATEGORIES_READONLY, };
|
|
135
|
+
//# sourceMappingURL=relation-categories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-categories.js","sourceRoot":"","sources":["../../src/models/relation-categories.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAkB1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsD,MAAM,CAAC,MAAM,CAAC;IAClG,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;QACvB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,wEAAwE;QACrF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,YAAY,EAAE,eAAe;YAC7B,YAAY,EAAE,eAAe;YAC7B,UAAU,EAAE,aAAa;YACzB,aAAa,EAAE,gBAAgB;YAC/B,SAAS,EAAE,YAAY;SACxB,CAAC;KACH,CAAuB;IAExB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,wFAAwF;QACrG,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,SAAS,EAAE,UAAU;YACrB,iBAAiB,EAAE,kBAAkB;YACrC,mBAAmB,EAAE,oBAAoB;YACzC,oBAAoB,EAAE,qBAAqB;SAC5C,CAAC;KACH,CAAuB;IAExB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;QACzB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,+CAA+C;QAC5D,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,KAAK,EAAE,iBAAiB;YACxB,yBAAyB,EAAE,0BAA0B;YACrD,YAAY;SACb,CAAC;KACH,CAAuB;IAExB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;QACzB,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,gDAAgD;QAC7D,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;KAC9C,CAAuB;IAExB,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,8CAA8C;QAC3D,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,8BAA8B;YAC9B,2BAA2B;YAC3B,4BAA4B;SAC7B,CAAC;KACH,CAAuB;IAExB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,0DAA0D;QACvE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;KACpD,CAAuB;IAExB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,yDAAyD;QACtE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,YAAY,EAAE,aAAa;YAC3B,aAAa,EAAE,cAAc,EAAE,eAAe;SAC/C,CAAC;KACH,CAAuB;IAExB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,cAAc;QACrB,WAAW,EAAE,8FAA8F;QAC3G,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,aAAa,EAAE,eAAe;YAC9B,aAAa,EAAE,cAAc;YAC7B,gBAAgB,EAAE,eAAe;YACjC,UAAU,EAAE,YAAY;YACxB,UAAU,EAAE,cAAc;YAC1B,aAAa,EAAE,YAAY;YAC3B,iBAAiB,EAAE,oBAAoB;YACvC,UAAU,EAAE,aAAa;SAC1B,CAAC;KACH,CAAuB;CACzB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAgC,CAAC,GAAG,EAAE;IAC3D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,iBAAiB,GAAqC;IAC1D,eAAe,EAAE,cAAc;IAC/B,UAAU,EAAE,cAAc;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;IAChE,OAAQ,mBAAoE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;AAClG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAsC,EAAE,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,OAAO,EACL,mBAAmB,IAAI,4BAA4B,GAEpD,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface ColorPair {
|
|
2
|
+
light: string;
|
|
3
|
+
dark: string;
|
|
4
|
+
}
|
|
5
|
+
export interface RelationColorPalette {
|
|
6
|
+
byCategory: Readonly<Record<string, ColorPair>>;
|
|
7
|
+
byType: Readonly<Record<string, ColorPair>>;
|
|
8
|
+
}
|
|
9
|
+
export interface ResolveRelationColorOptions {
|
|
10
|
+
overrides?: Partial<RelationColorPalette>;
|
|
11
|
+
mode?: 'light' | 'dark';
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* One { light, dark } pair per category. Keeping these in glossarist-js
|
|
15
|
+
* lets the defaults ship with the library; consumers only need to
|
|
16
|
+
* customize when they want to deviate.
|
|
17
|
+
*/
|
|
18
|
+
export declare const RELATION_COLOR_DEFAULTS: RelationColorPalette;
|
|
19
|
+
/**
|
|
20
|
+
* Resolves the color for a relationship type. Resolution order:
|
|
21
|
+
* 1. overrides.byType[type]
|
|
22
|
+
* 2. RELATION_COLOR_DEFAULTS.byType[type]
|
|
23
|
+
* 3. overrides.byCategory[category]
|
|
24
|
+
* 4. RELATION_COLOR_DEFAULTS.byCategory[category]
|
|
25
|
+
* 5. null (uncategorized or unrecognized type)
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolveRelationColor(type: string, options?: ResolveRelationColorOptions): string | null;
|
|
28
|
+
/**
|
|
29
|
+
* Returns the { light, dark } pair for a category, merging overrides
|
|
30
|
+
* over defaults. Useful for UIs that want to render a legend.
|
|
31
|
+
*/
|
|
32
|
+
export declare function categoryColorPair(categoryKey: string, overrides?: {
|
|
33
|
+
byCategory?: Record<string, Partial<ColorPair>>;
|
|
34
|
+
}): ColorPair | null;
|
|
35
|
+
//# sourceMappingURL=relation-colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-colors.d.ts","sourceRoot":"","sources":["../../src/models/relation-colors.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,oBAYpC,CAAC;AAEH;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,2BAAgC,GACxC,MAAM,GAAG,IAAI,CAcf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;CAAO,GAClE,SAAS,GAAG,IAAI,CAOlB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// Default color palette for relation categories and individual types.
|
|
2
|
+
//
|
|
3
|
+
// The defaults mirror concept-browser/data/colors.json. Per-deployment
|
|
4
|
+
// overrides pass through resolveRelationColor(type, { overrides, mode })
|
|
5
|
+
// and take precedence over category defaults.
|
|
6
|
+
import { categoryOf, categoryDefinition } from './relation-categories.js';
|
|
7
|
+
/**
|
|
8
|
+
* One { light, dark } pair per category. Keeping these in glossarist-js
|
|
9
|
+
* lets the defaults ship with the library; consumers only need to
|
|
10
|
+
* customize when they want to deviate.
|
|
11
|
+
*/
|
|
12
|
+
export const RELATION_COLOR_DEFAULTS = Object.freeze({
|
|
13
|
+
byCategory: Object.freeze({
|
|
14
|
+
lifecycle: { light: '#B43A2E', dark: '#F87171' },
|
|
15
|
+
hierarchical: { light: '#1F6FEB', dark: '#6EA8FE' },
|
|
16
|
+
associative: { light: '#6B7280', dark: '#9CA3AF' },
|
|
17
|
+
comparative: { light: '#A855F7', dark: '#C4B5FD' },
|
|
18
|
+
spatiotemporal: { light: '#0D9488', dark: '#5EEAD4' },
|
|
19
|
+
lexical: { light: '#D97706', dark: '#FBBF24' },
|
|
20
|
+
mapping: { light: '#2563EB', dark: '#93BBFD' },
|
|
21
|
+
definitional: { light: '#65A30D', dark: '#A3E635' },
|
|
22
|
+
}),
|
|
23
|
+
byType: Object.freeze({}),
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Resolves the color for a relationship type. Resolution order:
|
|
27
|
+
* 1. overrides.byType[type]
|
|
28
|
+
* 2. RELATION_COLOR_DEFAULTS.byType[type]
|
|
29
|
+
* 3. overrides.byCategory[category]
|
|
30
|
+
* 4. RELATION_COLOR_DEFAULTS.byCategory[category]
|
|
31
|
+
* 5. null (uncategorized or unrecognized type)
|
|
32
|
+
*/
|
|
33
|
+
export function resolveRelationColor(type, options = {}) {
|
|
34
|
+
const mode = options.mode ?? 'light';
|
|
35
|
+
const overrides = options.overrides ?? {};
|
|
36
|
+
const typeOverride = overrides.byType?.[type] ?? RELATION_COLOR_DEFAULTS.byType[type];
|
|
37
|
+
if (typeOverride)
|
|
38
|
+
return pickMode(typeOverride, mode);
|
|
39
|
+
const category = categoryOf(type);
|
|
40
|
+
if (!category)
|
|
41
|
+
return null;
|
|
42
|
+
const categoryOverride = overrides.byCategory?.[category] ?? RELATION_COLOR_DEFAULTS.byCategory[category];
|
|
43
|
+
if (!categoryOverride)
|
|
44
|
+
return null;
|
|
45
|
+
return pickMode(categoryOverride, mode);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns the { light, dark } pair for a category, merging overrides
|
|
49
|
+
* over defaults. Useful for UIs that want to render a legend.
|
|
50
|
+
*/
|
|
51
|
+
export function categoryColorPair(categoryKey, overrides = {}) {
|
|
52
|
+
const def = categoryDefinition(categoryKey);
|
|
53
|
+
if (!def)
|
|
54
|
+
return null;
|
|
55
|
+
const fromOverride = overrides.byCategory?.[categoryKey];
|
|
56
|
+
const fromDefault = RELATION_COLOR_DEFAULTS.byCategory[categoryKey];
|
|
57
|
+
if (!fromDefault && !fromOverride)
|
|
58
|
+
return null;
|
|
59
|
+
return { ...(fromDefault ?? { light: '', dark: '' }), ...(fromOverride ?? {}) };
|
|
60
|
+
}
|
|
61
|
+
function pickMode(pair, mode) {
|
|
62
|
+
if (pair == null)
|
|
63
|
+
return null;
|
|
64
|
+
if (typeof pair === 'string')
|
|
65
|
+
return pair;
|
|
66
|
+
return pair[mode] ?? pair.light ?? pair.dark ?? null;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=relation-colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-colors.js","sourceRoot":"","sources":["../../src/models/relation-colors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { AbstractHyperedge } from './abstract-hyperedge.js';
|
|
2
|
+
/**
|
|
3
|
+
* Backward-compat: snapshot of registered classes keyed by typeTag.
|
|
4
|
+
* Prefer HyperedgeRegistry.forTypeTag() for new code — this snapshot
|
|
5
|
+
* is frozen at module load and won't pick up runtime registrations
|
|
6
|
+
* from tests (the OCP test in Phase 11 registers a mock type after
|
|
7
|
+
* import).
|
|
8
|
+
*/
|
|
9
|
+
export declare const TYPE_TO_CLASS: object;
|
|
10
|
+
/**
|
|
11
|
+
* Thrown by `loadAll` when a relation file has an unknown `type`,
|
|
12
|
+
* malformed structure, or a class that fails to instantiate.
|
|
13
|
+
*/
|
|
14
|
+
export declare class RelationLoadError extends Error {
|
|
15
|
+
readonly path: string;
|
|
16
|
+
constructor(path: string, message: string);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Walk a `relations/` directory and load every relation file,
|
|
20
|
+
* returning a Map keyed by comprehensive-id.
|
|
21
|
+
*
|
|
22
|
+
* Returns an empty Map if `relationsDir` doesn't exist or is empty.
|
|
23
|
+
*/
|
|
24
|
+
export declare function loadAll(relationsDir: string | null | undefined): Map<string, AbstractHyperedge[]>;
|
|
25
|
+
/**
|
|
26
|
+
* Namespace bundle for the loader — callers import it as
|
|
27
|
+
* `import { RelationLoader } from './relation-loader.js'` and call
|
|
28
|
+
* `RelationLoader.loadAll(dir)`. The individual functions are also
|
|
29
|
+
* exported directly for tree-shakeable single-call sites.
|
|
30
|
+
*/
|
|
31
|
+
export declare const RelationLoader: Readonly<{
|
|
32
|
+
loadAll: typeof loadAll;
|
|
33
|
+
loadOne: typeof loadOne;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Load a single relation file. Returns null if the file is missing,
|
|
37
|
+
* unreadable, or doesn't have a recognized `type` field. Throws
|
|
38
|
+
* `RelationLoadError` on malformed content.
|
|
39
|
+
*/
|
|
40
|
+
export declare function loadOne(path: string): AbstractHyperedge | null;
|
|
41
|
+
//# sourceMappingURL=relation-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-loader.d.ts","sourceRoot":"","sources":["../../src/models/relation-loader.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAWjE;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,QAazB,CAAC;AAEF;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI1C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACtC,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAqBlC;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;EAAsC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAa9D"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// HyperedgeLoader — runtime loader for per-file hyperedge YAMLs.
|
|
2
|
+
//
|
|
3
|
+
// Walks a `relations/<comprehensive-id>/<slug>.yaml` directory and
|
|
4
|
+
// dispatches each file to the appropriate class (PartitiveHyperedge,
|
|
5
|
+
// GenericHyperedge, future leaves) based on its `type` field, via
|
|
6
|
+
// HyperedgeRegistry.
|
|
7
|
+
import { readdirSync, readFileSync, existsSync } from 'node:fs';
|
|
8
|
+
import * as yaml from 'js-yaml';
|
|
9
|
+
import { HyperedgeRegistry } from './hyperedge-registry.js';
|
|
10
|
+
/**
|
|
11
|
+
* Backward-compat: snapshot of registered classes keyed by typeTag.
|
|
12
|
+
* Prefer HyperedgeRegistry.forTypeTag() for new code — this snapshot
|
|
13
|
+
* is frozen at module load and won't pick up runtime registrations
|
|
14
|
+
* from tests (the OCP test in Phase 11 registers a mock type after
|
|
15
|
+
* import).
|
|
16
|
+
*/
|
|
17
|
+
export const TYPE_TO_CLASS = new Proxy({}, {
|
|
18
|
+
get(_target, prop) {
|
|
19
|
+
return typeof prop === 'string' ? HyperedgeRegistry.forTypeTag(prop) : null;
|
|
20
|
+
},
|
|
21
|
+
ownKeys() {
|
|
22
|
+
return HyperedgeRegistry.allTypeTags();
|
|
23
|
+
},
|
|
24
|
+
getOwnPropertyDescriptor() {
|
|
25
|
+
return { enumerable: true, configurable: true };
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* Thrown by `loadAll` when a relation file has an unknown `type`,
|
|
30
|
+
* malformed structure, or a class that fails to instantiate.
|
|
31
|
+
*/
|
|
32
|
+
export class RelationLoadError extends Error {
|
|
33
|
+
path;
|
|
34
|
+
constructor(path, message) {
|
|
35
|
+
super(`relation-loader: ${path}: ${message}`);
|
|
36
|
+
this.path = path;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Walk a `relations/` directory and load every relation file,
|
|
41
|
+
* returning a Map keyed by comprehensive-id.
|
|
42
|
+
*
|
|
43
|
+
* Returns an empty Map if `relationsDir` doesn't exist or is empty.
|
|
44
|
+
*/
|
|
45
|
+
export function loadAll(relationsDir) {
|
|
46
|
+
const result = new Map();
|
|
47
|
+
if (!relationsDir)
|
|
48
|
+
return result;
|
|
49
|
+
if (!existsSync(relationsDir))
|
|
50
|
+
return result;
|
|
51
|
+
const entries = readdirSync(relationsDir, { withFileTypes: true });
|
|
52
|
+
for (const compEntry of entries) {
|
|
53
|
+
if (!compEntry.isDirectory())
|
|
54
|
+
continue;
|
|
55
|
+
const compId = compEntry.name;
|
|
56
|
+
const compDir = `${relationsDir}/${compId}`;
|
|
57
|
+
if (!result.has(compId))
|
|
58
|
+
result.set(compId, []);
|
|
59
|
+
const files = readdirSync(compDir)
|
|
60
|
+
.filter((f) => f.endsWith('.yaml') || f.endsWith('.yml'))
|
|
61
|
+
.sort();
|
|
62
|
+
for (const file of files) {
|
|
63
|
+
const path = `${compDir}/${file}`;
|
|
64
|
+
const rel = loadOne(path);
|
|
65
|
+
if (rel)
|
|
66
|
+
result.get(compId)?.push(rel);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Namespace bundle for the loader — callers import it as
|
|
73
|
+
* `import { RelationLoader } from './relation-loader.js'` and call
|
|
74
|
+
* `RelationLoader.loadAll(dir)`. The individual functions are also
|
|
75
|
+
* exported directly for tree-shakeable single-call sites.
|
|
76
|
+
*/
|
|
77
|
+
export const RelationLoader = Object.freeze({ loadAll, loadOne });
|
|
78
|
+
/**
|
|
79
|
+
* Load a single relation file. Returns null if the file is missing,
|
|
80
|
+
* unreadable, or doesn't have a recognized `type` field. Throws
|
|
81
|
+
* `RelationLoadError` on malformed content.
|
|
82
|
+
*/
|
|
83
|
+
export function loadOne(path) {
|
|
84
|
+
let doc;
|
|
85
|
+
try {
|
|
86
|
+
doc = yaml.load(readFileSync(path, 'utf8'));
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
throw new RelationLoadError(path, `YAML parse failed: ${e.message}`);
|
|
90
|
+
}
|
|
91
|
+
if (!doc || typeof doc !== 'object')
|
|
92
|
+
return null;
|
|
93
|
+
const d = doc;
|
|
94
|
+
if (!d.type)
|
|
95
|
+
return null;
|
|
96
|
+
const Cls = HyperedgeRegistry.forTypeTag(d.type);
|
|
97
|
+
if (!Cls)
|
|
98
|
+
return null;
|
|
99
|
+
return Cls.fromJSON(d);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=relation-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-loader.js","sourceRoot":"","sources":["../../src/models/relation-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GlossaristModel } from './base.js';
|
|
2
|
+
import type { LocalizedString } from './generic-member.js';
|
|
3
|
+
export declare const ORDERING_METHODS: ReadonlyArray<string>;
|
|
4
|
+
export type OrderingMethod = string;
|
|
5
|
+
export interface SectionJson {
|
|
6
|
+
id?: string | null;
|
|
7
|
+
names?: LocalizedString;
|
|
8
|
+
ordering?: OrderingMethod | null;
|
|
9
|
+
children?: ReadonlyArray<SectionJson | Section>;
|
|
10
|
+
}
|
|
11
|
+
export declare class Section extends GlossaristModel {
|
|
12
|
+
readonly id: string | null;
|
|
13
|
+
readonly names: LocalizedString;
|
|
14
|
+
readonly ordering: OrderingMethod | null;
|
|
15
|
+
readonly children: ReadonlyArray<Section>;
|
|
16
|
+
constructor(data?: SectionJson);
|
|
17
|
+
name(lang: string): string | null;
|
|
18
|
+
descendantById(id: string): Section | null;
|
|
19
|
+
toJSON(): SectionJson;
|
|
20
|
+
static fromJSON(data: SectionJson): Section;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=section.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../src/models/section.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAIjD,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC;CACjD;AAED,qBAAa,OAAQ,SAAQ,eAAe;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;gBAE9B,IAAI,GAAE,WAAgB;IAUlC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIjC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASjC,MAAM,IAAI,WAAW;WAUd,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;CAGrD"}
|