@hydranium/core 1.0.0-next.30 → 1.0.0-next.300
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/README.md +72 -82
- package/lib/browser/host-heads-in-worker.d.ts +58 -0
- package/lib/browser/host-heads-in-worker.d.ts.map +1 -0
- package/lib/browser/host-heads-in-worker.js +113 -0
- package/lib/browser/host-heads-in-worker.js.map +1 -0
- package/lib/browser/index.d.ts +12 -0
- package/lib/browser/index.d.ts.map +1 -0
- package/lib/browser/index.js +17 -0
- package/lib/browser/index.js.map +1 -0
- package/lib/browser/indexeddb-file-system-store.d.ts +82 -0
- package/lib/browser/indexeddb-file-system-store.d.ts.map +1 -0
- package/lib/browser/indexeddb-file-system-store.js +181 -0
- package/lib/browser/indexeddb-file-system-store.js.map +1 -0
- package/lib/browser/start-language-server-in-worker.d.ts +29 -0
- package/lib/browser/start-language-server-in-worker.d.ts.map +1 -0
- package/lib/browser/start-language-server-in-worker.js +35 -0
- package/lib/browser/start-language-server-in-worker.js.map +1 -0
- package/lib/documents/ast-document-manager.d.ts +256 -124
- package/lib/documents/ast-document-manager.d.ts.map +1 -1
- package/lib/documents/ast-document-manager.js +293 -132
- package/lib/documents/ast-document-manager.js.map +1 -1
- package/lib/documents/client-ids.d.ts +5 -19
- package/lib/documents/client-ids.d.ts.map +1 -1
- package/lib/documents/client-ids.js +5 -19
- package/lib/documents/client-ids.js.map +1 -1
- package/lib/documents/client-session-errors.d.ts +15 -0
- package/lib/documents/client-session-errors.d.ts.map +1 -0
- package/lib/documents/client-session-errors.js +15 -0
- package/lib/documents/client-session-errors.js.map +1 -0
- package/lib/documents/client-session-registry.d.ts +146 -0
- package/lib/documents/client-session-registry.d.ts.map +1 -0
- package/lib/documents/client-session-registry.js +207 -0
- package/lib/documents/client-session-registry.js.map +1 -0
- package/lib/documents/dirty-state-tracker.d.ts +101 -0
- package/lib/documents/dirty-state-tracker.d.ts.map +1 -0
- package/lib/documents/dirty-state-tracker.js +85 -0
- package/lib/documents/dirty-state-tracker.js.map +1 -0
- package/lib/documents/document-release-handler.d.ts +204 -0
- package/lib/documents/document-release-handler.d.ts.map +1 -0
- package/lib/documents/document-release-handler.js +317 -0
- package/lib/documents/document-release-handler.js.map +1 -0
- package/lib/documents/document-release-scheduler.d.ts +67 -0
- package/lib/documents/document-release-scheduler.d.ts.map +1 -0
- package/lib/documents/document-release-scheduler.js +80 -0
- package/lib/documents/document-release-scheduler.js.map +1 -0
- package/lib/documents/file-system-task-queue.d.ts +52 -0
- package/lib/documents/file-system-task-queue.d.ts.map +1 -0
- package/lib/documents/file-system-task-queue.js +37 -0
- package/lib/documents/file-system-task-queue.js.map +1 -0
- package/lib/documents/hydranium-text-documents.d.ts +419 -282
- package/lib/documents/hydranium-text-documents.d.ts.map +1 -1
- package/lib/documents/hydranium-text-documents.js +856 -483
- package/lib/documents/hydranium-text-documents.js.map +1 -1
- package/lib/documents/index.d.ts +10 -2
- package/lib/documents/index.d.ts.map +1 -1
- package/lib/documents/index.js +10 -2
- package/lib/documents/index.js.map +1 -1
- package/lib/documents/language-client-shadow.d.ts +218 -0
- package/lib/documents/language-client-shadow.d.ts.map +1 -0
- package/lib/documents/language-client-shadow.js +284 -0
- package/lib/documents/language-client-shadow.js.map +1 -0
- package/lib/documents/model-ledger.d.ts +47 -0
- package/lib/documents/model-ledger.d.ts.map +1 -0
- package/lib/documents/model-ledger.js +30 -0
- package/lib/documents/model-ledger.js.map +1 -0
- package/lib/documents/text-ledger.d.ts +64 -0
- package/lib/documents/text-ledger.d.ts.map +1 -0
- package/lib/documents/text-ledger.js +63 -0
- package/lib/documents/text-ledger.js.map +1 -0
- package/lib/documents/version-sync-service.d.ts +138 -0
- package/lib/documents/version-sync-service.d.ts.map +1 -0
- package/lib/documents/version-sync-service.js +173 -0
- package/lib/documents/version-sync-service.js.map +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/langium/ast-extension/ast-extension-service.d.ts +42 -31
- package/lib/langium/ast-extension/ast-extension-service.d.ts.map +1 -1
- package/lib/langium/ast-extension/ast-extension-service.js +45 -19
- package/lib/langium/ast-extension/ast-extension-service.js.map +1 -1
- package/lib/langium/ast-extension/ast-node-builder.d.ts +32 -9
- package/lib/langium/ast-extension/ast-node-builder.d.ts.map +1 -1
- package/lib/langium/ast-extension/ast-node-builder.js +60 -22
- package/lib/langium/ast-extension/ast-node-builder.js.map +1 -1
- package/lib/langium/bootstrap.d.ts +49 -36
- package/lib/langium/bootstrap.d.ts.map +1 -1
- package/lib/langium/bootstrap.js +91 -45
- package/lib/langium/bootstrap.js.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts +9 -9
- package/lib/langium/build-phase-pass/build-phase-pass-service.d.ts.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass-service.js +25 -16
- package/lib/langium/build-phase-pass/build-phase-pass-service.js.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass.d.ts +20 -8
- package/lib/langium/build-phase-pass/build-phase-pass.d.ts.map +1 -1
- package/lib/langium/build-phase-pass/build-phase-pass.js +20 -0
- package/lib/langium/build-phase-pass/build-phase-pass.js.map +1 -1
- package/lib/langium/composite-ast-reflection.d.ts +46 -0
- package/lib/langium/composite-ast-reflection.d.ts.map +1 -0
- package/lib/langium/composite-ast-reflection.js +97 -0
- package/lib/langium/composite-ast-reflection.js.map +1 -0
- package/lib/langium/config/configuration-provider.d.ts +81 -0
- package/lib/langium/config/configuration-provider.d.ts.map +1 -0
- package/lib/langium/config/configuration-provider.js +112 -0
- package/lib/langium/config/configuration-provider.js.map +1 -0
- package/lib/langium/config/index.d.ts +1 -0
- package/lib/langium/config/index.d.ts.map +1 -1
- package/lib/langium/config/index.js +1 -0
- package/lib/langium/config/index.js.map +1 -1
- package/lib/langium/config/settings.js.map +1 -1
- package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts +9 -20
- package/lib/langium/diagnostics/hydranium-langium-profiler.d.ts.map +1 -1
- package/lib/langium/diagnostics/hydranium-langium-profiler.js +15 -24
- package/lib/langium/diagnostics/hydranium-langium-profiler.js.map +1 -1
- package/lib/langium/diagnostics/log-preamble.js +1 -1
- package/lib/langium/diagnostics/log-preamble.js.map +1 -1
- package/lib/langium/diagnostics/logger.d.ts +19 -4
- package/lib/langium/diagnostics/logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/logger.js +36 -11
- package/lib/langium/diagnostics/logger.js.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.d.ts +17 -0
- package/lib/langium/diagnostics/lsp-logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/lsp-logger.js +58 -17
- package/lib/langium/diagnostics/lsp-logger.js.map +1 -1
- package/lib/langium/diagnostics/server-tracer.d.ts.map +1 -1
- package/lib/langium/diagnostics/server-tracer.js.map +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.d.ts +21 -1
- package/lib/langium/document-builder/build-pipeline-integration.d.ts.map +1 -1
- package/lib/langium/document-builder/build-pipeline-integration.js +28 -30
- package/lib/langium/document-builder/build-pipeline-integration.js.map +1 -1
- package/lib/langium/document-builder/build-session.d.ts +6 -5
- package/lib/langium/document-builder/build-session.d.ts.map +1 -1
- package/lib/langium/document-builder/build-session.js +5 -5
- package/lib/langium/document-builder/build-session.js.map +1 -1
- package/lib/langium/document-builder/document-builder.d.ts +309 -35
- package/lib/langium/document-builder/document-builder.d.ts.map +1 -1
- package/lib/langium/document-builder/document-builder.js +511 -75
- package/lib/langium/document-builder/document-builder.js.map +1 -1
- package/lib/langium/documentation/comment-provider.d.ts.map +1 -1
- package/lib/langium/documentation/comment-provider.js.map +1 -1
- package/lib/langium/integration-services.d.ts +40 -24
- package/lib/langium/integration-services.d.ts.map +1 -1
- package/lib/langium/integration-services.js +7 -4
- package/lib/langium/integration-services.js.map +1 -1
- package/lib/langium/integrity/integrity-rule.d.ts +16 -8
- package/lib/langium/integrity/integrity-rule.d.ts.map +1 -1
- package/lib/langium/integrity/integrity-rule.js.map +1 -1
- package/lib/langium/integrity/integrity-service.d.ts +83 -27
- package/lib/langium/integrity/integrity-service.d.ts.map +1 -1
- package/lib/langium/integrity/integrity-service.js +273 -63
- package/lib/langium/integrity/integrity-service.js.map +1 -1
- package/lib/langium/keys/containment.d.ts +64 -0
- package/lib/langium/keys/containment.d.ts.map +1 -0
- package/lib/langium/keys/containment.js +53 -0
- package/lib/langium/keys/containment.js.map +1 -0
- package/lib/langium/keys/index.d.ts +1 -0
- package/lib/langium/keys/index.d.ts.map +1 -1
- package/lib/langium/keys/index.js +1 -0
- package/lib/langium/keys/index.js.map +1 -1
- package/lib/langium/keys/name-based-key-provider.d.ts +4 -0
- package/lib/langium/keys/name-based-key-provider.d.ts.map +1 -1
- package/lib/langium/keys/name-based-key-provider.js +4 -0
- package/lib/langium/keys/name-based-key-provider.js.map +1 -1
- package/lib/langium/keys/positional-key-provider.d.ts.map +1 -1
- package/lib/langium/keys/positional-key-provider.js.map +1 -1
- package/lib/langium/labeling/label-provider.d.ts.map +1 -1
- package/lib/langium/labeling/label-provider.js.map +1 -1
- package/lib/langium/language-module.d.ts +30 -5
- package/lib/langium/language-module.d.ts.map +1 -1
- package/lib/langium/language-module.js +18 -4
- package/lib/langium/language-module.js.map +1 -1
- package/lib/langium/model-service/client-session.d.ts +374 -0
- package/lib/langium/model-service/client-session.d.ts.map +1 -0
- package/lib/langium/model-service/client-session.js +446 -0
- package/lib/langium/model-service/client-session.js.map +1 -0
- package/lib/langium/model-service/index.d.ts +2 -0
- package/lib/langium/model-service/index.d.ts.map +1 -1
- package/lib/langium/model-service/index.js +2 -0
- package/lib/langium/model-service/index.js.map +1 -1
- package/lib/langium/model-service/model-events.d.ts +66 -0
- package/lib/langium/model-service/model-events.d.ts.map +1 -0
- package/lib/langium/model-service/model-events.js +10 -0
- package/lib/langium/model-service/model-events.js.map +1 -0
- package/lib/langium/model-service/model-service.d.ts +480 -289
- package/lib/langium/model-service/model-service.d.ts.map +1 -1
- package/lib/langium/model-service/model-service.js +597 -456
- package/lib/langium/model-service/model-service.js.map +1 -1
- package/lib/langium/module.d.ts +158 -37
- package/lib/langium/module.d.ts.map +1 -1
- package/lib/langium/module.js +52 -36
- package/lib/langium/module.js.map +1 -1
- package/lib/langium/naming/name-provider.d.ts +42 -7
- package/lib/langium/naming/name-provider.d.ts.map +1 -1
- package/lib/langium/naming/name-provider.js +10 -4
- package/lib/langium/naming/name-provider.js.map +1 -1
- package/lib/langium/naming/name-separator-validation.d.ts +23 -1
- package/lib/langium/naming/name-separator-validation.d.ts.map +1 -1
- package/lib/langium/naming/name-separator-validation.js +22 -0
- package/lib/langium/naming/name-separator-validation.js.map +1 -1
- package/lib/langium/project/abstract-project-manager.d.ts.map +1 -1
- package/lib/langium/project/abstract-project-manager.js +13 -6
- package/lib/langium/project/abstract-project-manager.js.map +1 -1
- package/lib/langium/project/project-change-event.d.ts +2 -2
- package/lib/langium/project/single-project-manager.d.ts.map +1 -1
- package/lib/langium/project/single-project-manager.js.map +1 -1
- package/lib/langium/residency/cst-residency-service.d.ts +35 -12
- package/lib/langium/residency/cst-residency-service.d.ts.map +1 -1
- package/lib/langium/residency/cst-residency-service.js +24 -58
- package/lib/langium/residency/cst-residency-service.js.map +1 -1
- package/lib/langium/scope/ast-node-description-provider.d.ts.map +1 -1
- package/lib/langium/scope/ast-node-description-provider.js.map +1 -1
- package/lib/langium/scope/fallback-scope.d.ts +27 -0
- package/lib/langium/scope/fallback-scope.d.ts.map +1 -0
- package/lib/langium/scope/fallback-scope.js +35 -0
- package/lib/langium/scope/fallback-scope.js.map +1 -0
- package/lib/langium/scope/hydranium-scope-computation.d.ts +21 -18
- package/lib/langium/scope/hydranium-scope-computation.d.ts.map +1 -1
- package/lib/langium/scope/hydranium-scope-computation.js +38 -39
- package/lib/langium/scope/hydranium-scope-computation.js.map +1 -1
- package/lib/langium/scope/hydranium-scope-provider.d.ts +39 -17
- package/lib/langium/scope/hydranium-scope-provider.d.ts.map +1 -1
- package/lib/langium/scope/hydranium-scope-provider.js +52 -26
- package/lib/langium/scope/hydranium-scope-provider.js.map +1 -1
- package/lib/langium/scope/index.d.ts +1 -0
- package/lib/langium/scope/index.d.ts.map +1 -1
- package/lib/langium/scope/index.js +1 -0
- package/lib/langium/scope/index.js.map +1 -1
- package/lib/langium/scope/reference-builder.d.ts.map +1 -1
- package/lib/langium/scope/reference-builder.js.map +1 -1
- package/lib/langium/scope/reference-candidate-provider.d.ts +6 -5
- package/lib/langium/scope/reference-candidate-provider.d.ts.map +1 -1
- package/lib/langium/scope/reference-candidate-provider.js +3 -2
- package/lib/langium/scope/reference-candidate-provider.js.map +1 -1
- package/lib/langium/scope/scope-extension-service.d.ts +41 -37
- package/lib/langium/scope/scope-extension-service.d.ts.map +1 -1
- package/lib/langium/scope/scope-extension-service.js +57 -29
- package/lib/langium/scope/scope-extension-service.js.map +1 -1
- package/lib/langium/scope/scoped-ast-node-description.d.ts +1 -3
- package/lib/langium/scope/scoped-ast-node-description.d.ts.map +1 -1
- package/lib/langium/scope/scoped-ast-node-description.js +1 -3
- package/lib/langium/scope/scoped-ast-node-description.js.map +1 -1
- package/lib/langium/serialization/abstract-serializer.d.ts +38 -27
- package/lib/langium/serialization/abstract-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/abstract-serializer.js +54 -30
- package/lib/langium/serialization/abstract-serializer.js.map +1 -1
- package/lib/langium/serialization/json-serializer.d.ts +8 -1
- package/lib/langium/serialization/json-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/json-serializer.js +13 -3
- package/lib/langium/serialization/json-serializer.js.map +1 -1
- package/lib/langium/serialization/serializer.d.ts +1 -1
- package/lib/langium/serialization/yaml-serializer.d.ts +4 -0
- package/lib/langium/serialization/yaml-serializer.d.ts.map +1 -1
- package/lib/langium/serialization/yaml-serializer.js +4 -0
- package/lib/langium/serialization/yaml-serializer.js.map +1 -1
- package/lib/langium/service-registry.d.ts +29 -1
- package/lib/langium/service-registry.d.ts.map +1 -1
- package/lib/langium/service-registry.js +37 -0
- package/lib/langium/service-registry.js.map +1 -1
- package/lib/langium/shared-services.d.ts +23 -6
- package/lib/langium/shared-services.d.ts.map +1 -1
- package/lib/langium/shared-services.js.map +1 -1
- package/lib/langium/single-langium-copy.d.ts +22 -0
- package/lib/langium/single-langium-copy.d.ts.map +1 -0
- package/lib/langium/single-langium-copy.js +36 -0
- package/lib/langium/single-langium-copy.js.map +1 -0
- package/lib/langium/transfer/transfer-encoder.d.ts +84 -35
- package/lib/langium/transfer/transfer-encoder.d.ts.map +1 -1
- package/lib/langium/transfer/transfer-encoder.js +34 -23
- package/lib/langium/transfer/transfer-encoder.js.map +1 -1
- package/lib/langium/trivia/comment-preserver.d.ts +423 -0
- package/lib/langium/trivia/comment-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/comment-preserver.js +906 -0
- package/lib/langium/trivia/comment-preserver.js.map +1 -0
- package/lib/langium/trivia/document-ending-preserver.d.ts +51 -0
- package/lib/langium/trivia/document-ending-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/document-ending-preserver.js +62 -0
- package/lib/langium/trivia/document-ending-preserver.js.map +1 -0
- package/lib/langium/trivia/index.d.ts +14 -0
- package/lib/langium/trivia/index.d.ts.map +1 -0
- package/lib/langium/trivia/index.js +14 -0
- package/lib/langium/trivia/index.js.map +1 -0
- package/lib/langium/trivia/trivia-contribution.d.ts +37 -0
- package/lib/langium/trivia/trivia-contribution.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-contribution.js +10 -0
- package/lib/langium/trivia/trivia-contribution.js.map +1 -0
- package/lib/langium/trivia/trivia-preserver.d.ts +52 -0
- package/lib/langium/trivia/trivia-preserver.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-preserver.js +10 -0
- package/lib/langium/trivia/trivia-preserver.js.map +1 -0
- package/lib/langium/trivia/trivia-service.d.ts +70 -0
- package/lib/langium/trivia/trivia-service.d.ts.map +1 -0
- package/lib/langium/trivia/trivia-service.js +56 -0
- package/lib/langium/trivia/trivia-service.js.map +1 -0
- package/lib/langium/update-rewrite/normalize-empty-strings.d.ts.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite-service.d.ts +1 -1
- package/lib/langium/update-rewrite/update-rewrite-service.d.ts.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite-service.js.map +1 -1
- package/lib/langium/update-rewrite/update-rewrite.d.ts +1 -1
- package/lib/langium/validation/document-validator.d.ts +280 -9
- package/lib/langium/validation/document-validator.d.ts.map +1 -1
- package/lib/langium/validation/document-validator.js +453 -8
- package/lib/langium/validation/document-validator.js.map +1 -1
- package/lib/langium/validation/validation-contribution-collector.d.ts +9 -1
- package/lib/langium/validation/validation-contribution-collector.d.ts.map +1 -1
- package/lib/langium/validation/validation-contribution-collector.js +1 -1
- package/lib/langium/validation/validation-contribution-collector.js.map +1 -1
- package/lib/langium/workspace/document-uri-policy.d.ts +24 -15
- package/lib/langium/workspace/document-uri-policy.d.ts.map +1 -1
- package/lib/langium/workspace/document-uri-policy.js +22 -13
- package/lib/langium/workspace/document-uri-policy.js.map +1 -1
- package/lib/langium/workspace/file-not-found.d.ts +23 -0
- package/lib/langium/workspace/file-not-found.d.ts.map +1 -0
- package/lib/langium/workspace/file-not-found.js +31 -0
- package/lib/langium/workspace/file-not-found.js.map +1 -0
- package/lib/langium/workspace/file-system-provider.d.ts +165 -8
- package/lib/langium/workspace/file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/file-system-provider.js +111 -13
- package/lib/langium/workspace/file-system-provider.js.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts +31 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-langium-document-factory.js +54 -0
- package/lib/langium/workspace/hydranium-langium-document-factory.js.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-lock.d.ts +43 -1
- package/lib/langium/workspace/hydranium-workspace-lock.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-lock.js +58 -1
- package/lib/langium/workspace/hydranium-workspace-lock.js.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts +124 -22
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.js +212 -31
- package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts +26 -9
- package/lib/langium/workspace/in-memory-file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/in-memory-file-system-provider.js +45 -22
- package/lib/langium/workspace/in-memory-file-system-provider.js.map +1 -1
- package/lib/langium/workspace/index-manager.d.ts.map +1 -1
- package/lib/langium/workspace/index-manager.js.map +1 -1
- package/lib/langium/workspace/index.d.ts +1 -0
- package/lib/langium/workspace/index.d.ts.map +1 -1
- package/lib/langium/workspace/index.js +1 -0
- package/lib/langium/workspace/index.js.map +1 -1
- package/lib/langium/workspace/initialize-workspace.d.ts +31 -2
- package/lib/langium/workspace/initialize-workspace.d.ts.map +1 -1
- package/lib/langium/workspace/initialize-workspace.js +13 -5
- package/lib/langium/workspace/initialize-workspace.js.map +1 -1
- package/lib/langium/workspace/langium-documents.d.ts +7 -0
- package/lib/langium/workspace/langium-documents.d.ts.map +1 -1
- package/lib/langium/workspace/langium-documents.js +18 -1
- package/lib/langium/workspace/langium-documents.js.map +1 -1
- package/lib/langium/workspace/persistent-file-system-provider.d.ts +15 -9
- package/lib/langium/workspace/persistent-file-system-provider.d.ts.map +1 -1
- package/lib/langium/workspace/persistent-file-system-provider.js +25 -13
- package/lib/langium/workspace/persistent-file-system-provider.js.map +1 -1
- package/lib/langium/workspace/self-save-registry.d.ts +84 -0
- package/lib/langium/workspace/self-save-registry.d.ts.map +1 -0
- package/lib/{documents → langium/workspace}/self-save-registry.js +33 -22
- package/lib/langium/workspace/self-save-registry.js.map +1 -0
- package/lib/langium/workspace/virtual-document.d.ts +55 -21
- package/lib/langium/workspace/virtual-document.d.ts.map +1 -1
- package/lib/langium/workspace/virtual-document.js +87 -24
- package/lib/langium/workspace/virtual-document.js.map +1 -1
- package/lib/langium/workspace/write-lock-scope.d.ts +22 -10
- package/lib/langium/workspace/write-lock-scope.d.ts.map +1 -1
- package/lib/langium/workspace/write-lock-scope.js +15 -5
- package/lib/langium/workspace/write-lock-scope.js.map +1 -1
- package/lib/launcher/integrated-server.d.ts +3 -1
- package/lib/launcher/integrated-server.d.ts.map +1 -1
- package/lib/locale/index.d.ts +10 -0
- package/lib/locale/index.d.ts.map +1 -0
- package/lib/locale/index.js +10 -0
- package/lib/locale/index.js.map +1 -0
- package/lib/locale/server-locale.d.ts +73 -0
- package/lib/locale/server-locale.d.ts.map +1 -0
- package/lib/locale/server-locale.js +61 -0
- package/lib/locale/server-locale.js.map +1 -0
- package/lib/lsp/completion/hydranium-completion-provider.d.ts +44 -2
- package/lib/lsp/completion/hydranium-completion-provider.d.ts.map +1 -1
- package/lib/lsp/completion/hydranium-completion-provider.js +68 -0
- package/lib/lsp/completion/hydranium-completion-provider.js.map +1 -1
- package/lib/lsp/connection-features.d.ts +23 -0
- package/lib/lsp/connection-features.d.ts.map +1 -0
- package/lib/lsp/connection-features.js +60 -0
- package/lib/lsp/connection-features.js.map +1 -0
- package/lib/lsp/diagnostics-connection.d.ts +27 -0
- package/lib/lsp/diagnostics-connection.d.ts.map +1 -0
- package/lib/lsp/diagnostics-connection.js +53 -0
- package/lib/lsp/diagnostics-connection.js.map +1 -0
- package/lib/lsp/hydranium-document-update-handler.d.ts +126 -82
- package/lib/lsp/hydranium-document-update-handler.d.ts.map +1 -1
- package/lib/lsp/hydranium-document-update-handler.js +235 -102
- package/lib/lsp/hydranium-document-update-handler.js.map +1 -1
- package/lib/lsp/index.d.ts +3 -1
- package/lib/lsp/index.d.ts.map +1 -1
- package/lib/lsp/index.js +3 -1
- package/lib/lsp/index.js.map +1 -1
- package/lib/lsp/lsp-latency.d.ts +39 -0
- package/lib/lsp/lsp-latency.d.ts.map +1 -0
- package/lib/lsp/lsp-latency.js +58 -0
- package/lib/lsp/lsp-latency.js.map +1 -0
- package/lib/lsp/semantic-token-provider.d.ts +34 -1
- package/lib/lsp/semantic-token-provider.d.ts.map +1 -1
- package/lib/lsp/semantic-token-provider.js +55 -8
- package/lib/lsp/semantic-token-provider.js.map +1 -1
- package/lib/lsp/shared-module.d.ts +4 -8
- package/lib/lsp/shared-module.d.ts.map +1 -1
- package/lib/lsp/shared-module.js.map +1 -1
- package/lib/lsp/start-language-server.d.ts +8 -7
- package/lib/lsp/start-language-server.d.ts.map +1 -1
- package/lib/lsp/start-language-server.js +13 -7
- package/lib/lsp/start-language-server.js.map +1 -1
- package/lib/messages/carriers.d.ts +18 -12
- package/lib/messages/carriers.d.ts.map +1 -1
- package/lib/messages/carriers.js +22 -13
- package/lib/messages/carriers.js.map +1 -1
- package/lib/messages/index.d.ts +4 -1
- package/lib/messages/index.d.ts.map +1 -1
- package/lib/messages/index.js +4 -1
- package/lib/messages/index.js.map +1 -1
- package/lib/messages/renderer.d.ts +142 -0
- package/lib/messages/renderer.d.ts.map +1 -0
- package/lib/messages/renderer.js +165 -0
- package/lib/messages/renderer.js.map +1 -0
- package/lib/node/event-loop-monitor.d.ts.map +1 -1
- package/lib/node/event-loop-monitor.js +2 -1
- package/lib/node/event-loop-monitor.js.map +1 -1
- package/lib/node/heap-ceiling.d.ts +61 -0
- package/lib/node/heap-ceiling.d.ts.map +1 -0
- package/lib/node/heap-ceiling.js +72 -0
- package/lib/node/heap-ceiling.js.map +1 -0
- package/lib/node/index.d.ts +1 -1
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +5 -1
- package/lib/node/index.js.map +1 -1
- package/lib/node/latency-from-env.d.ts +1 -1
- package/lib/node/latency-from-env.js +1 -1
- package/lib/node/lint-grammar.js.map +1 -1
- package/lib/node/log-preamble-node.d.ts +5 -3
- package/lib/node/log-preamble-node.d.ts.map +1 -1
- package/lib/node/log-preamble-node.js +13 -10
- package/lib/node/log-preamble-node.js.map +1 -1
- package/lib/node/measure-memory.d.ts.map +1 -1
- package/lib/node/measure-memory.js +5 -4
- package/lib/node/measure-memory.js.map +1 -1
- package/lib/node/memory-monitor.d.ts +2 -2
- package/lib/node/memory-monitor.d.ts.map +1 -1
- package/lib/node/memory-monitor.js +9 -10
- package/lib/node/memory-monitor.js.map +1 -1
- package/lib/node/node-file-system-provider.d.ts +67 -9
- package/lib/node/node-file-system-provider.d.ts.map +1 -1
- package/lib/node/node-file-system-provider.js +198 -53
- package/lib/node/node-file-system-provider.js.map +1 -1
- package/lib/node/profile-capture.d.ts +12 -4
- package/lib/node/profile-capture.d.ts.map +1 -1
- package/lib/node/profile-capture.js +8 -6
- package/lib/node/profile-capture.js.map +1 -1
- package/lib/node/profile-digest.js.map +1 -1
- package/lib/node/profiling-run.d.ts +13 -3
- package/lib/node/profiling-run.d.ts.map +1 -1
- package/lib/node/profiling-run.js +17 -8
- package/lib/node/profiling-run.js.map +1 -1
- package/lib/node/rename-over-open-readers.d.ts +61 -0
- package/lib/node/rename-over-open-readers.d.ts.map +1 -0
- package/lib/node/rename-over-open-readers.js +80 -0
- package/lib/node/rename-over-open-readers.js.map +1 -0
- package/lib/node/server-diagnostics.js +1 -1
- package/lib/node/server-diagnostics.js.map +1 -1
- package/lib/node/server-state-snapshot.js +4 -4
- package/lib/node/server-state-snapshot.js.map +1 -1
- package/lib/node/socket-launcher.d.ts +20 -4
- package/lib/node/socket-launcher.d.ts.map +1 -1
- package/lib/node/socket-launcher.js +8 -7
- package/lib/node/socket-launcher.js.map +1 -1
- package/lib/node/startup-cpu-profile.d.ts +29 -0
- package/lib/node/startup-cpu-profile.d.ts.map +1 -0
- package/lib/node/startup-cpu-profile.js +91 -0
- package/lib/node/startup-cpu-profile.js.map +1 -0
- package/lib/node/stdio-launcher.d.ts +10 -10
- package/lib/node/stdio-launcher.d.ts.map +1 -1
- package/lib/node/stdio-launcher.js +17 -9
- package/lib/node/stdio-launcher.js.map +1 -1
- package/lib/testing/document-uri-policy-conformance.js +1 -1
- package/lib/testing/document-uri-policy-conformance.js.map +1 -1
- package/lib/testing/fake-description.js.map +1 -1
- package/lib/testing/fake-document.d.ts +16 -4
- package/lib/testing/fake-document.d.ts.map +1 -1
- package/lib/testing/fake-document.js +18 -3
- package/lib/testing/fake-document.js.map +1 -1
- package/lib/testing/index.d.ts +1 -1
- package/lib/testing/index.d.ts.map +1 -1
- package/lib/testing/index.js +2 -1
- package/lib/testing/index.js.map +1 -1
- package/lib/testing/langium-test-helpers.d.ts.map +1 -1
- package/lib/testing/langium-test-helpers.js +1 -0
- package/lib/testing/langium-test-helpers.js.map +1 -1
- package/lib/testing/make-noop-language-services.js.map +1 -1
- package/lib/testing/make-noop-shared-services.d.ts +14 -0
- package/lib/testing/make-noop-shared-services.d.ts.map +1 -1
- package/lib/testing/make-noop-shared-services.js +28 -2
- package/lib/testing/make-noop-shared-services.js.map +1 -1
- package/lib/testing/make-test-services.d.ts +72 -14
- package/lib/testing/make-test-services.d.ts.map +1 -1
- package/lib/testing/make-test-services.js +42 -10
- package/lib/testing/make-test-services.js.map +1 -1
- package/lib/testing/make-test-tracer.d.ts +12 -0
- package/lib/testing/make-test-tracer.d.ts.map +1 -1
- package/lib/testing/make-test-tracer.js +13 -0
- package/lib/testing/make-test-tracer.js.map +1 -1
- package/lib/testing/node/applied-edit-capture.d.ts +29 -0
- package/lib/testing/node/applied-edit-capture.d.ts.map +1 -0
- package/lib/testing/node/applied-edit-capture.js +117 -0
- package/lib/testing/node/applied-edit-capture.js.map +1 -0
- package/lib/testing/node/golden-corpus.js.map +1 -1
- package/lib/testing/node/index.d.ts +1 -0
- package/lib/testing/node/index.d.ts.map +1 -1
- package/lib/testing/node/index.js +1 -0
- package/lib/testing/node/index.js.map +1 -1
- package/lib/testing/node/lsp-harness.d.ts.map +1 -1
- package/lib/testing/node/lsp-harness.js +2 -0
- package/lib/testing/node/lsp-harness.js.map +1 -1
- package/lib/testing/node/lsp-server-connection.d.ts +21 -6
- package/lib/testing/node/lsp-server-connection.d.ts.map +1 -1
- package/lib/testing/node/lsp-server-connection.js +49 -106
- package/lib/testing/node/lsp-server-connection.js.map +1 -1
- package/lib/testing/node/scratch-workspace.d.ts.map +1 -1
- package/lib/testing/node/scratch-workspace.js +10 -5
- package/lib/testing/node/scratch-workspace.js.map +1 -1
- package/lib/testing/node/spawned-server.d.ts +30 -1
- package/lib/testing/node/spawned-server.d.ts.map +1 -1
- package/lib/testing/node/spawned-server.js +39 -2
- package/lib/testing/node/spawned-server.js.map +1 -1
- package/lib/testing/node/unhandled-rejections.d.ts +20 -0
- package/lib/testing/node/unhandled-rejections.d.ts.map +1 -0
- package/lib/testing/node/unhandled-rejections.js +32 -0
- package/lib/testing/node/unhandled-rejections.js.map +1 -0
- package/lib/testing/playwright/browser-capture-bridge.js.map +1 -1
- package/lib/testing/playwright/e2e-profiling.js.map +1 -1
- package/lib/testing/playwright/flaky-network-proxy.d.ts +76 -0
- package/lib/testing/playwright/flaky-network-proxy.d.ts.map +1 -0
- package/lib/testing/playwright/flaky-network-proxy.js +164 -0
- package/lib/testing/playwright/flaky-network-proxy.js.map +1 -0
- package/lib/testing/playwright/index.d.ts +1 -0
- package/lib/testing/playwright/index.d.ts.map +1 -1
- package/lib/testing/playwright/index.js +1 -0
- package/lib/testing/playwright/index.js.map +1 -1
- package/lib/testing/playwright/server-log-capture.d.ts +46 -16
- package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-capture.js +111 -40
- package/lib/testing/playwright/server-log-capture.js.map +1 -1
- package/lib/testing/playwright/server-log-fixture.d.ts +16 -0
- package/lib/testing/playwright/server-log-fixture.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-fixture.js +25 -6
- package/lib/testing/playwright/server-log-fixture.js.map +1 -1
- package/lib/testing/playwright/server-log-region.d.ts +15 -0
- package/lib/testing/playwright/server-log-region.d.ts.map +1 -0
- package/lib/testing/playwright/server-log-region.js +30 -0
- package/lib/testing/playwright/server-log-region.js.map +1 -0
- package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-rename-reporter.js +4 -3
- package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
- package/lib/testing/run-update-pipeline.d.ts +8 -5
- package/lib/testing/run-update-pipeline.d.ts.map +1 -1
- package/lib/testing/run-update-pipeline.js.map +1 -1
- package/lib/testing/stub-ast-document-manager.d.ts +11 -52
- package/lib/testing/stub-ast-document-manager.d.ts.map +1 -1
- package/lib/testing/stub-ast-document-manager.js +31 -62
- package/lib/testing/stub-ast-document-manager.js.map +1 -1
- package/lib/testing/stub-document-builder.d.ts +33 -11
- package/lib/testing/stub-document-builder.d.ts.map +1 -1
- package/lib/testing/stub-document-builder.js +103 -5
- package/lib/testing/stub-document-builder.js.map +1 -1
- package/lib/testing/stub-hydranium-text-documents.d.ts +33 -10
- package/lib/testing/stub-hydranium-text-documents.d.ts.map +1 -1
- package/lib/testing/stub-hydranium-text-documents.js +132 -16
- package/lib/testing/stub-hydranium-text-documents.js.map +1 -1
- package/lib/testing/stub-index-manager.js.map +1 -1
- package/lib/testing/stub-langium-documents.d.ts +3 -2
- package/lib/testing/stub-langium-documents.d.ts.map +1 -1
- package/lib/testing/stub-langium-documents.js.map +1 -1
- package/lib/testing/stub-model-service.d.ts +9 -8
- package/lib/testing/stub-model-service.d.ts.map +1 -1
- package/lib/testing/stub-model-service.js +6 -6
- package/lib/testing/stub-model-service.js.map +1 -1
- package/lib/testing/stub-project-manager.js.map +1 -1
- package/lib/testing/stub-self-save-registry.d.ts +1 -1
- package/lib/testing/stub-self-save-registry.d.ts.map +1 -1
- package/lib/testing/stub-service-registry.d.ts +1 -1
- package/lib/testing/stub-service-registry.js.map +1 -1
- package/lib/testing/stub-writable-file-system.d.ts +1 -1
- package/lib/testing/stub-writable-file-system.d.ts.map +1 -1
- package/lib/testing/stub-writable-file-system.js +2 -1
- package/lib/testing/stub-writable-file-system.js.map +1 -1
- package/lib/util/connection-liveness.d.ts +19 -6
- package/lib/util/connection-liveness.d.ts.map +1 -1
- package/lib/util/connection-liveness.js +61 -15
- package/lib/util/connection-liveness.js.map +1 -1
- package/lib/util/environment.d.ts.map +1 -1
- package/lib/util/environment.js.map +1 -1
- package/lib/util/registry.d.ts.map +1 -1
- package/package.json +38 -57
- package/src/browser/host-heads-in-worker.ts +142 -0
- package/src/browser/index.ts +17 -0
- package/src/browser/indexeddb-file-system-store.ts +192 -0
- package/src/browser/start-language-server-in-worker.ts +51 -0
- package/src/documents/ast-document-manager.ts +467 -233
- package/src/documents/client-ids.ts +5 -22
- package/src/documents/client-session-errors.ts +24 -0
- package/src/documents/client-session-registry.ts +262 -0
- package/src/documents/dirty-state-tracker.ts +167 -0
- package/src/documents/document-release-handler.ts +404 -0
- package/src/documents/document-release-scheduler.ts +121 -0
- package/src/documents/file-system-task-queue.ts +74 -0
- package/src/documents/hydranium-text-documents.ts +976 -595
- package/src/documents/index.ts +10 -2
- package/src/documents/language-client-shadow.ts +452 -0
- package/src/documents/model-ledger.ts +66 -0
- package/src/documents/text-ledger.ts +112 -0
- package/src/documents/version-sync-service.ts +275 -0
- package/src/index.ts +8 -0
- package/src/langium/ast-extension/ast-extension-service.ts +77 -41
- package/src/langium/ast-extension/ast-node-builder.ts +66 -22
- package/src/langium/bootstrap.ts +95 -52
- package/src/langium/build-phase-pass/build-phase-pass-service.ts +29 -19
- package/src/langium/build-phase-pass/build-phase-pass.ts +37 -8
- package/src/langium/composite-ast-reflection.ts +112 -0
- package/src/langium/config/configuration-provider.ts +119 -0
- package/src/langium/config/index.ts +1 -0
- package/src/langium/diagnostics/hydranium-langium-profiler.ts +15 -39
- package/src/langium/diagnostics/log-preamble.ts +1 -1
- package/src/langium/diagnostics/logger.ts +38 -11
- package/src/langium/diagnostics/lsp-logger.ts +61 -16
- package/src/langium/document-builder/build-pipeline-integration.ts +46 -32
- package/src/langium/document-builder/build-session.ts +4 -3
- package/src/langium/document-builder/document-builder.ts +616 -73
- package/src/langium/integration-services.ts +59 -28
- package/src/langium/integrity/integrity-rule.ts +16 -8
- package/src/langium/integrity/integrity-service.ts +296 -69
- package/src/langium/keys/containment.ts +87 -0
- package/src/langium/keys/index.ts +1 -0
- package/src/langium/keys/name-based-key-provider.ts +4 -0
- package/src/langium/language-module.ts +49 -8
- package/src/langium/model-service/client-session.ts +704 -0
- package/src/langium/model-service/index.ts +2 -0
- package/src/langium/model-service/model-events.ts +80 -0
- package/src/langium/model-service/model-service.ts +908 -485
- package/src/langium/module.ts +212 -67
- package/src/langium/naming/name-provider.ts +44 -8
- package/src/langium/naming/name-separator-validation.ts +25 -3
- package/src/langium/project/abstract-project-manager.ts +13 -5
- package/src/langium/project/project-change-event.ts +2 -2
- package/src/langium/residency/cst-residency-service.ts +51 -17
- package/src/langium/scope/fallback-scope.ts +38 -0
- package/src/langium/scope/hydranium-scope-computation.ts +45 -44
- package/src/langium/scope/hydranium-scope-provider.ts +64 -27
- package/src/langium/scope/index.ts +1 -0
- package/src/langium/scope/reference-candidate-provider.ts +6 -5
- package/src/langium/scope/scope-extension-service.ts +74 -59
- package/src/langium/scope/scoped-ast-node-description.ts +1 -3
- package/src/langium/serialization/abstract-serializer.ts +57 -41
- package/src/langium/serialization/json-serializer.ts +14 -3
- package/src/langium/serialization/serializer.ts +1 -1
- package/src/langium/serialization/yaml-serializer.ts +4 -0
- package/src/langium/service-registry.ts +41 -2
- package/src/langium/shared-services.ts +26 -6
- package/src/langium/single-langium-copy.ts +42 -0
- package/src/langium/transfer/transfer-encoder.ts +102 -45
- package/src/langium/trivia/comment-preserver.ts +1100 -0
- package/src/langium/trivia/document-ending-preserver.ts +71 -0
- package/src/langium/trivia/index.ts +14 -0
- package/src/langium/trivia/trivia-contribution.ts +39 -0
- package/src/langium/trivia/trivia-preserver.ts +56 -0
- package/src/langium/trivia/trivia-service.ts +99 -0
- package/src/langium/update-rewrite/update-rewrite-service.ts +1 -1
- package/src/langium/update-rewrite/update-rewrite.ts +1 -1
- package/src/langium/validation/document-validator.ts +528 -13
- package/src/langium/validation/validation-contribution-collector.ts +10 -1
- package/src/langium/workspace/document-uri-policy.ts +32 -18
- package/src/langium/workspace/file-not-found.ts +35 -0
- package/src/langium/workspace/file-system-provider.ts +253 -16
- package/src/langium/workspace/hydranium-langium-document-factory.ts +83 -0
- package/src/langium/workspace/hydranium-workspace-lock.ts +86 -2
- package/src/langium/workspace/hydranium-workspace-manager.ts +241 -35
- package/src/langium/workspace/in-memory-file-system-provider.ts +54 -23
- package/src/langium/workspace/index.ts +1 -0
- package/src/langium/workspace/initialize-workspace.ts +43 -5
- package/src/langium/workspace/langium-documents.ts +19 -1
- package/src/langium/workspace/persistent-file-system-provider.ts +26 -14
- package/src/langium/workspace/self-save-registry.ts +118 -0
- package/src/langium/workspace/virtual-document.ts +106 -25
- package/src/langium/workspace/write-lock-scope.ts +27 -12
- package/src/launcher/integrated-server.ts +3 -1
- package/src/locale/index.ts +10 -0
- package/src/locale/server-locale.ts +86 -0
- package/src/lsp/completion/hydranium-completion-provider.ts +82 -2
- package/src/lsp/connection-features.ts +67 -0
- package/src/lsp/diagnostics-connection.ts +56 -0
- package/src/lsp/hydranium-document-update-handler.ts +285 -111
- package/src/lsp/index.ts +3 -1
- package/src/lsp/lsp-latency.ts +62 -0
- package/src/lsp/semantic-token-provider.ts +74 -7
- package/src/lsp/shared-module.ts +4 -8
- package/src/lsp/start-language-server.ts +13 -7
- package/src/messages/carriers.ts +23 -15
- package/src/messages/index.ts +13 -1
- package/src/messages/renderer.ts +212 -0
- package/src/node/event-loop-monitor.ts +2 -1
- package/src/node/heap-ceiling.ts +108 -0
- package/src/node/index.ts +5 -1
- package/src/node/latency-from-env.ts +1 -1
- package/src/node/log-preamble-node.ts +20 -10
- package/src/node/measure-memory.ts +5 -4
- package/src/node/memory-monitor.ts +10 -10
- package/src/node/node-file-system-provider.ts +214 -57
- package/src/node/profile-capture.ts +16 -15
- package/src/node/profiling-run.ts +30 -8
- package/src/node/rename-over-open-readers.ts +94 -0
- package/src/node/server-diagnostics.ts +1 -1
- package/src/node/server-state-snapshot.ts +5 -5
- package/src/node/socket-launcher.ts +27 -11
- package/src/node/startup-cpu-profile.ts +94 -0
- package/src/node/stdio-launcher.ts +22 -14
- package/src/testing/document-uri-policy-conformance.ts +1 -1
- package/src/testing/fake-document.ts +24 -5
- package/src/testing/index.ts +2 -1
- package/src/testing/langium-test-helpers.ts +1 -0
- package/src/testing/make-noop-shared-services.ts +50 -2
- package/src/testing/make-test-services.ts +125 -31
- package/src/testing/make-test-tracer.ts +26 -0
- package/src/testing/node/applied-edit-capture.ts +141 -0
- package/src/testing/node/index.ts +1 -0
- package/src/testing/node/lsp-harness.ts +2 -0
- package/src/testing/node/lsp-server-connection.ts +83 -119
- package/src/testing/node/scratch-workspace.ts +10 -5
- package/src/testing/node/spawned-server.ts +57 -3
- package/src/testing/node/unhandled-rejections.ts +31 -0
- package/src/testing/parse-semantic-root.ts +1 -1
- package/src/testing/playwright/flaky-network-proxy.ts +240 -0
- package/src/testing/playwright/index.ts +1 -0
- package/src/testing/playwright/server-log-capture.ts +137 -47
- package/src/testing/playwright/server-log-fixture.ts +46 -6
- package/src/testing/playwright/server-log-region.ts +32 -0
- package/src/testing/playwright/server-log-rename-reporter.ts +4 -3
- package/src/testing/run-update-pipeline.ts +8 -5
- package/src/testing/stub-ast-document-manager.ts +47 -128
- package/src/testing/stub-document-builder.ts +133 -18
- package/src/testing/stub-hydranium-text-documents.ts +184 -27
- package/src/testing/stub-langium-documents.ts +3 -2
- package/src/testing/stub-model-service.ts +11 -10
- package/src/testing/stub-self-save-registry.ts +1 -1
- package/src/testing/stub-service-registry.ts +1 -1
- package/src/testing/stub-writable-file-system.ts +3 -2
- package/src/util/connection-liveness.ts +67 -15
- package/src/util/environment.ts +9 -1
- package/lib/documents/language-client-text-shadow.d.ts +0 -101
- package/lib/documents/language-client-text-shadow.d.ts.map +0 -1
- package/lib/documents/language-client-text-shadow.js +0 -156
- package/lib/documents/language-client-text-shadow.js.map +0 -1
- package/lib/documents/self-save-registry.d.ts +0 -55
- package/lib/documents/self-save-registry.d.ts.map +0 -1
- package/lib/documents/self-save-registry.js.map +0 -1
- package/lib/lsp/instrument-connection.d.ts +0 -36
- package/lib/lsp/instrument-connection.d.ts.map +0 -1
- package/lib/lsp/instrument-connection.js +0 -62
- package/lib/lsp/instrument-connection.js.map +0 -1
- package/lib/node/process-memory.d.ts +0 -66
- package/lib/node/process-memory.d.ts.map +0 -1
- package/lib/node/process-memory.js +0 -252
- package/lib/node/process-memory.js.map +0 -1
- package/src/documents/language-client-text-shadow.ts +0 -175
- package/src/documents/self-save-registry.ts +0 -81
- package/src/lsp/instrument-connection.ts +0 -66
- package/src/node/process-memory.ts +0 -299
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-serializer.d.ts","sourceRoot":"","sources":["../../../src/langium/serialization/yaml-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAiB,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAE,KAAK,OAAO,EAAkC,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE9F;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB;IACrE;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClD;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrD;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC;;;;;;;;OAQG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9D;AAED
|
|
1
|
+
{"version":3,"file":"yaml-serializer.d.ts","sourceRoot":"","sources":["../../../src/langium/serialization/yaml-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,10 @@ import { AbstractSerializer } from './abstract-serializer.js';
|
|
|
23
23
|
* points. YAML's one addition is unquoted-terminal emission, handled by its
|
|
24
24
|
* {@link serializeCustomValue} override driven by
|
|
25
25
|
* {@link YamlSerializerOptions.unquotedProperties}.
|
|
26
|
+
*
|
|
27
|
+
* The grammar, not a YAML parser, reads its quoted strings back, so a control
|
|
28
|
+
* character without a short escape is written raw, which a strict YAML parser
|
|
29
|
+
* such as js-yaml refuses.
|
|
26
30
|
*/
|
|
27
31
|
export class YamlSerializer extends AbstractSerializer {
|
|
28
32
|
/** Default {@link YamlSerializerOptions.newlineChar}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-serializer.js","sourceRoot":"","sources":["../../../src/langium/serialization/yaml-serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,aAAa,EAA2C,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EAAqC,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAkC,MAAM,0BAA0B,CAAC;AA+D9F
|
|
1
|
+
{"version":3,"file":"yaml-serializer.js","sourceRoot":"","sources":["../../../src/langium/serialization/yaml-serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -135,6 +135,16 @@ export declare function typedMetadata<TServices extends LangiumCoreServices>(met
|
|
|
135
135
|
export declare class ExtendedServiceRegistry<TServices extends LangiumCoreServices = LangiumCoreServices> extends HydraniumServiceRegistry<TServices> {
|
|
136
136
|
getServices<TMetaServices extends LangiumCoreServices>(metadata: TypedLanguageMetaData<TMetaServices>): TMetaServices | undefined;
|
|
137
137
|
getServices(uri: URI): TServices;
|
|
138
|
+
/**
|
|
139
|
+
* Every registered language's services, typed as `TServices` like the
|
|
140
|
+
* lookups here rather than as Langium's base shape, so a sweep of the whole
|
|
141
|
+
* set reaches what a URI or a typed handle would have given it.
|
|
142
|
+
*
|
|
143
|
+
* The cast is sound because {@link register} is the only way a language
|
|
144
|
+
* enters and takes `TServices`; the inherited accessor is typed to Langium's
|
|
145
|
+
* base, which is the only reason one is needed.
|
|
146
|
+
*/
|
|
147
|
+
get all(): readonly TServices[];
|
|
138
148
|
/**
|
|
139
149
|
* Lookup by anything that identifies a document — an AST node (routed by
|
|
140
150
|
* the document it lives in), a `URI`, or a URI string. `undefined` when the
|
|
@@ -170,8 +180,12 @@ export declare class ExtendedServiceRegistry<TServices extends LangiumCoreServic
|
|
|
170
180
|
* inherited Langium semantics, which throws on miss). Used for
|
|
171
181
|
* dynamically-routed lookups where the language id comes from
|
|
172
182
|
* external input.
|
|
183
|
+
*
|
|
184
|
+
* The cast is sound because {@link register} is the only way a language
|
|
185
|
+
* enters and takes `TServices`; `languageIdMap` is inherited and typed to
|
|
186
|
+
* Langium's base, which is the only reason one is needed.
|
|
173
187
|
*/
|
|
174
|
-
getServicesById(languageId: string):
|
|
188
|
+
getServicesById(languageId: string): TServices | undefined;
|
|
175
189
|
/**
|
|
176
190
|
* Lookup by file extension. Returns `undefined` when no services match.
|
|
177
191
|
* Useful for routing decisions that need to dispatch on file extension
|
|
@@ -201,6 +215,20 @@ export declare class ExtendedServiceRegistry<TServices extends LangiumCoreServic
|
|
|
201
215
|
* honest answer rather than taking the first.
|
|
202
216
|
*/
|
|
203
217
|
soleServicesByType(type: string): TServices | undefined;
|
|
218
|
+
/**
|
|
219
|
+
* The language the strongest signal given names: a declared `languageId`,
|
|
220
|
+
* then `target`'s document, then the only registered language, then the sole
|
|
221
|
+
* producer of `type`. `undefined` when none answers, which leaves the
|
|
222
|
+
* fallback to the caller, since it differs per caller.
|
|
223
|
+
*
|
|
224
|
+
* A declared id comes first because every later signal is inferred, and an
|
|
225
|
+
* inference must not override a caller that said which grammar it means.
|
|
226
|
+
*/
|
|
227
|
+
getLanguageFor(hint: {
|
|
228
|
+
readonly languageId?: string;
|
|
229
|
+
readonly target?: LanguageTarget;
|
|
230
|
+
readonly type?: string;
|
|
231
|
+
}): TServices | undefined;
|
|
204
232
|
/**
|
|
205
233
|
* Drop the memoised type index, so a language registered after the first
|
|
206
234
|
* type lookup is accounted for. The reason this index belongs on the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-registry.d.ts","sourceRoot":"","sources":["../../src/langium/service-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EACJ,KAAK,OAAO,EAEZ,sBAAsB,EAEtB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,GAAG,EACL,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,GAAG,GAAG,MAAM,CAAC;AAEpD;;;;;;;;;GASG;AACH,qBAAa,wBAAwB,CAAC,SAAS,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,sBAAsB;IAC9H;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,EAAE,yBAAyB,CAAC;IAErD,+CAA+C;IAC/C,SAAS,CAAC,cAAc,SAAK;IAE7B;;;;;;;;OAQG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;
|
|
1
|
+
{"version":3,"file":"service-registry.d.ts","sourceRoot":"","sources":["../../src/langium/service-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,6 +149,18 @@ export class ExtendedServiceRegistry extends HydraniumServiceRegistry {
|
|
|
149
149
|
}
|
|
150
150
|
return super.getServices(arg);
|
|
151
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Every registered language's services, typed as `TServices` like the
|
|
154
|
+
* lookups here rather than as Langium's base shape, so a sweep of the whole
|
|
155
|
+
* set reaches what a URI or a typed handle would have given it.
|
|
156
|
+
*
|
|
157
|
+
* The cast is sound because {@link register} is the only way a language
|
|
158
|
+
* enters and takes `TServices`; the inherited accessor is typed to Langium's
|
|
159
|
+
* base, which is the only reason one is needed.
|
|
160
|
+
*/
|
|
161
|
+
get all() {
|
|
162
|
+
return super.all;
|
|
163
|
+
}
|
|
152
164
|
/**
|
|
153
165
|
* Lookup by anything that identifies a document — an AST node (routed by
|
|
154
166
|
* the document it lives in), a `URI`, or a URI string. `undefined` when the
|
|
@@ -195,6 +207,10 @@ export class ExtendedServiceRegistry extends HydraniumServiceRegistry {
|
|
|
195
207
|
* inherited Langium semantics, which throws on miss). Used for
|
|
196
208
|
* dynamically-routed lookups where the language id comes from
|
|
197
209
|
* external input.
|
|
210
|
+
*
|
|
211
|
+
* The cast is sound because {@link register} is the only way a language
|
|
212
|
+
* enters and takes `TServices`; `languageIdMap` is inherited and typed to
|
|
213
|
+
* Langium's base, which is the only reason one is needed.
|
|
198
214
|
*/
|
|
199
215
|
getServicesById(languageId) {
|
|
200
216
|
return this.languageIdMap.get(languageId);
|
|
@@ -235,6 +251,27 @@ export class ExtendedServiceRegistry extends HydraniumServiceRegistry {
|
|
|
235
251
|
const owners = this.getServicesByType(type);
|
|
236
252
|
return owners.length === 1 ? owners[0] : undefined;
|
|
237
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* The language the strongest signal given names: a declared `languageId`,
|
|
256
|
+
* then `target`'s document, then the only registered language, then the sole
|
|
257
|
+
* producer of `type`. `undefined` when none answers, which leaves the
|
|
258
|
+
* fallback to the caller, since it differs per caller.
|
|
259
|
+
*
|
|
260
|
+
* A declared id comes first because every later signal is inferred, and an
|
|
261
|
+
* inference must not override a caller that said which grammar it means.
|
|
262
|
+
*/
|
|
263
|
+
getLanguageFor(hint) {
|
|
264
|
+
const declared = hint.languageId === undefined ? undefined : this.getServicesById(hint.languageId);
|
|
265
|
+
const located = declared ?? this.getServicesFor(hint.target);
|
|
266
|
+
if (located) {
|
|
267
|
+
return located;
|
|
268
|
+
}
|
|
269
|
+
const all = this.all;
|
|
270
|
+
if (all.length === 1) {
|
|
271
|
+
return all[0];
|
|
272
|
+
}
|
|
273
|
+
return hint.type === undefined ? undefined : this.soleServicesByType(hint.type);
|
|
274
|
+
}
|
|
238
275
|
/**
|
|
239
276
|
* Drop the memoised type index, so a language registered after the first
|
|
240
277
|
* type lookup is accounted for. The reason this index belongs on the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-registry.js","sourceRoot":"","sources":["../../src/langium/service-registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"service-registry.js","sourceRoot":"","sources":["../../src/langium/service-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,12 @@
|
|
|
8
8
|
********************************************************************************/
|
|
9
9
|
import type { Clock, Logger, Project, Tracer } from '@hydranium/protocol';
|
|
10
10
|
import type { LangiumSharedCoreServices } from '@hydranium/langium';
|
|
11
|
-
import type {
|
|
12
|
-
import type {
|
|
11
|
+
import type { ServerLocale } from '../locale/server-locale.js';
|
|
12
|
+
import type { MessageRenderer } from '../messages/renderer.js';
|
|
13
|
+
import type { SelfSaveRegistry } from './workspace/self-save-registry.js';
|
|
14
|
+
import type { ModelLedger } from '../documents/model-ledger.js';
|
|
15
|
+
import type { VersionSyncService } from '../documents/version-sync-service.js';
|
|
16
|
+
import type { WritableFileSystemProvider } from './workspace/file-system-provider.js';
|
|
13
17
|
import type { HydraniumDocumentRegistry } from './workspace/langium-documents.js';
|
|
14
18
|
import type { BuildPhasePassService } from './build-phase-pass/build-phase-pass-service.js';
|
|
15
19
|
import type { CstResidencyService } from './residency/cst-residency-service.js';
|
|
@@ -18,6 +22,7 @@ import type { ProjectManager } from './project/project-manager.js';
|
|
|
18
22
|
import type { ExtendedServiceRegistry } from './service-registry.js';
|
|
19
23
|
import type { DocumentUriPolicy } from './workspace/document-uri-policy.js';
|
|
20
24
|
import type { HydraniumWorkspaceManager } from './workspace/hydranium-workspace-manager.js';
|
|
25
|
+
import type { HydraniumDocumentBuilder } from './document-builder/document-builder.js';
|
|
21
26
|
import type { AdditionalDocumentContribution } from './workspace/additional-document-contribution.js';
|
|
22
27
|
/**
|
|
23
28
|
* Minimum shared-services shape every framework component reads from.
|
|
@@ -26,12 +31,13 @@ import type { AdditionalDocumentContribution } from './workspace/additional-docu
|
|
|
26
31
|
* framework additions that other framework services consume: the dedicated
|
|
27
32
|
* {@link Clock}, {@link Logger} and {@link Tracer} top-level slots (injectable
|
|
28
33
|
* time source, emission-only logger, and the measure-and-emit tracer composed
|
|
29
|
-
* from the other two), the {@link AdditionalDocumentContribution} group,
|
|
30
|
-
* {@link
|
|
34
|
+
* from the other two), the {@link AdditionalDocumentContribution} group, the
|
|
35
|
+
* {@link MessageRenderer} and the {@link ServerLocale} it renders in,
|
|
36
|
+
* an {@link ExtendedServiceRegistry}, and on `workspace` a writable file-system
|
|
31
37
|
* provider plus {@link HydraniumWorkspaceManager}, {@link ProjectManager},
|
|
32
38
|
* {@link SelfSaveRegistry}, {@link BuildPipelineIntegration},
|
|
33
|
-
* {@link BuildPhasePassService}, {@link CstResidencyService}
|
|
34
|
-
* {@link DocumentUriPolicy}.
|
|
39
|
+
* {@link BuildPhasePassService}, {@link CstResidencyService},
|
|
40
|
+
* {@link DocumentUriPolicy}, {@link ModelLedger} and {@link VersionSyncService}.
|
|
35
41
|
*
|
|
36
42
|
* Declared structurally (interface extends + intersection on nested slots)
|
|
37
43
|
* so the full `ServerSharedServices` and any consumer-extended variant
|
|
@@ -56,6 +62,14 @@ export interface ServerSharedServicesMinimal<TProject extends Project = Project>
|
|
|
56
62
|
* adopters deep-merge contributions that seed built-in / stdlib documents.
|
|
57
63
|
*/
|
|
58
64
|
additionalDocuments: Record<string, AdditionalDocumentContribution>;
|
|
65
|
+
/**
|
|
66
|
+
* Renders each user-facing message once, before the server sends it. On the
|
|
67
|
+
* shared tier with no workspace dependency, because all three heads'
|
|
68
|
+
* messages pass through it.
|
|
69
|
+
*/
|
|
70
|
+
MessageRenderer: MessageRenderer;
|
|
71
|
+
/** The locale an init handed the server, for whoever renders in it. */
|
|
72
|
+
ServerLocale: ServerLocale;
|
|
59
73
|
/**
|
|
60
74
|
* Narrows Langium's base `ServiceRegistry` slot to the framework impl the
|
|
61
75
|
* framework always binds, so the abstaining lookups — `getServicesFor`
|
|
@@ -70,12 +84,15 @@ export interface ServerSharedServicesMinimal<TProject extends Project = Project>
|
|
|
70
84
|
FileSystemProvider: WritableFileSystemProvider;
|
|
71
85
|
WorkspaceManager: HydraniumWorkspaceManager;
|
|
72
86
|
LangiumDocuments: HydraniumDocumentRegistry;
|
|
87
|
+
DocumentBuilder: HydraniumDocumentBuilder;
|
|
73
88
|
ProjectManager: ProjectManager<TProject>;
|
|
74
89
|
SelfSaveRegistry: SelfSaveRegistry;
|
|
75
90
|
BuildPipelineIntegration: BuildPipelineIntegration;
|
|
76
91
|
BuildPhasePassService: BuildPhasePassService;
|
|
77
92
|
CstResidencyService: CstResidencyService;
|
|
78
93
|
DocumentUriPolicy: DocumentUriPolicy;
|
|
94
|
+
ModelLedger: ModelLedger;
|
|
95
|
+
VersionSyncService: VersionSyncService;
|
|
79
96
|
};
|
|
80
97
|
}
|
|
81
98
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-services.d.ts","sourceRoot":"","sources":["../../src/langium/shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"shared-services.d.ts","sourceRoot":"","sources":["../../src/langium/shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AAEtG;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,2BAA2B,CAAC,QAAQ,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,yBAAyB;IAC/G,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;IACpE;;;;OAIG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC,uEAAuE;IACvE,YAAY,EAAE,YAAY,CAAC;IAC3B;;;;;;;;OAQG;IACH,eAAe,EAAE,uBAAuB,CAAC;IACzC,SAAS,EAAE,yBAAyB,CAAC,WAAW,CAAC,GAAG;QAGjD,kBAAkB,EAAE,0BAA0B,CAAC;QAI/C,gBAAgB,EAAE,yBAAyB,CAAC;QAK7B,gBAAgB,EAAE,yBAAyB,CAAC;QAI5C,eAAe,EAAE,wBAAwB,CAAC;QACzD,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACzC,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,WAAW,EAAE,WAAW,CAAC;QACzB,kBAAkB,EAAE,kBAAkB,CAAC;KACzC,CAAC;CACJ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,2BAA2B,KAAK,OAAO,GAAG,CAAC,QAAQ,EAAE,OAAO,KAAK,OAAO,CAEvI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-services.js","sourceRoot":"","sources":["../../src/langium/shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;
|
|
1
|
+
{"version":3,"file":"shared-services.js","sourceRoot":"","sources":["../../src/langium/shared-services.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAyGlF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAAU,MAA0D;IACpG,OAAO,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,QAAuC,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { type AstReflection } from '@hydranium/langium';
|
|
10
|
+
/**
|
|
11
|
+
* Fail fast when `reflection` extends `AbstractAstReflection` from a second
|
|
12
|
+
* copy of `langium`, which the files `langium-cli` generates run on: a second
|
|
13
|
+
* install, or one install a bundler or test runner loads twice.
|
|
14
|
+
*
|
|
15
|
+
* A reflection whose prototype chain misses this copy's base is taken to come
|
|
16
|
+
* from another copy when it carries the `subtypes` and `allSubtypes` fields that
|
|
17
|
+
* base creates, which `AstReflection` does not declare. Fields rather than the
|
|
18
|
+
* class name, because bundlers and minifiers rename classes; a hand-written
|
|
19
|
+
* reflection passes unless it declares both fields itself.
|
|
20
|
+
*/
|
|
21
|
+
export declare function assertSingleLangiumCopy(reflection: AstReflection, subject?: () => string): void;
|
|
22
|
+
//# sourceMappingURL=single-langium-copy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-langium-copy.d.ts","sourceRoot":"","sources":["../../src/langium/single-langium-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACpC,UAAU,EAAE,aAAa,EACzB,OAAO,GAAE,MAAM,MAA+F,GAC9G,IAAI,CAgBN"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { AbstractAstReflection } from '@hydranium/langium';
|
|
10
|
+
/**
|
|
11
|
+
* Fail fast when `reflection` extends `AbstractAstReflection` from a second
|
|
12
|
+
* copy of `langium`, which the files `langium-cli` generates run on: a second
|
|
13
|
+
* install, or one install a bundler or test runner loads twice.
|
|
14
|
+
*
|
|
15
|
+
* A reflection whose prototype chain misses this copy's base is taken to come
|
|
16
|
+
* from another copy when it carries the `subtypes` and `allSubtypes` fields that
|
|
17
|
+
* base creates, which `AstReflection` does not declare. Fields rather than the
|
|
18
|
+
* class name, because bundlers and minifiers rename classes; a hand-written
|
|
19
|
+
* reflection passes unless it declares both fields itself.
|
|
20
|
+
*/
|
|
21
|
+
export function assertSingleLangiumCopy(reflection, subject = () => `the shared AstReflection (${reflection.constructor?.name ?? 'no constructor'})`) {
|
|
22
|
+
if (reflection instanceof AbstractAstReflection) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (Object.hasOwn(reflection, 'subtypes') && Object.hasOwn(reflection, 'allSubtypes')) {
|
|
26
|
+
throw new Error(`[hydranium] ${subject()} extends \`AbstractAstReflection\` from another instance of \`langium\` than ` +
|
|
27
|
+
'the one `@hydranium/langium` loads, a second physical copy or one install loaded twice, so the generated ' +
|
|
28
|
+
'code runs on one and the framework on the other. Values Langium compares by identity, such as its ' +
|
|
29
|
+
'cancellation signal, are not recognised across the two. `npm explain langium` lists each installed copy ' +
|
|
30
|
+
'and what requires it. If your package resolves another version, declare `langium` at the version ' +
|
|
31
|
+
'`@hydranium/langium` pins and reinstall from scratch, without the lockfile; in a workspace, declare the ' +
|
|
32
|
+
'same pins in the root as well. If a test runner or bundler inlines `langium` but not `@hydranium/*`, ' +
|
|
33
|
+
'load both the same way.');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=single-langium-copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"single-langium-copy.js","sourceRoot":"","sources":["../../src/langium/single-langium-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,qBAAqB,EAAsB,MAAM,oBAAoB,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CACpC,UAAyB,EACzB,OAAO,GAAiB,GAAG,EAAE,CAAC,6BAA6B,UAAU,CAAC,WAAW,EAAE,IAAI,IAAI,gBAAgB,GAAG;IAE9G,IAAI,UAAU,YAAY,qBAAqB,EAAE,CAAC;QAC/C,OAAO;IACV,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CACZ,eAAe,OAAO,EAAE,+EAA+E;YACpG,2GAA2G;YAC3G,oGAAoG;YACpG,0GAA0G;YAC1G,mGAAmG;YACnG,0GAA0G;YAC1G,uGAAuG;YACvG,yBAAyB,CAC9B,CAAC;IACL,CAAC;AACJ,CAAC"}
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
*
|
|
7
7
|
* SPDX-License-Identifier: MIT
|
|
8
8
|
********************************************************************************/
|
|
9
|
-
import { type
|
|
9
|
+
import { type TransferModelSnapshot, type Tracer, type TransferDiagnostic, type TransferElement, type TransferTypeFor } from '@hydranium/protocol';
|
|
10
10
|
import { type AstNode, DocumentCache, type LangiumDocument } from '@hydranium/langium';
|
|
11
11
|
import { Diagnostic } from 'vscode-languageserver-protocol';
|
|
12
12
|
import { type AstDocument } from '../../documents/ast-document-manager.js';
|
|
13
13
|
import { type LogNameOptions } from '../diagnostics/logger.js';
|
|
14
14
|
import { type ServerSharedServicesMinimal } from '../shared-services.js';
|
|
15
|
-
import { type
|
|
15
|
+
import { type AstDiagnostic } from '../validation/document-validator.js';
|
|
16
16
|
/**
|
|
17
17
|
* Which set of properties {@link TransferEncoder.toTransfer} emits.
|
|
18
18
|
*
|
|
@@ -20,25 +20,28 @@ import { type TransferLspDiagnostic } from '../validation/document-validator.js'
|
|
|
20
20
|
* including AST-extension-derived computed scalars and synthetic child
|
|
21
21
|
* mirrors. This is the wire shape clients consume, and the default.
|
|
22
22
|
* - `'grammar'` — only the grammar-declared properties, per
|
|
23
|
-
* `AstReflection.getTypeMetaData($type).properties
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
23
|
+
* `AstReflection.getTypeMetaData($type).properties`, each carrying the
|
|
24
|
+
* node's own authored value. Excludes every computed / synthetic property
|
|
25
|
+
* by construction (no naming convention, no registration) and bypasses the
|
|
26
|
+
* `resolvePropertyValue` substitution hook, so neither a computed KEY nor a
|
|
27
|
+
* computed VALUE can reach this shape. Yields the authored state a
|
|
28
|
+
* serializer round-trips — a diffable, acyclic baseline for field-level
|
|
29
|
+
* recording / forward-write reconcile.
|
|
28
30
|
*/
|
|
29
31
|
export type TransferMode = 'full' | 'grammar';
|
|
30
32
|
/**
|
|
31
33
|
* Per-encode inputs threaded through the {@link TransferEncoder} walk and its
|
|
32
34
|
* hooks. Created once per encode entry (see
|
|
33
|
-
* {@link
|
|
34
|
-
* the recursion, so every hook invocation of one encode observes the
|
|
35
|
-
* inputs — unlike instance state, which two interleaving encodes would
|
|
35
|
+
* {@link DefaultTransferEncoder.createEncodeContext}) and passed unchanged
|
|
36
|
+
* through the recursion, so every hook invocation of one encode observes the
|
|
37
|
+
* same inputs — unlike instance state, which two interleaving encodes would
|
|
36
38
|
* clobber.
|
|
37
39
|
*
|
|
38
40
|
* Adopters widen the context by overriding `createEncodeContext` with a
|
|
39
41
|
* covariant return type and narrowing the hook parameter types accordingly
|
|
40
42
|
* (TypeScript method bivariance admits the narrowing). An input that changes
|
|
41
|
-
* the encoded output must also be folded into
|
|
43
|
+
* the encoded output must also be folded into
|
|
44
|
+
* {@link DefaultTransferEncoder.rootCacheKey}.
|
|
42
45
|
*/
|
|
43
46
|
export interface EncodeContext {
|
|
44
47
|
/** Property-set selection for this encode — see {@link TransferMode}. */
|
|
@@ -52,21 +55,58 @@ export interface EncodeContext {
|
|
|
52
55
|
readonly uri?: string;
|
|
53
56
|
}
|
|
54
57
|
/**
|
|
55
|
-
* The non-root inputs {@link
|
|
56
|
-
* build a wire envelope. Both of the encoder's document paths narrow
|
|
57
|
-
* before assembling — a built `LangiumDocument` (whose `uri` /
|
|
58
|
-
* its `textDocument`) and a server-internal `AstDocument`
|
|
59
|
-
* satisfies the shape structurally — so the assembly seam has
|
|
60
|
-
* implementation to override.
|
|
58
|
+
* The non-root inputs {@link DefaultTransferEncoder.assembleTransferDocument}
|
|
59
|
+
* needs to build a wire envelope. Both of the encoder's document paths narrow
|
|
60
|
+
* to this before assembling — a built `LangiumDocument` (whose `uri` /
|
|
61
|
+
* `version` live on its `textDocument`) and a server-internal `AstDocument`
|
|
62
|
+
* snapshot, which satisfies the shape structurally — so the assembly seam has
|
|
63
|
+
* exactly one implementation to override.
|
|
61
64
|
*
|
|
62
65
|
* `diagnostics` accepts either the wire shape (an already-projected
|
|
63
66
|
* `TDiagnostic`, as a snapshot may carry) or a raw LSP {@link Diagnostic}; the
|
|
64
67
|
* assembly projects each through {@link TransferEncoder.toTransferDiagnostic}.
|
|
68
|
+
* Absent for a document not validated yet, and left absent on the wire.
|
|
65
69
|
*/
|
|
66
70
|
export interface TransferEnvelopeSource<TDiagnostic> {
|
|
67
71
|
readonly uri: string;
|
|
68
72
|
readonly version: number;
|
|
69
|
-
readonly diagnostics
|
|
73
|
+
readonly diagnostics?: readonly (TDiagnostic | Diagnostic)[];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* A `TransferDocument` as the encoder produces it: the model block without
|
|
77
|
+
* its `hash`, which the data server computes from the encoded model.
|
|
78
|
+
*/
|
|
79
|
+
export interface EncodedTransferDocument<TTransfer extends TransferElement, TDiagnostic = TransferDiagnostic> {
|
|
80
|
+
uri: string;
|
|
81
|
+
model: Omit<TransferModelSnapshot<TTransfer, TDiagnostic>, 'hash'>;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* The AST→transfer contract a DI slot holds, implemented by
|
|
85
|
+
* {@link DefaultTransferEncoder}.
|
|
86
|
+
*
|
|
87
|
+
* **This is an interface and not the class, and that is load-bearing.** A class
|
|
88
|
+
* in a slot drags its `protected` members into every assignability check, which
|
|
89
|
+
* TypeScript compares NOMINALLY — so the slot type could not be satisfied by a
|
|
90
|
+
* subclass declared against a second physical copy of this package, and an
|
|
91
|
+
* adopter narrowing the slot had to intersect with the framework's declaration
|
|
92
|
+
* rather than replace it, leaving method resolution dependent on declaration
|
|
93
|
+
* order. An interface has no protected members and is compared structurally, so
|
|
94
|
+
* neither applies.
|
|
95
|
+
*
|
|
96
|
+
* **The transfer returns are the structural base ({@link TransferElement}), not
|
|
97
|
+
* the per-grammar overlay.** The overlay cannot parameterise this contract:
|
|
98
|
+
* `TransferTypeFor` reaches `keyof TTransferMap`, which makes that parameter
|
|
99
|
+
* measured-INVARIANT, and invariant parameters relate only when their arguments
|
|
100
|
+
* are mutually assignable — so a map-parameterised contract admits no adopter
|
|
101
|
+
* instantiation at all. Heads read this contract and do not know adopter maps;
|
|
102
|
+
* an adopter recovers the precise type by declaring its own slot, which it can
|
|
103
|
+
* now do by replacement.
|
|
104
|
+
*/
|
|
105
|
+
export interface TransferEncoder<TDiagnostic extends TransferDiagnostic = TransferDiagnostic> {
|
|
106
|
+
toTransfer<T extends AstNode>(ast: T, mode?: TransferMode): TransferElement;
|
|
107
|
+
toTransferDocument(langiumDocument: LangiumDocument): EncodedTransferDocument<TransferElement, TDiagnostic>;
|
|
108
|
+
astDocumentToTransferDocument<TAst extends AstNode>(document: AstDocument<TAst, AstDiagnostic>): EncodedTransferDocument<TransferElement, TDiagnostic>;
|
|
109
|
+
toTransferDiagnostic(diagnostic: AstDiagnostic): TDiagnostic;
|
|
70
110
|
}
|
|
71
111
|
/**
|
|
72
112
|
* One-directional structural mapper from a Langium AST into the wire
|
|
@@ -101,18 +141,19 @@ export interface TransferEnvelopeSource<TDiagnostic> {
|
|
|
101
141
|
* - {@link propertyKeys} — which property names the walk visits.
|
|
102
142
|
* - {@link shouldEmitProperty} — per-key filter on top of the default
|
|
103
143
|
* `$`-internals strip.
|
|
104
|
-
* - {@link resolvePropertyValue} — value substitution per property
|
|
144
|
+
* - {@link resolvePropertyValue} — value substitution per property, `'full'`
|
|
145
|
+
* mode only (see there for why `'grammar'` bypasses it).
|
|
105
146
|
* - {@link finalizeTransferNode} — post-decoration per encoded node.
|
|
106
147
|
* - {@link toTransferValue} — recursion seam per property value. Override
|
|
107
148
|
* to special-case reference encoding or to drop specific value shapes.
|
|
108
149
|
* Envelope-level seams:
|
|
109
150
|
* - {@link toTransferDocument} — bundle root + diagnostics into the wire
|
|
110
|
-
* {@link
|
|
151
|
+
* {@link EncodedTransferDocument} envelope. Override to filter / merge
|
|
111
152
|
* diagnostics from auxiliary sources or to project a synthesised root.
|
|
112
|
-
* - {@link toTransferDiagnostic} — project a {@link
|
|
153
|
+
* - {@link toTransferDiagnostic} — project a {@link AstDiagnostic}
|
|
113
154
|
* (the framework validator's output) to {@link TDiagnostic}.
|
|
114
155
|
*/
|
|
115
|
-
export declare class
|
|
156
|
+
export declare class DefaultTransferEncoder<TTransferMap = Record<string, TransferElement>, TDiagnostic extends TransferDiagnostic = TransferDiagnostic> {
|
|
116
157
|
protected readonly services: ServerSharedServicesMinimal;
|
|
117
158
|
protected readonly tracer: Tracer;
|
|
118
159
|
/**
|
|
@@ -194,8 +235,17 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
194
235
|
*/
|
|
195
236
|
protected shouldEmitProperty(_ast: AstNode, key: string, _context: EncodeContext): boolean;
|
|
196
237
|
/**
|
|
197
|
-
* Which value the walk emits under `key
|
|
198
|
-
*
|
|
238
|
+
* Which value the walk emits under `key`, in `'full'` mode ONLY. Default:
|
|
239
|
+
* the node's own value.
|
|
240
|
+
*
|
|
241
|
+
* Override to substitute a derived value under a grammar property name — an
|
|
242
|
+
* inheritance-resolved field, a preference-dependent label. `'grammar'`
|
|
243
|
+
* bypasses this hook and reads the node directly: that mode's contract is
|
|
244
|
+
* the authored state a serializer round-trips, and a substituted value is by
|
|
245
|
+
* construction not the one the document declared. An override that applied
|
|
246
|
+
* in both modes would leave the grammar shape carrying derived values under
|
|
247
|
+
* declared property names — diffable and acyclic still, but no longer
|
|
248
|
+
* authored, which is the property every consumer of that mode relies on.
|
|
199
249
|
*/
|
|
200
250
|
protected resolvePropertyValue(ast: AstNode, key: string, _context: EncodeContext): unknown;
|
|
201
251
|
/**
|
|
@@ -206,7 +256,7 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
206
256
|
*/
|
|
207
257
|
protected finalizeTransferNode(_ast: AstNode, _result: Record<string, unknown>, _context: EncodeContext): void;
|
|
208
258
|
/**
|
|
209
|
-
* Build a wire {@link
|
|
259
|
+
* Build a wire {@link EncodedTransferDocument} envelope from a built
|
|
210
260
|
* {@link LangiumDocument}. The `'full'` root is served from the internal
|
|
211
261
|
* {@link rootCache} (memoised per document until it next rebuilds), under
|
|
212
262
|
* {@link rootCacheKey} — so the data-server's fingerprint and emitted
|
|
@@ -228,7 +278,7 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
228
278
|
* that claim — Langium types `parseResult.value` as a bare `AstNode` — but
|
|
229
279
|
* the runtime walk doesn't depend on the typing being correct.
|
|
230
280
|
*/
|
|
231
|
-
toTransferDocument<TAst extends AstNode>(langiumDocument: LangiumDocument):
|
|
281
|
+
toTransferDocument<TAst extends AstNode>(langiumDocument: LangiumDocument): EncodedTransferDocument<TransferTypeFor<TAst, TTransferMap>, TDiagnostic>;
|
|
232
282
|
/**
|
|
233
283
|
* Wrap an already-encoded root into the wire envelope (uri / version /
|
|
234
284
|
* projected diagnostics).
|
|
@@ -241,19 +291,18 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
241
291
|
* {@link TransferEnvelopeSource} rather than a `LangiumDocument` precisely
|
|
242
292
|
* so the snapshot path can reach it without a `LangiumDocuments` lookup.
|
|
243
293
|
*/
|
|
244
|
-
protected assembleTransferDocument<TAst extends AstNode>(source: TransferEnvelopeSource<TDiagnostic>, root: TransferTypeFor<TAst, TTransferMap>):
|
|
294
|
+
protected assembleTransferDocument<TAst extends AstNode>(source: TransferEnvelopeSource<TDiagnostic>, root: TransferTypeFor<TAst, TTransferMap>): EncodedTransferDocument<TransferTypeFor<TAst, TTransferMap>, TDiagnostic>;
|
|
245
295
|
/**
|
|
246
|
-
* Build a wire {@link
|
|
247
|
-
* {@link AstDocument} snapshot (the AST-typed envelope
|
|
248
|
-
*
|
|
249
|
-
* `ModelService.request` / `update` / `save`). Distinct from
|
|
296
|
+
* Build a wire {@link EncodedTransferDocument} envelope from a server-internal
|
|
297
|
+
* {@link AstDocument} snapshot (the AST-typed envelope `ModelService`'s
|
|
298
|
+
* events carry and its reads and session writes return). Distinct from
|
|
250
299
|
* {@link toTransferDocument}(`LangiumDocument`) which encodes against
|
|
251
300
|
* the live build artifact — adopter facade returns hold the snapshot
|
|
252
301
|
* directly, and this helper bridges that to the wire shape without a
|
|
253
302
|
* second `LangiumDocuments.getDocument` lookup.
|
|
254
303
|
*
|
|
255
304
|
* The `diagnostic` projection assumes the snapshot's diagnostics carry
|
|
256
|
-
* the `
|
|
305
|
+
* the `AstDiagnostic` shape ({@link Diagnostic} plus the
|
|
257
306
|
* framework validator's `element` / `property` decoration). Snapshots
|
|
258
307
|
* built from raw Langium diagnostics structurally satisfy this — the
|
|
259
308
|
* extra fields are optional in the projection.
|
|
@@ -263,10 +312,10 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
263
312
|
* {@link TransferEnvelopeSource} structurally), so this path shares the
|
|
264
313
|
* assembly seam rather than duplicating it.
|
|
265
314
|
*/
|
|
266
|
-
astDocumentToTransferDocument<TAst extends AstNode>(document: AstDocument<TAst,
|
|
315
|
+
astDocumentToTransferDocument<TAst extends AstNode>(document: AstDocument<TAst, AstDiagnostic>): EncodedTransferDocument<TransferTypeFor<TAst, TTransferMap>, TDiagnostic>;
|
|
267
316
|
/**
|
|
268
317
|
* Project an LSP-shaped diagnostic (typically a
|
|
269
|
-
* {@link
|
|
318
|
+
* {@link AstDiagnostic} produced by
|
|
270
319
|
* `HydraniumDocumentValidator` — adds `element` + optional `property`
|
|
271
320
|
* to the standard {@link Diagnostic} shape) to the wire-diagnostic
|
|
272
321
|
* shape.
|
|
@@ -285,7 +334,7 @@ export declare class TransferEncoder<TTransferMap = Record<string, TransferEleme
|
|
|
285
334
|
* Override only if the wire-diagnostic shape needs fields beyond
|
|
286
335
|
* what {@link TransferDiagnostic} carries.
|
|
287
336
|
*/
|
|
288
|
-
toTransferDiagnostic(diagnostic:
|
|
337
|
+
toTransferDiagnostic(diagnostic: AstDiagnostic): TDiagnostic;
|
|
289
338
|
/**
|
|
290
339
|
* Recursion seam — converts a single property value during the AST
|
|
291
340
|
* walk. Arrays recurse element-wise; cross-references collapse to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer-encoder.d.ts","sourceRoot":"","sources":["../../../src/langium/transfer/transfer-encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,
|
|
1
|
+
{"version":3,"file":"transfer-encoder.d.ts","sourceRoot":"","sources":["../../../src/langium/transfer/transfer-encoder.ts"],"names":[],"mappings":"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"}
|