glossarist 0.4.50 → 0.4.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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 +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- 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/utils/external-detection.d.ts +38 -0
- package/dist/utils/external-detection.d.ts.map +1 -0
- package/dist/utils/external-detection.js +55 -0
- package/dist/utils/external-detection.js.map +1 -0
- package/dist/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/extensional-completeness.d.ts +18 -0
- package/dist/validators/extensional-completeness.d.ts.map +1 -0
- package/dist/validators/extensional-completeness.js +41 -0
- package/dist/validators/extensional-completeness.js.map +1 -0
- package/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/index.ts +0 -92
- 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
package/src/diff/change.ts
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { GlossaristModel } from '../models/base.js';
|
|
2
|
-
import { TextDiff } from './text-diff.js';
|
|
3
|
-
import type { TextDiffJson } from './text-diff.js';
|
|
4
|
-
|
|
5
|
-
export const CHANGE_ADDED = 'added';
|
|
6
|
-
export const CHANGE_REMOVED = 'removed';
|
|
7
|
-
export const CHANGE_CHANGED = 'changed';
|
|
8
|
-
export const CHANGE_MATCHED = 'matched';
|
|
9
|
-
|
|
10
|
-
export type ChangeType = 'added' | 'removed' | 'changed' | 'matched';
|
|
11
|
-
|
|
12
|
-
export interface ChangeJson {
|
|
13
|
-
type: ChangeType;
|
|
14
|
-
path?: string | null;
|
|
15
|
-
value?: unknown;
|
|
16
|
-
old_value?: unknown;
|
|
17
|
-
oldValue?: unknown;
|
|
18
|
-
new_value?: unknown;
|
|
19
|
-
newValue?: unknown;
|
|
20
|
-
text_diff?: TextDiffJson;
|
|
21
|
-
textDiff?: TextDiffJson;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function serializeValue(v: unknown): unknown {
|
|
25
|
-
if (v == null) return null;
|
|
26
|
-
if (v instanceof GlossaristModel) return v.toJSON();
|
|
27
|
-
if (Array.isArray(v)) return v.map(serializeValue);
|
|
28
|
-
if (typeof v === 'object') {
|
|
29
|
-
const out: Record<string, unknown> = {};
|
|
30
|
-
for (const [k, val] of Object.entries(v as Record<string, unknown>)) {
|
|
31
|
-
out[k] = serializeValue(val);
|
|
32
|
-
}
|
|
33
|
-
return out;
|
|
34
|
-
}
|
|
35
|
-
return v;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export class Change extends GlossaristModel {
|
|
39
|
-
readonly path: string | null;
|
|
40
|
-
|
|
41
|
-
constructor(data: Pick<ChangeJson, 'path'> = {}) {
|
|
42
|
-
super();
|
|
43
|
-
this.path = data.path ?? null;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
get type(): ChangeType {
|
|
47
|
-
throw new Error(`${this.constructor.name} must override type getter`);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
static override fromJSON(data: ChangeJson): Change {
|
|
51
|
-
return deserializeChange(data);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export class Added extends Change {
|
|
56
|
-
readonly value: unknown;
|
|
57
|
-
|
|
58
|
-
constructor(data: Pick<ChangeJson, 'path' | 'value'> = {}) {
|
|
59
|
-
super(data);
|
|
60
|
-
this.value = data.value ?? null;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
override get type(): ChangeType { return CHANGE_ADDED; }
|
|
64
|
-
|
|
65
|
-
override toJSON(): ChangeJson {
|
|
66
|
-
const obj: ChangeJson = { type: CHANGE_ADDED };
|
|
67
|
-
if (this.path != null) obj.path = this.path;
|
|
68
|
-
obj.value = serializeValue(this.value);
|
|
69
|
-
return obj;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
static override fromJSON(data: ChangeJson): Added {
|
|
73
|
-
return new Added(data as Pick<ChangeJson, 'path' | 'value'>);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export class Removed extends Change {
|
|
78
|
-
readonly value: unknown;
|
|
79
|
-
|
|
80
|
-
constructor(data: Pick<ChangeJson, 'path' | 'value'> = {}) {
|
|
81
|
-
super(data);
|
|
82
|
-
this.value = data.value ?? null;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
override get type(): ChangeType { return CHANGE_REMOVED; }
|
|
86
|
-
|
|
87
|
-
override toJSON(): ChangeJson {
|
|
88
|
-
const obj: ChangeJson = { type: CHANGE_REMOVED };
|
|
89
|
-
if (this.path != null) obj.path = this.path;
|
|
90
|
-
obj.value = serializeValue(this.value);
|
|
91
|
-
return obj;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
static override fromJSON(data: ChangeJson): Removed {
|
|
95
|
-
return new Removed(data as Pick<ChangeJson, 'path' | 'value'>);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export interface ChangedConstructorData {
|
|
100
|
-
path?: string | null;
|
|
101
|
-
oldValue?: unknown;
|
|
102
|
-
old_value?: unknown;
|
|
103
|
-
newValue?: unknown;
|
|
104
|
-
new_value?: unknown;
|
|
105
|
-
textDiff?: TextDiff | TextDiffJson;
|
|
106
|
-
text_diff?: TextDiffJson;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
export class Changed extends Change {
|
|
110
|
-
readonly oldValue: unknown;
|
|
111
|
-
readonly newValue: unknown;
|
|
112
|
-
private readonly _textDiff: TextDiff | null;
|
|
113
|
-
|
|
114
|
-
constructor(data: ChangedConstructorData = {}) {
|
|
115
|
-
super(data as Pick<ChangeJson, 'path'>);
|
|
116
|
-
this.oldValue = data.oldValue ?? data.old_value ?? null;
|
|
117
|
-
this.newValue = data.newValue ?? data.new_value ?? null;
|
|
118
|
-
const td = data.textDiff ?? data.text_diff;
|
|
119
|
-
this._textDiff = td instanceof TextDiff ? td : td ? TextDiff.fromJSON(td) : null;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
override get type(): ChangeType { return CHANGE_CHANGED; }
|
|
123
|
-
|
|
124
|
-
get textDiff(): TextDiff | null {
|
|
125
|
-
return this._textDiff;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
override toJSON(): ChangeJson {
|
|
129
|
-
const obj: ChangeJson = { type: CHANGE_CHANGED };
|
|
130
|
-
if (this.path != null) obj.path = this.path;
|
|
131
|
-
obj.old_value = serializeValue(this.oldValue);
|
|
132
|
-
obj.new_value = serializeValue(this.newValue);
|
|
133
|
-
if (this._textDiff) obj.text_diff = this._textDiff.toJSON() as TextDiffJson;
|
|
134
|
-
return obj;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
static override fromJSON(data: ChangeJson): Changed {
|
|
138
|
-
return new Changed(data as Required<Pick<ChangeJson, never>>);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// Matched is for set-membership records that exist in both sides of a
|
|
143
|
-
// comparison but have no directionality — used by ConceptCollectionDiff.
|
|
144
|
-
export class Matched extends Change {
|
|
145
|
-
readonly value: unknown;
|
|
146
|
-
|
|
147
|
-
constructor(data: Pick<ChangeJson, 'path' | 'value'> = {}) {
|
|
148
|
-
super(data);
|
|
149
|
-
this.value = data.value ?? null;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
override get type(): ChangeType { return CHANGE_MATCHED; }
|
|
153
|
-
|
|
154
|
-
override toJSON(): ChangeJson {
|
|
155
|
-
const obj: ChangeJson = { type: CHANGE_MATCHED };
|
|
156
|
-
if (this.path != null) obj.path = this.path;
|
|
157
|
-
obj.value = serializeValue(this.value);
|
|
158
|
-
return obj;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
static override fromJSON(data: ChangeJson): Matched {
|
|
162
|
-
return new Matched(data as Pick<ChangeJson, 'path' | 'value'>);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
export function deserializeChange(data: ChangeJson): Change {
|
|
167
|
-
switch (data?.type) {
|
|
168
|
-
case CHANGE_ADDED: return Added.fromJSON(data);
|
|
169
|
-
case CHANGE_REMOVED: return Removed.fromJSON(data);
|
|
170
|
-
case CHANGE_CHANGED: return Changed.fromJSON(data);
|
|
171
|
-
case CHANGE_MATCHED: return Matched.fromJSON(data);
|
|
172
|
-
default:
|
|
173
|
-
throw new Error(`Unknown change type: ${(data as { type?: string })?.type}`);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import { GlossaristModel } from '../models/base.js';
|
|
2
|
-
import { Added, Removed, Matched, deserializeChange } from './change.js';
|
|
3
|
-
import { ConceptDiff, DiffStats, diffConcepts } from './concept-diff.js';
|
|
4
|
-
import { averageSimilarity } from './similarity.js';
|
|
5
|
-
|
|
6
|
-
export class ConceptCollectionDiff extends GlossaristModel {
|
|
7
|
-
constructor(data: Record<string, unknown> = {}) {
|
|
8
|
-
super();
|
|
9
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
10
|
-
this.oldCount = data.oldCount ?? data.old_count ?? 0;
|
|
11
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
12
|
-
this.newCount = data.newCount ?? data.new_count ?? 0;
|
|
13
|
-
|
|
14
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
15
|
-
this._matched = wrapIdList(data.matched, Matched);
|
|
16
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
17
|
-
this._added = wrapIdList(data.added, Added);
|
|
18
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
19
|
-
this._removed = wrapIdList(data.removed, Removed);
|
|
20
|
-
|
|
21
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
22
|
-
this._conceptDiffs = {};
|
|
23
|
-
const raw = data.conceptDiffs ?? data.concept_diffs ?? {};
|
|
24
|
-
for (const [id, diff] of Object.entries(raw)) {
|
|
25
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
26
|
-
this._conceptDiffs[id] = diff instanceof ConceptDiff
|
|
27
|
-
? diff
|
|
28
|
-
: ConceptDiff.fromJSON(diff);
|
|
29
|
-
}
|
|
30
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
31
|
-
this._statsCache = undefined;
|
|
32
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
33
|
-
this._similarityCache = undefined;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
37
|
-
get matched() { return this._matched; }
|
|
38
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
39
|
-
get added() { return this._added; }
|
|
40
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
41
|
-
get removed() { return this._removed; }
|
|
42
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
43
|
-
get conceptDiffs() { return this._conceptDiffs; }
|
|
44
|
-
|
|
45
|
-
get changedIds() {
|
|
46
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
47
|
-
return Object.keys(this._conceptDiffs);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
get hasChanges() {
|
|
51
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
52
|
-
return this._added.length > 0
|
|
53
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
54
|
-
|| this._removed.length > 0
|
|
55
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
56
|
-
|| Object.values(this._conceptDiffs).some(d => d.hasChanges);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
conceptDiff(id) {
|
|
60
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
61
|
-
return this._conceptDiffs[id] ?? null;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
get stats() {
|
|
65
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
66
|
-
if (this._statsCache === undefined) {
|
|
67
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
68
|
-
let added = this._added.length;
|
|
69
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
70
|
-
let removed = this._removed.length;
|
|
71
|
-
let changed = 0;
|
|
72
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
73
|
-
for (const diff of Object.values(this._conceptDiffs)) {
|
|
74
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
75
|
-
const s = diff.stats;
|
|
76
|
-
added += s.added;
|
|
77
|
-
removed += s.removed;
|
|
78
|
-
changed += s.changed;
|
|
79
|
-
}
|
|
80
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
81
|
-
this._statsCache = new DiffStats({ added, removed, changed });
|
|
82
|
-
}
|
|
83
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
84
|
-
return this._statsCache;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
get similarity() {
|
|
88
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
89
|
-
if (this._similarityCache === undefined) {
|
|
90
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
91
|
-
if (this._matched.length === 0) {
|
|
92
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
93
|
-
this._similarityCache = 0;
|
|
94
|
-
} else {
|
|
95
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
96
|
-
const values = this._matched.map(entry => {
|
|
97
|
-
const id = entry.value;
|
|
98
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
99
|
-
const diff = this._conceptDiffs[id];
|
|
100
|
-
return diff ? diff.similarity : 1.0;
|
|
101
|
-
});
|
|
102
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
103
|
-
this._similarityCache = averageSimilarity(values);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
107
|
-
return this._similarityCache;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
*walk() {
|
|
111
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
112
|
-
for (let i = 0; i < this._added.length; i++) {
|
|
113
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
114
|
-
yield { path: `added[${i}]`, change: this._added[i] };
|
|
115
|
-
}
|
|
116
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
117
|
-
for (let i = 0; i < this._removed.length; i++) {
|
|
118
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
119
|
-
yield { path: `removed[${i}]`, change: this._removed[i] };
|
|
120
|
-
}
|
|
121
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
122
|
-
for (const [id, diff] of Object.entries(this._conceptDiffs)) {
|
|
123
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
124
|
-
for (const entry of diff.walk()) {
|
|
125
|
-
yield { path: `concepts.${id}.${entry.path}`, change: entry.change, conceptId: id, language: entry.language };
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
toJSON() {
|
|
131
|
-
const obj = {
|
|
132
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
133
|
-
old_count: this.oldCount,
|
|
134
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
135
|
-
new_count: this.newCount,
|
|
136
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
137
|
-
matched: this._matched.map(c => c.toJSON()),
|
|
138
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
139
|
-
added: this._added.map(c => c.toJSON()),
|
|
140
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
141
|
-
removed: this._removed.map(c => c.toJSON()),
|
|
142
|
-
concept_diffs: {},
|
|
143
|
-
};
|
|
144
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
145
|
-
for (const [id, diff] of Object.entries(this._conceptDiffs)) {
|
|
146
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
147
|
-
obj.concept_diffs[id] = diff.toJSON();
|
|
148
|
-
}
|
|
149
|
-
return obj;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
static fromJSON(data) {
|
|
153
|
-
return new ConceptCollectionDiff(data);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export function diffConceptCollections(oldCollection, newCollection, options = {}) {
|
|
158
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
159
|
-
const language = options.language ?? 'eng';
|
|
160
|
-
|
|
161
|
-
const oldConcepts = extractConcepts(oldCollection);
|
|
162
|
-
const newConcepts = extractConcepts(newCollection);
|
|
163
|
-
|
|
164
|
-
const oldMap = new Map(oldConcepts.map(c => [c.id, c]));
|
|
165
|
-
const newMap = new Map(newConcepts.map(c => [c.id, c]));
|
|
166
|
-
|
|
167
|
-
const oldIds = new Set(oldMap.keys());
|
|
168
|
-
const newIds = new Set(newMap.keys());
|
|
169
|
-
|
|
170
|
-
const matchedIds = [...newIds].filter(id => oldIds.has(id)).sort();
|
|
171
|
-
const addedIds = [...newIds].filter(id => !oldIds.has(id)).sort();
|
|
172
|
-
const removedIds = [...oldIds].filter(id => !newIds.has(id)).sort();
|
|
173
|
-
|
|
174
|
-
const conceptDiffs = {};
|
|
175
|
-
for (const id of matchedIds) {
|
|
176
|
-
const oldConcept = oldMap.get(id);
|
|
177
|
-
const newConcept = newMap.get(id);
|
|
178
|
-
|
|
179
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
180
|
-
if (options.skipUnchanged && conceptsEqual(oldConcept, newConcept)) {
|
|
181
|
-
continue;
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
const diff = diffConcepts(oldConcept, newConcept, language);
|
|
185
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
186
|
-
if (diff.hasChanges || !options.skipUnchanged) {
|
|
187
|
-
// @ts-expect-error TODO(Phase 2e): type this fully
|
|
188
|
-
conceptDiffs[id] = diff;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
return new ConceptCollectionDiff({
|
|
193
|
-
oldCount: oldConcepts.length,
|
|
194
|
-
newCount: newConcepts.length,
|
|
195
|
-
matched: matchedIds.map(id => new Matched({ value: id })),
|
|
196
|
-
added: addedIds.map(id => new Added({ value: id })),
|
|
197
|
-
removed: removedIds.map(id => new Removed({ value: id })),
|
|
198
|
-
conceptDiffs,
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
function extractConcepts(collection) {
|
|
203
|
-
if (collection == null) return [];
|
|
204
|
-
if (Array.isArray(collection)) return collection;
|
|
205
|
-
if (typeof collection.toArray === 'function') return collection.toArray();
|
|
206
|
-
if (Symbol.iterator in Object(collection)) return [...collection];
|
|
207
|
-
return [];
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
function conceptsEqual(a, b) {
|
|
211
|
-
if (a === b) return true;
|
|
212
|
-
if (!a || !b) return false;
|
|
213
|
-
if (typeof a.equals === 'function' && typeof b.equals === 'function') {
|
|
214
|
-
return a.equals(b);
|
|
215
|
-
}
|
|
216
|
-
return JSON.stringify(a?.toJSON?.()) === JSON.stringify(b?.toJSON?.());
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
// `wrapIdList` deserializes each entry via deserializeChange, which
|
|
220
|
-
// dispatches on `type`. The `expectedClass` parameter is a defensive
|
|
221
|
-
// check: if the entry's deserialized type doesn't match the slot it's
|
|
222
|
-
// being loaded into, throw. Prevents the round-1 bug where removed
|
|
223
|
-
// entries silently became Added after a JSON round-trip.
|
|
224
|
-
function wrapIdList(data, expectedClass) {
|
|
225
|
-
if (!data) return [];
|
|
226
|
-
return data.map(c => {
|
|
227
|
-
if (c instanceof Added || c instanceof Removed || c instanceof Matched) {
|
|
228
|
-
if (!(c instanceof expectedClass)) {
|
|
229
|
-
throw new Error(
|
|
230
|
-
`ConceptCollectionDiff: entry type ${c.constructor.name} ` +
|
|
231
|
-
`does not match slot ${expectedClass.name}`,
|
|
232
|
-
);
|
|
233
|
-
}
|
|
234
|
-
return c;
|
|
235
|
-
}
|
|
236
|
-
const deserialized = deserializeChange(c);
|
|
237
|
-
if (!(deserialized instanceof expectedClass)) {
|
|
238
|
-
throw new Error(
|
|
239
|
-
`ConceptCollectionDiff: deserialized entry type ` +
|
|
240
|
-
`${deserialized.constructor.name} does not match slot ${expectedClass.name}`,
|
|
241
|
-
);
|
|
242
|
-
}
|
|
243
|
-
return deserialized;
|
|
244
|
-
});
|
|
245
|
-
}
|