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,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Registry of compiled/machine formats that can be bundled inside a GCR package.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the Ruby glossarist gem's GcrPackage::COMPILED_EXTENSIONS:
|
|
5
|
+
* tbx → TBX-Basic XML (ISO 30042)
|
|
6
|
+
* jsonld → JSON-LD (SKOS vocabulary)
|
|
7
|
+
* turtle → Turtle/RDF (SKOS vocabulary)
|
|
8
|
+
* jsonl → JSON Lines (one concept per line)
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Maps format name to the file extension used inside the GCR `compiled/` directory.
|
|
12
|
+
* Keys are the canonical format identifiers; values are the extension including
|
|
13
|
+
* the leading dot (for simple lookup) or the multi-part extension for TBX.
|
|
14
|
+
* @type {ReadonlyMap<string, string>}
|
|
15
|
+
*/
|
|
16
|
+
declare const COMPILED_EXTENSIONS: Readonly<Map<string, string>>;
|
|
17
|
+
/** Canonical format identifiers, in a stable order. */
|
|
18
|
+
declare const COMPILED_FORMATS: readonly string[];
|
|
19
|
+
/**
|
|
20
|
+
* Returns the filename (without directory) for a compiled-format entry.
|
|
21
|
+
*
|
|
22
|
+
* @param {string} format - e.g. 'tbx', 'jsonld'
|
|
23
|
+
* @param {string} id - concept ID or document name (e.g. '3.1.1.1', 'glossary')
|
|
24
|
+
* @returns {string} e.g. '3.1.1.1.jsonld', 'glossary.tbx.xml'
|
|
25
|
+
*/
|
|
26
|
+
declare function compiledFilename(format: string, id: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the full ZIP path for a compiled-format entry.
|
|
29
|
+
*/
|
|
30
|
+
declare function compiledPath(format: string, id: string): string;
|
|
31
|
+
/**
|
|
32
|
+
* Checks whether a format name is a known compiled format.
|
|
33
|
+
*/
|
|
34
|
+
declare function isKnownFormat(format: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Extracts the entry ID (concept ID or document name) from a compiled-format ZIP path.
|
|
37
|
+
*/
|
|
38
|
+
declare function parseCompiledPath(zipPath: string): {
|
|
39
|
+
format: string;
|
|
40
|
+
id: string;
|
|
41
|
+
} | null;
|
|
42
|
+
export { COMPILED_EXTENSIONS, COMPILED_FORMATS, compiledFilename, compiledPath, isKnownFormat, parseCompiledPath, };
|
|
43
|
+
//# sourceMappingURL=compiled-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiled-format.d.ts","sourceRoot":"","sources":["../src/compiled-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,+BAKtB,CAAC;AAEJ,uDAAuD;AACvD,QAAA,MAAM,gBAAgB,mBAAiD,CAAC;AAExE;;;;;;GAMG;AACH,iBAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAInD;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAE/C;AAED;;GAEG;AACH,iBAAS,aAAa,CAAC,MAAM,EAAE,MAAM,WAEpC;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAajF;AAED,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,CAAC"}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
* turtle → Turtle/RDF (SKOS vocabulary)
|
|
8
8
|
* jsonl → JSON Lines (one concept per line)
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
10
|
/**
|
|
12
11
|
* Maps format name to the file extension used inside the GCR `compiled/` directory.
|
|
13
12
|
* Keys are the canonical format identifiers; values are the extension including
|
|
@@ -15,15 +14,13 @@
|
|
|
15
14
|
* @type {ReadonlyMap<string, string>}
|
|
16
15
|
*/
|
|
17
16
|
const COMPILED_EXTENSIONS = Object.freeze(new Map([
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
['tbx', 'tbx.xml'],
|
|
18
|
+
['jsonld', 'jsonld'],
|
|
19
|
+
['turtle', 'ttl'],
|
|
20
|
+
['jsonl', 'jsonl'],
|
|
22
21
|
]));
|
|
23
|
-
|
|
24
22
|
/** Canonical format identifiers, in a stable order. */
|
|
25
23
|
const COMPILED_FORMATS = Object.freeze([...COMPILED_EXTENSIONS.keys()]);
|
|
26
|
-
|
|
27
24
|
/**
|
|
28
25
|
* Returns the filename (without directory) for a compiled-format entry.
|
|
29
26
|
*
|
|
@@ -32,58 +29,43 @@ const COMPILED_FORMATS = Object.freeze([...COMPILED_EXTENSIONS.keys()]);
|
|
|
32
29
|
* @returns {string} e.g. '3.1.1.1.jsonld', 'glossary.tbx.xml'
|
|
33
30
|
*/
|
|
34
31
|
function compiledFilename(format, id) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
const ext = COMPILED_EXTENSIONS.get(format);
|
|
33
|
+
if (!ext)
|
|
34
|
+
throw new RangeError(`Unknown compiled format: ${format}`);
|
|
35
|
+
return `${id}.${ext}`;
|
|
38
36
|
}
|
|
39
|
-
|
|
40
37
|
/**
|
|
41
38
|
* Returns the full ZIP path for a compiled-format entry.
|
|
42
|
-
*
|
|
43
|
-
* @param {string} format
|
|
44
|
-
* @param {string} id
|
|
45
|
-
* @returns {string} e.g. 'compiled/jsonld/3.1.1.1.jsonld'
|
|
46
39
|
*/
|
|
47
40
|
function compiledPath(format, id) {
|
|
48
|
-
|
|
41
|
+
return `compiled/${format}/${compiledFilename(format, id)}`;
|
|
49
42
|
}
|
|
50
|
-
|
|
51
43
|
/**
|
|
52
44
|
* Checks whether a format name is a known compiled format.
|
|
53
|
-
* @param {string} format
|
|
54
|
-
* @returns {boolean}
|
|
55
45
|
*/
|
|
56
46
|
function isKnownFormat(format) {
|
|
57
|
-
|
|
47
|
+
return COMPILED_EXTENSIONS.has(format);
|
|
58
48
|
}
|
|
59
|
-
|
|
60
49
|
/**
|
|
61
50
|
* Extracts the entry ID (concept ID or document name) from a compiled-format ZIP path.
|
|
62
|
-
* Returns null if the path doesn't match the expected pattern.
|
|
63
|
-
*
|
|
64
|
-
* @param {string} zipPath - e.g. 'compiled/jsonld/3.1.1.1.jsonld'
|
|
65
|
-
* @returns {{ format: string, id: string } | null}
|
|
66
51
|
*/
|
|
67
52
|
function parseCompiledPath(zipPath) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
53
|
+
if (!zipPath.startsWith('compiled/'))
|
|
54
|
+
return null;
|
|
55
|
+
const rest = zipPath.slice('compiled/'.length);
|
|
56
|
+
const slash = rest.indexOf('/');
|
|
57
|
+
if (slash === -1)
|
|
58
|
+
return null;
|
|
59
|
+
const format = rest.slice(0, slash);
|
|
60
|
+
const ext = COMPILED_EXTENSIONS.get(format);
|
|
61
|
+
if (!ext)
|
|
62
|
+
return null;
|
|
63
|
+
const filename = rest.slice(slash + 1);
|
|
64
|
+
const suffix = `.${ext}`;
|
|
65
|
+
if (!filename.endsWith(suffix))
|
|
66
|
+
return null;
|
|
67
|
+
const id = filename.slice(0, -suffix.length);
|
|
68
|
+
return { format, id };
|
|
80
69
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
COMPILED_EXTENSIONS,
|
|
84
|
-
COMPILED_FORMATS,
|
|
85
|
-
compiledFilename,
|
|
86
|
-
compiledPath,
|
|
87
|
-
isKnownFormat,
|
|
88
|
-
parseCompiledPath,
|
|
89
|
-
};
|
|
70
|
+
export { COMPILED_EXTENSIONS, COMPILED_FORMATS, compiledFilename, compiledPath, isKnownFormat, parseCompiledPath, };
|
|
71
|
+
//# sourceMappingURL=compiled-format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compiled-format.js","sourceRoot":"","sources":["../src/compiled-format.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;IAChD,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,KAAK,CAAC;IACjB,CAAC,OAAO,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC,CAAC;AAEJ,uDAAuD;AACvD,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAExE;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,EAAU;IAClD,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;IACrE,OAAO,GAAG,EAAE,IAAI,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,EAAU;IAC9C,OAAO,YAAY,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;IACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,iBAAiB,GAClB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Concept } from './models/concept.js';
|
|
2
|
+
import type { Register } from './models/register.js';
|
|
3
|
+
type SectionIdInput = string | string[];
|
|
4
|
+
interface BySectionOptions {
|
|
5
|
+
register?: Register;
|
|
6
|
+
}
|
|
7
|
+
export declare class ConceptCollection {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(concepts?: Iterable<Concept>);
|
|
10
|
+
get length(): number;
|
|
11
|
+
[Symbol.iterator](): Iterator<Concept>;
|
|
12
|
+
at(index: number): Concept | undefined;
|
|
13
|
+
indexOf(item: Concept, fromIndex?: number): number;
|
|
14
|
+
find(fn: (c: Concept, i: number, arr: Concept[]) => unknown): Concept | undefined;
|
|
15
|
+
findIndex(fn: (c: Concept, i: number, arr: Concept[]) => unknown): number;
|
|
16
|
+
forEach(fn: (c: Concept, i: number) => void): void;
|
|
17
|
+
map<U>(fn: (c: Concept, i: number) => U): U[];
|
|
18
|
+
reduce<U>(fn: (acc: U, c: Concept, i: number) => U, init: U): U;
|
|
19
|
+
includes(item: Concept): boolean;
|
|
20
|
+
push(...items: Concept[]): number;
|
|
21
|
+
splice(start: number, deleteCount?: number, ...items: Concept[]): Concept[];
|
|
22
|
+
set(index: number, item: Concept): void;
|
|
23
|
+
toArray(): Concept[];
|
|
24
|
+
byId(id: string): Concept | undefined;
|
|
25
|
+
byIdAnd(id: string, version: string | null): Concept | null;
|
|
26
|
+
byPrefix(prefix: string): ConceptCollection;
|
|
27
|
+
byLanguage(lang: string): ConceptCollection;
|
|
28
|
+
byStatus(status: string): ConceptCollection;
|
|
29
|
+
bySection(sectionId: SectionIdInput, options?: BySectionOptions): ConceptCollection;
|
|
30
|
+
index(): Map<string, Concept>;
|
|
31
|
+
sorted(): ConceptCollection;
|
|
32
|
+
search(query: string): ConceptCollection;
|
|
33
|
+
allLanguages(): string[];
|
|
34
|
+
filter(fn: (c: Concept, i: number, arr: Concept[]) => unknown): ConceptCollection;
|
|
35
|
+
slice(start?: number, end?: number): ConceptCollection;
|
|
36
|
+
concat(...args: Concept[][]): ConceptCollection;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=concept-collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concept-collection.d.ts","sourceRoot":"","sources":["../src/concept-collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { naturalSort } from './sort.js';
|
|
2
|
+
export class ConceptCollection {
|
|
3
|
+
#items;
|
|
4
|
+
constructor(concepts = []) {
|
|
5
|
+
this.#items = Array.from(concepts);
|
|
6
|
+
}
|
|
7
|
+
get length() { return this.#items.length; }
|
|
8
|
+
[Symbol.iterator]() { return this.#items[Symbol.iterator](); }
|
|
9
|
+
at(index) { return this.#items.at(index); }
|
|
10
|
+
indexOf(item, fromIndex) { return this.#items.indexOf(item, fromIndex); }
|
|
11
|
+
find(fn) { return this.#items.find(fn); }
|
|
12
|
+
findIndex(fn) { return this.#items.findIndex(fn); }
|
|
13
|
+
forEach(fn) { this.#items.forEach(fn); }
|
|
14
|
+
map(fn) { return this.#items.map(fn); }
|
|
15
|
+
reduce(fn, init) { return this.#items.reduce(fn, init); }
|
|
16
|
+
includes(item) { return this.#items.includes(item); }
|
|
17
|
+
push(...items) { return this.#items.push(...items); }
|
|
18
|
+
splice(start, deleteCount, ...items) {
|
|
19
|
+
return deleteCount === undefined
|
|
20
|
+
? this.#items.splice(start)
|
|
21
|
+
: this.#items.splice(start, deleteCount, ...items);
|
|
22
|
+
}
|
|
23
|
+
set(index, item) { this.#items[index] = item; }
|
|
24
|
+
toArray() { return [...this.#items]; }
|
|
25
|
+
byId(id) {
|
|
26
|
+
return this.#items.find(c => c.id === id || c.termid === id);
|
|
27
|
+
}
|
|
28
|
+
byIdAnd(id, version) {
|
|
29
|
+
if (version == null)
|
|
30
|
+
return this.byId(id) ?? null;
|
|
31
|
+
return this.#items.find(c => (c.id === id || c.termid === id) && c.version === version) ?? null;
|
|
32
|
+
}
|
|
33
|
+
byPrefix(prefix) {
|
|
34
|
+
return new ConceptCollection(this.#items.filter(c => c.id.startsWith(prefix)));
|
|
35
|
+
}
|
|
36
|
+
byLanguage(lang) {
|
|
37
|
+
return new ConceptCollection(this.#items.filter(c => c.hasLocalization(lang)));
|
|
38
|
+
}
|
|
39
|
+
byStatus(status) {
|
|
40
|
+
return new ConceptCollection(this.#items.filter(c => {
|
|
41
|
+
return c.languages.some(lang => c.localization(lang)?.entryStatus === status);
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
bySection(sectionId, options = {}) {
|
|
45
|
+
if (Array.isArray(sectionId)) {
|
|
46
|
+
const targetSet = new Set(sectionId);
|
|
47
|
+
return new ConceptCollection(this.#items.filter(c => {
|
|
48
|
+
const ids = options.register
|
|
49
|
+
? options.register.conceptSectionIds(c)
|
|
50
|
+
: _flatConceptSectionIds(c);
|
|
51
|
+
return ids.some(id => targetSet.has(id));
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
if (!options.register) {
|
|
55
|
+
throw new Error('bySection(sectionId) requires { register } to expand the concept section closures');
|
|
56
|
+
}
|
|
57
|
+
const target = sectionId;
|
|
58
|
+
return new ConceptCollection(this.#items.filter(c => {
|
|
59
|
+
const ids = options.register.conceptSectionIds(c);
|
|
60
|
+
return ids.includes(target);
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
index() {
|
|
64
|
+
const map = new Map();
|
|
65
|
+
for (const c of this.#items)
|
|
66
|
+
map.set(c.id, c);
|
|
67
|
+
return map;
|
|
68
|
+
}
|
|
69
|
+
sorted() {
|
|
70
|
+
const copy = [...this.#items];
|
|
71
|
+
copy.sort((a, b) => naturalSort(a.id, b.id));
|
|
72
|
+
return new ConceptCollection(copy);
|
|
73
|
+
}
|
|
74
|
+
search(query) {
|
|
75
|
+
const q = query.toLowerCase();
|
|
76
|
+
return new ConceptCollection(this.#items.filter(c => {
|
|
77
|
+
for (const lang of c.languages) {
|
|
78
|
+
const lc = c.localization(lang);
|
|
79
|
+
if (!lc)
|
|
80
|
+
continue;
|
|
81
|
+
for (const t of lc.terms) {
|
|
82
|
+
if ((t.designation ?? '').toLowerCase().includes(q))
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (const { text } of c.walkTexts()) {
|
|
87
|
+
if (text.toLowerCase().includes(q))
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
return false;
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
allLanguages() {
|
|
94
|
+
const set = new Set();
|
|
95
|
+
for (const c of this.#items) {
|
|
96
|
+
for (const lang of c.languages)
|
|
97
|
+
set.add(lang);
|
|
98
|
+
}
|
|
99
|
+
return [...set].sort();
|
|
100
|
+
}
|
|
101
|
+
filter(fn) { return new ConceptCollection(this.#items.filter(fn)); }
|
|
102
|
+
slice(start, end) { return new ConceptCollection(this.#items.slice(start, end)); }
|
|
103
|
+
concat(...args) { return new ConceptCollection(this.#items.concat(...args)); }
|
|
104
|
+
}
|
|
105
|
+
function _flatConceptSectionIds(concept) {
|
|
106
|
+
if (!concept)
|
|
107
|
+
return [];
|
|
108
|
+
const out = [];
|
|
109
|
+
const cAny = concept;
|
|
110
|
+
for (const source of [cAny.sections, cAny.groups]) {
|
|
111
|
+
if (!Array.isArray(source))
|
|
112
|
+
continue;
|
|
113
|
+
for (const entry of source) {
|
|
114
|
+
if (typeof entry === 'string') {
|
|
115
|
+
out.push(entry);
|
|
116
|
+
}
|
|
117
|
+
else if (entry && typeof entry === 'object') {
|
|
118
|
+
const e = entry;
|
|
119
|
+
const id = e.id ?? e.sectionId ?? e.ref?.id;
|
|
120
|
+
if (id)
|
|
121
|
+
out.push(String(id));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return out;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=concept-collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concept-collection.js","sourceRoot":"","sources":["../src/concept-collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Import from `glossarist/diff` (i.e. `src/diff/index.js`)
|
|
3
|
+
* instead. This file is a backwards-compatibility shim left over from
|
|
4
|
+
* the pre-`eb6e61c` layout. It will be removed in the next major
|
|
5
|
+
* release.
|
|
6
|
+
*
|
|
7
|
+
* Migration:
|
|
8
|
+
* - `import { diffConcepts } from 'glossarist/concept-diff'`
|
|
9
|
+
* + `import { diffConcepts } from 'glossarist/diff'`
|
|
10
|
+
*
|
|
11
|
+
* See TODO.hyperedges-v2/12 for the deprecation rationale.
|
|
12
|
+
*/
|
|
13
|
+
export { diffConcepts, diffLocalizedConcepts, diffText, diffList, diffSet, ConceptDiff, ConceptLevelDiff, LocalizedConceptDiff, MetadataDiff, DiffStats, ListDiff, TextDiff, TextHunk, Change, Added, Removed, Changed, Matched, } from './diff/index.js';
|
|
14
|
+
//# sourceMappingURL=concept-diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concept-diff.d.ts","sourceRoot":"","sources":["../src/concept-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,GACR,MAAM,iBAAiB,CAAC"}
|
|
@@ -10,23 +10,5 @@
|
|
|
10
10
|
*
|
|
11
11
|
* See TODO.hyperedges-v2/12 for the deprecation rationale.
|
|
12
12
|
*/
|
|
13
|
-
export {
|
|
14
|
-
|
|
15
|
-
diffLocalizedConcepts,
|
|
16
|
-
diffText,
|
|
17
|
-
diffList,
|
|
18
|
-
diffSet,
|
|
19
|
-
ConceptDiff,
|
|
20
|
-
ConceptLevelDiff,
|
|
21
|
-
LocalizedConceptDiff,
|
|
22
|
-
MetadataDiff,
|
|
23
|
-
DiffStats,
|
|
24
|
-
ListDiff,
|
|
25
|
-
TextDiff,
|
|
26
|
-
TextHunk,
|
|
27
|
-
Change,
|
|
28
|
-
Added,
|
|
29
|
-
Removed,
|
|
30
|
-
Changed,
|
|
31
|
-
Matched,
|
|
32
|
-
} from './diff/index.js';
|
|
13
|
+
export { diffConcepts, diffLocalizedConcepts, diffText, diffList, diffSet, ConceptDiff, ConceptLevelDiff, LocalizedConceptDiff, MetadataDiff, DiffStats, ListDiff, TextDiff, TextHunk, Change, Added, Removed, Changed, Matched, } from './diff/index.js';
|
|
14
|
+
//# sourceMappingURL=concept-diff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concept-diff.js","sourceRoot":"","sources":["../src/concept-diff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,OAAO,GACR,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Concept } from './models/concept.js';
|
|
2
|
+
type YamlDoc = Record<string, any>;
|
|
3
|
+
export declare class ConceptParser {
|
|
4
|
+
parse(raw: unknown, context?: string): Concept;
|
|
5
|
+
_detectFormat(docs: unknown[], label: string): 'managed' | 'canonical';
|
|
6
|
+
_parseCanonical(doc: YamlDoc): Concept;
|
|
7
|
+
_parseManaged(docs: unknown[]): Concept;
|
|
8
|
+
}
|
|
9
|
+
export declare const conceptParser: ConceptParser;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=concept-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concept-parser.d.ts","sourceRoot":"","sources":["../src/concept-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAoD9C,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAOnC,qBAAa,aAAa;IACxB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;IA4BpC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW;IAOtE,eAAe,CAAC,GAAG,EAAE,OAAO;IAoB5B,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE;CAuC9B;AAwFD,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import * as yaml from 'js-yaml';
|
|
2
|
+
import { Concept } from './models/concept.js';
|
|
3
|
+
import { RelatedConcept } from './models/related-concept.js';
|
|
4
|
+
import { HyperedgeRegistry } from './models/hyperedge-registry.js';
|
|
5
|
+
import { migrateHyperedgeToRelation } from './migration/hyperedge-migrator.js';
|
|
6
|
+
import { InvalidInputError, YamlParseError } from './errors.js';
|
|
7
|
+
void null;
|
|
8
|
+
// Structural keys are reserved at the concept level and excluded
|
|
9
|
+
// from language localization discovery. The set is derived from
|
|
10
|
+
// HyperedgeRegistry — every registered hyperedge class contributes
|
|
11
|
+
// its wireKey and any v1WireKeys to the reserved set. Adding a new
|
|
12
|
+
// hyperedge type means the parser reserves its wire key automatically;
|
|
13
|
+
// no edits here.
|
|
14
|
+
const STRUCTURAL_KEYS = new Set([
|
|
15
|
+
'termid', 'term', 'figures', 'tables', 'formulas',
|
|
16
|
+
'related', 'relatedConcepts',
|
|
17
|
+
'relations',
|
|
18
|
+
..._registryStructuralKeys(),
|
|
19
|
+
]);
|
|
20
|
+
function _registryStructuralKeys() {
|
|
21
|
+
const out = [];
|
|
22
|
+
for (const cls of HyperedgeRegistry.allClasses()) {
|
|
23
|
+
out.push(cls.wireKey);
|
|
24
|
+
out.push(_camelCase(cls.wireKey));
|
|
25
|
+
for (const k of cls.v1WireKeys ?? []) {
|
|
26
|
+
out.push(k);
|
|
27
|
+
out.push(_camelCase(k));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return out;
|
|
31
|
+
}
|
|
32
|
+
function nested(v, key) {
|
|
33
|
+
if (v && typeof v === 'object' && key in v)
|
|
34
|
+
return v[key];
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
function deepIdentifier(docs) {
|
|
38
|
+
const first = docs[0];
|
|
39
|
+
return nested(nested(first, 'data'), 'identifier');
|
|
40
|
+
}
|
|
41
|
+
function _camelCase(s) {
|
|
42
|
+
if (typeof s !== 'string' || !s.includes('_'))
|
|
43
|
+
return s;
|
|
44
|
+
return s.replace(/_([a-z])/g, (_, c) => c.toUpperCase());
|
|
45
|
+
}
|
|
46
|
+
export class ConceptParser {
|
|
47
|
+
parse(raw, context) {
|
|
48
|
+
const label = context ?? 'concept';
|
|
49
|
+
if (raw == null) {
|
|
50
|
+
throw new InvalidInputError(`parseConceptYaml requires a non-empty YAML string (${label})`, 'non-null string');
|
|
51
|
+
}
|
|
52
|
+
if (typeof raw !== 'string' || raw.trim() === '') {
|
|
53
|
+
throw new InvalidInputError(`parseConceptYaml requires a non-empty YAML string (${label})`, 'non-empty string');
|
|
54
|
+
}
|
|
55
|
+
let docs;
|
|
56
|
+
try {
|
|
57
|
+
docs = yaml.loadAll(raw, { schema: yaml.CORE_SCHEMA ?? yaml.JSON_SCHEMA });
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
throw new YamlParseError(label, err);
|
|
61
|
+
}
|
|
62
|
+
return this._detectFormat(docs, label) === 'managed'
|
|
63
|
+
? this._parseManaged(docs)
|
|
64
|
+
: this._parseCanonical(docs[0]);
|
|
65
|
+
}
|
|
66
|
+
_detectFormat(docs, label) {
|
|
67
|
+
const first = docs[0];
|
|
68
|
+
if (docs.length >= 1 && deepIdentifier(docs) !== undefined)
|
|
69
|
+
return 'managed';
|
|
70
|
+
if (first == null)
|
|
71
|
+
throw new YamlParseError(label, new Error('YAML document is empty'));
|
|
72
|
+
return 'canonical';
|
|
73
|
+
}
|
|
74
|
+
_parseCanonical(doc) {
|
|
75
|
+
const localizations = {};
|
|
76
|
+
for (const key of Object.keys(doc)) {
|
|
77
|
+
const val = doc[key];
|
|
78
|
+
if (!STRUCTURAL_KEYS.has(key) && typeof val === 'object' && val !== null) {
|
|
79
|
+
localizations[key] = val;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return new Concept({
|
|
83
|
+
id: String(doc.termid),
|
|
84
|
+
term: doc.term || null,
|
|
85
|
+
localizations,
|
|
86
|
+
figures: doc.figures,
|
|
87
|
+
tables: doc.tables,
|
|
88
|
+
formulas: doc.formulas,
|
|
89
|
+
relations: _resolveHyperedgeData(doc) ?? undefined,
|
|
90
|
+
raw: doc,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
_parseManaged(docs) {
|
|
94
|
+
const mc = docs[0];
|
|
95
|
+
const localizations = {};
|
|
96
|
+
for (const doc of docs.slice(1)) {
|
|
97
|
+
const d = doc;
|
|
98
|
+
if (!d?.data?.language_code)
|
|
99
|
+
continue;
|
|
100
|
+
const lang = d.data.language_code;
|
|
101
|
+
const lcData = { ...d.data };
|
|
102
|
+
delete lcData.language_code;
|
|
103
|
+
localizations[lang] = lcData;
|
|
104
|
+
}
|
|
105
|
+
const conceptLevelOnlyKeys = [
|
|
106
|
+
'related',
|
|
107
|
+
'relations',
|
|
108
|
+
...HyperedgeRegistry.allWireAndLegacyKeys(),
|
|
109
|
+
];
|
|
110
|
+
assertConceptLevelOnly(mc, conceptLevelOnlyKeys);
|
|
111
|
+
return new Concept({
|
|
112
|
+
id: String(mc.data.identifier),
|
|
113
|
+
term: null,
|
|
114
|
+
localizations,
|
|
115
|
+
related: _normalizeRelated(mc.related),
|
|
116
|
+
relations: _resolveHyperedgeData(mc) ?? undefined,
|
|
117
|
+
domains: mc.data.domains,
|
|
118
|
+
groups: mc.data.groups,
|
|
119
|
+
dates: mc.dates ?? mc.data?.dates,
|
|
120
|
+
sources: mc.sources ?? mc.data?.sources,
|
|
121
|
+
figures: mc.data?.figures,
|
|
122
|
+
tables: mc.data?.tables,
|
|
123
|
+
formulas: mc.data?.formulas,
|
|
124
|
+
status: mc.status,
|
|
125
|
+
schemaVersion: mc.schema_version,
|
|
126
|
+
raw: mc,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function assertConceptLevelOnly(mc, keys) {
|
|
131
|
+
const conceptId = mc?.data?.identifier ?? '<unknown>';
|
|
132
|
+
for (const key of keys) {
|
|
133
|
+
const camelKey = _camelCase(key);
|
|
134
|
+
if (mc?.data?.[key] != null && mc[key] == null && mc[camelKey] == null) {
|
|
135
|
+
throw new InvalidInputError(`'${key}' must live at concept level (top-level of the managed ` +
|
|
136
|
+
`concept document), not under data:. Found data.${key} in concept ` +
|
|
137
|
+
`${conceptId}. Move the key out of the data: block.`, 'concept-level ' + key);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Resolve hyperedge data from any input shape into a single unified
|
|
142
|
+
// array. Iterates HyperedgeRegistry — for each registered class:
|
|
143
|
+
// - read its wireKey from the container (e.g. partitive_relations)
|
|
144
|
+
// - read any v1WireKeys (e.g. partitive_hyperedges) and migrate
|
|
145
|
+
// - tag each entry with the class's typeTag
|
|
146
|
+
//
|
|
147
|
+
// Returns null when no relation data is present, so Concept's
|
|
148
|
+
// `_resolveHyperedges` falls back to the empty-array default.
|
|
149
|
+
//
|
|
150
|
+
// Adding a new hyperedge type means: declare it on a class, register.
|
|
151
|
+
// The parser picks it up automatically — no edits here.
|
|
152
|
+
function _resolveHyperedgeData(container) {
|
|
153
|
+
if (!container)
|
|
154
|
+
return null;
|
|
155
|
+
if (Array.isArray(container.relations)) {
|
|
156
|
+
return container.relations;
|
|
157
|
+
}
|
|
158
|
+
const out = [];
|
|
159
|
+
for (const cls of HyperedgeRegistry.allClasses()) {
|
|
160
|
+
const arr = container[cls.wireKey] ?? container[_camelCase(cls.wireKey)];
|
|
161
|
+
if (Array.isArray(arr)) {
|
|
162
|
+
for (const r of arr) {
|
|
163
|
+
const tagged = _addTypeIfMissing(r, cls.typeTag);
|
|
164
|
+
if (tagged != null)
|
|
165
|
+
out.push(tagged);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
for (const v1Key of cls.v1WireKeys ?? []) {
|
|
169
|
+
const v1Arr = container[v1Key] ?? container[_camelCase(v1Key)];
|
|
170
|
+
if (!Array.isArray(v1Arr))
|
|
171
|
+
continue;
|
|
172
|
+
for (const h of v1Arr) {
|
|
173
|
+
const hash = h?.toJSON && typeof h.toJSON === 'function' ? h.toJSON() : h;
|
|
174
|
+
const migrated = migrateHyperedgeToRelation(hash);
|
|
175
|
+
if (migrated)
|
|
176
|
+
out.push({ ...migrated, type: cls.typeTag });
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return out.length > 0 ? out : null;
|
|
181
|
+
}
|
|
182
|
+
function _addTypeIfMissing(value, type) {
|
|
183
|
+
if (value == null)
|
|
184
|
+
return null;
|
|
185
|
+
const v = value;
|
|
186
|
+
if (typeof v.toJSON === 'function') {
|
|
187
|
+
const hash = v.toJSON();
|
|
188
|
+
return hash.type ? hash : { ...hash, type };
|
|
189
|
+
}
|
|
190
|
+
if (typeof value === 'object') {
|
|
191
|
+
return v.type ? value : { ...value, type };
|
|
192
|
+
}
|
|
193
|
+
return value;
|
|
194
|
+
}
|
|
195
|
+
function _normalizeRelated(arr) {
|
|
196
|
+
if (!arr || !Array.isArray(arr))
|
|
197
|
+
return [];
|
|
198
|
+
return arr.map(r => {
|
|
199
|
+
if (r instanceof RelatedConcept)
|
|
200
|
+
return r;
|
|
201
|
+
const rr = r;
|
|
202
|
+
if (rr.ref != null && typeof rr.ref !== 'object') {
|
|
203
|
+
throw new InvalidInputError(`RelatedConcept.ref must be an object { source, id }, got: ${typeof rr.ref}`, 'object');
|
|
204
|
+
}
|
|
205
|
+
return new RelatedConcept(r);
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
export const conceptParser = new ConceptParser();
|
|
209
|
+
//# sourceMappingURL=concept-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"concept-parser.js","sourceRoot":"","sources":["../src/concept-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEhE,KAAM,IAAwC,CAAC;AAE/C,iEAAiE;AACjE,gEAAgE;AAChE,mEAAmE;AACnE,mEAAmE;AACnE,uEAAuE;AACvE,iBAAiB;AACjB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU;IACjD,SAAS,EAAE,iBAAiB;IAC5B,WAAW;IACX,GAAG,uBAAuB,EAAE;CAC7B,CAAC,CAAC;AAEH,SAAS,uBAAuB;IAC9B,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtB,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,MAAM,CAAC,CAAU,EAAE,GAAW;IACrC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,GAAG,IAAI,CAAC;QAAE,OAAQ,CAA6B,CAAC,GAAG,CAAC,CAAC;IACvF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAe;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;AACrD,CAAC;AAWD,SAAS,UAAU,CAAC,CAAU;IAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,CAAW,CAAC;IAClE,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,OAAO,aAAa;IACxB,KAAK,CAAC,GAAY,EAAE,OAAgB;QAClC,MAAM,KAAK,GAAG,OAAO,IAAI,SAAS,CAAC;QAEnC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,MAAM,IAAI,iBAAiB,CACzB,sDAAsD,KAAK,GAAG,EAC9D,iBAAiB,CAClB,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,iBAAiB,CACzB,sDAAsD,KAAK,GAAG,EAC9D,kBAAkB,CACnB,CAAC;QACJ,CAAC;QAED,IAAI,IAAe,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,GAAY,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,SAAS;YAClD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAA4B,CAAC,CAAC;IAC/D,CAAC;IAED,aAAa,CAAC,IAAe,EAAE,KAAa;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAwC,CAAC;QAC7D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7E,IAAI,KAAK,IAAI,IAAI;YAAE,MAAM,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACxF,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,eAAe,CAAC,GAAY;QAC1B,MAAM,aAAa,GAAyC,EAAE,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACzE,aAAa,CAAC,GAAG,CAAC,GAAG,GAA2B,CAAC;YACnD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,OAAO,CAAC;YACjB,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,IAAI;YACtB,aAAa;YACb,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,qBAAqB,CAAC,GAAG,CAAC,IAAI,SAAS;YAClD,GAAG,EAAE,GAAG;SACT,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,IAAe;QAC3B,MAAM,EAAE,GAAY,IAAI,CAAC,CAAC,CAAY,CAAC;QACvC,MAAM,aAAa,GAAyC,EAAE,CAAC;QAE/D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,GAAG,GAAc,CAAC;YACzB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa;gBAAE,SAAS;YACtC,MAAM,IAAI,GAAW,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1C,MAAM,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,aAAa,CAAC;YAC5B,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAC/B,CAAC;QAED,MAAM,oBAAoB,GAAG;YAC3B,SAAS;YACT,WAAW;YACX,GAAG,iBAAiB,CAAC,oBAAoB,EAAE;SAC5C,CAAC;QAEF,sBAAsB,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAEjD,OAAO,IAAI,OAAO,CAAC;YACjB,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YAC9B,IAAI,EAAE,IAAI;YACV,aAAa;YACb,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC;YACtC,SAAS,EAAE,qBAAqB,CAAC,EAAE,CAAC,IAAI,SAAS;YACjD,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO;YACxB,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM;YACtB,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK;YACjC,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO;YACvC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO;YACzB,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM;YACvB,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ;YAC3B,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,aAAa,EAAE,EAAE,CAAC,cAAc;YAChC,GAAG,EAAE,EAAE;SACR,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,sBAAsB,CAAC,EAAW,EAAE,IAAc;IACzD,MAAM,SAAS,GAAW,EAAE,EAAE,IAAI,EAAE,UAAU,IAAI,WAAW,CAAC;IAC9D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;YACvE,MAAM,IAAI,iBAAiB,CACzB,IAAI,GAAG,yDAAyD;gBAChE,kDAAkD,GAAG,cAAc;gBACnE,GAAG,SAAS,wCAAwC,EACpD,gBAAgB,GAAG,GAAG,CACvB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,iEAAiE;AACjE,qEAAqE;AACrE,kEAAkE;AAClE,8CAA8C;AAC9C,EAAE;AACF,8DAA8D;AAC9D,8DAA8D;AAC9D,EAAE;AACF,sEAAsE;AACtE,wDAAwD;AACxD,SAAS,qBAAqB,CAAC,SAAyB;IACtD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,GAAG,GAAc,EAAE,CAAC;IAE1B,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,UAAU,EAAE,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAW,CAAC,CAAC;QACnF,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjD,IAAI,MAAM,IAAI,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAW,CAAC,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,QAAQ,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;gBAClD,IAAI,QAAQ;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,IAAY;IACrD,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,CAAC,GAAG,KAAmE,CAAC;IAC9E,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAY;IACrC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACjB,IAAI,CAAC,YAAY,cAAc;YAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,CAAsB,CAAC;QAClC,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACjD,MAAM,IAAI,iBAAiB,CACzB,6DAA6D,OAAO,EAAE,CAAC,GAAG,EAAE,EAC5E,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
|