glossarist 0.4.50 → 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 -57
- 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 -172
- package/src/concept-parser.ts +0 -235
- package/src/concept-reader.d.ts +0 -13
- package/src/concept-serializer.ts +0 -110
- package/src/concept-writer.d.ts +0 -7
- package/src/concept-writer.ts +0 -47
- package/src/diff/canonical-json.ts +0 -29
- package/src/diff/change.ts +0 -175
- package/src/diff/collection-diff.ts +0 -245
- package/src/diff/concept-diff.ts +0 -853
- package/src/diff/diff-patch.ts +0 -276
- package/src/diff/diff-renderer.ts +0 -348
- 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 -512
- package/src/gcr-writer.d.ts +0 -22
- package/src/gcr-writer.ts +0 -99
- package/src/index.d.ts +0 -124
- package/src/managed-concept-collection.ts +0 -130
- 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 -137
- 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 -46
- 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 -202
- 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 -190
- 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 -179
- package/src/reference-mention.ts +0 -114
- package/src/reference-resolver.ts +0 -361
- package/src/render-classification.ts +0 -85
- 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 -66
- package/src/validators/asset-index.ts +0 -72
- 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 -76
- 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 -382
- 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,87 @@
|
|
|
1
|
+
import { ConceptCollection } from './concept-collection.js';
|
|
2
|
+
import { readConcepts, readRegister } from './concept-reader.js';
|
|
3
|
+
import { writeConcepts } from './concept-writer.js';
|
|
4
|
+
import { loadGcr } from './gcr-reader.js';
|
|
5
|
+
import { GcrWriter } from './gcr-writer.js';
|
|
6
|
+
import { BibliographyData } from './models/bibliography-data.js';
|
|
7
|
+
export class ManagedConceptCollection {
|
|
8
|
+
_concepts = new ConceptCollection();
|
|
9
|
+
_register = null;
|
|
10
|
+
_bibliography = null;
|
|
11
|
+
_images = null;
|
|
12
|
+
get concepts() { return this._concepts; }
|
|
13
|
+
get register() { return this._register; }
|
|
14
|
+
get bibliography() { return this._bibliography; }
|
|
15
|
+
get images() { return this._images; }
|
|
16
|
+
loadFromDirectory(dir) {
|
|
17
|
+
this._concepts = new ConceptCollection(readConcepts(dir));
|
|
18
|
+
this._register = readRegister(dir);
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
async loadFromGcr(input) {
|
|
22
|
+
const pkg = await loadGcr(input);
|
|
23
|
+
this._concepts = new ConceptCollection(await pkg.allConcepts());
|
|
24
|
+
this._register = await pkg.register();
|
|
25
|
+
this._bibliography = await pkg.bibliography();
|
|
26
|
+
this._images = await pkg.allImageFiles();
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
saveToDirectory(dir, options = {}) {
|
|
30
|
+
writeConcepts(dir, this._concepts, {
|
|
31
|
+
register: this._register ?? undefined,
|
|
32
|
+
format: options.format,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async saveToGcr(options = {}) {
|
|
36
|
+
return GcrWriter.createBuffer({
|
|
37
|
+
concepts: this._concepts,
|
|
38
|
+
metadata: options.metadata,
|
|
39
|
+
register: this._register,
|
|
40
|
+
format: options.format,
|
|
41
|
+
compiledFormats: options.compiledFormats,
|
|
42
|
+
bibliography: this._bibliography ?? undefined,
|
|
43
|
+
images: this._images ?? undefined,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
add(concept) {
|
|
47
|
+
const existing = this._concepts.byId(concept.id);
|
|
48
|
+
if (existing) {
|
|
49
|
+
const idx = this._concepts.indexOf(existing);
|
|
50
|
+
this._concepts.set(idx, concept);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this._concepts.push(concept);
|
|
54
|
+
}
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
remove(id) {
|
|
58
|
+
const idx = this._concepts.findIndex(c => c.id === id);
|
|
59
|
+
if (idx >= 0)
|
|
60
|
+
this._concepts.splice(idx, 1);
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
setRegister(data) {
|
|
64
|
+
this._register = data;
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
setBibliography(bib) {
|
|
68
|
+
if (bib instanceof BibliographyData) {
|
|
69
|
+
this._bibliography = bib;
|
|
70
|
+
}
|
|
71
|
+
else if (typeof bib === 'string') {
|
|
72
|
+
this._bibliography = BibliographyData.fromYAML(bib);
|
|
73
|
+
}
|
|
74
|
+
else if (bib == null) {
|
|
75
|
+
this._bibliography = null;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
this._bibliography = new BibliographyData(bib);
|
|
79
|
+
}
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
setImages(images) {
|
|
83
|
+
this._images = images instanceof Map ? images : new Map(Object.entries(images));
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=managed-concept-collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-concept-collection.js","sourceRoot":"","sources":["../src/managed-concept-collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface V1HyperedgeHash {
|
|
2
|
+
comprehensive?: {
|
|
3
|
+
source?: string;
|
|
4
|
+
id?: string;
|
|
5
|
+
text?: string;
|
|
6
|
+
};
|
|
7
|
+
parts?: ReadonlyArray<{
|
|
8
|
+
source?: string;
|
|
9
|
+
id?: string;
|
|
10
|
+
}>;
|
|
11
|
+
enumeration?: string;
|
|
12
|
+
content?: string | null;
|
|
13
|
+
markers?: ReadonlyArray<string>;
|
|
14
|
+
}
|
|
15
|
+
export interface V2HyperedgeHash {
|
|
16
|
+
comprehensive: {
|
|
17
|
+
source?: string;
|
|
18
|
+
id?: string;
|
|
19
|
+
};
|
|
20
|
+
partitives: ReadonlyArray<{
|
|
21
|
+
ref: {
|
|
22
|
+
source?: string;
|
|
23
|
+
id?: string;
|
|
24
|
+
};
|
|
25
|
+
presence: string;
|
|
26
|
+
count: string;
|
|
27
|
+
}>;
|
|
28
|
+
completeness: string;
|
|
29
|
+
migrationWarning?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function migrateHyperedgeToRelation(v1Hash: V1HyperedgeHash | ReadonlyArray<V1HyperedgeHash> | null): V2HyperedgeHash | ReadonlyArray<V2HyperedgeHash | null> | null;
|
|
32
|
+
export declare function downgradeRelationToHyperedge(v2Hash: Partial<V2HyperedgeHash> | ReadonlyArray<Partial<V2HyperedgeHash>> | null): unknown;
|
|
33
|
+
//# sourceMappingURL=hyperedge-migrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperedge-migrator.d.ts","sourceRoot":"","sources":["../../src/migration/hyperedge-migrator.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,KAAK,CAAC,EAAE,aAAa,CAAC;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,UAAU,EAAE,aAAa,CAAC;QACxB,GAAG,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACtC,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,eAAe,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,IAAI,GAC9D,eAAe,GAAG,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,IAAI,CAwChE;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,IAAI,GAChF,OAAO,CAqBT"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// v1 → v2 PartitiveHyperedge migration.
|
|
2
|
+
//
|
|
3
|
+
// Pure function: takes a v1 PartitiveHyperedge hash, returns a v2
|
|
4
|
+
// PartitiveHyperedge hash. Idempotent.
|
|
5
|
+
export function migrateHyperedgeToRelation(v1Hash) {
|
|
6
|
+
if (v1Hash == null)
|
|
7
|
+
return null;
|
|
8
|
+
if (Array.isArray(v1Hash)) {
|
|
9
|
+
return v1Hash.map(migrateHyperedgeToRelation);
|
|
10
|
+
}
|
|
11
|
+
const h = v1Hash;
|
|
12
|
+
const out = {
|
|
13
|
+
comprehensive: { ...(h.comprehensive ?? {}) },
|
|
14
|
+
};
|
|
15
|
+
const parts = Array.isArray(h.parts) ? h.parts : [];
|
|
16
|
+
out.partitives = parts.map((ref) => ({
|
|
17
|
+
ref: { ...ref },
|
|
18
|
+
presence: 'required',
|
|
19
|
+
count: 'exactly_one',
|
|
20
|
+
}));
|
|
21
|
+
out.completeness = _migrateEnumeration(h.enumeration);
|
|
22
|
+
if (parts.length < 2) {
|
|
23
|
+
out.migrationWarning =
|
|
24
|
+
`v1 PartitiveHyperedge had ${parts.length} part(s); v2 requires ≥2. ` +
|
|
25
|
+
`Either add more partitives or convert to a binary has_part edge.`;
|
|
26
|
+
}
|
|
27
|
+
if (h.content != null) {
|
|
28
|
+
out.migrationWarning = (out.migrationWarning ?? '') +
|
|
29
|
+
` v1 'content' field was dropped (v2 PartitiveHyperedge carries no prose; ` +
|
|
30
|
+
`move valuable text to the comprehensive concept's notes).`;
|
|
31
|
+
}
|
|
32
|
+
if (Array.isArray(h.markers) && h.markers.length > 0) {
|
|
33
|
+
out.migrationWarning = (out.migrationWarning ?? '') +
|
|
34
|
+
` v1 'markers' field (${h.markers.join(', ')}) was dropped; ` +
|
|
35
|
+
`v2 uses per-member 'multiplicity' + 'is_delimiting'. Reviewer ` +
|
|
36
|
+
`should set these per partitive based on ISO 704:2022 notation.`;
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
export function downgradeRelationToHyperedge(v2Hash) {
|
|
41
|
+
if (v2Hash == null)
|
|
42
|
+
return null;
|
|
43
|
+
if (Array.isArray(v2Hash)) {
|
|
44
|
+
return v2Hash.map(downgradeRelationToHyperedge);
|
|
45
|
+
}
|
|
46
|
+
const v2 = v2Hash;
|
|
47
|
+
const out = {
|
|
48
|
+
comprehensive: { ...(v2.comprehensive ?? {}) },
|
|
49
|
+
parts: [],
|
|
50
|
+
enumeration: '',
|
|
51
|
+
};
|
|
52
|
+
out.parts = (v2.partitives ?? []).map((m) => ({ ...(m.ref ?? {}) }));
|
|
53
|
+
out.enumeration = _downgradeCompleteness(v2.completeness);
|
|
54
|
+
return out;
|
|
55
|
+
}
|
|
56
|
+
function _migrateEnumeration(value) {
|
|
57
|
+
if (value === 'open')
|
|
58
|
+
return 'partial';
|
|
59
|
+
if (value === 'closed')
|
|
60
|
+
return 'complete';
|
|
61
|
+
if (value == null)
|
|
62
|
+
return 'complete';
|
|
63
|
+
return 'complete';
|
|
64
|
+
}
|
|
65
|
+
function _downgradeCompleteness(value) {
|
|
66
|
+
if (value === 'partial')
|
|
67
|
+
return 'open';
|
|
68
|
+
return 'closed';
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=hyperedge-migrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperedge-migrator.js","sourceRoot":"","sources":["../../src/migration/hyperedge-migrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { GlossaristModel } from './base.js';
|
|
2
|
+
import { ConceptRef } from './concept-ref.js';
|
|
3
|
+
import type { ConceptRefJson } from './concept-ref.js';
|
|
4
|
+
import type { Completeness } from './completeness.js';
|
|
5
|
+
import type { HyperedgeMember } from './hyperedge-member.js';
|
|
6
|
+
import type { LocalizedString } from './generic-member.js';
|
|
7
|
+
export interface AbstractHyperedgeJson {
|
|
8
|
+
comprehensive: ConceptRefJson;
|
|
9
|
+
members: ReadonlyArray<unknown>;
|
|
10
|
+
completeness: Completeness;
|
|
11
|
+
criterion?: LocalizedString;
|
|
12
|
+
sources?: ReadonlyArray<unknown>;
|
|
13
|
+
notes?: Record<string, unknown> | null;
|
|
14
|
+
status?: string | null;
|
|
15
|
+
/** PartitiveHyperedge wire alias (only present on PartitiveHyperedge JSON). */
|
|
16
|
+
partitives?: ReadonlyArray<unknown>;
|
|
17
|
+
}
|
|
18
|
+
export type CriterionInput = string | LocalizedString | null | undefined;
|
|
19
|
+
export declare abstract class AbstractHyperedge extends GlossaristModel {
|
|
20
|
+
readonly comprehensive: ConceptRef;
|
|
21
|
+
readonly members: ReadonlyArray<HyperedgeMember>;
|
|
22
|
+
readonly completeness: Completeness;
|
|
23
|
+
readonly criterion: LocalizedString | null;
|
|
24
|
+
readonly sources: ReadonlyArray<unknown>;
|
|
25
|
+
readonly notes: Record<string, unknown> | null;
|
|
26
|
+
readonly status: string | null;
|
|
27
|
+
constructor(data?: AbstractHyperedgeJson);
|
|
28
|
+
get isComplete(): boolean;
|
|
29
|
+
get isPartial(): boolean;
|
|
30
|
+
get isCoordinate(): boolean;
|
|
31
|
+
hasCriterion(): boolean;
|
|
32
|
+
identity(): string;
|
|
33
|
+
toJSON(): AbstractHyperedgeJson;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=abstract-hyperedge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-hyperedge.d.ts","sourceRoot":"","sources":["../../src/models/abstract-hyperedge.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;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,cAAc,CAAC;IAC9B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAChC,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;AAEzE,8BAAsB,iBAAkB,SAAQ,eAAe;IAC7D,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAG7B,IAAI,GAAE,qBAIL;IAiBH,IAAI,UAAU,IAAI,OAAO,CAA6C;IACtE,IAAI,SAAS,IAAI,OAAO,CAA4C;IACpE,IAAI,YAAY,IAAI,OAAO,CAAqC;IAEhE,YAAY,IAAI,OAAO;IAEd,QAAQ,IAAI,MAAM;IAKlB,MAAM,IAAI,qBAAqB;CAYzC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// AbstractHyperedge — shared base for directed 1→N hyperedges
|
|
2
|
+
// (PartitiveHyperedge, GenericHyperedge, SequentialHyperedge, future
|
|
3
|
+
// AssociativeHyperedge, etc.).
|
|
4
|
+
//
|
|
5
|
+
// Carries the common shape:
|
|
6
|
+
// - comprehensive: ConceptRef
|
|
7
|
+
// - members: 2+ MECE dimensioned concept refs (≥2 per ISO 704)
|
|
8
|
+
// - completeness: complete | partial
|
|
9
|
+
// - criterion: localized subdivision criterion (ISO 12620)
|
|
10
|
+
// - sources / notes / status: administrative metadata
|
|
11
|
+
//
|
|
12
|
+
// See docs/design/abstract-hyperedge.md (concept-model repo).
|
|
13
|
+
import { GlossaristModel } from './base.js';
|
|
14
|
+
import { ConceptRef } from './concept-ref.js';
|
|
15
|
+
import { DEFAULT_COMPLETENESS, isValidCompleteness } from './completeness.js';
|
|
16
|
+
export class AbstractHyperedge extends GlossaristModel {
|
|
17
|
+
comprehensive;
|
|
18
|
+
members;
|
|
19
|
+
completeness;
|
|
20
|
+
criterion;
|
|
21
|
+
sources;
|
|
22
|
+
notes;
|
|
23
|
+
status;
|
|
24
|
+
constructor(data = {
|
|
25
|
+
comprehensive: {},
|
|
26
|
+
members: [],
|
|
27
|
+
completeness: 'complete',
|
|
28
|
+
}) {
|
|
29
|
+
super();
|
|
30
|
+
this.comprehensive = _ensureComprehensive(data.comprehensive);
|
|
31
|
+
this.members = _ensureMembers(data.members, this.constructor.name);
|
|
32
|
+
this.completeness = _resolveCompleteness(data.completeness);
|
|
33
|
+
this.criterion = _normalizeCriterion(data.criterion);
|
|
34
|
+
this.sources = Array.isArray(data.sources) ? [...data.sources] : [];
|
|
35
|
+
this.notes = data.notes ?? null;
|
|
36
|
+
this.status = data.status ?? null;
|
|
37
|
+
_assertNoSelfLoop(this.comprehensive, this.members);
|
|
38
|
+
}
|
|
39
|
+
get isComplete() { return this.completeness === 'complete'; }
|
|
40
|
+
get isPartial() { return this.completeness === 'partial'; }
|
|
41
|
+
get isCoordinate() { return this.members.length >= 2; }
|
|
42
|
+
hasCriterion() { return this.criterion != null; }
|
|
43
|
+
identity() {
|
|
44
|
+
const Ctor = this.constructor;
|
|
45
|
+
return Ctor.identityOf(this);
|
|
46
|
+
}
|
|
47
|
+
toJSON() {
|
|
48
|
+
const obj = {
|
|
49
|
+
comprehensive: this.comprehensive.toJSON(),
|
|
50
|
+
members: this.members.map((m) => m.toJSON()),
|
|
51
|
+
completeness: this.completeness,
|
|
52
|
+
};
|
|
53
|
+
if (this.criterion != null)
|
|
54
|
+
obj.criterion = { ...this.criterion };
|
|
55
|
+
if (this.sources.length > 0)
|
|
56
|
+
obj.sources = [...this.sources];
|
|
57
|
+
if (this.notes != null)
|
|
58
|
+
obj.notes = { ...this.notes };
|
|
59
|
+
if (this.status != null)
|
|
60
|
+
obj.status = this.status;
|
|
61
|
+
return obj;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function _ensureComprehensive(value) {
|
|
65
|
+
const ref = value instanceof ConceptRef ? value : new ConceptRef(value ?? {});
|
|
66
|
+
if (!ref.source && !ref.id && !ref.text) {
|
|
67
|
+
throw new Error('AbstractHyperedge.comprehensive must be a non-empty ConceptReference ' +
|
|
68
|
+
'(source, id, or text required)');
|
|
69
|
+
}
|
|
70
|
+
return ref;
|
|
71
|
+
}
|
|
72
|
+
function _ensureMembers(values, typeName) {
|
|
73
|
+
if (!Array.isArray(values)) {
|
|
74
|
+
throw new Error(`${typeName}.members must be an array (got ${values === null ? 'null' : typeof values})`);
|
|
75
|
+
}
|
|
76
|
+
if (values.length < 2) {
|
|
77
|
+
throw new Error(`${typeName} requires ≥2 partitives (ISO 704); got ${values.length}`);
|
|
78
|
+
}
|
|
79
|
+
return values;
|
|
80
|
+
}
|
|
81
|
+
function _resolveCompleteness(value) {
|
|
82
|
+
const c = value ?? DEFAULT_COMPLETENESS;
|
|
83
|
+
if (!isValidCompleteness(c)) {
|
|
84
|
+
throw new Error(`completeness has invalid value ${JSON.stringify(value)}`);
|
|
85
|
+
}
|
|
86
|
+
return c;
|
|
87
|
+
}
|
|
88
|
+
function _normalizeCriterion(value) {
|
|
89
|
+
if (value == null)
|
|
90
|
+
return null;
|
|
91
|
+
if (typeof value === 'string') {
|
|
92
|
+
return value.length > 0 ? { default: value } : null;
|
|
93
|
+
}
|
|
94
|
+
if (typeof value === 'object') {
|
|
95
|
+
const entries = Object.entries(value).filter(([, v]) => typeof v === 'string');
|
|
96
|
+
return entries.length > 0
|
|
97
|
+
? Object.fromEntries(entries)
|
|
98
|
+
: null;
|
|
99
|
+
}
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
function _assertNoSelfLoop(comprehensive, members) {
|
|
103
|
+
const cKey = `${comprehensive.source ?? ''}:${comprehensive.id ?? ''}`;
|
|
104
|
+
for (const m of members) {
|
|
105
|
+
const ref = m.ref;
|
|
106
|
+
const pKey = `${ref?.source ?? ''}:${ref?.id ?? ''}`;
|
|
107
|
+
if (pKey === cKey && (ref?.source || ref?.id)) {
|
|
108
|
+
throw new Error('Relation.members cannot include the comprehensive (no self-loops)');
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=abstract-hyperedge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-hyperedge.js","sourceRoot":"","sources":["../../src/models/abstract-hyperedge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GlossaristModel — abstract base for every domain model.
|
|
3
|
+
*
|
|
4
|
+
* Subclasses implement `toJSON()` (wire shape) and `identity()`
|
|
5
|
+
* (stable string key for diff/dedupe). `equals()` and `clone()`
|
|
6
|
+
* default to comparing via JSON serialization; subclasses may
|
|
7
|
+
* override for performance.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Any value that can be the output of `JSON.stringify`. Used as the
|
|
11
|
+
* return type of {@link GlossaristModel.toJSON} so subclasses with
|
|
12
|
+
* non-object JSON output (e.g. `NonVerbalReference.toJSON()` returns
|
|
13
|
+
* a bare string for the no-display case) can override without
|
|
14
|
+
* breaking variance. The object case accepts any object to avoid
|
|
15
|
+
* forcing `<Model>Json` interfaces to declare explicit string index
|
|
16
|
+
* signatures (TS interfaces don't have implicit index signatures).
|
|
17
|
+
*/
|
|
18
|
+
export type JsonValue = string | number | boolean | null | JsonValue[] | object;
|
|
19
|
+
export declare abstract class GlossaristModel {
|
|
20
|
+
/** Wire-shape serialization. Subclasses MUST override. */
|
|
21
|
+
toJSON(): JsonValue;
|
|
22
|
+
/** Stable identity string for diff, dedupe, registry keys. */
|
|
23
|
+
identity(): string;
|
|
24
|
+
/** Default: structural equality via JSON. Override for semantic equality. */
|
|
25
|
+
equals(other: this): boolean;
|
|
26
|
+
/** Deep clone via JSON round-trip. Subclasses with non-JSON-safe
|
|
27
|
+
* fields must override. */
|
|
28
|
+
clone(): this;
|
|
29
|
+
/**
|
|
30
|
+
* Subclasses MUST override. Declared on the abstract base so callers
|
|
31
|
+
* who only have `typeof GlossaristModel` get a typed call site
|
|
32
|
+
* (rather than the static disappearing under `abstract`).
|
|
33
|
+
*/
|
|
34
|
+
static fromJSON(_data: unknown): GlossaristModel;
|
|
35
|
+
/**
|
|
36
|
+
* Lazily wrap a raw array (plain hashes) into model instances.
|
|
37
|
+
* Used by Concept's lazy `figures`/`tables`/`formulas` getters so
|
|
38
|
+
* the wrap cost is only paid on first access.
|
|
39
|
+
*
|
|
40
|
+
* `cacheKey` and `rawKey` are private field names on `this`. The
|
|
41
|
+
* bracket access here is the only legitimate reflective pattern in
|
|
42
|
+
* the codebase (lazy field init). It is bracket-typed through a
|
|
43
|
+
* local alias rather than the public surface.
|
|
44
|
+
*
|
|
45
|
+
* Underscore-prefixed (not `protected`) so JS subclasses during the
|
|
46
|
+
* TS migration transition can call it without TS4094 on anonymous
|
|
47
|
+
* class expressions. Once all subclasses are .ts this can move to
|
|
48
|
+
* `protected`.
|
|
49
|
+
*/
|
|
50
|
+
_lazy<TItem>(cacheKey: string, rawKey: string, wrapFn: (raw: unknown) => TItem): TItem[];
|
|
51
|
+
/**
|
|
52
|
+
* Helper for `toJSON()`: serialize a lazy-or-raw array under
|
|
53
|
+
* `jsonKey` only when it has items. Model instances go through
|
|
54
|
+
* `toJSON()`; primitives pass through.
|
|
55
|
+
*/
|
|
56
|
+
_serialize(obj: Record<string, unknown>, jsonKey: string, cacheKey: string, rawKey: string): void;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/models/base.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX,MAAM,CAAC;AAEX,8BAAsB,eAAe;IACnC,0DAA0D;IAC1D,MAAM,IAAI,SAAS;IAInB,8DAA8D;IAC9D,QAAQ,IAAI,MAAM;IAIlB,6EAA6E;IAC7E,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAK5B;gCAC4B;IAC5B,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe;IAIhD;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,KAAK,EACT,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,KAAK,GAC9B,KAAK,EAAE;IAUV;;;;OAIG;IACH,UAAU,CACR,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,IAAI;CAWR"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GlossaristModel — abstract base for every domain model.
|
|
3
|
+
*
|
|
4
|
+
* Subclasses implement `toJSON()` (wire shape) and `identity()`
|
|
5
|
+
* (stable string key for diff/dedupe). `equals()` and `clone()`
|
|
6
|
+
* default to comparing via JSON serialization; subclasses may
|
|
7
|
+
* override for performance.
|
|
8
|
+
*/
|
|
9
|
+
export class GlossaristModel {
|
|
10
|
+
/** Wire-shape serialization. Subclasses MUST override. */
|
|
11
|
+
toJSON() {
|
|
12
|
+
throw new Error(`${this.constructor.name} must implement toJSON()`);
|
|
13
|
+
}
|
|
14
|
+
/** Stable identity string for diff, dedupe, registry keys. */
|
|
15
|
+
identity() {
|
|
16
|
+
throw new Error(`${this.constructor.name} must implement identity()`);
|
|
17
|
+
}
|
|
18
|
+
/** Default: structural equality via JSON. Override for semantic equality. */
|
|
19
|
+
equals(other) {
|
|
20
|
+
if (!(other instanceof this.constructor))
|
|
21
|
+
return false;
|
|
22
|
+
return JSON.stringify(this.toJSON()) === JSON.stringify(other.toJSON());
|
|
23
|
+
}
|
|
24
|
+
/** Deep clone via JSON round-trip. Subclasses with non-JSON-safe
|
|
25
|
+
* fields must override. */
|
|
26
|
+
clone() {
|
|
27
|
+
const Ctor = this.constructor;
|
|
28
|
+
return new Ctor(JSON.parse(JSON.stringify(this.toJSON())));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Subclasses MUST override. Declared on the abstract base so callers
|
|
32
|
+
* who only have `typeof GlossaristModel` get a typed call site
|
|
33
|
+
* (rather than the static disappearing under `abstract`).
|
|
34
|
+
*/
|
|
35
|
+
static fromJSON(_data) {
|
|
36
|
+
throw new Error(`${this.name} must implement fromJSON()`);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Lazily wrap a raw array (plain hashes) into model instances.
|
|
40
|
+
* Used by Concept's lazy `figures`/`tables`/`formulas` getters so
|
|
41
|
+
* the wrap cost is only paid on first access.
|
|
42
|
+
*
|
|
43
|
+
* `cacheKey` and `rawKey` are private field names on `this`. The
|
|
44
|
+
* bracket access here is the only legitimate reflective pattern in
|
|
45
|
+
* the codebase (lazy field init). It is bracket-typed through a
|
|
46
|
+
* local alias rather than the public surface.
|
|
47
|
+
*
|
|
48
|
+
* Underscore-prefixed (not `protected`) so JS subclasses during the
|
|
49
|
+
* TS migration transition can call it without TS4094 on anonymous
|
|
50
|
+
* class expressions. Once all subclasses are .ts this can move to
|
|
51
|
+
* `protected`.
|
|
52
|
+
*/
|
|
53
|
+
_lazy(cacheKey, rawKey, wrapFn) {
|
|
54
|
+
const cache = this;
|
|
55
|
+
const raw = this;
|
|
56
|
+
if (cache[cacheKey] === null || cache[cacheKey] === undefined) {
|
|
57
|
+
const rawArr = raw[rawKey] ?? [];
|
|
58
|
+
cache[cacheKey] = rawArr.map((r) => wrapFn(r));
|
|
59
|
+
}
|
|
60
|
+
return cache[cacheKey] ?? [];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Helper for `toJSON()`: serialize a lazy-or-raw array under
|
|
64
|
+
* `jsonKey` only when it has items. Model instances go through
|
|
65
|
+
* `toJSON()`; primitives pass through.
|
|
66
|
+
*/
|
|
67
|
+
_serialize(obj, jsonKey, cacheKey, rawKey) {
|
|
68
|
+
const self = this;
|
|
69
|
+
const cached = self[cacheKey];
|
|
70
|
+
const raw = self[rawKey];
|
|
71
|
+
const items = cached ?? (Array.isArray(raw) && raw.length > 0 ? raw : []);
|
|
72
|
+
if (items.length > 0) {
|
|
73
|
+
obj[jsonKey] = items.map((i) => i instanceof GlossaristModel ? i.toJSON() : i);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/models/base.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmBH,MAAM,OAAgB,eAAe;IACnC,0DAA0D;IAC1D,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,0BAA0B,CAAC,CAAC;IACtE,CAAC;IAED,8DAA8D;IAC9D,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,4BAA4B,CAAC,CAAC;IACxE,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,KAAW;QAChB,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QACvD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;gCAC4B;IAC5B,KAAK;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,WAA0C,CAAC;QAC7D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAc;QAC5B,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CACH,QAAgB,EAChB,MAAc,EACd,MAA+B;QAE/B,MAAM,KAAK,GAAG,IAA6D,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAwD,CAAC;QACrE,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjC,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,UAAU,CACR,GAA4B,EAC5B,OAAe,EACf,QAAgB,EAChB,MAAc;QAEd,MAAM,IAAI,GAAG,IAA+D,CAAC;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7B,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAC9C,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { GlossaristModel } from './base.js';
|
|
2
|
+
import { BibliographyEntry } from './bibliography-entry.js';
|
|
3
|
+
import type { BibliographyEntryJson } from './bibliography-entry.js';
|
|
4
|
+
export interface BibliographyDataJson {
|
|
5
|
+
bibliography?: ReadonlyArray<BibliographyEntryJson | BibliographyEntry>;
|
|
6
|
+
entries?: ReadonlyArray<BibliographyEntryJson | BibliographyEntry>;
|
|
7
|
+
}
|
|
8
|
+
export declare class BibliographyData extends GlossaristModel {
|
|
9
|
+
private readonly _rawEntries;
|
|
10
|
+
private _entries;
|
|
11
|
+
constructor(data?: BibliographyDataJson | ReadonlyArray<BibliographyEntryJson | BibliographyEntry>);
|
|
12
|
+
get entries(): ReadonlyArray<BibliographyEntry>;
|
|
13
|
+
find(id: string): BibliographyEntry | null;
|
|
14
|
+
get keys(): ReadonlyArray<string | null>;
|
|
15
|
+
toJSON(): BibliographyDataJson;
|
|
16
|
+
toYAML(): string;
|
|
17
|
+
static fromYAML(yamlString: string): BibliographyData;
|
|
18
|
+
static fromJSON(data: BibliographyDataJson | ReadonlyArray<BibliographyEntryJson>): BibliographyData;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=bibliography-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bibliography-data.d.ts","sourceRoot":"","sources":["../../src/models/bibliography-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,aAAa,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,aAAa,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,CAAC;CACpE;AAED,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2D;IACvF,OAAO,CAAC,QAAQ,CAAiD;gBAErD,IAAI,GAAE,oBAAoB,GAAG,aAAa,CAAC,qBAAqB,GAAG,iBAAiB,CAAM;IAWtG,IAAI,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAM9C;IAED,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAI1C,IAAI,IAAI,IAAI,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC,CAEvC;IAEQ,MAAM,IAAI,oBAAoB;IAKvC,MAAM,IAAI,MAAM;IAIhB,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;WAQrC,QAAQ,CACtB,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAAC,qBAAqB,CAAC,GAChE,gBAAgB;CAGpB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as yaml from 'js-yaml';
|
|
2
|
+
import { GlossaristModel } from './base.js';
|
|
3
|
+
import { BibliographyEntry } from './bibliography-entry.js';
|
|
4
|
+
export class BibliographyData extends GlossaristModel {
|
|
5
|
+
_rawEntries;
|
|
6
|
+
_entries = null;
|
|
7
|
+
constructor(data = {}) {
|
|
8
|
+
super();
|
|
9
|
+
let entriesData;
|
|
10
|
+
if (Array.isArray(data)) {
|
|
11
|
+
entriesData = data;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
entriesData = data?.bibliography ?? data?.entries ?? [];
|
|
15
|
+
}
|
|
16
|
+
this._rawEntries = Array.isArray(entriesData) ? entriesData : [];
|
|
17
|
+
}
|
|
18
|
+
get entries() {
|
|
19
|
+
return this._lazy('_entries', '_rawEntries', (e) => (e instanceof BibliographyEntry ? e : new BibliographyEntry(e)));
|
|
20
|
+
}
|
|
21
|
+
find(id) {
|
|
22
|
+
return this.entries.find((e) => e.id === id) ?? null;
|
|
23
|
+
}
|
|
24
|
+
get keys() {
|
|
25
|
+
return this.entries.map((e) => e.id);
|
|
26
|
+
}
|
|
27
|
+
toJSON() {
|
|
28
|
+
if (this.entries.length === 0)
|
|
29
|
+
return { bibliography: [] };
|
|
30
|
+
return { bibliography: this.entries.map((e) => e.toJSON()) };
|
|
31
|
+
}
|
|
32
|
+
toYAML() {
|
|
33
|
+
return yaml.dump(this.toJSON());
|
|
34
|
+
}
|
|
35
|
+
static fromYAML(yamlString) {
|
|
36
|
+
const parsed = yaml.load(yamlString);
|
|
37
|
+
return new BibliographyData(parsed ?? {});
|
|
38
|
+
}
|
|
39
|
+
static fromJSON(data) {
|
|
40
|
+
return new BibliographyData(data);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=bibliography-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bibliography-data.js","sourceRoot":"","sources":["../../src/models/bibliography-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IAClC,WAAW,CAA2D;IAC/E,QAAQ,GAA4C,IAAI,CAAC;IAEjE,YAAY,OAAwF,EAAE;QACpG,KAAK,EAAE,CAAC;QACR,IAAI,WAAiF,CAAC;QACtF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,WAAW,GAAI,IAA6B,EAAE,YAAY,IAAK,IAA6B,EAAE,OAAO,IAAI,EAAE,CAAC;QAC9G,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CACf,UAAU,EACV,aAAa,EACb,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAA0B,CAAC,CAAC,CAChG,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,IAAI,CAAC;IACvD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAEQ,MAAM;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QAC3D,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,UAAkB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAGtB,CAAC;QACd,OAAO,IAAI,gBAAgB,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAU,QAAQ,CACtB,IAAiE;QAEjE,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GlossaristModel } from './base.js';
|
|
2
|
+
export interface BibliographyEntryJson {
|
|
3
|
+
id?: string | null;
|
|
4
|
+
reference?: string | null;
|
|
5
|
+
title?: string | null;
|
|
6
|
+
link?: string | null;
|
|
7
|
+
type?: string | null;
|
|
8
|
+
}
|
|
9
|
+
export declare class BibliographyEntry extends GlossaristModel {
|
|
10
|
+
readonly id: string | null;
|
|
11
|
+
readonly reference: string | null;
|
|
12
|
+
readonly title: string | null;
|
|
13
|
+
readonly link: string | null;
|
|
14
|
+
readonly type: string | null;
|
|
15
|
+
constructor(data?: BibliographyEntryJson);
|
|
16
|
+
toJSON(): BibliographyEntryJson;
|
|
17
|
+
static fromJSON(data: BibliographyEntryJson): BibliographyEntry;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=bibliography-entry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bibliography-entry.d.ts","sourceRoot":"","sources":["../../src/models/bibliography-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEjB,IAAI,GAAE,qBAA0B;IASnC,MAAM,IAAI,qBAAqB;WAUxB,QAAQ,CAAC,IAAI,EAAE,qBAAqB,GAAG,iBAAiB;CAGzE"}
|