@cratis/screenplay-language 5.2.0 → 5.3.1
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/bundles/TypeReferenceSymbol.js.map +1 -1
- package/dist/bundles/action-subject-authoring.js.map +1 -1
- package/dist/bundles/bmp-word-characters.js.map +1 -1
- package/dist/bundles/case-authoring.js +1 -1
- package/dist/bundles/case-authoring.js.map +1 -1
- package/dist/bundles/code-actions.js.map +1 -1
- package/dist/bundles/command-read-completions.js.map +1 -1
- package/dist/bundles/compiler/Authoring/ActionSubjectQuickFixes.js +3 -3
- package/dist/bundles/compiler/Authoring/ActionSubjectQuickFixes.js.map +1 -1
- package/dist/bundles/compiler/Authoring/QuickFixes.js +4 -4
- package/dist/bundles/compiler/Authoring/QuickFixes.js.map +1 -1
- package/dist/bundles/compiler/Authoring/StructuredValueQuickFix.js +1 -1
- package/dist/bundles/compiler/Authoring/StructuredValueQuickFix.js.map +1 -1
- package/dist/bundles/compiler/Authoring/TimelineQuickFixContext.js +4 -4
- package/dist/bundles/compiler/Authoring/TimelineQuickFixContext.js.map +1 -1
- package/dist/bundles/compiler/Authoring/TimelineQuickFixImports.js +2 -2
- package/dist/bundles/compiler/Authoring/TimelineQuickFixImports.js.map +1 -1
- package/dist/bundles/compiler/Authoring/TimelineQuickFixes.js +1 -1
- package/dist/bundles/compiler/Authoring/TimelineQuickFixes.js.map +1 -1
- package/dist/bundles/compiler/Dependencies/DeclaredDependencies.js.map +1 -1
- package/dist/bundles/compiler/Dependencies/DeclaredDependencyTargets.js.map +1 -1
- package/dist/bundles/compiler/Dependencies/DependencyGraph.js +1 -1
- package/dist/bundles/compiler/Dependencies/DependencyGraph.js.map +1 -1
- package/dist/bundles/compiler/Dependencies/DependencyKind.js.map +1 -1
- package/dist/bundles/compiler/Dependencies/InvalidDependencyQuery.js.map +1 -1
- package/dist/bundles/compiler/Dependencies/SliceReferences.js.map +1 -1
- package/dist/bundles/compiler/Dependencies/StronglyConnectedGroups.js.map +1 -1
- package/dist/bundles/compiler/Diagnostics/DiagnosticArgument.js.map +1 -1
- package/dist/bundles/compiler/Diagnostics/DiagnosticCodes.js +1 -1
- package/dist/bundles/compiler/Diagnostics/DiagnosticCodes.js.map +1 -1
- package/dist/bundles/compiler/Diagnostics/ProductionDestinationDiagnostics.js +1 -1
- package/dist/bundles/compiler/Diagnostics/ProductionDestinationDiagnostics.js.map +1 -1
- package/dist/bundles/compiler/Diagnostics/SourceLocation.js.map +1 -1
- package/dist/bundles/compiler/Files/AuthoredOrder.js +1 -1
- package/dist/bundles/compiler/Files/AuthoredOrder.js.map +1 -1
- package/dist/bundles/compiler/Files/OrderingRoot.js +1 -1
- package/dist/bundles/compiler/Files/OrderingRoot.js.map +1 -1
- package/dist/bundles/compiler/Files/PlayApplicationAssembly.js +1 -1
- package/dist/bundles/compiler/Files/PlayApplicationAssembly.js.map +1 -1
- package/dist/bundles/compiler/Files/PlayDocumentSource.js.map +1 -1
- package/dist/bundles/compiler/Files/PlayFolderMerge.js +1 -1
- package/dist/bundles/compiler/Files/PlayFolderMerge.js.map +1 -1
- package/dist/bundles/compiler/Files/PlayGlob.js +2 -1
- package/dist/bundles/compiler/Files/PlayGlob.js.map +1 -1
- package/dist/bundles/compiler/Files/PlayImports.js +1 -1
- package/dist/bundles/compiler/Files/PlayImports.js.map +1 -1
- package/dist/bundles/compiler/Files/PlayPlacement.js.map +1 -1
- package/dist/bundles/compiler/Files/TimelineOrder.js +1 -1
- package/dist/bundles/compiler/Files/TimelineOrder.js.map +1 -1
- package/dist/bundles/compiler/Generation/FiniteGenerationRules.js +1 -1
- package/dist/bundles/compiler/Generation/GenerationAssessmentCache.js.map +1 -1
- package/dist/bundles/compiler/Generation/GenerationChecksum.js.map +1 -1
- package/dist/bundles/compiler/Generation/GenerationPattern.js +1 -1
- package/dist/bundles/compiler/Generation/GenerationPattern.js.map +1 -1
- package/dist/bundles/compiler/Generation/GenerationPatternAssessment.js.map +1 -1
- package/dist/bundles/compiler/Generation/GenerationPatternParser.js.map +1 -1
- package/dist/bundles/compiler/Generation/GenerationPatternToken.js.map +1 -1
- package/dist/bundles/compiler/Generation/GenerationRuleProof.js +1 -1
- package/dist/bundles/compiler/Generation/InvalidGenerationPattern.js.map +1 -1
- package/dist/bundles/compiler/Generation/RegexCharacters.js.map +1 -1
- package/dist/bundles/compiler/Generation/RegexExpression.js.map +1 -1
- package/dist/bundles/compiler/Generation/RuleConsistency.js +1 -1
- package/dist/bundles/compiler/Parsing/ActionSubjectClause.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ActionSubjectInputs.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ActionSubjectResolution.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ApplicationContextParser.js +2 -0
- package/dist/bundles/compiler/Parsing/ApplicationContextParser.js.map +1 -0
- package/dist/bundles/compiler/Parsing/AuthorizeParser.js +1 -1
- package/dist/bundles/compiler/Parsing/AuthorizeParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CanvasPlacement.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CaptureEventFixturesValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CaptureParser.js +1 -1
- package/dist/bundles/compiler/Parsing/CaptureParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ClockOperandParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CodeBlockParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CommandDestinationTypes.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CommandHandlerValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CommandParser.js +1 -1
- package/dist/bundles/compiler/Parsing/CommandParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CommandReadSources.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CommandResponseParser.js +1 -1
- package/dist/bundles/compiler/Parsing/CommandResponseParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CommandStreamCandidates.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CompositeStreamIdValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/CompositionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/CompositionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ConceptComplianceParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ConceptComplianceParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ConditionDepthBudget.js +2 -0
- package/dist/bundles/compiler/Parsing/ConditionDepthBudget.js.map +1 -0
- package/dist/bundles/compiler/Parsing/ConditionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ConditionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ConstraintParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ConstraintParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ConstraintPropertyValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/ConstraintPropertyValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ContinuationValues.js.map +1 -1
- package/dist/bundles/compiler/Parsing/DeclarationParsers.js +1 -1
- package/dist/bundles/compiler/Parsing/DeclarationParsers.js.map +1 -1
- package/dist/bundles/compiler/Parsing/DependencySourceParser.js +1 -1
- package/dist/bundles/compiler/Parsing/DependencySourceParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/DependsOnParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/DescriptionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/DescriptionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/DocumentationParser.js +1 -1
- package/dist/bundles/compiler/Parsing/DocumentationParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/EnumerationMembers.js +1 -1
- package/dist/bundles/compiler/Parsing/EnumerationMembers.js.map +1 -1
- package/dist/bundles/compiler/Parsing/EventMetadataParser.js +1 -1
- package/dist/bundles/compiler/Parsing/EventMetadataParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/EventSourceParser.js +1 -1
- package/dist/bundles/compiler/Parsing/EventSourceParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/EventSourceValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/EventSourceValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/EventSubjectValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/EventSubjectValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ExpressionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ExpressionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/FeatureBody.js +1 -1
- package/dist/bundles/compiler/Parsing/FeatureBody.js.map +1 -1
- package/dist/bundles/compiler/Parsing/FileImportParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/FileReferences.js.map +1 -1
- package/dist/bundles/compiler/Parsing/FoldedEventSources.js.map +1 -1
- package/dist/bundles/compiler/Parsing/GenerationBodyParser.js +1 -1
- package/dist/bundles/compiler/Parsing/GenerationBodyParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/GenerationParser.js +1 -1
- package/dist/bundles/compiler/Parsing/GenerationParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/GuardedActionInputs.js.map +1 -1
- package/dist/bundles/compiler/Parsing/GuardedActionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/GuardedActionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/GuardedActionShadowing.js.map +1 -1
- package/dist/bundles/compiler/Parsing/GuardedActionValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/GuardedActionValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/GuardedInteractions.js +1 -1
- package/dist/bundles/compiler/Parsing/GuardedInteractions.js.map +1 -1
- package/dist/bundles/compiler/Parsing/IdentifierComplianceValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/IdentifierComplianceValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/IdentityParser.js +1 -1
- package/dist/bundles/compiler/Parsing/IdentityParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/IdentityValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ImplementationParser.js +2 -2
- package/dist/bundles/compiler/Parsing/ImplementationParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ImportDiscovery.js +1 -1
- package/dist/bundles/compiler/Parsing/ImportDiscovery.js.map +1 -1
- package/dist/bundles/compiler/Parsing/InlineEventValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/InputUses.js +1 -1
- package/dist/bundles/compiler/Parsing/InputUses.js.map +1 -1
- package/dist/bundles/compiler/Parsing/InteractionAlternatives.js +1 -1
- package/dist/bundles/compiler/Parsing/InteractionAlternatives.js.map +1 -1
- package/dist/bundles/compiler/Parsing/InteractionExecutions.js +1 -1
- package/dist/bundles/compiler/Parsing/InteractionExecutions.js.map +1 -1
- package/dist/bundles/compiler/Parsing/LegacyTextRulePatterns.js.map +1 -1
- package/dist/bundles/compiler/Parsing/LineReader.js.map +1 -1
- package/dist/bundles/compiler/Parsing/LineText.js.map +1 -1
- package/dist/bundles/compiler/Parsing/MatchAmbiguity.js +1 -1
- package/dist/bundles/compiler/Parsing/MatchAmbiguity.js.map +1 -1
- package/dist/bundles/compiler/Parsing/MatchAmbiguityCharacters.js.map +1 -1
- package/dist/bundles/compiler/Parsing/MatchAmbiguityGraph.js.map +1 -1
- package/dist/bundles/compiler/Parsing/MatchAmbiguityParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/MatchOperandValidation.js +1 -1
- package/dist/bundles/compiler/Parsing/MatchOperandValidation.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ModuleBody.js +1 -1
- package/dist/bundles/compiler/Parsing/ModuleBody.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ObserverFilterParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ObserverFilterParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ObserverFilterValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/OperationParser.js +1 -1
- package/dist/bundles/compiler/Parsing/OperationParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/OperationValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/OperationValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ParserContext.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PersonaCallerValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PolicyParser.js +1 -1
- package/dist/bundles/compiler/Parsing/PolicyParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PortableMatchGroupName.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PortableMatchPattern.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PortableMatchSuggestions.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PossibleEventsParser.js +1 -1
- package/dist/bundles/compiler/Parsing/PossibleEventsParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ProducesParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ProducesParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionEventScopeValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionExpressionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionExpressionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionTargetValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/ProjectionTargetValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PropertyLineParser.js +1 -1
- package/dist/bundles/compiler/Parsing/PropertyLineParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PublicEventMetadataValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/PublicEventMetadataValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PublicEventUsageCollector.js +1 -1
- package/dist/bundles/compiler/Parsing/PublicEventUsageCollector.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PublicEventUsageValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/PublicEventUsageValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PurposeParser.js +1 -1
- package/dist/bundles/compiler/Parsing/PurposeParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/PurposeValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/QueryParser.js +1 -1
- package/dist/bundles/compiler/Parsing/QueryParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ReactionIdentityParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ReactionIdentityParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ReactionParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ReactionParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ReactionRefusalValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/ReactionRefusalValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ReadModelKeyValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ReadModelMemberTypeValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ReadsParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ReadsParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/RedeliveryValues.js.map +1 -1
- package/dist/bundles/compiler/Parsing/RefusalDeclarations.js +1 -1
- package/dist/bundles/compiler/Parsing/RefusalDeclarations.js.map +1 -1
- package/dist/bundles/compiler/Parsing/RefusalValueWalker.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ResponseCommandResolver.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ResponseDateValues.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ResponseValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/ResponseValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ScreenParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ScreenParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/ScreenplayParser.js +1 -1
- package/dist/bundles/compiler/Parsing/ScreenplayParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SeedParser.js +1 -1
- package/dist/bundles/compiler/Parsing/SeedParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SliceParser.js +1 -1
- package/dist/bundles/compiler/Parsing/SliceParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SourceLine.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SourceLineSplitter.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SourceOptionsParser.js +1 -1
- package/dist/bundles/compiler/Parsing/SourceOptionsParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationCaseParser.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationCaseParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationCaseValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationCaseValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationCommandExamples.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationCommandExamples.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationExampleParser.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationExampleParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationParser.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationRedeliveryValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationRedeliveryValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationResponseParser.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationResponseParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationRouteComparison.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationRouteComparison.js.map +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationStreamValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/SpecificationStreamValidator.js.map +1 -1
- package/dist/bundles/compiler/Parsing/StateMachineParser.js +1 -1
- package/dist/bundles/compiler/Parsing/StateMachineParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/StructuralInteractionSites.js.map +1 -1
- package/dist/bundles/compiler/Parsing/StructuredBlockParser.js +1 -1
- package/dist/bundles/compiler/Parsing/StructuredBlockParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/StructuredValueParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/TemplateReferenceText.js +1 -1
- package/dist/bundles/compiler/Parsing/TemplateReferenceText.js.map +1 -1
- package/dist/bundles/compiler/Parsing/TriggerDataParser.js +1 -1
- package/dist/bundles/compiler/Parsing/TriggerDataParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/UiBindingParser.js +1 -1
- package/dist/bundles/compiler/Parsing/UiBindingParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/UiProfileLegacyLayout.js +1 -1
- package/dist/bundles/compiler/Parsing/UiProfileLegacyLayout.js.map +1 -1
- package/dist/bundles/compiler/Parsing/WorkflowParser.js +1 -1
- package/dist/bundles/compiler/Parsing/WorkflowParser.js.map +1 -1
- package/dist/bundles/compiler/Parsing/checkPortableMatchPattern.js.map +1 -1
- package/dist/bundles/compiler/Parsing/hasExponentialMatchAmbiguity.js.map +1 -1
- package/dist/bundles/compiler/Parsing/trimMatchAmbiguityGraph.js.map +1 -1
- package/dist/bundles/compiler/ScreenActionSubjects.js.map +1 -1
- package/dist/bundles/compiler/ScreenplayCompiler.js +1 -1
- package/dist/bundles/compiler/ScreenplayCompiler.js.map +1 -1
- package/dist/bundles/compiler/Syntax/ActionSubjectInvariants.js.map +1 -1
- package/dist/bundles/compiler/Syntax/AuthoringProductionResolver.js.map +1 -1
- package/dist/bundles/compiler/Syntax/CaptureEventsSource.js.map +1 -1
- package/dist/bundles/compiler/Syntax/DependencySources.js.map +1 -1
- package/dist/bundles/compiler/Syntax/EventDeclarations.js.map +1 -1
- package/dist/bundles/compiler/Syntax/EventSourceCatalog.js.map +1 -1
- package/dist/bundles/compiler/Syntax/EventSourceReadConfidence.js.map +1 -1
- package/dist/bundles/compiler/Syntax/ExactMathFacts.js.map +1 -1
- package/dist/bundles/compiler/Syntax/ExactNumber.js.map +1 -1
- package/dist/bundles/compiler/Syntax/InvalidSyntaxJson.js.map +1 -1
- package/dist/bundles/compiler/Syntax/LegacyWireProjection.js.map +1 -1
- package/dist/bundles/compiler/Syntax/Operations.js.map +1 -1
- package/dist/bundles/compiler/Syntax/PersonaCallers.js.map +1 -1
- package/dist/bundles/compiler/Syntax/ProductionDestinations.js.map +1 -1
- package/dist/bundles/compiler/Syntax/PublicEventInvariants.js.map +1 -1
- package/dist/bundles/compiler/Syntax/ScreenplaySyntaxWalker.js +1 -1
- package/dist/bundles/compiler/Syntax/ScreenplaySyntaxWalker.js.map +1 -1
- package/dist/bundles/compiler/Syntax/SourceOptions.js.map +1 -1
- package/dist/bundles/compiler/Syntax/SpecificationCaseOrigin.js.map +1 -1
- package/dist/bundles/compiler/Syntax/StreamIdFormatter.js.map +1 -1
- package/dist/bundles/compiler/Syntax/StrictSyntaxJson.js +1 -1
- package/dist/bundles/compiler/Syntax/Structure.js.map +1 -1
- package/dist/bundles/compiler/Syntax/SyntaxCollections.js +1 -1
- package/dist/bundles/compiler/Syntax/SyntaxCollections.js.map +1 -1
- package/dist/bundles/compiler/Syntax/SyntaxInvariants.js +1 -1
- package/dist/bundles/compiler/Syntax/SyntaxInvariants.js.map +1 -1
- package/dist/bundles/compiler/Syntax/SyntaxJson.js +1 -1
- package/dist/bundles/compiler/Syntax/SyntaxJson.js.map +1 -1
- package/dist/bundles/compiler/Syntax/SyntaxMemberContracts.js.map +1 -1
- package/dist/bundles/compiler/Syntax/index.js +1 -1
- package/dist/bundles/compiler/Text/ImplementationHintText.js.map +1 -1
- package/dist/bundles/compiler/Text/ReservedWords.js.map +1 -1
- package/dist/bundles/compiler/Text/SourceStreamNames.js.map +1 -1
- package/dist/bundles/compiler/Text/StringLiteral.js.map +1 -1
- package/dist/bundles/compiler/Text/ordinalIgnoreCaseKey.js.map +1 -1
- package/dist/bundles/compiler/Text/patterns.js.map +1 -1
- package/dist/bundles/compiler/index.js +1 -1
- package/dist/bundles/completion-items.js +18 -17
- package/dist/bundles/completion-items.js.map +1 -1
- package/dist/bundles/completion-planner.js +2 -2
- package/dist/bundles/completion-planner.js.map +1 -1
- package/dist/bundles/completions.js +1 -1
- package/dist/bundles/completions.js.map +1 -1
- package/dist/bundles/continuation-responses.js +1 -1
- package/dist/bundles/continuation-responses.js.map +1 -1
- package/dist/bundles/declarations.js.map +1 -1
- package/dist/bundles/dependency-completions.js.map +1 -1
- package/dist/bundles/dependency-target-analysis.js.map +1 -1
- package/dist/bundles/diagnostic-codes.js +1 -1
- package/dist/bundles/diagnostic-codes.js.map +1 -1
- package/dist/bundles/diagnostics.js +1 -1
- package/dist/bundles/diagnostics.js.map +1 -1
- package/dist/bundles/document-context.js.map +1 -1
- package/dist/bundles/documentation-item.js.map +1 -1
- package/dist/bundles/event-analysis-source.js.map +1 -1
- package/dist/bundles/event-context-catalog.js.map +1 -1
- package/dist/bundles/event-context.js.map +1 -1
- package/dist/bundles/event-source-authoring.js +11 -11
- package/dist/bundles/event-source-authoring.js.map +1 -1
- package/dist/bundles/example-analysis.js +2 -2
- package/dist/bundles/example-analysis.js.map +1 -1
- package/dist/bundles/example-authoring.js +2 -2
- package/dist/bundles/example-authoring.js.map +1 -1
- package/dist/bundles/example-declaration-items.js.map +1 -1
- package/dist/bundles/example-values.js.map +1 -1
- package/dist/bundles/file-imports.js.map +1 -1
- package/dist/bundles/file-references.js.map +1 -1
- package/dist/bundles/generation-completions.js.map +1 -1
- package/dist/bundles/hover-content.js +5 -5
- package/dist/bundles/hover-content.js.map +1 -1
- package/dist/bundles/hover.js.map +1 -1
- package/dist/bundles/index.js +1 -1
- package/dist/bundles/index.js.map +1 -1
- package/dist/bundles/inlay-hints.js.map +1 -1
- package/dist/bundles/inline-completions.js +1 -1
- package/dist/bundles/inline-completions.js.map +1 -1
- package/dist/bundles/inline-event-validation.js +1 -1
- package/dist/bundles/inline-event-validation.js.map +1 -1
- package/dist/bundles/keyword-docs.js +1 -1
- package/dist/bundles/keyword-docs.js.map +1 -1
- package/dist/bundles/language.js +1 -1
- package/dist/bundles/language.js.map +1 -1
- package/dist/bundles/named-rule-context.js.map +1 -1
- package/dist/bundles/operation-authoring.js +6 -6
- package/dist/bundles/operation-authoring.js.map +1 -1
- package/dist/bundles/persona-analysis.js +1 -1
- package/dist/bundles/persona-analysis.js.map +1 -1
- package/dist/bundles/production-destinations.js +1 -1
- package/dist/bundles/production-destinations.js.map +1 -1
- package/dist/bundles/purpose-items.js.map +1 -1
- package/dist/bundles/reaction-authoring.js +3 -3
- package/dist/bundles/reaction-authoring.js.map +1 -1
- package/dist/bundles/read-model-key-completions.js +1 -1
- package/dist/bundles/read-model-key-completions.js.map +1 -1
- package/dist/bundles/refusal-context.js.map +1 -1
- package/dist/bundles/response-analysis.js +1 -1
- package/dist/bundles/response-analysis.js.map +1 -1
- package/dist/bundles/response-completions.js +1 -1
- package/dist/bundles/response-completions.js.map +1 -1
- package/dist/bundles/response-tokens.js +2 -2
- package/dist/bundles/response-tokens.js.map +1 -1
- package/dist/bundles/scope-items.js +3 -3
- package/dist/bundles/scope-items.js.map +1 -1
- package/dist/bundles/structure-completions.js.map +1 -1
- package/dist/bundles/sub-language-registry.js.map +1 -1
- package/dist/bundles/sub-languages/capture/CompletionProvider.js.map +1 -1
- package/dist/bundles/sub-languages/capture/HoverProvider.js.map +1 -1
- package/dist/bundles/sub-languages/capture/Validator.js.map +1 -1
- package/dist/bundles/sub-languages/capture/index.js.map +1 -1
- package/dist/bundles/sub-languages/capture/language.js.map +1 -1
- package/dist/bundles/sub-languages/cdl.js.map +1 -1
- package/dist/bundles/sub-languages/pdl.js.map +1 -1
- package/dist/bundles/sub-languages/projection/CodeActionProvider.js.map +1 -1
- package/dist/bundles/sub-languages/projection/CompletionProvider.js +1 -1
- package/dist/bundles/sub-languages/projection/CompletionProvider.js.map +1 -1
- package/dist/bundles/sub-languages/projection/HoverProvider.js.map +1 -1
- package/dist/bundles/sub-languages/projection/Validator.js.map +1 -1
- package/dist/bundles/sub-languages/projection/index.js.map +1 -1
- package/dist/bundles/sub-languages/projection/language.js.map +1 -1
- package/dist/bundles/symbols.js +2 -2
- package/dist/bundles/symbols.js.map +1 -1
- package/dist/bundles/themes/screenplay-dark.js.map +1 -1
- package/dist/bundles/themes/screenplay-light.js.map +1 -1
- package/dist/bundles/tokens.js +1 -1
- package/dist/bundles/tokens.js.map +1 -1
- package/dist/bundles/validation.js +2 -2
- package/dist/bundles/validation.js.map +1 -1
- package/dist/completion-items.d.ts +1 -0
- package/dist/completion-items.d.ts.map +1 -1
- package/dist/completion-planner.d.ts.map +1 -1
- package/dist/diagnostic-codes.d.ts +6 -0
- package/dist/diagnostic-codes.d.ts.map +1 -1
- package/dist/keyword-docs.d.ts.map +1 -1
- package/dist/language.d.ts.map +1 -1
- package/dist/scope-items.d.ts.map +1 -1
- package/dist/tokens.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScreenplaySyntaxWalker.js","names":["syntax","node","property","contribution","item","value","detail","group","event","part","column","placement","candidate","stream","input","entry","tag","hint","field","parameter","slot","exposed","outlet","button","result","fixture","member"],"sources":["../../../../../../Compiler/Syntax/ScreenplaySyntaxWalker.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { CommandCalendarSyntax, TimeZoneSyntax } from './Calendar';\nimport { IdentitySyntax } from './IdentitySyntax';\nimport { GenerationSyntax } from './GenerationSyntax';\nimport { IdentityDetailSyntax } from './IdentityDetailSyntax';\nimport { IdentitySourceSyntax } from './IdentitySourceSyntax';\nimport { ClaimIdentitySourceSyntax } from './ClaimIdentitySourceSyntax';\nimport { QueryIdentitySourceSyntax } from './QueryIdentitySourceSyntax';\nimport { CodeIdentitySourceSyntax } from './CodeIdentitySourceSyntax';\nimport { FileIdentitySourceSyntax } from './FileIdentitySourceSyntax';\nimport { AuthorizeSyntax, PersonaSyntax, PolicyRequirementSyntax, StickyNoteSyntax } from './Authorization';\nimport { CaptureAppendSyntax, CaptureChildrenSyntax, CaptureMapOperationSyntax, CaptureNestedSyntax, CaptureSourceSettingSyntax, CaptureSourceSyntax, CaptureSyntax } from './Captures';\nimport { CommandSyntax, ValidateSyntax, ValidationRuleSyntax } from './Commands';\nimport { ConstraintSyntax } from './Constraints';\nimport { ConditionSyntax } from './Conditions';\nimport { PolicyConditionSyntax, PolicySyntax } from './Policies';\nimport { SeedSyntax } from './Seeds';\nimport { ConceptSyntax, DomainSyntax, EventSyntax, ImportSyntax, PropertySyntax, ReadModelSyntax, TagSyntax, TypeRefSyntax, TypeSyntax } from './Declarations';\nimport { IdentityExpressionSyntax, ExpressionSyntax, ObjectMemberSyntax, PropertyMappingSyntax } from './Expressions';\nimport { JoinEventSyntax, KeySyntax, MappingSyntax, ProjectionBlockSyntax, ProjectionSyntax } from './Projections';\nimport { CommandStreamSyntax, EventSourceSyntax, EventStreamSyntax } from './EventSources';\nimport { QueryParameterSyntax, QuerySyntax } from './Queries';\nimport { InvocationRefusalSyntax } from './InvocationRefusalSyntax';\nimport { ReactionIdentitySyntax } from './ReactionIdentitySyntax';\nimport { SpecificationRedeliverySyntax } from './SpecificationRedeliverySyntax';\nimport { InvokesSyntax, ProducesSyntax, ReactionSyntax, ReactionTriggerSyntax, TriggerSourceSyntax } from './Reactions';\nimport { InteractionArgumentSyntax, ScreenActionAlternativeSyntax, ScreenActionOtherwiseSyntax, ScreenDirectiveSyntax, ScreenGuardedActionSyntax, ScreenSyntax } from './Screens';\nimport {\n SpecificationExampleSyntax, SpecificationCaptureSyntax, SpecificationClockSyntax, SpecificationTimeZoneSyntax, SpecificationGeneratedValueSyntax, SpecificationCommandSyntax, SpecificationEventSyntax, SpecificationQueryResultSyntax, SpecificationStreamSyntax, SpecificationNoStreamSyntax,\n SpecificationReadModelSyntax, SpecificationOperationFailureSyntax, SpecificationOperationSyntax, SpecificationCompensatedSyntax, SpecificationInvocationSyntax, SpecificationSyntax, SpecificationTriggerSyntax, SpecificationWhenQuerySyntax,\n} from './Specifications';\nimport { ApplicationSyntax, DependsOnSyntax, FeatureSyntax, FileImportSyntax, ModuleSyntax, SliceSyntax } from './Structure';\nimport { CommandResponseSyntax, PropertyResponseSourceSyntax, RecordCommandResponseSyntax, RecordSpecificationReturnSyntax, ResponseFieldSyntax, ScalarCommandResponseSyntax, ScalarSpecificationReturnSyntax, SpecificationReturnSyntax } from './Responses';\nimport { EventStreamIdPartSyntax } from './EventStreamIdPartSyntax';\nimport { ObserverFilterSyntax } from './ObserverFilterSyntax';\nimport { SyntaxNode } from './SyntaxNode';\nimport { PurposeSyntax, PurposeReferenceSyntax, PurposeTransferSyntax } from './Purposes';\nimport { OperationSyntax, OperationPhaseSyntax, SystemSyntax } from './Operations';\nimport { CodeBlockSyntax, FileReferenceSyntax, HandlerSyntax, ImplementationSyntax, ImplementationHintSyntax } from './Implementations';\nimport { PossibleEventsSyntax } from './PossibleEventsSyntax';\nimport { LifecycleSpecificationSyntax, StateEntrySyntax, StateMachineSyntax, StateSyntax, StateTransitionSyntax, WorkflowEdgeSyntax, WorkflowNodeSyntax, WorkflowSyntax } from './Lifecycles';\nimport { PossibleEventSyntax } from './PossibleEventSyntax';\nimport { ReadsSyntax, ConcurrencySyntax, ReducerSyntax, ReducerRuleSyntax, FormSyntax, TriggerDataSyntax } from './DependencySources';\n\n// Walks a whole syntax tree, depth first, in the order the C# ScreenplaySyntaxWalker does. Every visit\n// method calls visitNode and then walks the node's children, so an emitter overrides only the nodes it\n// cares about - and calls the base method when it still wants the children walked.\nexport abstract class ScreenplaySyntaxWalker {\n visitNode(_node: SyntaxNode): void {}\n\n visitApplication(syntax: ApplicationSyntax): void {\n this.visitNode(syntax);\n if (syntax.domain !== null) this.visitDomain(syntax.domain);\n if (syntax.timeZone != null) this.visitTimeZone(syntax.timeZone);\n syntax.imports.forEach(node => this.visitImport(node));\n syntax.fileImports.forEach(node => this.visitFileImport(node));\n syntax.systems?.forEach(node => this.visitSystem(node));\n syntax.stateMachines?.forEach(node => this.visitStateMachine(node));\n syntax.workflows?.forEach(node => this.visitWorkflow(node));\n syntax.eventSources?.forEach(node => this.visitEventSource(node));\n syntax.concepts.forEach(node => this.visitConcept(node));\n syntax.types.forEach(node => this.visitType(node));\n syntax.personas.forEach(node => this.visitPersona(node));\n syntax.policies?.forEach(node => this.visitPolicy(node));\n syntax.stickyNotes?.forEach(node => this.visitStickyNote(node));\n syntax.exposures?.forEach(node => {\n this.visitNode(node);\n node.properties.forEach(property => this.visitNode(property));\n });\n syntax.instanceContributions?.forEach(node => {\n this.visitNode(node);\n node.contributions.forEach(contribution => {\n this.visitNode(contribution);\n if (contribution.value !== null) this.visitExpression(contribution.value);\n contribution.items.forEach(item => {\n this.visitNode(item);\n item.values.forEach(value => {\n this.visitNode(value);\n this.visitExpression(value.value);\n });\n });\n });\n });\n if (syntax.identity != null) this.visitIdentity(syntax.identity);\n syntax.purposes?.forEach(node => this.visitPurpose(node));\n syntax.seeds?.forEach(node => this.visitSeed(node));\n syntax.modules.forEach(node => this.visitModule(node));\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n }\n\n visitIdentity(syntax: IdentitySyntax): void {\n this.visitNode(syntax);\n syntax.details.forEach(detail => this.visitIdentityDetail(detail));\n }\n\n visitIdentityDetail(syntax: IdentityDetailSyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.type);\n this.visitIdentitySource(syntax.source);\n }\n\n visitIdentitySource(syntax: IdentitySourceSyntax): void {\n switch (syntax.kind) {\n case 'ClaimIdentitySourceSyntax': this.visitClaimIdentitySource(syntax); break;\n case 'QueryIdentitySourceSyntax': this.visitQueryIdentitySource(syntax); break;\n case 'CodeIdentitySourceSyntax': this.visitCodeIdentitySource(syntax); break;\n case 'FileIdentitySourceSyntax': this.visitFileIdentitySource(syntax); break;\n default: this.visitNode(syntax); break;\n }\n }\n\n visitClaimIdentitySource(syntax: ClaimIdentitySourceSyntax): void { this.visitNode(syntax); }\n visitQueryIdentitySource(syntax: QueryIdentitySourceSyntax): void { this.visitNode(syntax); this.visitExpression(syntax.by); }\n visitCodeIdentitySource(syntax: CodeIdentitySourceSyntax): void { this.visitNode(syntax); this.visitCodeBlock(syntax.code); }\n visitFileIdentitySource(syntax: FileIdentitySourceSyntax): void { this.visitNode(syntax); this.visitFileReference(syntax.file); }\n\n visitPurpose(syntax: PurposeSyntax): void {\n this.visitNode(syntax);\n syntax.transfers.forEach(node => this.visitPurposeTransfer(node));\n }\n\n visitPurposeReference(syntax: PurposeReferenceSyntax): void { this.visitNode(syntax); }\n visitPurposeTransfer(syntax: PurposeTransferSyntax): void { this.visitNode(syntax); }\n\n visitPolicy(syntax: PolicySyntax): void {\n this.visitNode(syntax);\n if (syntax.condition !== null) this.visitPolicyCondition(syntax.condition);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n }\n\n visitPolicyCondition(syntax: PolicyConditionSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'ClaimConditionSyntax' && syntax.matches !== null) this.visitExpression(syntax.matches);\n if (syntax.kind === 'NotPolicyConditionSyntax') this.visitPolicyCondition(syntax.operand);\n if (syntax.kind === 'LogicalPolicyConditionSyntax') { this.visitPolicyCondition(syntax.left); this.visitPolicyCondition(syntax.right); }\n }\n\n visitSeed(syntax: SeedSyntax): void {\n this.visitNode(syntax);\n syntax.groups.forEach(group => {\n this.visitNode(group);\n group.events.forEach(event => { this.visitNode(event); event.properties.forEach(property => this.visitPropertyMapping(property)); });\n });\n }\n\n visitPersona(syntax: PersonaSyntax): void {\n this.visitNode(syntax);\n }\n\n visitStickyNote(syntax: StickyNoteSyntax): void {\n this.visitNode(syntax);\n }\n\n visitAuthorize(syntax: AuthorizeSyntax): void {\n this.visitNode(syntax);\n this.visitPolicyRequirement(syntax.requirement);\n }\n\n visitPolicyRequirement(syntax: PolicyRequirementSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'LogicalPolicyRequirementSyntax') {\n this.visitPolicyRequirement(syntax.left);\n this.visitPolicyRequirement(syntax.right);\n }\n }\n\n visitDomain(syntax: DomainSyntax): void {\n this.visitNode(syntax);\n }\n\n visitImport(syntax: ImportSyntax): void {\n this.visitNode(syntax);\n }\n\n visitFileImport(syntax: FileImportSyntax): void {\n this.visitNode(syntax);\n }\n\n visitGeneration(syntax: GenerationSyntax): void {\n this.visitNode(syntax);\n if (syntax.file) this.visitFileReference(syntax.file);\n if (syntax.code) this.visitCodeBlock(syntax.code);\n }\n\n visitConcept(syntax: ConceptSyntax): void {\n this.visitNode(syntax);\n syntax.attributes.forEach(node => this.visitNode(node));\n if (syntax.generation) this.visitGeneration(syntax.generation);\n syntax.validations?.forEach(node => this.visitValidate(node));\n }\n\n visitType(syntax: TypeSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitProperty(node));\n }\n\n visitDependsOn(syntax: DependsOnSyntax): void { this.visitNode(syntax); }\n\n visitModule(syntax: ModuleSyntax): void {\n this.visitNode(syntax);\n syntax.purposes?.forEach(node => this.visitPurposeReference(node));\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n syntax.dependsOn?.forEach(node => this.visitDependsOn(node));\n syntax.fileImports.forEach(node => this.visitFileImport(node));\n if (syntax.authorize !== null) this.visitAuthorize(syntax.authorize);\n syntax.toolbars?.forEach(node => this.visitScreenDirective(node));\n syntax.features.forEach(node => this.visitFeature(node));\n }\n\n visitFeature(syntax: FeatureSyntax): void {\n this.visitNode(syntax);\n syntax.purposes?.forEach(node => this.visitPurposeReference(node));\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n syntax.dependsOn?.forEach(node => this.visitDependsOn(node));\n syntax.fileImports.forEach(node => this.visitFileImport(node));\n if (syntax.authorize !== null) this.visitAuthorize(syntax.authorize);\n syntax.features.forEach(node => this.visitFeature(node));\n syntax.slices.forEach(node => this.visitSlice(node));\n syntax.toolbars?.forEach(node => this.visitScreenDirective(node));\n }\n\n visitSlice(syntax: SliceSyntax): void {\n this.visitNode(syntax);\n syntax.purposes?.forEach(node => this.visitPurposeReference(node));\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n syntax.commands.forEach(node => this.visitCommand(node));\n syntax.operations?.forEach(node => this.visitOperation(node));\n syntax.events.forEach(node => this.visitEvent(node));\n syntax.constraints.forEach(node => this.visitConstraint(node));\n syntax.queries.forEach(node => this.visitQuery(node));\n syntax.projections.forEach(node => this.visitProjection(node));\n syntax.readModels.forEach(node => this.visitReadModel(node));\n syntax.captures.forEach(node => this.visitCapture(node));\n syntax.reactions.forEach(node => this.visitReaction(node));\n syntax.screens.forEach(node => this.visitScreen(node));\n syntax.specifications.forEach(node => this.visitSpecification(node));\n }\n\n // Explicit reference-only entry points. Default tree traversal remains the narrowed wire traversal;\n // dependency consumers opt into parser-owned side-table payloads rather than changing board visitors.\n visitTriggerData(syntax: TriggerDataSyntax): void {\n this.visitNode(syntax);\n if (syntax.type !== null) this.visitTypeRef(syntax.type);\n }\n visitReads(syntax: ReadsSyntax): void {\n this.visitNode(syntax);\n syntax.byParts?.forEach(part => this.visitPropertyMapping(part));\n }\n visitConcurrency(syntax: ConcurrencySyntax): void { this.visitNode(syntax); }\n visitReducer(syntax: ReducerSyntax): void {\n this.visitNode(syntax);\n if (syntax.from != null) this.visitObserverFilter(syntax.from);\n syntax.rules.forEach(node => this.visitReducerRule(node));\n }\n visitReducerRule(syntax: ReducerRuleSyntax): void {\n this.visitNode(syntax);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n }\n visitForm(syntax: FormSyntax): void {\n this.visitNode(syntax);\n if (syntax.populate !== null) this.visitNode(syntax.populate);\n syntax.fields.forEach(node => this.visitNode(node));\n syntax.columns?.forEach(node => this.visitNode(node));\n if (syntax.layout !== null && syntax.layout !== undefined) {\n this.visitNode(syntax.layout);\n syntax.layout.columns.forEach(column => {\n this.visitNode(column);\n if (column.width !== null) this.visitNode(column.width);\n if (column.minWidth !== null) this.visitNode(column.minWidth);\n if (column.maxWidth !== null) this.visitNode(column.maxWidth);\n });\n if (syntax.layout.columnGap !== null) this.visitNode(syntax.layout.columnGap);\n if (syntax.layout.rowGap !== null) this.visitNode(syntax.layout.rowGap);\n syntax.layout.placements.forEach(placement => {\n this.visitNode(placement);\n if (placement.width !== null) this.visitNode(placement.width);\n });\n }\n if (syntax.onSubmit !== null) this.visitScreenDirective(syntax.onSubmit);\n }\n\n visitTimeZone(syntax: TimeZoneSyntax): void { this.visitNode(syntax); }\n\n visitCommandCalendar(syntax: CommandCalendarSyntax): void { this.visitNode(syntax); }\n\n visitSpecificationTimeZone(syntax: SpecificationTimeZoneSyntax): void { this.visitNode(syntax); }\n\n visitCommand(syntax: CommandSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitProperty(node));\n if (syntax.authorize !== null) this.visitAuthorize(syntax.authorize);\n if (syntax.stream != null) this.visitCommandStream(syntax.stream);\n if (syntax.calendar != null) this.visitCommandCalendar(syntax.calendar);\n syntax.streamCandidates?.forEach(candidate => this.visitCommandStream(candidate));\n syntax.validations.forEach(node => this.visitValidate(node));\n syntax.produces.forEach(node => this.visitProduces(node));\n if (syntax.handler != null) this.visitHandler(syntax.handler);\n if (syntax.response != null) this.visitCommandResponse(syntax.response);\n }\n\n visitEventSource(syntax: EventSourceSyntax): void {\n this.visitNode(syntax);\n if (syntax.identifier !== null) this.visitTypeRef(syntax.identifier);\n syntax.streams.forEach(stream => this.visitEventStream(stream));\n }\n visitEventStream(syntax: EventStreamSyntax): void {\n this.visitNode(syntax);\n if (syntax.streamId !== null) this.visitTypeRef(syntax.streamId);\n syntax.streamIdParts.forEach(part => this.visitEventStreamIdPart(part));\n }\n visitEventStreamIdPart(syntax: EventStreamIdPartSyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.type);\n }\n visitObserverFilter(syntax: ObserverFilterSyntax): void { this.visitNode(syntax); }\n\n visitCommandStream(syntax: CommandStreamSyntax): void {\n this.visitNode(syntax);\n if (syntax.streamId !== null) this.visitPropertyMapping(syntax.streamId);\n syntax.streamIdParts.forEach(part => this.visitPropertyMapping(part));\n if (syntax.propertyCandidate !== null) this.visitProperty(syntax.propertyCandidate);\n }\n\n visitSystem(syntax: SystemSyntax): void { this.visitNode(syntax); }\n\n visitStateMachine(syntax: StateMachineSyntax): void {\n this.visitNode(syntax);\n syntax.states.forEach(node => this.visitState(node));\n syntax.specifications.forEach(node => this.visitLifecycleSpecification(node));\n }\n\n visitState(syntax: StateSyntax): void {\n this.visitNode(syntax);\n syntax.entering.forEach(node => this.visitStateEntry(node));\n syntax.transitions.forEach(node => this.visitStateTransition(node));\n }\n\n visitStateEntry(syntax: StateEntrySyntax): void { this.visitNode(syntax); }\n\n visitStateTransition(syntax: StateTransitionSyntax): void {\n this.visitNode(syntax);\n if (syntax.when !== null) this.visitCondition(syntax.when);\n }\n\n visitWorkflow(syntax: WorkflowSyntax): void {\n this.visitNode(syntax);\n syntax.nodes.forEach(node => this.visitWorkflowNode(node));\n syntax.specifications.forEach(node => this.visitLifecycleSpecification(node));\n }\n\n visitWorkflowNode(syntax: WorkflowNodeSyntax): void {\n this.visitNode(syntax);\n if (syntax.schedule !== null) this.visitNode(syntax.schedule);\n if (syntax.timeout !== null) this.visitNode(syntax.timeout);\n if (syntax.retryAfter !== null) this.visitNode(syntax.retryAfter);\n if (syntax.condition !== null) this.visitCondition(syntax.condition);\n if (syntax.duration !== null) this.visitNode(syntax.duration);\n if (syntax.expiresAfter !== null) this.visitNode(syntax.expiresAfter);\n syntax.edges.forEach(node => this.visitWorkflowEdge(node));\n }\n\n visitWorkflowEdge(syntax: WorkflowEdgeSyntax): void { this.visitNode(syntax); }\n\n visitLifecycleSpecification(syntax: LifecycleSpecificationSyntax): void {\n this.visitNode(syntax);\n syntax.given.forEach(node => this.visitSpecificationEvent(node));\n if (syntax.whenAppended !== null) this.visitSpecificationEvent(syntax.whenAppended);\n if (syntax.whenStarted !== null) this.visitExpression(syntax.whenStarted);\n syntax.outcomes.forEach(node => this.visitNode(node));\n syntax.then.forEach(node => this.visitNode(node));\n }\n visitOperation(syntax: OperationSyntax): void {\n this.visitNode(syntax);\n syntax.inputs.forEach(input => this.visitProperty(input));\n if (syntax.execute !== null) this.visitOperationPhase(syntax.execute);\n if (syntax.compensate !== null) this.visitOperationPhase(syntax.compensate);\n }\n visitOperationPhase(syntax: OperationPhaseSyntax): void {\n this.visitNode(syntax);\n if (syntax.implementation !== null) this.visitImplementation(syntax.implementation);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n }\n visitSpecificationOperationFailure(syntax: SpecificationOperationFailureSyntax): void { this.visitNode(syntax); }\n visitSpecificationCompensated(syntax: SpecificationCompensatedSyntax): void { this.visitNode(syntax); }\n visitSpecificationOperation(syntax: SpecificationOperationSyntax): void {\n this.visitNode(syntax);\n syntax.values.forEach(value => this.visitPropertyMapping(value));\n }\n\n visitHandler(syntax: HandlerSyntax): void {\n this.visitNode(syntax);\n if (syntax.possibleEvents != null) this.visitPossibleEvents(syntax.possibleEvents);\n if (syntax.implementation != null) this.visitImplementation(syntax.implementation);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n }\n\n visitPossibleEvents(syntax: PossibleEventsSyntax): void {\n this.visitNode(syntax);\n syntax.events.forEach(entry => this.visitPossibleEvent(entry));\n }\n\n visitPossibleEvent(syntax: PossibleEventSyntax): void {\n this.visitNode(syntax);\n if (syntax.stream !== null) this.visitCommandStream(syntax.stream);\n syntax.tags.forEach(tag => this.visitTag(tag));\n }\n\n visitImplementation(syntax: ImplementationSyntax): void {\n this.visitNode(syntax);\n syntax.hints.forEach(hint => this.visitImplementationHint(hint));\n }\n\n visitImplementationHint(syntax: ImplementationHintSyntax): void { this.visitNode(syntax); }\n visitFileReference(syntax: FileReferenceSyntax): void { this.visitNode(syntax); }\n visitCodeBlock(syntax: CodeBlockSyntax): void { this.visitNode(syntax); }\n\n visitCommandResponse(syntax: CommandResponseSyntax): void {\n if (syntax.kind === 'ScalarCommandResponseSyntax') this.visitScalarCommandResponse(syntax);\n else this.visitRecordCommandResponse(syntax);\n }\n\n visitScalarCommandResponse(syntax: ScalarCommandResponseSyntax): void {\n this.visitNode(syntax);\n this.visitPropertyResponseSource(syntax.source);\n }\n\n visitRecordCommandResponse(syntax: RecordCommandResponseSyntax): void {\n this.visitNode(syntax);\n syntax.fields.forEach(field => this.visitResponseField(field));\n }\n\n visitResponseField(syntax: ResponseFieldSyntax): void {\n this.visitNode(syntax);\n if (syntax.type !== null) this.visitTypeRef(syntax.type);\n this.visitPropertyResponseSource(syntax.source);\n }\n\n visitPropertyResponseSource(syntax: PropertyResponseSourceSyntax): void {\n this.visitNode(syntax);\n }\n\n visitSpecificationReturn(syntax: SpecificationReturnSyntax): void {\n if (syntax.kind === 'ScalarSpecificationReturnSyntax') this.visitScalarSpecificationReturn(syntax);\n else this.visitRecordSpecificationReturn(syntax);\n }\n\n visitScalarSpecificationReturn(syntax: ScalarSpecificationReturnSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.value);\n }\n\n visitRecordSpecificationReturn(syntax: RecordSpecificationReturnSyntax): void {\n this.visitNode(syntax);\n syntax.fields.forEach(field => this.visitPropertyMapping(field));\n }\n\n visitValidate(syntax: ValidateSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'DeclarativeValidateSyntax') {\n syntax.rules.forEach(node => this.visitValidationRule(node));\n syntax.requirements?.forEach(node => { this.visitNode(node); this.visitCondition(node.condition); });\n } else if (syntax.kind === 'FileValidateSyntax') this.visitFileReference(syntax.file);\n else if (syntax.code != null) this.visitCodeBlock(syntax.code);\n }\n\n visitValidationRule(syntax: ValidationRuleSyntax): void {\n this.visitNode(syntax);\n if (syntax.implementation != null) this.visitImplementation(syntax.implementation);\n if (syntax.value !== null) this.visitExpression(syntax.value);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n }\n\n visitEvent(syntax: EventSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitProperty(node));\n syntax.tags.forEach(node => this.visitTag(node));\n }\n\n visitTag(syntax: TagSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.value);\n }\n\n visitReadModel(syntax: ReadModelSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitProperty(node));\n }\n\n visitConstraint(syntax: ConstraintSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'FileConstraintSyntax') this.visitNode(syntax.file);\n syntax.additionalRules.forEach(node => this.visitConstraint(node));\n }\n\n visitQuery(syntax: QuerySyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.returnType);\n if (syntax.by !== null) this.visitQueryParameter(syntax.by);\n syntax.byParts?.forEach(part => this.visitQueryParameter(part));\n syntax.filters.forEach(node => this.visitQueryParameter(node));\n if (syntax.authorize !== null) this.visitAuthorize(syntax.authorize);\n }\n\n visitQueryParameter(syntax: QueryParameterSyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.type);\n if (syntax.source != null) this.visitExpression(syntax.source);\n }\n\n visitKey(syntax: KeySyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'ExpressionKeySyntax') this.visitExpression(syntax.expression);\n else syntax.parts.forEach(part => { this.visitNode(part); this.visitExpression(part.expression); });\n }\n\n visitProjection(syntax: ProjectionSyntax): void {\n this.visitNode(syntax);\n if (syntax.key != null) this.visitKey(syntax.key);\n syntax.blocks.forEach(node => this.visitProjectionBlock(node));\n }\n\n visitProjectionBlock(syntax: ProjectionBlockSyntax): void {\n this.visitNode(syntax);\n switch (syntax.kind) {\n case 'FromSyntax':\n syntax.events.forEach(node => { this.visitNode(node); if (node.key != null) this.visitExpression(node.key); });\n if (syntax.key != null) this.visitKey(syntax.key);\n if (syntax.parentKey != null) this.visitExpression(syntax.parentKey);\n syntax.mappings.forEach(node => this.visitMapping(node));\n break;\n case 'EverySyntax':\n case 'AllSyntax':\n syntax.mappings.forEach(node => this.visitMapping(node));\n break;\n case 'JoinSyntax':\n syntax.events.forEach(node => this.visitJoinEvent(node));\n break;\n case 'ProjectionVariantSyntax':\n syntax.entersOn.forEach(node => { this.visitNode(node); if (node.key != null) this.visitExpression(node.key); });\n syntax.blocks.forEach(node => this.visitProjectionBlock(node));\n break;\n case 'ChildrenSyntax':\n if (syntax.identifiedBy !== undefined) this.visitExpression(syntax.identifiedBy);\n syntax.blocks.forEach(node => this.visitProjectionBlock(node));\n break;\n case 'NestedSyntax':\n syntax.blocks.forEach(node => this.visitProjectionBlock(node));\n break;\n case 'RemoveWithSyntax':\n if (syntax.partsKey != null) this.visitKey(syntax.partsKey);\n if (syntax.parentKey != null) this.visitExpression(syntax.parentKey);\n if (syntax.key != null) this.visitExpression(syntax.key);\n break;\n case 'RemoveViaJoinSyntax':\n if (syntax.key != null) this.visitExpression(syntax.key);\n break;\n }\n }\n\n visitJoinEvent(syntax: JoinEventSyntax): void {\n this.visitNode(syntax);\n syntax.mappings.forEach(node => this.visitMapping(node));\n }\n\n visitMapping(syntax: MappingSyntax): void {\n this.visitNode(syntax);\n if (syntax.source !== undefined) this.visitExpression(syntax.source);\n if (syntax.value !== undefined) this.visitExpression(syntax.value);\n }\n\n visitCondition(syntax: ConditionSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'ComparisonConditionSyntax') {\n if (syntax.leftExpression != null) this.visitExpression(syntax.leftExpression);\n this.visitExpression(syntax.right);\n }\n else { this.visitCondition(syntax.left); this.visitCondition(syntax.right); }\n }\n\n visitReaction(syntax: ReactionSyntax): void {\n this.visitNode(syntax);\n if (syntax.from != null) this.visitObserverFilter(syntax.from);\n if (syntax.runsAs != null) this.visitReactionIdentity(syntax.runsAs);\n if (syntax.where != null) this.visitCondition(syntax.where);\n syntax.triggers.forEach(node => this.visitReactionTrigger(node));\n }\n\n visitReactionIdentity(syntax: ReactionIdentitySyntax): void { this.visitNode(syntax); }\n\n visitReactionTrigger(syntax: ReactionTriggerSyntax): void {\n this.visitNode(syntax);\n this.visitTriggerSource(syntax.source);\n syntax.produces.forEach(node => this.visitProduces(node));\n syntax.invokes.forEach(node => this.visitInvokes(node));\n }\n\n visitProduces(syntax: ProducesSyntax): void {\n this.visitNode(syntax);\n if (syntax.stream != null) this.visitCommandStream(syntax.stream);\n if (syntax.when != null) this.visitCondition(syntax.when);\n if (syntax.inlineEvent !== null) this.visitEvent(syntax.inlineEvent);\n if (syntax.inlineOperation != null) this.visitOperation(syntax.inlineOperation);\n if (syntax.for !== null) this.visitExpression(syntax.for);\n syntax.mappings.forEach(node => this.visitPropertyMapping(node));\n syntax.tags.forEach(node => this.visitTag(node));\n }\n\n visitInvokes(syntax: InvokesSyntax): void {\n this.visitNode(syntax);\n syntax.mappings?.forEach(node => this.visitPropertyMapping(node));\n syntax.onRefused?.forEach(node => this.visitInvocationRefusal(node));\n }\n\n visitInvocationRefusal(syntax: InvocationRefusalSyntax): void {\n this.visitNode(syntax);\n syntax.produces.forEach(node => this.visitProduces(node));\n }\n\n visitCapture(syntax: CaptureSyntax): void {\n this.visitNode(syntax);\n if (syntax.source !== null) this.visitCaptureSource(syntax.source);\n syntax.map?.forEach(node => this.visitCaptureMap(node));\n syntax.appends.forEach(node => this.visitCaptureAppend(node));\n syntax.children.forEach(node => this.visitCaptureChildren(node));\n syntax.nested.forEach(node => this.visitCaptureNested(node));\n }\n\n visitCaptureSource(syntax: CaptureSourceSyntax): void {\n this.visitNode(syntax);\n syntax.settings.forEach(node => this.visitCaptureSourceSetting(node));\n }\n\n visitCaptureSourceSetting(syntax: CaptureSourceSettingSyntax): void {\n this.visitNode(syntax);\n }\n\n visitCaptureMap(syntax: CaptureMapOperationSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.source);\n if (syntax.kind === 'CaptureMapEntrySyntax') syntax.translations.forEach(node => this.visitNode(node));\n }\n\n visitCaptureAppend(syntax: CaptureAppendSyntax): void {\n this.visitNode(syntax);\n if (syntax.when != null) this.visitNode(syntax.when);\n syntax.mappings?.forEach(node => this.visitPropertyMapping(node));\n syntax.tags?.forEach(node => this.visitTag(node));\n }\n\n visitCaptureChildren(syntax: CaptureChildrenSyntax): void {\n this.visitNode(syntax);\n syntax.map?.forEach(node => this.visitCaptureMap(node));\n syntax.appends.forEach(node => this.visitCaptureAppend(node));\n }\n\n visitCaptureNested(syntax: CaptureNestedSyntax): void {\n this.visitNode(syntax);\n syntax.map?.forEach(node => this.visitCaptureMap(node));\n syntax.appends.forEach(node => this.visitCaptureAppend(node));\n }\n\n visitTriggerSource(syntax: TriggerSourceSyntax): void {\n this.visitNode(syntax);\n }\n\n visitScreen(syntax: ScreenSyntax): void {\n this.visitNode(syntax);\n syntax.directives.forEach(node => this.visitScreenDirective(node));\n syntax.contributions?.forEach(contribution => {\n this.visitNode(contribution);\n contribution.directives.forEach(node => this.visitScreenDirective(node));\n });\n }\n\n visitScreenDirective(syntax: ScreenDirectiveSyntax): void {\n if (syntax.kind === 'ScreenGuardedActionSyntax') {\n this.visitScreenGuardedAction(syntax);\n return;\n }\n this.visitNode(syntax);\n switch (syntax.kind) {\n case 'ScreenDataSyntax':\n this.visitTypeRef(syntax.type);\n break;\n case 'ScreenActionSyntax':\n syntax.inputs?.forEach(input => this.visitInteractionArgument(input));\n if (syntax.navigate !== null) this.visitScreenDirective(syntax.navigate);\n break;\n case 'ScreenNavigateSyntax':\n syntax.parameters.forEach(parameter => {\n this.visitNode(parameter);\n this.visitUiBinding(parameter.binding);\n });\n break;\n case 'ScreenTemplateReferenceSyntax':\n syntax.slots.forEach(slot => {\n this.visitNode(slot);\n slot.directives.forEach(node => this.visitScreenDirective(node));\n });\n break;\n case 'ScreenSectionSyntax':\n syntax.directives.forEach(node => this.visitScreenDirective(node));\n break;\n case 'ScreenTableSyntax':\n syntax.columns.forEach(node => this.visitNode(node));\n if (syntax.rowClick !== null) this.visitScreenDirective(syntax.rowClick);\n break;\n case 'ScreenSummarySyntax':\n syntax.fields.forEach(node => this.visitNode(node));\n break;\n case 'ScreenComponentSyntax':\n if (syntax.context !== null) this.visitUiBinding(syntax.context);\n syntax.properties.forEach(property => {\n this.visitNode(property);\n if (property.binding !== null) this.visitUiBinding(property.binding);\n if (property.value !== null) this.visitExpression(property.value);\n });\n syntax.exposes.forEach(exposed => {\n this.visitNode(exposed);\n this.visitUiBinding(exposed.binding);\n });\n syntax.presentation.forEach(node => this.visitNode(node));\n syntax.outlets.forEach(outlet => {\n this.visitNode(outlet);\n outlet.directives.forEach(node => this.visitScreenDirective(node));\n });\n break;\n case 'ScreenToolbarSyntax':\n syntax.items.forEach(item => {\n this.visitNode(item);\n item.parameters.forEach(parameter => {\n this.visitNode(parameter);\n this.visitUiBinding(parameter.binding);\n });\n item.presentation.forEach(node => this.visitNode(node));\n });\n (syntax.buttons ?? []).forEach(button => this.visitNode(button));\n break;\n case 'ScreenCodeSyntax':\n this.visitNode(syntax.code);\n break;\n }\n }\n\n visitScreenGuardedAction(syntax: ScreenGuardedActionSyntax): void {\n this.visitNode(syntax);\n syntax.alternatives.forEach(node => this.visitScreenActionAlternative(node));\n if (syntax.otherwise !== null) this.visitScreenActionOtherwise(syntax.otherwise);\n if (syntax.navigate !== null) this.visitScreenDirective(syntax.navigate);\n }\n\n visitScreenActionAlternative(syntax: ScreenActionAlternativeSyntax): void {\n this.visitNode(syntax);\n this.visitCondition(syntax.condition);\n syntax.arguments.forEach(node => this.visitInteractionArgument(node));\n }\n\n visitScreenActionOtherwise(syntax: ScreenActionOtherwiseSyntax): void {\n this.visitNode(syntax);\n syntax.arguments.forEach(node => this.visitInteractionArgument(node));\n }\n\n visitInteractionArgument(syntax: InteractionArgumentSyntax): void { this.visitNode(syntax); }\n\n visitSpecification(syntax: SpecificationSyntax): void {\n this.visitNode(syntax);\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n syntax.parameters?.forEach(node => { this.visitNode(node); this.visitTypeRef(node.type); });\n syntax.cases?.forEach(node => { this.visitNode(node); node.values.forEach(value => this.visitPropertyMapping(value)); });\n if (syntax.givenClock !== null) this.visitSpecificationClock(syntax.givenClock);\n if (syntax.givenTimeZone != null) this.visitSpecificationTimeZone(syntax.givenTimeZone);\n syntax.givenOperationFailures?.forEach(node => this.visitSpecificationOperationFailure(node));\n syntax.thenOperations?.forEach(node => this.visitSpecificationOperation(node));\n syntax.thenCompensated?.forEach(node => this.visitSpecificationCompensated(node));\n if (syntax.givenCallerPersona != null) this.visitNode(syntax.givenCallerPersona);\n if (syntax.givenCaller != null) {\n this.visitNode(syntax.givenCaller);\n syntax.givenCaller.claims.forEach(node => this.visitNode(node));\n }\n syntax.given.forEach(node => this.visitSpecificationEvent(node));\n syntax.givenReadModels.forEach(node => this.visitSpecificationReadModel(node));\n if (syntax.when !== null) this.visitSpecificationCommand(syntax.when);\n syntax.givenCaptures.forEach(node => this.visitSpecificationCapture(node));\n syntax.givenGenerated?.forEach(node => this.visitSpecificationGeneratedValue(node));\n if (syntax.whenAppended !== null) this.visitSpecificationEvent(syntax.whenAppended);\n if (syntax.whenRedelivered != null) this.visitSpecificationRedelivery(syntax.whenRedelivered);\n if (syntax.whenClock !== null) this.visitSpecificationClock(syntax.whenClock);\n if (syntax.whenTrigger !== null) this.visitSpecificationTrigger(syntax.whenTrigger);\n if (syntax.whenCapture !== null) this.visitSpecificationCapture(syntax.whenCapture);\n if (syntax.whenQuery !== null) this.visitSpecificationWhenQuery(syntax.whenQuery);\n syntax.thenEvents.forEach(node => this.visitSpecificationEvent(node));\n syntax.thenReadModels.forEach(node => this.visitSpecificationReadModel(node));\n syntax.thenAbsentReadModels?.forEach(node => { this.visitNode(node); this.visitExpression(node.key); });\n syntax.thenQueries?.forEach(node => {\n this.visitNode(node);\n node.arguments.forEach(value => this.visitPropertyMapping(value));\n node.results.forEach(result => this.visitSpecificationQueryResult(result));\n });\n syntax.thenResults.forEach(node => this.visitSpecificationQueryResult(node));\n if (syntax.thenNoResult !== null) this.visitNode(syntax.thenNoResult);\n if (syntax.thenDenied != null) this.visitNode(syntax.thenDenied);\n if (syntax.thenReturns != null) this.visitSpecificationReturn(syntax.thenReturns);\n syntax.thenErrors.forEach(node => { this.visitNode(node); if (node.caseValue != null) this.visitExpression(node.caseValue); });\n syntax.thenInvocations?.forEach(node => this.visitSpecificationInvocation(node));\n }\n\n visitSpecificationInvocation(syntax: SpecificationInvocationSyntax): void {\n this.visitNode(syntax);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationRedelivery(syntax: SpecificationRedeliverySyntax): void {\n this.visitNode(syntax);\n if (syntax.for !== null) this.visitExpression(syntax.for);\n if (syntax.stream != null) this.visitSpecificationStream(syntax.stream);\n if (syntax.noStream != null) this.visitSpecificationNoStream(syntax.noStream);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationClock(syntax: SpecificationClockSyntax): void {\n this.visitNode(syntax);\n }\n\n visitSpecificationTrigger(syntax: SpecificationTriggerSyntax): void {\n this.visitNode(syntax);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationGeneratedValue(syntax: SpecificationGeneratedValueSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.source);\n }\n\n visitSpecificationCapture(syntax: SpecificationCaptureSyntax): void {\n this.visitNode(syntax);\n syntax.record.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationWhenQuery(syntax: SpecificationWhenQuerySyntax): void {\n this.visitNode(syntax);\n syntax.arguments.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationQueryResult(syntax: SpecificationQueryResultSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationExample(syntax: SpecificationExampleSyntax): void {\n this.visitNode(syntax);\n if (syntax.for !== null) this.visitExpression(syntax.for);\n if (syntax.stream != null) this.visitSpecificationStream(syntax.stream);\n if (syntax.noStream != null) this.visitSpecificationNoStream(syntax.noStream);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n syntax.generatedValues.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationEvent(syntax: SpecificationEventSyntax): void {\n this.visitNode(syntax);\n if (syntax.stream != null) this.visitSpecificationStream(syntax.stream);\n if (syntax.noStream != null) this.visitSpecificationNoStream(syntax.noStream);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n if (syntax.for !== null) this.visitExpression(syntax.for);\n }\n\n visitSpecificationStream(syntax: SpecificationStreamSyntax): void {\n this.visitNode(syntax);\n if (syntax.streamId !== null) this.visitPropertyMapping(syntax.streamId);\n syntax.streamIdParts.forEach(part => this.visitPropertyMapping(part));\n }\n\n visitSpecificationNoStream(syntax: SpecificationNoStreamSyntax): void { this.visitNode(syntax); }\n\n visitSpecificationCommand(syntax: SpecificationCommandSyntax): void {\n this.visitNode(syntax);\n (syntax.generatedValues ?? []).forEach(fixture => this.visitPropertyMapping(fixture));\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n if (syntax.for !== null) this.visitExpression(syntax.for);\n }\n\n visitSpecificationReadModel(syntax: SpecificationReadModelSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitPropertyMapping(syntax: PropertyMappingSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.source);\n }\n\n visitProperty(syntax: PropertySyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.type);\n }\n\n visitTypeRef(syntax: TypeRefSyntax): void {\n this.visitNode(syntax);\n }\n\n visitUiBinding(syntax: import('./Screens').UiBindingSyntax): void {\n this.visitNode(syntax);\n if (syntax.literal !== null) this.visitExpression(syntax.literal);\n }\n\n visitIdentityExpression(syntax: IdentityExpressionSyntax): void { this.visitNode(syntax); }\n\n visitExpression(syntax: ExpressionSyntax): void {\n if (syntax.kind === 'IdentityExpressionSyntax') { this.visitIdentityExpression(syntax); return; }\n this.visitNode(syntax);\n if (syntax.kind === 'ListExpressionSyntax') {\n syntax.items.forEach(item => this.visitExpression(item));\n } else if (syntax.kind === 'ObjectExpressionSyntax') {\n syntax.members.forEach(member => this.visitObjectMember(member));\n } else if (syntax.kind === 'DateOfExpressionSyntax') {\n this.visitExpression(syntax.operand);\n } else if (syntax.kind === 'TemplateExpressionSyntax') {\n syntax.parts.forEach(part => { this.visitNode(part); if (part.kind === 'TemplateInterpolationSyntax') this.visitExpression(part.expression); });\n }\n }\n\n visitObjectMember(syntax: ObjectMemberSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.value);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScreenplaySyntaxWalker.js","names":["syntax","node","property","contribution","item","value","detail","group","event","part","column","placement","member","candidate","stream","input","entry","tag","hint","field","parameter","slot","exposed","outlet","button","result","fixture"],"sources":["../../../../../../Compiler/Syntax/ScreenplaySyntaxWalker.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { CommandCalendarSyntax, TimeZoneSyntax } from './Calendar';\nimport { ApplicationContextSyntax, ContextMemberSyntax } from './Structure';\nimport { IdentitySyntax } from './IdentitySyntax';\nimport { GenerationSyntax } from './GenerationSyntax';\nimport { IdentityDetailSyntax } from './IdentityDetailSyntax';\nimport { IdentitySourceSyntax } from './IdentitySourceSyntax';\nimport { ClaimIdentitySourceSyntax } from './ClaimIdentitySourceSyntax';\nimport { QueryIdentitySourceSyntax } from './QueryIdentitySourceSyntax';\nimport { CodeIdentitySourceSyntax } from './CodeIdentitySourceSyntax';\nimport { FileIdentitySourceSyntax } from './FileIdentitySourceSyntax';\nimport { AuthorizeSyntax, PersonaSyntax, PolicyRequirementSyntax, StickyNoteSyntax } from './Authorization';\nimport { CaptureAppendSyntax, CaptureChildrenSyntax, CaptureMapOperationSyntax, CaptureNestedSyntax, CaptureSourceSettingSyntax, CaptureSourceSyntax, CaptureSyntax } from './Captures';\nimport { CommandSyntax, ValidateSyntax, ValidationRuleSyntax } from './Commands';\nimport { ConstraintSyntax } from './Constraints';\nimport { ConditionSyntax } from './Conditions';\nimport { PolicyConditionSyntax, PolicySyntax } from './Policies';\nimport { SeedSyntax } from './Seeds';\nimport { ConceptSyntax, DomainSyntax, EventSyntax, ImportSyntax, PropertySyntax, ReadModelSyntax, TagSyntax, TypeRefSyntax, TypeSyntax } from './Declarations';\nimport { IdentityExpressionSyntax, ExpressionSyntax, ObjectMemberSyntax, PropertyMappingSyntax } from './Expressions';\nimport { JoinEventSyntax, KeySyntax, MappingSyntax, ProjectionBlockSyntax, ProjectionSyntax } from './Projections';\nimport { CommandStreamSyntax, EventSourceSyntax, EventStreamSyntax } from './EventSources';\nimport { QueryParameterSyntax, QuerySyntax } from './Queries';\nimport { InvocationRefusalSyntax } from './InvocationRefusalSyntax';\nimport { ReactionIdentitySyntax } from './ReactionIdentitySyntax';\nimport { SpecificationRedeliverySyntax } from './SpecificationRedeliverySyntax';\nimport { InvokesSyntax, ProducesSyntax, ReactionSyntax, ReactionTriggerSyntax, TriggerSourceSyntax } from './Reactions';\nimport { InteractionArgumentSyntax, ScreenActionAlternativeSyntax, ScreenActionOtherwiseSyntax, ScreenDirectiveSyntax, ScreenGuardedActionSyntax, ScreenSyntax } from './Screens';\nimport {\n SpecificationExampleSyntax, SpecificationCaptureSyntax, SpecificationClockSyntax, SpecificationTimeZoneSyntax, SpecificationGeneratedValueSyntax, SpecificationCommandSyntax, SpecificationEventSyntax, SpecificationQueryResultSyntax, SpecificationStreamSyntax, SpecificationNoStreamSyntax,\n SpecificationReadModelSyntax, SpecificationOperationFailureSyntax, SpecificationOperationSyntax, SpecificationCompensatedSyntax, SpecificationInvocationSyntax, SpecificationSyntax, SpecificationTriggerSyntax, SpecificationWhenQuerySyntax,\n} from './Specifications';\nimport { ApplicationSyntax, DependsOnSyntax, FeatureSyntax, FileImportSyntax, ModuleSyntax, SliceSyntax } from './Structure';\nimport { CommandResponseSyntax, PropertyResponseSourceSyntax, RecordCommandResponseSyntax, RecordSpecificationReturnSyntax, ResponseFieldSyntax, ScalarCommandResponseSyntax, ScalarSpecificationReturnSyntax, SpecificationReturnSyntax } from './Responses';\nimport { EventStreamIdPartSyntax } from './EventStreamIdPartSyntax';\nimport { ObserverFilterSyntax } from './ObserverFilterSyntax';\nimport { SyntaxNode } from './SyntaxNode';\nimport { PurposeSyntax, PurposeReferenceSyntax, PurposeTransferSyntax } from './Purposes';\nimport { OperationSyntax, OperationPhaseSyntax, SystemSyntax } from './Operations';\nimport { CodeBlockSyntax, FileReferenceSyntax, HandlerSyntax, ImplementationSyntax, ImplementationHintSyntax } from './Implementations';\nimport { PossibleEventsSyntax } from './PossibleEventsSyntax';\nimport { LifecycleSpecificationSyntax, StateEntrySyntax, StateMachineSyntax, StateSyntax, StateTransitionSyntax, WorkflowEdgeSyntax, WorkflowNodeSyntax, WorkflowSyntax } from './Lifecycles';\nimport { PossibleEventSyntax } from './PossibleEventSyntax';\nimport { ReadsSyntax, ConcurrencySyntax, ReducerSyntax, ReducerRuleSyntax, FormSyntax, TriggerDataSyntax } from './DependencySources';\n\n// Walks a whole syntax tree, depth first, in the order the C# ScreenplaySyntaxWalker does. Every visit\n// method calls visitNode and then walks the node's children, so an emitter overrides only the nodes it\n// cares about - and calls the base method when it still wants the children walked.\nexport abstract class ScreenplaySyntaxWalker {\n visitNode(_node: SyntaxNode): void {}\n\n visitApplication(syntax: ApplicationSyntax): void {\n this.visitNode(syntax);\n if (syntax.domain !== null) this.visitDomain(syntax.domain);\n if (syntax.timeZone != null) this.visitTimeZone(syntax.timeZone);\n if (syntax.context != null) this.visitApplicationContext(syntax.context);\n syntax.imports.forEach(node => this.visitImport(node));\n syntax.fileImports.forEach(node => this.visitFileImport(node));\n syntax.systems?.forEach(node => this.visitSystem(node));\n syntax.stateMachines?.forEach(node => this.visitStateMachine(node));\n syntax.workflows?.forEach(node => this.visitWorkflow(node));\n syntax.eventSources?.forEach(node => this.visitEventSource(node));\n syntax.concepts.forEach(node => this.visitConcept(node));\n syntax.types.forEach(node => this.visitType(node));\n syntax.personas.forEach(node => this.visitPersona(node));\n syntax.policies?.forEach(node => this.visitPolicy(node));\n syntax.stickyNotes?.forEach(node => this.visitStickyNote(node));\n syntax.exposures?.forEach(node => {\n this.visitNode(node);\n node.properties.forEach(property => this.visitNode(property));\n });\n syntax.instanceContributions?.forEach(node => {\n this.visitNode(node);\n node.contributions.forEach(contribution => {\n this.visitNode(contribution);\n if (contribution.value !== null) this.visitExpression(contribution.value);\n contribution.items.forEach(item => {\n this.visitNode(item);\n item.values.forEach(value => {\n this.visitNode(value);\n this.visitExpression(value.value);\n });\n });\n });\n });\n if (syntax.identity != null) this.visitIdentity(syntax.identity);\n syntax.purposes?.forEach(node => this.visitPurpose(node));\n syntax.seeds?.forEach(node => this.visitSeed(node));\n syntax.modules.forEach(node => this.visitModule(node));\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n }\n\n visitIdentity(syntax: IdentitySyntax): void {\n this.visitNode(syntax);\n syntax.details.forEach(detail => this.visitIdentityDetail(detail));\n }\n\n visitIdentityDetail(syntax: IdentityDetailSyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.type);\n this.visitIdentitySource(syntax.source);\n }\n\n visitIdentitySource(syntax: IdentitySourceSyntax): void {\n switch (syntax.kind) {\n case 'ClaimIdentitySourceSyntax': this.visitClaimIdentitySource(syntax); break;\n case 'QueryIdentitySourceSyntax': this.visitQueryIdentitySource(syntax); break;\n case 'CodeIdentitySourceSyntax': this.visitCodeIdentitySource(syntax); break;\n case 'FileIdentitySourceSyntax': this.visitFileIdentitySource(syntax); break;\n default: this.visitNode(syntax); break;\n }\n }\n\n visitClaimIdentitySource(syntax: ClaimIdentitySourceSyntax): void { this.visitNode(syntax); }\n visitQueryIdentitySource(syntax: QueryIdentitySourceSyntax): void { this.visitNode(syntax); this.visitExpression(syntax.by); }\n visitCodeIdentitySource(syntax: CodeIdentitySourceSyntax): void { this.visitNode(syntax); this.visitCodeBlock(syntax.code); }\n visitFileIdentitySource(syntax: FileIdentitySourceSyntax): void { this.visitNode(syntax); this.visitFileReference(syntax.file); }\n\n visitPurpose(syntax: PurposeSyntax): void {\n this.visitNode(syntax);\n syntax.transfers.forEach(node => this.visitPurposeTransfer(node));\n }\n\n visitPurposeReference(syntax: PurposeReferenceSyntax): void { this.visitNode(syntax); }\n visitPurposeTransfer(syntax: PurposeTransferSyntax): void { this.visitNode(syntax); }\n\n visitPolicy(syntax: PolicySyntax): void {\n this.visitNode(syntax);\n if (syntax.condition !== null) this.visitPolicyCondition(syntax.condition);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n }\n\n visitPolicyCondition(syntax: PolicyConditionSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'ClaimConditionSyntax' && syntax.matches !== null) this.visitExpression(syntax.matches);\n if (syntax.kind === 'NotPolicyConditionSyntax') this.visitPolicyCondition(syntax.operand);\n if (syntax.kind === 'LogicalPolicyConditionSyntax') { this.visitPolicyCondition(syntax.left); this.visitPolicyCondition(syntax.right); }\n }\n\n visitSeed(syntax: SeedSyntax): void {\n this.visitNode(syntax);\n syntax.groups.forEach(group => {\n this.visitNode(group);\n group.events.forEach(event => { this.visitNode(event); event.properties.forEach(property => this.visitPropertyMapping(property)); });\n });\n }\n\n visitPersona(syntax: PersonaSyntax): void {\n this.visitNode(syntax);\n }\n\n visitStickyNote(syntax: StickyNoteSyntax): void {\n this.visitNode(syntax);\n }\n\n visitAuthorize(syntax: AuthorizeSyntax): void {\n this.visitNode(syntax);\n this.visitPolicyRequirement(syntax.requirement);\n }\n\n visitPolicyRequirement(syntax: PolicyRequirementSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'LogicalPolicyRequirementSyntax') {\n this.visitPolicyRequirement(syntax.left);\n this.visitPolicyRequirement(syntax.right);\n }\n }\n\n visitDomain(syntax: DomainSyntax): void {\n this.visitNode(syntax);\n }\n\n visitImport(syntax: ImportSyntax): void {\n this.visitNode(syntax);\n }\n\n visitFileImport(syntax: FileImportSyntax): void {\n this.visitNode(syntax);\n }\n\n visitGeneration(syntax: GenerationSyntax): void {\n this.visitNode(syntax);\n if (syntax.file) this.visitFileReference(syntax.file);\n if (syntax.code) this.visitCodeBlock(syntax.code);\n }\n\n visitConcept(syntax: ConceptSyntax): void {\n this.visitNode(syntax);\n syntax.attributes.forEach(node => this.visitNode(node));\n if (syntax.generation) this.visitGeneration(syntax.generation);\n syntax.validations?.forEach(node => this.visitValidate(node));\n }\n\n visitType(syntax: TypeSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitProperty(node));\n }\n\n visitDependsOn(syntax: DependsOnSyntax): void { this.visitNode(syntax); }\n\n visitModule(syntax: ModuleSyntax): void {\n this.visitNode(syntax);\n syntax.purposes?.forEach(node => this.visitPurposeReference(node));\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n syntax.dependsOn?.forEach(node => this.visitDependsOn(node));\n syntax.fileImports.forEach(node => this.visitFileImport(node));\n if (syntax.authorize !== null) this.visitAuthorize(syntax.authorize);\n syntax.toolbars?.forEach(node => this.visitScreenDirective(node));\n syntax.features.forEach(node => this.visitFeature(node));\n }\n\n visitFeature(syntax: FeatureSyntax): void {\n this.visitNode(syntax);\n syntax.purposes?.forEach(node => this.visitPurposeReference(node));\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n syntax.dependsOn?.forEach(node => this.visitDependsOn(node));\n syntax.fileImports.forEach(node => this.visitFileImport(node));\n if (syntax.authorize !== null) this.visitAuthorize(syntax.authorize);\n syntax.features.forEach(node => this.visitFeature(node));\n syntax.slices.forEach(node => this.visitSlice(node));\n syntax.toolbars?.forEach(node => this.visitScreenDirective(node));\n }\n\n visitSlice(syntax: SliceSyntax): void {\n this.visitNode(syntax);\n syntax.purposes?.forEach(node => this.visitPurposeReference(node));\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n syntax.commands.forEach(node => this.visitCommand(node));\n syntax.operations?.forEach(node => this.visitOperation(node));\n syntax.events.forEach(node => this.visitEvent(node));\n syntax.constraints.forEach(node => this.visitConstraint(node));\n syntax.queries.forEach(node => this.visitQuery(node));\n syntax.projections.forEach(node => this.visitProjection(node));\n syntax.readModels.forEach(node => this.visitReadModel(node));\n syntax.captures.forEach(node => this.visitCapture(node));\n syntax.reactions.forEach(node => this.visitReaction(node));\n syntax.screens.forEach(node => this.visitScreen(node));\n syntax.specifications.forEach(node => this.visitSpecification(node));\n }\n\n // Explicit reference-only entry points. Default tree traversal remains the narrowed wire traversal;\n // dependency consumers opt into parser-owned side-table payloads rather than changing board visitors.\n visitTriggerData(syntax: TriggerDataSyntax): void {\n this.visitNode(syntax);\n if (syntax.type !== null) this.visitTypeRef(syntax.type);\n }\n visitReads(syntax: ReadsSyntax): void {\n this.visitNode(syntax);\n syntax.byParts?.forEach(part => this.visitPropertyMapping(part));\n }\n visitConcurrency(syntax: ConcurrencySyntax): void { this.visitNode(syntax); }\n visitReducer(syntax: ReducerSyntax): void {\n this.visitNode(syntax);\n if (syntax.from != null) this.visitObserverFilter(syntax.from);\n syntax.rules.forEach(node => this.visitReducerRule(node));\n }\n visitReducerRule(syntax: ReducerRuleSyntax): void {\n this.visitNode(syntax);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n }\n visitForm(syntax: FormSyntax): void {\n this.visitNode(syntax);\n if (syntax.populate !== null) this.visitNode(syntax.populate);\n syntax.fields.forEach(node => this.visitNode(node));\n syntax.columns?.forEach(node => this.visitNode(node));\n if (syntax.layout !== null && syntax.layout !== undefined) {\n this.visitNode(syntax.layout);\n syntax.layout.columns.forEach(column => {\n this.visitNode(column);\n if (column.width !== null) this.visitNode(column.width);\n if (column.minWidth !== null) this.visitNode(column.minWidth);\n if (column.maxWidth !== null) this.visitNode(column.maxWidth);\n });\n if (syntax.layout.columnGap !== null) this.visitNode(syntax.layout.columnGap);\n if (syntax.layout.rowGap !== null) this.visitNode(syntax.layout.rowGap);\n syntax.layout.placements.forEach(placement => {\n this.visitNode(placement);\n if (placement.width !== null) this.visitNode(placement.width);\n });\n }\n if (syntax.onSubmit !== null) this.visitScreenDirective(syntax.onSubmit);\n }\n\n visitApplicationContext(syntax: ApplicationContextSyntax): void {\n this.visitNode(syntax);\n syntax.members.forEach(member => this.visitContextMember(member));\n }\n\n visitContextMember(syntax: ContextMemberSyntax): void { this.visitNode(syntax); }\n\n visitTimeZone(syntax: TimeZoneSyntax): void { this.visitNode(syntax); }\n\n visitCommandCalendar(syntax: CommandCalendarSyntax): void { this.visitNode(syntax); }\n\n visitSpecificationTimeZone(syntax: SpecificationTimeZoneSyntax): void { this.visitNode(syntax); }\n\n visitCommand(syntax: CommandSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitProperty(node));\n if (syntax.authorize !== null) this.visitAuthorize(syntax.authorize);\n if (syntax.stream != null) this.visitCommandStream(syntax.stream);\n if (syntax.calendar != null) this.visitCommandCalendar(syntax.calendar);\n syntax.streamCandidates?.forEach(candidate => this.visitCommandStream(candidate));\n syntax.validations.forEach(node => this.visitValidate(node));\n syntax.produces.forEach(node => this.visitProduces(node));\n if (syntax.handler != null) this.visitHandler(syntax.handler);\n if (syntax.response != null) this.visitCommandResponse(syntax.response);\n }\n\n visitEventSource(syntax: EventSourceSyntax): void {\n this.visitNode(syntax);\n if (syntax.identifier !== null) this.visitTypeRef(syntax.identifier);\n syntax.streams.forEach(stream => this.visitEventStream(stream));\n }\n visitEventStream(syntax: EventStreamSyntax): void {\n this.visitNode(syntax);\n if (syntax.streamId !== null) this.visitTypeRef(syntax.streamId);\n syntax.streamIdParts.forEach(part => this.visitEventStreamIdPart(part));\n }\n visitEventStreamIdPart(syntax: EventStreamIdPartSyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.type);\n }\n visitObserverFilter(syntax: ObserverFilterSyntax): void { this.visitNode(syntax); }\n\n visitCommandStream(syntax: CommandStreamSyntax): void {\n this.visitNode(syntax);\n if (syntax.streamId !== null) this.visitPropertyMapping(syntax.streamId);\n syntax.streamIdParts.forEach(part => this.visitPropertyMapping(part));\n if (syntax.propertyCandidate !== null) this.visitProperty(syntax.propertyCandidate);\n }\n\n visitSystem(syntax: SystemSyntax): void { this.visitNode(syntax); }\n\n visitStateMachine(syntax: StateMachineSyntax): void {\n this.visitNode(syntax);\n syntax.states.forEach(node => this.visitState(node));\n syntax.specifications.forEach(node => this.visitLifecycleSpecification(node));\n }\n\n visitState(syntax: StateSyntax): void {\n this.visitNode(syntax);\n syntax.entering.forEach(node => this.visitStateEntry(node));\n syntax.transitions.forEach(node => this.visitStateTransition(node));\n }\n\n visitStateEntry(syntax: StateEntrySyntax): void { this.visitNode(syntax); }\n\n visitStateTransition(syntax: StateTransitionSyntax): void {\n this.visitNode(syntax);\n if (syntax.when !== null) this.visitCondition(syntax.when);\n }\n\n visitWorkflow(syntax: WorkflowSyntax): void {\n this.visitNode(syntax);\n syntax.nodes.forEach(node => this.visitWorkflowNode(node));\n syntax.specifications.forEach(node => this.visitLifecycleSpecification(node));\n }\n\n visitWorkflowNode(syntax: WorkflowNodeSyntax): void {\n this.visitNode(syntax);\n if (syntax.schedule !== null) this.visitNode(syntax.schedule);\n if (syntax.timeout !== null) this.visitNode(syntax.timeout);\n if (syntax.retryAfter !== null) this.visitNode(syntax.retryAfter);\n if (syntax.condition !== null) this.visitCondition(syntax.condition);\n if (syntax.duration !== null) this.visitNode(syntax.duration);\n if (syntax.expiresAfter !== null) this.visitNode(syntax.expiresAfter);\n syntax.edges.forEach(node => this.visitWorkflowEdge(node));\n }\n\n visitWorkflowEdge(syntax: WorkflowEdgeSyntax): void { this.visitNode(syntax); }\n\n visitLifecycleSpecification(syntax: LifecycleSpecificationSyntax): void {\n this.visitNode(syntax);\n syntax.given.forEach(node => this.visitSpecificationEvent(node));\n if (syntax.whenAppended !== null) this.visitSpecificationEvent(syntax.whenAppended);\n if (syntax.whenStarted !== null) this.visitExpression(syntax.whenStarted);\n syntax.outcomes.forEach(node => this.visitNode(node));\n syntax.then.forEach(node => this.visitNode(node));\n }\n visitOperation(syntax: OperationSyntax): void {\n this.visitNode(syntax);\n syntax.inputs.forEach(input => this.visitProperty(input));\n if (syntax.execute !== null) this.visitOperationPhase(syntax.execute);\n if (syntax.compensate !== null) this.visitOperationPhase(syntax.compensate);\n }\n visitOperationPhase(syntax: OperationPhaseSyntax): void {\n this.visitNode(syntax);\n if (syntax.implementation !== null) this.visitImplementation(syntax.implementation);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n }\n visitSpecificationOperationFailure(syntax: SpecificationOperationFailureSyntax): void { this.visitNode(syntax); }\n visitSpecificationCompensated(syntax: SpecificationCompensatedSyntax): void { this.visitNode(syntax); }\n visitSpecificationOperation(syntax: SpecificationOperationSyntax): void {\n this.visitNode(syntax);\n syntax.values.forEach(value => this.visitPropertyMapping(value));\n }\n\n visitHandler(syntax: HandlerSyntax): void {\n this.visitNode(syntax);\n if (syntax.possibleEvents != null) this.visitPossibleEvents(syntax.possibleEvents);\n if (syntax.implementation != null) this.visitImplementation(syntax.implementation);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n }\n\n visitPossibleEvents(syntax: PossibleEventsSyntax): void {\n this.visitNode(syntax);\n syntax.events.forEach(entry => this.visitPossibleEvent(entry));\n }\n\n visitPossibleEvent(syntax: PossibleEventSyntax): void {\n this.visitNode(syntax);\n if (syntax.stream !== null) this.visitCommandStream(syntax.stream);\n syntax.tags.forEach(tag => this.visitTag(tag));\n }\n\n visitImplementation(syntax: ImplementationSyntax): void {\n this.visitNode(syntax);\n syntax.hints.forEach(hint => this.visitImplementationHint(hint));\n }\n\n visitImplementationHint(syntax: ImplementationHintSyntax): void { this.visitNode(syntax); }\n visitFileReference(syntax: FileReferenceSyntax): void { this.visitNode(syntax); }\n visitCodeBlock(syntax: CodeBlockSyntax): void { this.visitNode(syntax); }\n\n visitCommandResponse(syntax: CommandResponseSyntax): void {\n if (syntax.kind === 'ScalarCommandResponseSyntax') this.visitScalarCommandResponse(syntax);\n else this.visitRecordCommandResponse(syntax);\n }\n\n visitScalarCommandResponse(syntax: ScalarCommandResponseSyntax): void {\n this.visitNode(syntax);\n this.visitPropertyResponseSource(syntax.source);\n }\n\n visitRecordCommandResponse(syntax: RecordCommandResponseSyntax): void {\n this.visitNode(syntax);\n syntax.fields.forEach(field => this.visitResponseField(field));\n }\n\n visitResponseField(syntax: ResponseFieldSyntax): void {\n this.visitNode(syntax);\n if (syntax.type !== null) this.visitTypeRef(syntax.type);\n this.visitPropertyResponseSource(syntax.source);\n }\n\n visitPropertyResponseSource(syntax: PropertyResponseSourceSyntax): void {\n this.visitNode(syntax);\n }\n\n visitSpecificationReturn(syntax: SpecificationReturnSyntax): void {\n if (syntax.kind === 'ScalarSpecificationReturnSyntax') this.visitScalarSpecificationReturn(syntax);\n else this.visitRecordSpecificationReturn(syntax);\n }\n\n visitScalarSpecificationReturn(syntax: ScalarSpecificationReturnSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.value);\n }\n\n visitRecordSpecificationReturn(syntax: RecordSpecificationReturnSyntax): void {\n this.visitNode(syntax);\n syntax.fields.forEach(field => this.visitPropertyMapping(field));\n }\n\n visitValidate(syntax: ValidateSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'DeclarativeValidateSyntax') {\n syntax.rules.forEach(node => this.visitValidationRule(node));\n syntax.requirements?.forEach(node => { this.visitNode(node); this.visitCondition(node.condition); });\n } else if (syntax.kind === 'FileValidateSyntax') this.visitFileReference(syntax.file);\n else if (syntax.code != null) this.visitCodeBlock(syntax.code);\n }\n\n visitValidationRule(syntax: ValidationRuleSyntax): void {\n this.visitNode(syntax);\n if (syntax.implementation != null) this.visitImplementation(syntax.implementation);\n if (syntax.value !== null) this.visitExpression(syntax.value);\n if (syntax.file !== null) this.visitFileReference(syntax.file);\n if (syntax.code !== null) this.visitCodeBlock(syntax.code);\n }\n\n visitEvent(syntax: EventSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitProperty(node));\n syntax.tags.forEach(node => this.visitTag(node));\n }\n\n visitTag(syntax: TagSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.value);\n }\n\n visitReadModel(syntax: ReadModelSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitProperty(node));\n }\n\n visitConstraint(syntax: ConstraintSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'FileConstraintSyntax') this.visitNode(syntax.file);\n syntax.additionalRules.forEach(node => this.visitConstraint(node));\n }\n\n visitQuery(syntax: QuerySyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.returnType);\n if (syntax.by !== null) this.visitQueryParameter(syntax.by);\n syntax.byParts?.forEach(part => this.visitQueryParameter(part));\n syntax.filters.forEach(node => this.visitQueryParameter(node));\n if (syntax.authorize !== null) this.visitAuthorize(syntax.authorize);\n }\n\n visitQueryParameter(syntax: QueryParameterSyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.type);\n if (syntax.source != null) this.visitExpression(syntax.source);\n }\n\n visitKey(syntax: KeySyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'ExpressionKeySyntax') this.visitExpression(syntax.expression);\n else syntax.parts.forEach(part => { this.visitNode(part); this.visitExpression(part.expression); });\n }\n\n visitProjection(syntax: ProjectionSyntax): void {\n this.visitNode(syntax);\n if (syntax.key != null) this.visitKey(syntax.key);\n syntax.blocks.forEach(node => this.visitProjectionBlock(node));\n }\n\n visitProjectionBlock(syntax: ProjectionBlockSyntax): void {\n this.visitNode(syntax);\n switch (syntax.kind) {\n case 'FromSyntax':\n syntax.events.forEach(node => { this.visitNode(node); if (node.key != null) this.visitExpression(node.key); });\n if (syntax.key != null) this.visitKey(syntax.key);\n if (syntax.parentKey != null) this.visitExpression(syntax.parentKey);\n syntax.mappings.forEach(node => this.visitMapping(node));\n break;\n case 'EverySyntax':\n case 'AllSyntax':\n syntax.mappings.forEach(node => this.visitMapping(node));\n break;\n case 'JoinSyntax':\n syntax.events.forEach(node => this.visitJoinEvent(node));\n break;\n case 'ProjectionVariantSyntax':\n syntax.entersOn.forEach(node => { this.visitNode(node); if (node.key != null) this.visitExpression(node.key); });\n syntax.blocks.forEach(node => this.visitProjectionBlock(node));\n break;\n case 'ChildrenSyntax':\n if (syntax.identifiedBy !== undefined) this.visitExpression(syntax.identifiedBy);\n syntax.blocks.forEach(node => this.visitProjectionBlock(node));\n break;\n case 'NestedSyntax':\n syntax.blocks.forEach(node => this.visitProjectionBlock(node));\n break;\n case 'RemoveWithSyntax':\n if (syntax.partsKey != null) this.visitKey(syntax.partsKey);\n if (syntax.parentKey != null) this.visitExpression(syntax.parentKey);\n if (syntax.key != null) this.visitExpression(syntax.key);\n break;\n case 'RemoveViaJoinSyntax':\n if (syntax.key != null) this.visitExpression(syntax.key);\n break;\n }\n }\n\n visitJoinEvent(syntax: JoinEventSyntax): void {\n this.visitNode(syntax);\n syntax.mappings.forEach(node => this.visitMapping(node));\n }\n\n visitMapping(syntax: MappingSyntax): void {\n this.visitNode(syntax);\n if (syntax.source !== undefined) this.visitExpression(syntax.source);\n if (syntax.value !== undefined) this.visitExpression(syntax.value);\n }\n\n visitCondition(syntax: ConditionSyntax): void {\n this.visitNode(syntax);\n if (syntax.kind === 'ComparisonConditionSyntax') {\n if (syntax.leftExpression != null) this.visitExpression(syntax.leftExpression);\n this.visitExpression(syntax.right);\n }\n else { this.visitCondition(syntax.left); this.visitCondition(syntax.right); }\n }\n\n visitReaction(syntax: ReactionSyntax): void {\n this.visitNode(syntax);\n if (syntax.from != null) this.visitObserverFilter(syntax.from);\n if (syntax.runsAs != null) this.visitReactionIdentity(syntax.runsAs);\n if (syntax.where != null) this.visitCondition(syntax.where);\n syntax.triggers.forEach(node => this.visitReactionTrigger(node));\n }\n\n visitReactionIdentity(syntax: ReactionIdentitySyntax): void { this.visitNode(syntax); }\n\n visitReactionTrigger(syntax: ReactionTriggerSyntax): void {\n this.visitNode(syntax);\n this.visitTriggerSource(syntax.source);\n syntax.produces.forEach(node => this.visitProduces(node));\n syntax.invokes.forEach(node => this.visitInvokes(node));\n }\n\n visitProduces(syntax: ProducesSyntax): void {\n this.visitNode(syntax);\n if (syntax.stream != null) this.visitCommandStream(syntax.stream);\n if (syntax.when != null) this.visitCondition(syntax.when);\n if (syntax.inlineEvent !== null) this.visitEvent(syntax.inlineEvent);\n if (syntax.inlineOperation != null) this.visitOperation(syntax.inlineOperation);\n if (syntax.for !== null) this.visitExpression(syntax.for);\n syntax.mappings.forEach(node => this.visitPropertyMapping(node));\n syntax.tags.forEach(node => this.visitTag(node));\n }\n\n visitInvokes(syntax: InvokesSyntax): void {\n this.visitNode(syntax);\n syntax.mappings?.forEach(node => this.visitPropertyMapping(node));\n syntax.onRefused?.forEach(node => this.visitInvocationRefusal(node));\n }\n\n visitInvocationRefusal(syntax: InvocationRefusalSyntax): void {\n this.visitNode(syntax);\n syntax.produces.forEach(node => this.visitProduces(node));\n }\n\n visitCapture(syntax: CaptureSyntax): void {\n this.visitNode(syntax);\n if (syntax.source !== null) this.visitCaptureSource(syntax.source);\n syntax.map?.forEach(node => this.visitCaptureMap(node));\n syntax.appends.forEach(node => this.visitCaptureAppend(node));\n syntax.children.forEach(node => this.visitCaptureChildren(node));\n syntax.nested.forEach(node => this.visitCaptureNested(node));\n }\n\n visitCaptureSource(syntax: CaptureSourceSyntax): void {\n this.visitNode(syntax);\n syntax.settings.forEach(node => this.visitCaptureSourceSetting(node));\n }\n\n visitCaptureSourceSetting(syntax: CaptureSourceSettingSyntax): void {\n this.visitNode(syntax);\n }\n\n visitCaptureMap(syntax: CaptureMapOperationSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.source);\n if (syntax.kind === 'CaptureMapEntrySyntax') syntax.translations.forEach(node => this.visitNode(node));\n }\n\n visitCaptureAppend(syntax: CaptureAppendSyntax): void {\n this.visitNode(syntax);\n if (syntax.when != null) this.visitNode(syntax.when);\n syntax.mappings?.forEach(node => this.visitPropertyMapping(node));\n syntax.tags?.forEach(node => this.visitTag(node));\n }\n\n visitCaptureChildren(syntax: CaptureChildrenSyntax): void {\n this.visitNode(syntax);\n syntax.map?.forEach(node => this.visitCaptureMap(node));\n syntax.appends.forEach(node => this.visitCaptureAppend(node));\n }\n\n visitCaptureNested(syntax: CaptureNestedSyntax): void {\n this.visitNode(syntax);\n syntax.map?.forEach(node => this.visitCaptureMap(node));\n syntax.appends.forEach(node => this.visitCaptureAppend(node));\n }\n\n visitTriggerSource(syntax: TriggerSourceSyntax): void {\n this.visitNode(syntax);\n }\n\n visitScreen(syntax: ScreenSyntax): void {\n this.visitNode(syntax);\n syntax.directives.forEach(node => this.visitScreenDirective(node));\n syntax.contributions?.forEach(contribution => {\n this.visitNode(contribution);\n contribution.directives.forEach(node => this.visitScreenDirective(node));\n });\n }\n\n visitScreenDirective(syntax: ScreenDirectiveSyntax): void {\n if (syntax.kind === 'ScreenGuardedActionSyntax') {\n this.visitScreenGuardedAction(syntax);\n return;\n }\n this.visitNode(syntax);\n switch (syntax.kind) {\n case 'ScreenDataSyntax':\n this.visitTypeRef(syntax.type);\n break;\n case 'ScreenActionSyntax':\n syntax.inputs?.forEach(input => this.visitInteractionArgument(input));\n if (syntax.navigate !== null) this.visitScreenDirective(syntax.navigate);\n break;\n case 'ScreenNavigateSyntax':\n syntax.parameters.forEach(parameter => {\n this.visitNode(parameter);\n this.visitUiBinding(parameter.binding);\n });\n break;\n case 'ScreenTemplateReferenceSyntax':\n syntax.slots.forEach(slot => {\n this.visitNode(slot);\n slot.directives.forEach(node => this.visitScreenDirective(node));\n });\n break;\n case 'ScreenSectionSyntax':\n syntax.directives.forEach(node => this.visitScreenDirective(node));\n break;\n case 'ScreenTableSyntax':\n syntax.columns.forEach(node => this.visitNode(node));\n if (syntax.rowClick !== null) this.visitScreenDirective(syntax.rowClick);\n break;\n case 'ScreenSummarySyntax':\n syntax.fields.forEach(node => this.visitNode(node));\n break;\n case 'ScreenComponentSyntax':\n if (syntax.context !== null) this.visitUiBinding(syntax.context);\n syntax.properties.forEach(property => {\n this.visitNode(property);\n if (property.binding !== null) this.visitUiBinding(property.binding);\n if (property.value !== null) this.visitExpression(property.value);\n });\n syntax.exposes.forEach(exposed => {\n this.visitNode(exposed);\n this.visitUiBinding(exposed.binding);\n });\n syntax.presentation.forEach(node => this.visitNode(node));\n syntax.outlets.forEach(outlet => {\n this.visitNode(outlet);\n outlet.directives.forEach(node => this.visitScreenDirective(node));\n });\n break;\n case 'ScreenToolbarSyntax':\n syntax.items.forEach(item => {\n this.visitNode(item);\n item.parameters.forEach(parameter => {\n this.visitNode(parameter);\n this.visitUiBinding(parameter.binding);\n });\n item.presentation.forEach(node => this.visitNode(node));\n });\n (syntax.buttons ?? []).forEach(button => this.visitNode(button));\n break;\n case 'ScreenCodeSyntax':\n this.visitNode(syntax.code);\n break;\n }\n }\n\n visitScreenGuardedAction(syntax: ScreenGuardedActionSyntax): void {\n this.visitNode(syntax);\n syntax.alternatives.forEach(node => this.visitScreenActionAlternative(node));\n if (syntax.otherwise !== null) this.visitScreenActionOtherwise(syntax.otherwise);\n if (syntax.navigate !== null) this.visitScreenDirective(syntax.navigate);\n }\n\n visitScreenActionAlternative(syntax: ScreenActionAlternativeSyntax): void {\n this.visitNode(syntax);\n this.visitCondition(syntax.condition);\n syntax.arguments.forEach(node => this.visitInteractionArgument(node));\n }\n\n visitScreenActionOtherwise(syntax: ScreenActionOtherwiseSyntax): void {\n this.visitNode(syntax);\n syntax.arguments.forEach(node => this.visitInteractionArgument(node));\n }\n\n visitInteractionArgument(syntax: InteractionArgumentSyntax): void { this.visitNode(syntax); }\n\n visitSpecification(syntax: SpecificationSyntax): void {\n this.visitNode(syntax);\n syntax.examples?.forEach(node => this.visitSpecificationExample(node));\n syntax.parameters?.forEach(node => { this.visitNode(node); this.visitTypeRef(node.type); });\n syntax.cases?.forEach(node => { this.visitNode(node); node.values.forEach(value => this.visitPropertyMapping(value)); });\n if (syntax.givenClock !== null) this.visitSpecificationClock(syntax.givenClock);\n if (syntax.givenTimeZone != null) this.visitSpecificationTimeZone(syntax.givenTimeZone);\n syntax.givenOperationFailures?.forEach(node => this.visitSpecificationOperationFailure(node));\n syntax.thenOperations?.forEach(node => this.visitSpecificationOperation(node));\n syntax.thenCompensated?.forEach(node => this.visitSpecificationCompensated(node));\n if (syntax.givenCallerPersona != null) this.visitNode(syntax.givenCallerPersona);\n if (syntax.givenCaller != null) {\n this.visitNode(syntax.givenCaller);\n syntax.givenCaller.claims.forEach(node => this.visitNode(node));\n }\n syntax.given.forEach(node => this.visitSpecificationEvent(node));\n syntax.givenReadModels.forEach(node => this.visitSpecificationReadModel(node));\n if (syntax.when !== null) this.visitSpecificationCommand(syntax.when);\n syntax.givenCaptures.forEach(node => this.visitSpecificationCapture(node));\n syntax.givenGenerated?.forEach(node => this.visitSpecificationGeneratedValue(node));\n if (syntax.whenAppended !== null) this.visitSpecificationEvent(syntax.whenAppended);\n if (syntax.whenRedelivered != null) this.visitSpecificationRedelivery(syntax.whenRedelivered);\n if (syntax.whenClock !== null) this.visitSpecificationClock(syntax.whenClock);\n if (syntax.whenTrigger !== null) this.visitSpecificationTrigger(syntax.whenTrigger);\n if (syntax.whenCapture !== null) this.visitSpecificationCapture(syntax.whenCapture);\n if (syntax.whenQuery !== null) this.visitSpecificationWhenQuery(syntax.whenQuery);\n syntax.thenEvents.forEach(node => this.visitSpecificationEvent(node));\n syntax.thenReadModels.forEach(node => this.visitSpecificationReadModel(node));\n syntax.thenAbsentReadModels?.forEach(node => { this.visitNode(node); this.visitExpression(node.key); });\n syntax.thenQueries?.forEach(node => {\n this.visitNode(node);\n node.arguments.forEach(value => this.visitPropertyMapping(value));\n node.results.forEach(result => this.visitSpecificationQueryResult(result));\n });\n syntax.thenResults.forEach(node => this.visitSpecificationQueryResult(node));\n if (syntax.thenNoResult !== null) this.visitNode(syntax.thenNoResult);\n if (syntax.thenDenied != null) this.visitNode(syntax.thenDenied);\n if (syntax.thenReturns != null) this.visitSpecificationReturn(syntax.thenReturns);\n syntax.thenErrors.forEach(node => { this.visitNode(node); if (node.caseValue != null) this.visitExpression(node.caseValue); });\n syntax.thenInvocations?.forEach(node => this.visitSpecificationInvocation(node));\n }\n\n visitSpecificationInvocation(syntax: SpecificationInvocationSyntax): void {\n this.visitNode(syntax);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationRedelivery(syntax: SpecificationRedeliverySyntax): void {\n this.visitNode(syntax);\n if (syntax.for !== null) this.visitExpression(syntax.for);\n if (syntax.stream != null) this.visitSpecificationStream(syntax.stream);\n if (syntax.noStream != null) this.visitSpecificationNoStream(syntax.noStream);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationClock(syntax: SpecificationClockSyntax): void {\n this.visitNode(syntax);\n }\n\n visitSpecificationTrigger(syntax: SpecificationTriggerSyntax): void {\n this.visitNode(syntax);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationGeneratedValue(syntax: SpecificationGeneratedValueSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.source);\n }\n\n visitSpecificationCapture(syntax: SpecificationCaptureSyntax): void {\n this.visitNode(syntax);\n syntax.record.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationWhenQuery(syntax: SpecificationWhenQuerySyntax): void {\n this.visitNode(syntax);\n syntax.arguments.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationQueryResult(syntax: SpecificationQueryResultSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationExample(syntax: SpecificationExampleSyntax): void {\n this.visitNode(syntax);\n if (syntax.for !== null) this.visitExpression(syntax.for);\n if (syntax.stream != null) this.visitSpecificationStream(syntax.stream);\n if (syntax.noStream != null) this.visitSpecificationNoStream(syntax.noStream);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n syntax.generatedValues.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitSpecificationEvent(syntax: SpecificationEventSyntax): void {\n this.visitNode(syntax);\n if (syntax.stream != null) this.visitSpecificationStream(syntax.stream);\n if (syntax.noStream != null) this.visitSpecificationNoStream(syntax.noStream);\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n if (syntax.for !== null) this.visitExpression(syntax.for);\n }\n\n visitSpecificationStream(syntax: SpecificationStreamSyntax): void {\n this.visitNode(syntax);\n if (syntax.streamId !== null) this.visitPropertyMapping(syntax.streamId);\n syntax.streamIdParts.forEach(part => this.visitPropertyMapping(part));\n }\n\n visitSpecificationNoStream(syntax: SpecificationNoStreamSyntax): void { this.visitNode(syntax); }\n\n visitSpecificationCommand(syntax: SpecificationCommandSyntax): void {\n this.visitNode(syntax);\n (syntax.generatedValues ?? []).forEach(fixture => this.visitPropertyMapping(fixture));\n syntax.values.forEach(node => this.visitPropertyMapping(node));\n if (syntax.for !== null) this.visitExpression(syntax.for);\n }\n\n visitSpecificationReadModel(syntax: SpecificationReadModelSyntax): void {\n this.visitNode(syntax);\n syntax.properties.forEach(node => this.visitPropertyMapping(node));\n }\n\n visitPropertyMapping(syntax: PropertyMappingSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.source);\n }\n\n visitProperty(syntax: PropertySyntax): void {\n this.visitNode(syntax);\n this.visitTypeRef(syntax.type);\n }\n\n visitTypeRef(syntax: TypeRefSyntax): void {\n this.visitNode(syntax);\n }\n\n visitUiBinding(syntax: import('./Screens').UiBindingSyntax): void {\n this.visitNode(syntax);\n if (syntax.literal !== null) this.visitExpression(syntax.literal);\n }\n\n visitIdentityExpression(syntax: IdentityExpressionSyntax): void { this.visitNode(syntax); }\n\n visitExpression(syntax: ExpressionSyntax): void {\n if (syntax.kind === 'IdentityExpressionSyntax') { this.visitIdentityExpression(syntax); return; }\n this.visitNode(syntax);\n if (syntax.kind === 'ListExpressionSyntax') {\n syntax.items.forEach(item => this.visitExpression(item));\n } else if (syntax.kind === 'ObjectExpressionSyntax') {\n syntax.members.forEach(member => this.visitObjectMember(member));\n } else if (syntax.kind === 'DateOfExpressionSyntax') {\n this.visitExpression(syntax.operand);\n } else if (syntax.kind === 'TemplateExpressionSyntax') {\n syntax.parts.forEach(part => { this.visitNode(part); if (part.kind === 'TemplateInterpolationSyntax') this.visitExpression(part.expression); });\n }\n }\n\n visitObjectMember(syntax: ObjectMemberSyntax): void {\n this.visitNode(syntax);\n this.visitExpression(syntax.value);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceOptions.js","names":["legacySourceOptions","exactSourceOptions","invalidSourceOptions","value","InvalidSyntaxJson","mode","authoredDocuments","root"],"sources":["../../../../../../Compiler/Syntax/SourceOptions.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { InvalidSyntaxJson } from './InvalidSyntaxJson';\n\nexport type NumericMode = 'legacy' | 'exact';\nexport interface SourceOptions { readonly numericMode: NumericMode; }\nexport const legacySourceOptions: SourceOptions = Object.freeze({ numericMode: 'legacy' });\nexport const exactSourceOptions: SourceOptions = Object.freeze({ numericMode: 'exact' });\nexport const invalidSourceOptions: SourceOptions = Object.freeze({ numericMode: 'invalid' as NumericMode });\n\n// Validate before selecting neutrality or a mode. Missing options are defaulted by the owning root,\n// not here: an explicitly present null/undefined/malformed assertion must never become Legacy.\nexport function validatedSourceOptions(value: unknown): SourceOptions {\n if (typeof value !== 'object' || value === null || (Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) || Reflect.ownKeys(value).length !== 1 || !Object.hasOwn(value, 'numericMode')) throw new InvalidSyntaxJson('Malformed source numeric options.');\n const mode = (value as { numericMode: unknown }).numericMode;\n if (mode !== 'legacy' && mode !== 'exact') throw new InvalidSyntaxJson('Malformed source numeric options.');\n return mode === 'exact' ? exactSourceOptions : legacySourceOptions;\n}\n\nconst authoredDocuments = new WeakSet<object>();\nexport function recordAuthoredDocument(root: object): void { authoredDocuments.add(root); }\nexport function isAuthoredDocument(root: object): boolean { return authoredDocuments.has(root); }\n"],"mappings":"gHAOA,MAAaA,EAAqC,OAAO,OAAO,CAAE,YAAa,QAAS,CAAC,EAC5EC,EAAoC,OAAO,OAAO,CAAE,YAAa,OAAQ,CAAC,EAC1EC,EAAsC,OAAO,OAAO,CAAE,YAAa,SAAyB,CAAC,EAI1G,SAAgB,uBAAuB,EAA+B,CAClE,GAAI,OAAOC,GAAU,WAAYA,GAAmB,OAAO,eAAeA,CAAK,IAAM,OAAO,WAAa,OAAO,eAAeA,CAAK,IAAM,MAAS,QAAQ,QAAQA,CAAK,CAAC,CAAC,SAAW,GAAK,CAAC,OAAO,OAAOA,EAAO,aAAa,EAAG,MAAM,IAAIC,EAAkB,mCAAmC,EAC/R,IAAMC,EAAQF,EAAmC,YACjD,GAAIE,IAAS,UAAYA,IAAS,QAAS,MAAM,IAAID,EAAkB,mCAAmC,EAC1G,OAAOC,IAAS,QAAUJ,EAAqBD,CACnD,CAEA,MAAMM,kBAAoB,IAAI,QAC9B,SAAgB,uBAAuB,EAAoB,CAAEA,EAAkB,IAAIC,CAAI,CAAG,CAC1F,SAAgB,mBAAmB,EAAuB,CAAE,OAAOD,EAAkB,IAAIC,CAAI,CAAG"}
|
|
1
|
+
{"version":3,"file":"SourceOptions.js","names":["legacySourceOptions","exactSourceOptions","invalidSourceOptions","value","InvalidSyntaxJson","mode","authoredDocuments","root"],"sources":["../../../../../../Compiler/Syntax/SourceOptions.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { InvalidSyntaxJson } from './InvalidSyntaxJson';\n\nexport type NumericMode = 'legacy' | 'exact';\nexport interface SourceOptions { readonly numericMode: NumericMode; }\nexport const legacySourceOptions: SourceOptions = Object.freeze({ numericMode: 'legacy' });\nexport const exactSourceOptions: SourceOptions = Object.freeze({ numericMode: 'exact' });\nexport const invalidSourceOptions: SourceOptions = Object.freeze({ numericMode: 'invalid' as NumericMode });\n\n// Validate before selecting neutrality or a mode. Missing options are defaulted by the owning root,\n// not here: an explicitly present null/undefined/malformed assertion must never become Legacy.\nexport function validatedSourceOptions(value: unknown): SourceOptions {\n if (typeof value !== 'object' || value === null || (Object.getPrototypeOf(value) !== Object.prototype && Object.getPrototypeOf(value) !== null) || Reflect.ownKeys(value).length !== 1 || !Object.hasOwn(value, 'numericMode')) throw new InvalidSyntaxJson('Malformed source numeric options.');\n const mode = (value as { numericMode: unknown }).numericMode;\n if (mode !== 'legacy' && mode !== 'exact') throw new InvalidSyntaxJson('Malformed source numeric options.');\n return mode === 'exact' ? exactSourceOptions : legacySourceOptions;\n}\n\nconst authoredDocuments = new WeakSet<object>();\nexport function recordAuthoredDocument(root: object): void { authoredDocuments.add(root); }\nexport function isAuthoredDocument(root: object): boolean { return authoredDocuments.has(root); }\n"],"mappings":"A,gHAOA,MAAaA,EAAqC,OAAO,OAAO,CAAE,YAAa,QAAS,CAAC,EAC5EC,EAAoC,OAAO,OAAO,CAAE,YAAa,OAAQ,CAAC,EAC1EC,EAAsC,OAAO,OAAO,CAAE,YAAa,SAAyB,CAAC,EAI1G,SAAgB,uBAAuB,EAA+B,CAClE,GAAI,OAAOC,GAAU,WAAYA,GAAmB,OAAO,eAAeA,CAAK,IAAM,OAAO,WAAa,OAAO,eAAeA,CAAK,IAAM,MAAS,QAAQ,QAAQA,CAAK,CAAC,CAAC,SAAW,GAAK,CAAC,OAAO,OAAOA,EAAO,aAAa,EAAG,MAAM,IAAIC,EAAkB,mCAAmC,EAC/R,IAAMC,EAAQF,EAAmC,YACjD,GAAIE,IAAS,UAAYA,IAAS,QAAS,MAAM,IAAID,EAAkB,mCAAmC,EAC1G,OAAOC,IAAS,QAAUJ,EAAqBD,CACnD,CAEA,MAAMM,kBAAoB,IAAI,QAC9B,SAAgB,uBAAuB,EAAoB,CAAEA,EAAkB,IAAIC,CAAI,CAAG,CAC1F,SAAgB,mBAAmB,EAAuB,CAAE,OAAOD,EAAkB,IAAIC,CAAI,CAAG,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpecificationCaseOrigin.js","names":["specificationCaseOrigins"],"sources":["../../../../../../Compiler/Syntax/SpecificationCaseOrigin.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { SpecificationSyntax } from './Specifications';\n\nexport interface SpecificationCaseOrigin {\n readonly table: string;\n readonly case: string;\n}\n\nexport const specificationCaseOrigins = new WeakMap<SpecificationSyntax, SpecificationCaseOrigin>();\n"],"mappings":"AAUA,MAAaA,kBAA2B,IAAI"}
|
|
1
|
+
{"version":3,"file":"SpecificationCaseOrigin.js","names":["specificationCaseOrigins"],"sources":["../../../../../../Compiler/Syntax/SpecificationCaseOrigin.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport { SpecificationSyntax } from './Specifications';\n\nexport interface SpecificationCaseOrigin {\n readonly table: string;\n readonly case: string;\n}\n\nexport const specificationCaseOrigins = new WeakMap<SpecificationSyntax, SpecificationCaseOrigin>();\n"],"mappings":"AAUA,MAAaA,kBAA2B,IAAI,Q"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamIdFormatter.js","names":["value","hex","integer","doubleBound","failure"],"sources":["../../../../../../Compiler/Syntax/StreamIdFormatter.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** A value-free reason why a portable stream identity cannot be formatted. */\nexport enum StreamIdFormatFailure {\n Empty = 'Empty', NotNfc = 'NotNfc', LoneSurrogate = 'LoneSurrogate', OutOfRange = 'OutOfRange',\n NotIntegral = 'NotIntegral', MalformedUuid = 'MalformedUuid', Arity = 'Arity', Escape = 'Escape', Noncanonical = 'Noncanonical',\n}\n\nexport type StreamIdScalarKind = 'String' | 'Uuid' | 'Int';\nexport type StreamIdFormatResult = { readonly value: string; readonly failure: null } | { readonly value: null; readonly failure: StreamIdFormatFailure };\n\n/** Formats text without rewriting its identity. */\nexport function tryFormatText(value: string): StreamIdFormatResult {\n if (value.length === 0) return { value: null, failure: StreamIdFormatFailure.Empty };\n if (/[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]/u.test(value)) return { value: null, failure: StreamIdFormatFailure.LoneSurrogate };\n if (value.normalize('NFC') !== value) return { value: null, failure: StreamIdFormatFailure.NotNfc };\n return { value, failure: null };\n}\n\n/** Accepts only authored N, D, B and P UUID forms, returning lowercase D. */\nexport function tryFormatUuidText(value: string): StreamIdFormatResult {\n if (!/^(?:[0-9a-f]{32}|[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}|\\{[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}\\}|\\([0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}\\))(?![\\s\\S])/i.test(value)) return { value: null, failure: StreamIdFormatFailure.MalformedUuid };\n const hex = value.replace(/[{}()-]/g, '').toLowerCase();\n return { value: `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`, failure: null };\n}\n\n/** Formats an integer losslessly; only Double numeric mode imposes the safe-integer bound. */\nexport function tryFormatInteger(value: bigint | number, doubleBound = typeof value === 'number'): StreamIdFormatResult {\n if (typeof value === 'number' && !Number.isInteger(value)) return { value: null, failure: StreamIdFormatFailure.NotIntegral };\n const integer = BigInt(value);\n if (doubleBound && (integer < -9007199254740991n || integer > 9007199254740991n)) return { value: null, failure: StreamIdFormatFailure.OutOfRange };\n return { value: integer.toString(), failure: null };\n}\n\n/** A diagnostic message that never contains the value. */\nexport function streamIdFailureMessage(failure: StreamIdFormatFailure): string {\n switch (failure) {\n case StreamIdFormatFailure.Empty: return 'A stream id text literal cannot be empty.';\n case StreamIdFormatFailure.NotNfc: return 'A stream id text literal must be Unicode NFC.';\n case StreamIdFormatFailure.LoneSurrogate: return 'A stream id text literal cannot contain lone UTF-16 surrogates.';\n case StreamIdFormatFailure.OutOfRange: return 'A stream id integer literal must be between -9007199254740991 and 9007199254740991 in Double numeric mode.';\n case StreamIdFormatFailure.NotIntegral: return 'A stream id integer must be a finite integral value.';\n case StreamIdFormatFailure.MalformedUuid: return 'A stream id UUID must use N, D, B or P form.';\n case StreamIdFormatFailure.Arity: return 'A composite stream id must match the declared part count of at least two.';\n case StreamIdFormatFailure.Escape: return 'A composite stream id permits only %25 and %7C escapes.';\n case StreamIdFormatFailure.Noncanonical: return 'A composite stream id part must use canonical scalar spelling.';\n }\n}\n\n/** Encodes already formatted parts in declaration order. */\nexport function encodeComposite(parts: readonly string[]): string {\n return parts.map(part => part.replaceAll('%', '%25').replaceAll('|', '%7C')).join('|');\n}\n\n/** Decodes once, then checks canonical scalar spelling. Never repairs an identity. */\nexport function tryDecodeComposite(value: string, kinds: readonly StreamIdScalarKind[], doubleBound = true): { readonly parts: readonly string[] | null; readonly failure: StreamIdFormatFailure | null } {\n const encoded = value.split('|');\n if (kinds.length < 2 || encoded.length !== kinds.length) return { parts: null, failure: StreamIdFormatFailure.Arity };\n const parts: string[] = [];\n for (let index = 0; index < encoded.length; index++) {\n const component = encoded[index];\n if (/%(?!25|7C)/u.test(component)) return { parts: null, failure: StreamIdFormatFailure.Escape };\n const decoded = component.replace(/%25|%7C/g, escape => escape === '%25' ? '%' : '|');\n let formatted: StreamIdFormatResult;\n if (kinds[index] === 'String') formatted = tryFormatText(decoded);\n else if (kinds[index] === 'Uuid') formatted = tryFormatUuidText(decoded);\n else if (/^-?[0-9]+$(?![\\s\\S])/u.test(decoded)) formatted = tryFormatInteger(BigInt(decoded), doubleBound);\n else return { parts: null, failure: StreamIdFormatFailure.Noncanonical };\n if (formatted.failure !== null) return { parts: null, failure: formatted.failure };\n if (formatted.value !== decoded) return { parts: null, failure: StreamIdFormatFailure.Noncanonical };\n parts.push(decoded);\n }\n return { parts, failure: null };\n}\n"],"mappings":"qDAaA,SAAgB,cAAc,EAAqC,CAI/D,OAHIA,EAAM,SAAW,EAAU,CAAE,MAAO,KAAM,QAAA,OAAqC,EAC/E,0EAA0E,KAAKA,CAAK,EAAU,CAAE,MAAO,KAAM,QAAA,eAA6C,EAC1JA,EAAM,UAAU,KAAK,IAAMA,EACxB,CAAE,QAAO,QAAS,IAAK,EADe,CAAE,MAAO,KAAM,QAAA,QAAsC,CAEtG,CAGA,SAAgB,kBAAkB,EAAqC,CACnE,GAAI,CAAC,2KAA2K,KAAKA,CAAK,EAAG,MAAO,CAAE,MAAO,KAAM,QAAA,eAA6C,EAChQ,IAAMC,EAAMD,EAAM,QAAQ,WAAY,EAAE,CAAC,CAAC,YAAY,EACtD,MAAO,CAAE,MAAO,GAAGC,EAAI,MAAM,EAAG,CAAC,EAAE,GAAGA,EAAI,MAAM,EAAG,EAAE,EAAE,GAAGA,EAAI,MAAM,GAAI,EAAE,EAAE,GAAGA,EAAI,MAAM,GAAI,EAAE,EAAE,GAAGA,EAAI,MAAM,EAAE,IAAK,QAAS,IAAK,CACvI,CAGA,SAAgB,iBAAiB,EAAwB,EAAc,OAAOD,GAAU,SAAgC,CACpH,GAAI,OAAOA,GAAU,UAAY,CAAC,OAAO,UAAUA,CAAK,EAAG,MAAO,CAAE,MAAO,KAAM,QAAA,aAA2C,EAC5H,IAAME,EAAU,OAAOF,CAAK,EAE5B,OADIG,IAAgBD,EAAU,CAAC,mBAAqBA,EAAU,mBAA2B,CAAE,MAAO,KAAM,QAAA,YAA0C,EAC3I,CAAE,MAAOA,EAAQ,SAAS,EAAG,QAAS,IAAK,CACtD,CAGA,SAAgB,uBAAuB,EAAwC,CAC3E,OAAQE,EAAR,CACI,IAAA,QAAkC,MAAO,4CACzC,IAAA,SAAmC,MAAO,gDAC1C,IAAA,gBAA0C,MAAO,kEACjD,IAAA,aAAuC,MAAO,6GAC9C,IAAA,cAAwC,MAAO,uDAC/C,IAAA,gBAA0C,MAAO,+CACjD,IAAA,QAAkC,MAAO,4EACzC,IAAA,SAAmC,MAAO,0DAC1C,IAAA,eAAyC,MAAO,gEACpD,CACJ"}
|
|
1
|
+
{"version":3,"file":"StreamIdFormatter.js","names":["value","hex","integer","doubleBound","failure"],"sources":["../../../../../../Compiler/Syntax/StreamIdFormatter.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\n/** A value-free reason why a portable stream identity cannot be formatted. */\nexport enum StreamIdFormatFailure {\n Empty = 'Empty', NotNfc = 'NotNfc', LoneSurrogate = 'LoneSurrogate', OutOfRange = 'OutOfRange',\n NotIntegral = 'NotIntegral', MalformedUuid = 'MalformedUuid', Arity = 'Arity', Escape = 'Escape', Noncanonical = 'Noncanonical',\n}\n\nexport type StreamIdScalarKind = 'String' | 'Uuid' | 'Int';\nexport type StreamIdFormatResult = { readonly value: string; readonly failure: null } | { readonly value: null; readonly failure: StreamIdFormatFailure };\n\n/** Formats text without rewriting its identity. */\nexport function tryFormatText(value: string): StreamIdFormatResult {\n if (value.length === 0) return { value: null, failure: StreamIdFormatFailure.Empty };\n if (/[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?<![\\uD800-\\uDBFF])[\\uDC00-\\uDFFF]/u.test(value)) return { value: null, failure: StreamIdFormatFailure.LoneSurrogate };\n if (value.normalize('NFC') !== value) return { value: null, failure: StreamIdFormatFailure.NotNfc };\n return { value, failure: null };\n}\n\n/** Accepts only authored N, D, B and P UUID forms, returning lowercase D. */\nexport function tryFormatUuidText(value: string): StreamIdFormatResult {\n if (!/^(?:[0-9a-f]{32}|[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}|\\{[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}\\}|\\([0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}\\))(?![\\s\\S])/i.test(value)) return { value: null, failure: StreamIdFormatFailure.MalformedUuid };\n const hex = value.replace(/[{}()-]/g, '').toLowerCase();\n return { value: `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`, failure: null };\n}\n\n/** Formats an integer losslessly; only Double numeric mode imposes the safe-integer bound. */\nexport function tryFormatInteger(value: bigint | number, doubleBound = typeof value === 'number'): StreamIdFormatResult {\n if (typeof value === 'number' && !Number.isInteger(value)) return { value: null, failure: StreamIdFormatFailure.NotIntegral };\n const integer = BigInt(value);\n if (doubleBound && (integer < -9007199254740991n || integer > 9007199254740991n)) return { value: null, failure: StreamIdFormatFailure.OutOfRange };\n return { value: integer.toString(), failure: null };\n}\n\n/** A diagnostic message that never contains the value. */\nexport function streamIdFailureMessage(failure: StreamIdFormatFailure): string {\n switch (failure) {\n case StreamIdFormatFailure.Empty: return 'A stream id text literal cannot be empty.';\n case StreamIdFormatFailure.NotNfc: return 'A stream id text literal must be Unicode NFC.';\n case StreamIdFormatFailure.LoneSurrogate: return 'A stream id text literal cannot contain lone UTF-16 surrogates.';\n case StreamIdFormatFailure.OutOfRange: return 'A stream id integer literal must be between -9007199254740991 and 9007199254740991 in Double numeric mode.';\n case StreamIdFormatFailure.NotIntegral: return 'A stream id integer must be a finite integral value.';\n case StreamIdFormatFailure.MalformedUuid: return 'A stream id UUID must use N, D, B or P form.';\n case StreamIdFormatFailure.Arity: return 'A composite stream id must match the declared part count of at least two.';\n case StreamIdFormatFailure.Escape: return 'A composite stream id permits only %25 and %7C escapes.';\n case StreamIdFormatFailure.Noncanonical: return 'A composite stream id part must use canonical scalar spelling.';\n }\n}\n\n/** Encodes already formatted parts in declaration order. */\nexport function encodeComposite(parts: readonly string[]): string {\n return parts.map(part => part.replaceAll('%', '%25').replaceAll('|', '%7C')).join('|');\n}\n\n/** Decodes once, then checks canonical scalar spelling. Never repairs an identity. */\nexport function tryDecodeComposite(value: string, kinds: readonly StreamIdScalarKind[], doubleBound = true): { readonly parts: readonly string[] | null; readonly failure: StreamIdFormatFailure | null } {\n const encoded = value.split('|');\n if (kinds.length < 2 || encoded.length !== kinds.length) return { parts: null, failure: StreamIdFormatFailure.Arity };\n const parts: string[] = [];\n for (let index = 0; index < encoded.length; index++) {\n const component = encoded[index];\n if (/%(?!25|7C)/u.test(component)) return { parts: null, failure: StreamIdFormatFailure.Escape };\n const decoded = component.replace(/%25|%7C/g, escape => escape === '%25' ? '%' : '|');\n let formatted: StreamIdFormatResult;\n if (kinds[index] === 'String') formatted = tryFormatText(decoded);\n else if (kinds[index] === 'Uuid') formatted = tryFormatUuidText(decoded);\n else if (/^-?[0-9]+$(?![\\s\\S])/u.test(decoded)) formatted = tryFormatInteger(BigInt(decoded), doubleBound);\n else return { parts: null, failure: StreamIdFormatFailure.Noncanonical };\n if (formatted.failure !== null) return { parts: null, failure: formatted.failure };\n if (formatted.value !== decoded) return { parts: null, failure: StreamIdFormatFailure.Noncanonical };\n parts.push(decoded);\n }\n return { parts, failure: null };\n}\n"],"mappings":"A,qDAaA,SAAgB,cAAc,EAAqC,CAI/D,OAHIA,EAAM,SAAW,EAAU,CAAE,MAAO,KAAM,QAAA,OAAqC,EAC/E,0EAA0E,KAAKA,CAAK,EAAU,CAAE,MAAO,KAAM,QAAA,eAA6C,EAC1JA,EAAM,UAAU,KAAK,IAAMA,EACxB,CAAE,QAAO,QAAS,IAAK,EADe,CAAE,MAAO,KAAM,QAAA,QAAsC,CAEtG,CAGA,SAAgB,kBAAkB,EAAqC,CACnE,GAAI,CAAC,2KAA2K,KAAKA,CAAK,EAAG,MAAO,CAAE,MAAO,KAAM,QAAA,eAA6C,EAChQ,IAAMC,EAAMD,EAAM,QAAQ,WAAY,EAAE,CAAC,CAAC,YAAY,EACtD,MAAO,CAAE,MAAO,GAAGC,EAAI,MAAM,EAAG,CAAC,EAAE,GAAGA,EAAI,MAAM,EAAG,EAAE,EAAE,GAAGA,EAAI,MAAM,GAAI,EAAE,EAAE,GAAGA,EAAI,MAAM,GAAI,EAAE,EAAE,GAAGA,EAAI,MAAM,EAAE,IAAK,QAAS,IAAK,CACvI,CAGA,SAAgB,iBAAiB,EAAwB,EAAc,OAAOD,GAAU,SAAgC,CACpH,GAAI,OAAOA,GAAU,UAAY,CAAC,OAAO,UAAUA,CAAK,EAAG,MAAO,CAAE,MAAO,KAAM,QAAA,aAA2C,EAC5H,IAAME,EAAU,OAAOF,CAAK,EAE5B,OADIG,IAAgBD,EAAU,CAAC,mBAAqBA,EAAU,mBAA2B,CAAE,MAAO,KAAM,QAAA,YAA0C,EAC3I,CAAE,MAAOA,EAAQ,SAAS,EAAG,QAAS,IAAK,CACtD,CAGA,SAAgB,uBAAuB,EAAwC,CAC3E,OAAQE,EAAR,CACI,IAAA,QAAkC,MAAO,4CACzC,IAAA,SAAmC,MAAO,gDAC1C,IAAA,gBAA0C,MAAO,kEACjD,IAAA,aAAuC,MAAO,6GAC9C,IAAA,cAAwC,MAAO,uDAC/C,IAAA,gBAA0C,MAAO,+CACjD,IAAA,QAAkC,MAAO,4EACzC,IAAA,SAAmC,MAAO,0DAC1C,IAAA,eAAyC,MAAO,gEACpD,CACJ,C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./InvalidSyntaxJson.js";import"./
|
|
1
|
+
import"./InvalidSyntaxJson.js";import"./SyntaxInvariants.js";import"./SyntaxMemberContracts.js";import"./SourceOptions.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Structure.js","names":["sliceTypes"],"sources":["../../../../../../Compiler/Syntax/Structure.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { TimeZoneSyntax } from './Calendar';\nimport { CommandReadMode } from './CommandReadMode';\nimport { ReactionProductionMode } from './ReactionProductionMode';\nimport type { IdentitySyntax } from './IdentitySyntax';\nimport type { ExposureSyntax, InstanceContributionsSyntax } from './CompositionSyntax';\nimport { AuthorizeSyntax, PersonaSyntax, StickyNoteSyntax } from './Authorization';\nimport { CaptureSyntax } from './Captures';\nimport { CommandSyntax } from './Commands';\nimport { ConstraintSyntax } from './Constraints';\nimport { ConceptSyntax, DomainSyntax, EventSyntax, ImportSyntax, PropertySyntax, ReadModelSyntax, TypeSyntax } from './Declarations';\nimport { ProjectionSyntax } from './Projections';\nimport { PolicySyntax } from './Policies';\nimport { SeedSyntax } from './Seeds';\nimport { EventSourceSyntax } from './EventSources';\nimport { OperationSyntax, SystemSyntax } from './Operations';\nimport { StateMachineSyntax, WorkflowSyntax } from './Lifecycles';\nimport { QuerySyntax } from './Queries';\nimport { ReactionSyntax } from './Reactions';\nimport { ScreenSyntax, ScreenToolbarSyntax } from './Screens';\nimport { SpecificationExampleSyntax, SpecificationSyntax } from './Specifications';\nimport { SyntaxNode } from './SyntaxNode';\nimport { SourceOptions } from './SourceOptions';\nimport { TranslationDirection } from './TranslationDirection';\nimport { PurposeReferenceSyntax, PurposeSyntax } from './Purposes';\n\n// The four kinds of slice. The names are the C# SliceType members, which is also how SyntaxJson writes them.\nexport type SliceType = 'StateChange' | 'StateView' | 'Automation' | 'Translate';\n\nexport const sliceTypes: readonly SliceType[] = ['StateChange', 'StateView', 'Automation', 'Translate'];\n\nexport interface SliceSyntax extends SyntaxNode {\n readonly purposes?: readonly PurposeReferenceSyntax[];\n readonly kind: 'SliceSyntax';\n readonly direction?: TranslationDirection | null;\n readonly documentation?: string | null;\n readonly examples?: readonly SpecificationExampleSyntax[];\n readonly type: SliceType;\n readonly name: string;\n readonly description: string | null;\n readonly events: readonly EventSyntax[];\n readonly operations?: readonly OperationSyntax[];\n readonly commands: readonly CommandSyntax[];\n readonly queries: readonly QuerySyntax[];\n readonly projections: readonly ProjectionSyntax[];\n readonly captures: readonly CaptureSyntax[];\n readonly reactions: readonly ReactionSyntax[];\n readonly constraints: readonly ConstraintSyntax[];\n readonly specifications: readonly SpecificationSyntax[];\n readonly readModels: readonly ReadModelSyntax[];\n readonly screens: readonly ScreenSyntax[];\n}\n\n// An 'import \"<pattern>\"' of other .play files. Where it is written decides where what it imports belongs:\n// at the top level of a document it brings in whole documents; inside a module or feature it places each\n// imported file there, so the file's top level is that module's or feature's body.\nexport interface FileImportSyntax extends SyntaxNode {\n readonly kind: 'FileImportSyntax';\n readonly pattern: string;\n}\n\nexport interface DependsOnSyntax extends SyntaxNode {\n readonly kind: 'DependsOnSyntax';\n readonly target: string;\n}\n\nexport interface FeatureSyntax extends SyntaxNode {\n readonly purposes?: readonly PurposeReferenceSyntax[];\n readonly dependsOn?: readonly DependsOnSyntax[];\n readonly kind: 'FeatureSyntax';\n readonly documentation?: string | null;\n readonly examples?: readonly SpecificationExampleSyntax[];\n readonly name: string;\n readonly description: string | null;\n readonly authorize: AuthorizeSyntax | null;\n readonly features: readonly FeatureSyntax[];\n readonly slices: readonly SliceSyntax[];\n readonly toolbars?: readonly ScreenToolbarSyntax[];\n readonly fileImports: readonly FileImportSyntax[];\n\n // Whether the feature is not written in the document but places it - the document was imported into\n // the feature, so its top level is the feature's body.\n readonly isPlacement: boolean;\n}\n\nexport interface ModuleSyntax extends SyntaxNode {\n readonly purposes?: readonly PurposeReferenceSyntax[];\n readonly dependsOn?: readonly DependsOnSyntax[];\n readonly kind: 'ModuleSyntax';\n readonly documentation?: string | null;\n readonly examples?: readonly SpecificationExampleSyntax[];\n readonly name: string;\n readonly description: string | null;\n readonly authorize: AuthorizeSyntax | null;\n readonly features: readonly FeatureSyntax[];\n readonly toolbars?: readonly ScreenToolbarSyntax[];\n readonly fileImports: readonly FileImportSyntax[];\n\n // Whether the module is not written in the document but places it - the document was imported into\n // the module, so its top level is the module's body.\n readonly isPlacement: boolean;\n}\n\nexport interface ApplicationSyntax extends SyntaxNode {\n readonly reactionProductionMode?: ReactionProductionMode | null;\n readonly commandReadMode?: CommandReadMode | null;\n readonly timeZone?: TimeZoneSyntax | null;\n readonly identity?: IdentitySyntax | null;\n readonly purposes?: readonly PurposeSyntax[];\n readonly kind: 'ApplicationSyntax';\n readonly examples?: readonly SpecificationExampleSyntax[];\n readonly sourceOptions?: SourceOptions;\n readonly domain: DomainSyntax | null;\n readonly policies?: readonly PolicySyntax[];\n readonly seeds?: readonly SeedSyntax[];\n readonly systems?: readonly SystemSyntax[];\n readonly stateMachines?: readonly StateMachineSyntax[];\n readonly workflows?: readonly WorkflowSyntax[];\n readonly eventSources?: readonly EventSourceSyntax[];\n readonly imports: readonly ImportSyntax[];\n readonly concepts: readonly ConceptSyntax[];\n readonly types: readonly TypeSyntax[];\n readonly modules: readonly ModuleSyntax[];\n readonly personas: readonly PersonaSyntax[];\n\n // Parser-owned typed trigger shapes for consistency checks, not part of the syntax wire projection.\n readonly declaredTriggers?: readonly { readonly name: string; readonly data: readonly PropertySyntax[] }[];\n\n // The files the document imports at its top level - whole documents, merged into the application.\n readonly fileImports: readonly FileImportSyntax[];\n\n // What layouts and templates expose, and what instances store for it - written only when present.\n readonly exposures?: readonly ExposureSyntax[];\n readonly instanceContributions?: readonly InstanceContributionsSyntax[];\n\n // The sticky notes on the personas canvas - written only when present.\n readonly stickyNotes?: readonly StickyNoteSyntax[];\n}\n"],"mappings":"AA+BA,MAAaA,EAAmC,CAAC,cAAe,YAAa,aAAc,WAAW"}
|
|
1
|
+
{"version":3,"file":"Structure.js","names":["sliceTypes"],"sources":["../../../../../../Compiler/Syntax/Structure.ts"],"sourcesContent":["// Copyright (c) Cratis. All rights reserved.\n// Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport type { TimeZoneSyntax } from './Calendar';\nimport { CommandReadMode } from './CommandReadMode';\nimport { ReactionProductionMode } from './ReactionProductionMode';\nimport type { IdentitySyntax } from './IdentitySyntax';\nimport type { ExposureSyntax, InstanceContributionsSyntax } from './CompositionSyntax';\nimport { AuthorizeSyntax, PersonaSyntax, StickyNoteSyntax } from './Authorization';\nimport { CaptureSyntax } from './Captures';\nimport { CommandSyntax } from './Commands';\nimport { ConstraintSyntax } from './Constraints';\nimport { ConceptSyntax, DomainSyntax, EventSyntax, ImportSyntax, PropertySyntax, ReadModelSyntax, TypeSyntax } from './Declarations';\nimport { ProjectionSyntax } from './Projections';\nimport { PolicySyntax } from './Policies';\nimport { SeedSyntax } from './Seeds';\nimport { EventSourceSyntax } from './EventSources';\nimport { OperationSyntax, SystemSyntax } from './Operations';\nimport { StateMachineSyntax, WorkflowSyntax } from './Lifecycles';\nimport { QuerySyntax } from './Queries';\nimport { ReactionSyntax } from './Reactions';\nimport { ScreenSyntax, ScreenToolbarSyntax } from './Screens';\nimport { SpecificationExampleSyntax, SpecificationSyntax } from './Specifications';\nimport { SyntaxNode } from './SyntaxNode';\nimport { SourceOptions } from './SourceOptions';\nimport { TranslationDirection } from './TranslationDirection';\nimport { PurposeReferenceSyntax, PurposeSyntax } from './Purposes';\n\n// The four kinds of slice. The names are the C# SliceType members, which is also how SyntaxJson writes them.\nexport type SliceType = 'StateChange' | 'StateView' | 'Automation' | 'Translate';\n\nexport const sliceTypes: readonly SliceType[] = ['StateChange', 'StateView', 'Automation', 'Translate'];\n\nexport interface SliceSyntax extends SyntaxNode {\n readonly purposes?: readonly PurposeReferenceSyntax[];\n readonly kind: 'SliceSyntax';\n readonly direction?: TranslationDirection | null;\n readonly documentation?: string | null;\n readonly examples?: readonly SpecificationExampleSyntax[];\n readonly type: SliceType;\n readonly name: string;\n readonly description: string | null;\n readonly events: readonly EventSyntax[];\n readonly operations?: readonly OperationSyntax[];\n readonly commands: readonly CommandSyntax[];\n readonly queries: readonly QuerySyntax[];\n readonly projections: readonly ProjectionSyntax[];\n readonly captures: readonly CaptureSyntax[];\n readonly reactions: readonly ReactionSyntax[];\n readonly constraints: readonly ConstraintSyntax[];\n readonly specifications: readonly SpecificationSyntax[];\n readonly readModels: readonly ReadModelSyntax[];\n readonly screens: readonly ScreenSyntax[];\n}\n\n// An 'import \"<pattern>\"' of other .play files. Where it is written decides where what it imports belongs:\n// at the top level of a document it brings in whole documents; inside a module or feature it places each\n// imported file there, so the file's top level is that module's or feature's body.\nexport interface FileImportSyntax extends SyntaxNode {\n readonly kind: 'FileImportSyntax';\n readonly pattern: string;\n}\n\nexport interface DependsOnSyntax extends SyntaxNode {\n readonly kind: 'DependsOnSyntax';\n readonly target: string;\n}\n\nexport interface FeatureSyntax extends SyntaxNode {\n readonly purposes?: readonly PurposeReferenceSyntax[];\n readonly dependsOn?: readonly DependsOnSyntax[];\n readonly kind: 'FeatureSyntax';\n readonly documentation?: string | null;\n readonly examples?: readonly SpecificationExampleSyntax[];\n readonly name: string;\n readonly description: string | null;\n readonly authorize: AuthorizeSyntax | null;\n readonly features: readonly FeatureSyntax[];\n readonly slices: readonly SliceSyntax[];\n readonly toolbars?: readonly ScreenToolbarSyntax[];\n readonly fileImports: readonly FileImportSyntax[];\n\n // Whether the feature is not written in the document but places it - the document was imported into\n // the feature, so its top level is the feature's body.\n readonly isPlacement: boolean;\n}\n\nexport interface ModuleSyntax extends SyntaxNode {\n readonly purposes?: readonly PurposeReferenceSyntax[];\n readonly dependsOn?: readonly DependsOnSyntax[];\n readonly kind: 'ModuleSyntax';\n readonly documentation?: string | null;\n readonly examples?: readonly SpecificationExampleSyntax[];\n readonly name: string;\n readonly description: string | null;\n readonly authorize: AuthorizeSyntax | null;\n readonly features: readonly FeatureSyntax[];\n readonly toolbars?: readonly ScreenToolbarSyntax[];\n readonly fileImports: readonly FileImportSyntax[];\n\n // Whether the module is not written in the document but places it - the document was imported into\n // the module, so its top level is the module's body.\n readonly isPlacement: boolean;\n}\n\nexport interface ApplicationContextSyntax extends SyntaxNode {\n readonly kind: 'ApplicationContextSyntax';\n readonly members: readonly ContextMemberSyntax[];\n readonly description: string | null;\n}\n\nexport interface ContextMemberSyntax extends SyntaxNode {\n readonly kind: 'ContextMemberSyntax';\n readonly name: string;\n}\n\nexport interface ApplicationSyntax extends SyntaxNode {\n readonly reactionProductionMode?: ReactionProductionMode | null;\n readonly commandReadMode?: CommandReadMode | null;\n readonly timeZone?: TimeZoneSyntax | null;\n readonly context?: ApplicationContextSyntax | null;\n readonly identity?: IdentitySyntax | null;\n readonly purposes?: readonly PurposeSyntax[];\n readonly kind: 'ApplicationSyntax';\n readonly examples?: readonly SpecificationExampleSyntax[];\n readonly sourceOptions?: SourceOptions;\n readonly domain: DomainSyntax | null;\n readonly policies?: readonly PolicySyntax[];\n readonly seeds?: readonly SeedSyntax[];\n readonly systems?: readonly SystemSyntax[];\n readonly stateMachines?: readonly StateMachineSyntax[];\n readonly workflows?: readonly WorkflowSyntax[];\n readonly eventSources?: readonly EventSourceSyntax[];\n readonly imports: readonly ImportSyntax[];\n readonly concepts: readonly ConceptSyntax[];\n readonly types: readonly TypeSyntax[];\n readonly modules: readonly ModuleSyntax[];\n readonly personas: readonly PersonaSyntax[];\n\n // Parser-owned typed trigger shapes for consistency checks, not part of the syntax wire projection.\n readonly declaredTriggers?: readonly { readonly name: string; readonly data: readonly PropertySyntax[] }[];\n\n // The files the document imports at its top level - whole documents, merged into the application.\n readonly fileImports: readonly FileImportSyntax[];\n\n // What layouts and templates expose, and what instances store for it - written only when present.\n readonly exposures?: readonly ExposureSyntax[];\n readonly instanceContributions?: readonly InstanceContributionsSyntax[];\n\n // The sticky notes on the personas canvas - written only when present.\n readonly stickyNotes?: readonly StickyNoteSyntax[];\n}\n"],"mappings":"AA+BA,MAAaA,EAAmC,CAAC,cAAe,YAAa,aAAc,WAAW,E"}
|