@cratis/screenplay-language 4.247.2 → 4.248.0
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/action-subject-authoring.d.ts +2 -0
- package/dist/action-subject-authoring.d.ts.map +1 -0
- package/dist/bundles/action-subject-authoring.js +2 -0
- package/dist/bundles/action-subject-authoring.js.map +1 -0
- package/dist/bundles/compiler/Authoring/ActionSubjectQuickFixes.js +6 -0
- package/dist/bundles/compiler/Authoring/ActionSubjectQuickFixes.js.map +1 -0
- package/dist/bundles/compiler/Authoring/QuickFixes.js +1 -1
- package/dist/bundles/compiler/Authoring/QuickFixes.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/Parsing/ActionSubjectClause.js +2 -0
- package/dist/bundles/compiler/Parsing/ActionSubjectClause.js.map +1 -0
- package/dist/bundles/compiler/Parsing/ActionSubjectInputs.js +2 -0
- package/dist/bundles/compiler/Parsing/ActionSubjectInputs.js.map +1 -0
- package/dist/bundles/compiler/Parsing/ActionSubjectResolution.js +2 -0
- package/dist/bundles/compiler/Parsing/ActionSubjectResolution.js.map +1 -0
- package/dist/bundles/compiler/Parsing/GuardedActionValidator.js +1 -1
- package/dist/bundles/compiler/Parsing/GuardedActionValidator.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/ScreenActionSubjects.js +2 -0
- package/dist/bundles/compiler/ScreenActionSubjects.js.map +1 -0
- package/dist/bundles/compiler/Syntax/ActionSubjectInvariants.js +2 -0
- package/dist/bundles/compiler/Syntax/ActionSubjectInvariants.js.map +1 -0
- package/dist/bundles/compiler/Syntax/ScreenplaySyntaxWalker.js +1 -1
- package/dist/bundles/compiler/Syntax/ScreenplaySyntaxWalker.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/index.js +1 -1
- package/dist/bundles/completion-items.js +4 -4
- 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/diagnostic-codes.js +1 -1
- package/dist/bundles/diagnostic-codes.js.map +1 -1
- package/dist/bundles/hover-content.js +5 -5
- package/dist/bundles/hover-content.js.map +1 -1
- package/dist/bundles/tokens.js +1 -1
- package/dist/bundles/tokens.js.map +1 -1
- package/dist/bundles/validation.js +1 -1
- package/dist/bundles/validation.js.map +1 -1
- package/dist/completion-items.d.ts +2 -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 +5 -0
- package/dist/diagnostic-codes.d.ts.map +1 -1
- package/dist/hover-content.d.ts.map +1 -1
- package/dist/tokens.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-subject-authoring.d.ts","sourceRoot":"","sources":["../action-subject-authoring.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ5F"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./_virtual/_virtual/_rolldown/runtime.js";function actionSubjectHover(e,t,n){let r=/^\s*(?:action\s+(?:"(?:[^"\\]|\\.)*"|\$strings\.[\w.]+|[\w.]+)|item\s+\w+\s+action\s+[\w.]+)\s+(for)\s+(item|screen)\b/.exec(e);if(r===null||![`for`,r[2]].includes(t))return null;let i=r[0].lastIndexOf(`for`);return n-1<i||n-1>=r[0].length?null:r[2]===`item`?"`for item` uses one nearest data record or selected collection item. Explicit inputs win, followed by compatible same-name fields and one declared nominal identifier/key match. Missing or equally near data is not guessed.":"`for screen` scopes a plain or toolbar action to the screen, without row input filling. A guarded action can inspect a single record, but collection-valued data warns and does not choose a row."}export{actionSubjectHover};
|
|
2
|
+
//# sourceMappingURL=action-subject-authoring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-subject-authoring.js","names":["match","line","word","start","column"],"sources":["../../action-subject-authoring.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\nexport function actionSubjectHover(line: string, word: string, column: number): string | null {\n const match = /^\\s*(?:action\\s+(?:\"(?:[^\"\\\\]|\\\\.)*\"|\\$strings\\.[\\w.]+|[\\w.]+)|item\\s+\\w+\\s+action\\s+[\\w.]+)\\s+(for)\\s+(item|screen)\\b/.exec(line);\n if (match === null || !['for', match[2]].includes(word)) return null;\n const start = match[0].lastIndexOf('for');\n if (column - 1 < start || column - 1 >= match[0].length) return null;\n return match[2] === 'item'\n ? '`for item` uses one nearest data record or selected collection item. Explicit inputs win, followed by compatible same-name fields and one declared nominal identifier/key match. Missing or equally near data is not guessed.'\n : '`for screen` scopes a plain or toolbar action to the screen, without row input filling. A guarded action can inspect a single record, but collection-valued data warns and does not choose a row.';\n}\n"],"mappings":"iDAGA,SAAgB,mBAAmB,EAAc,EAAc,EAA+B,CAC1F,IAAMA,EAAQ,yHAAyH,KAAKC,CAAI,EAChJ,GAAID,IAAU,MAAQ,CAAC,CAAC,MAAOA,EAAM,EAAE,CAAC,CAAC,SAASE,CAAI,EAAG,OAAO,KAChE,IAAMC,EAAQH,EAAM,EAAE,CAAC,YAAY,KAAK,EAExC,OADII,EAAS,EAAID,GAASC,EAAS,GAAKJ,EAAM,EAAE,CAAC,OAAe,KACzDA,EAAM,KAAO,OACd,gOACA,mMACV"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{pattern as t}from"../Text/patterns.js";import{splitLines as n}from"../Parsing/SourceLineSplitter.js";import{RefusalDeclarations as r}from"../Parsing/RefusalDeclarations.js";import{ActionSubjectInputs as i}from"../Parsing/ActionSubjectInputs.js";import{resolveActionSubjectApplication as a}from"../Parsing/ActionSubjectResolution.js";import{parseForAuthoring as o}from"../ScreenplayCompiler.js";import{toSyntaxJson as s}from"../Syntax/SyntaxJson.js";import{applyQuickFixEdits as c}from"./QuickFixes.js";function prepareActionSubjectQuickFixes(e,t){if(!/^\s*(?:action\s+|item\s+\w+\s+action\s+)/mu.test(e)||t.documents!==void 0&&t.documents.size>1)return()=>[];let s=o(e,void 0,t.placement);if(!s.success)return()=>[];let c=new r(s.value),l={source:e,options:t,application:s.value,diagnostics:s.diagnostics,declarations:c,resolver:new i(c,[]),lines:n(e),ending:e.includes(`\r
|
|
2
|
+
`)?`\r
|
|
3
|
+
`:`
|
|
4
|
+
`},u=[];a(s.value,e=>u.push(e));let d=u.flatMap(e=>entryFixes(l,e));return(e,t)=>selectFixes(d,e,t)}function selectFixes(e,t,n){return e.filter(e=>(t===void 0||e.line===t)&&(n===void 0||e.diagnosticCode===n))}function entryFixes(t,n){if(n.authored.subject!=null||t.declarations.resolve(n.command,n.context.slice,e=>e.commands)===null||!hasDiagnostic(t,n,e.InferredActionSubject))return[];let r=n.effective.subject??`Screen`,i=candidate(t,n,{subject:r,title:`Make inferred 'for ${r.toLowerCase()}' explicit`}),a=i===void 0?[]:[i];return hasDiagnostic(t,n,e.ChangedActionSubject)?[...a,...changedFixes(t,n)]:a}function hasDiagnostic(e,t,n){return e.diagnostics.some(e=>e.location.line===t.authored.location.line&&e.code===n)}function changedFixes(t,n){let r=[{subject:`Item`,title:`Use 'for item' (item-bound action)`},{subject:`Screen`,title:`Use 'for screen' (no selection binding)`}],i=authoredInputs(n),a=t.resolver.legacyInputs(n.command,i,n.context);return a!==null&&a.length>i.length&&r.push({subject:`Item`,title:`Keep legacy row bindings explicitly`,additions:a.slice(i.length)}),r.flatMap(r=>{let i=candidate(t,n,r);return i===void 0?[]:[{...i,diagnosticCode:e.ChangedActionSubject}]})}function authoredInputs(e){return e.authored.kind===`ScreenActionSyntax`?e.authored.inputs??[]:e.authored.parameters.map(e=>({kind:`InteractionArgumentSyntax`,name:e.name,binding:e.binding.path,location:e.location}))}function candidate(n,r,i){let a=n.lines[r.authored.location.line-1],o=t(r.authored.kind===`ScreenActionSyntax`?`^(\\s*action\\s+[\\w.]+)`:`^(\\s*item\\s+\\w+\\s+action\\s+[\\w.]+)`).exec(a.raw);if(o===null)return;let s=[{path:n.options.path,start:a.startOffset+o[0].length,length:0,text:` for ${i.subject.toLowerCase()}`}];i.additions!==void 0&&s.push(inputEdit(n,r,i.additions));let c=replacementNode(r,i);if(matchesExpected(n,r,s,JSON.parse(JSON.stringify(n.application,(e,t)=>t===r.authored?c:t))))return{line:a.number,diagnosticCode:e.InferredActionSubject,title:i.title,scope:`occurrence`,edits:s}}function inputEdit(e,t,n){let r=e.lines[t.authored.location.line-1],i=/^\s*/.exec(r.raw)[0],a=actionEnd(e,t),o=e.lines.find(e=>e.number>r.number&&e.startOffset<a&&e.raw.trim().length>0)?.raw.match(/^\s*/)[0]??`${i} `,s=n.map(e=>inputLine(t,e,o)).join(e.ending)+e.ending;return{path:e.options.path,start:a,length:0,text:(a>0&&e.source[a-1]!==`
|
|
5
|
+
`?e.ending:``)+s}}function actionEnd(e,t){let n=e.lines[t.authored.location.line-1],r=/^\s*/.exec(n.raw)[0];return e.lines.find(e=>e.number>n.number&&e.raw.trim().length>0&&/^\s*/.exec(e.raw)[0].length<=r.length)?.startOffset??e.source.length}function inputLine(e,t,n){return`${n}${e.authored.kind===`ScreenActionSyntax`?`with`:`parameter`} ${t.name} from ${e.authored.kind===`ScreenActionSyntax`?``:`data `}${t.binding}`}function replacementNode(e,t){let n=t.additions??[];return e.authored.kind===`ScreenActionSyntax`?{...e.authored,subject:t.subject,inputs:[...e.authored.inputs??[],...n]}:{...e.authored,subject:t.subject,parameters:[...e.authored.parameters,...n.map(e=>({kind:`ScreenNavigationParameterSyntax`,name:e.name,binding:{kind:`UiBindingSyntax`,bindingKind:`DataContext`,path:e.binding,query:null,componentId:null,componentPropertyPath:null,mode:null,nullBehavior:null,expectedValueType:null,literal:null,rawText:null,location:e.location},location:e.location}))]}}function matchesExpected(t,n,r,i){let a=c(t.source,r);if(a===void 0)return!1;let l=o(a,void 0,t.options.placement);return!l.success||JSON.stringify(s(l.value))!==JSON.stringify(s(i))?!1:!l.diagnostics.some(t=>t.location.line===n.authored.location.line&&(t.code===e.InferredActionSubject||t.code===e.ChangedActionSubject))}export{prepareActionSubjectQuickFixes};
|
|
6
|
+
//# sourceMappingURL=ActionSubjectQuickFixes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionSubjectQuickFixes.js","names":["source","options","original","parseForAuthoring","declarations","RefusalDeclarations","context","ActionSubjectInputs","splitLines","evidence","resolveActionSubjectApplication","entry","fixes","line","code","fix","slice","DiagnosticCodes","subject","explicit","diagnostic","proposals","authored","retained","proposal","parameter","header","pattern","edits","replacement","value","prefix","end","indent","child","text","additions","input","edited","applyQuickFixEdits","parsed","toSyntaxJson","expected"],"sources":["../../../../../../Compiler/Authoring/ActionSubjectQuickFixes.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 { Diagnostic } from '../Diagnostics/Diagnostic';\nimport { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport { ActionSubjectEvidence, resolveActionSubjectApplication } from '../Parsing/ActionSubjectResolution';\nimport { ActionSubjectInputs } from '../Parsing/ActionSubjectInputs';\nimport { RefusalDeclarations } from '../Parsing/RefusalDeclarations';\nimport { splitLines } from '../Parsing/SourceLineSplitter';\nimport { parseForAuthoring } from '../ScreenplayCompiler';\nimport { InteractionArgumentSyntax, ScreenActionSubjectKind } from '../Syntax/Screens';\nimport { ApplicationSyntax } from '../Syntax/Structure';\nimport { toSyntaxJson } from '../Syntax/SyntaxJson';\nimport { pattern } from '../Text/patterns';\nimport { applyQuickFixEdits, QuickFix, QuickFixEdit, QuickFixOptions } from './QuickFixes';\n\ntype Options = Pick<QuickFixOptions, 'placement' | 'path' | 'documents'>;\ninterface RepairContext {\n source: string;\n options: Options;\n application: ApplicationSyntax;\n diagnostics: readonly Diagnostic[];\n declarations: RefusalDeclarations;\n resolver: ActionSubjectInputs;\n lines: ReturnType<typeof splitLines>;\n ending: string;\n}\ninterface Proposal {\n subject: ScreenActionSubjectKind;\n title: string;\n additions?: readonly InteractionArgumentSyntax[];\n}\n\nexport function prepareActionSubjectQuickFixes(source: string, options: Options): (line?: number, code?: string) => QuickFix[] {\n if (!/^\\s*(?:action\\s+|item\\s+\\w+\\s+action\\s+)/mu.test(source)) return () => [];\n // Imported application snapshots belong to the native workspace; never guess missing declarations in a buffer.\n if (options.documents !== undefined && options.documents.size > 1) return () => [];\n const original = parseForAuthoring(source, undefined, options.placement);\n if (!original.success) return () => [];\n const declarations = new RefusalDeclarations(original.value);\n const context: RepairContext = { source, options, application: original.value, diagnostics: original.diagnostics, declarations,\n resolver: new ActionSubjectInputs(declarations, []), lines: splitLines(source), ending: source.includes('\\r\\n') ? '\\r\\n' : '\\n' };\n const evidence: ActionSubjectEvidence[] = [];\n resolveActionSubjectApplication(original.value, entry => evidence.push(entry));\n const fixes = evidence.flatMap(entry => entryFixes(context, entry));\n return (line, code) => selectFixes(fixes, line, code);\n}\n\nfunction selectFixes(fixes: QuickFix[], line?: number, code?: string): QuickFix[] {\n return fixes.filter(fix => (line === undefined || fix.line === line) && (code === undefined || fix.diagnosticCode === code));\n}\n\nfunction entryFixes(context: RepairContext, entry: ActionSubjectEvidence): QuickFix[] {\n if (entry.authored.subject != null || context.declarations.resolve(entry.command, entry.context.slice, slice => slice.commands) === null) return [];\n if (!hasDiagnostic(context, entry, DiagnosticCodes.InferredActionSubject)) return [];\n const subject = entry.effective.subject ?? 'Screen';\n const explicit = candidate(context, entry, { subject, title: `Make inferred 'for ${subject.toLowerCase()}' explicit` });\n const fixes = explicit === undefined ? [] : [explicit];\n return hasDiagnostic(context, entry, DiagnosticCodes.ChangedActionSubject) ? [...fixes, ...changedFixes(context, entry)] : fixes;\n}\n\nfunction hasDiagnostic(context: RepairContext, entry: ActionSubjectEvidence, code: string): boolean {\n return context.diagnostics.some(diagnostic => diagnostic.location.line === entry.authored.location.line && diagnostic.code === code);\n}\n\nfunction changedFixes(context: RepairContext, entry: ActionSubjectEvidence): QuickFix[] {\n const proposals: Proposal[] = [\n { subject: 'Item', title: \"Use 'for item' (item-bound action)\" },\n { subject: 'Screen', title: \"Use 'for screen' (no selection binding)\" },\n ];\n const authored = authoredInputs(entry);\n const retained = context.resolver.legacyInputs(entry.command, authored, entry.context);\n if (retained !== null && retained.length > authored.length) proposals.push({ subject: 'Item', title: 'Keep legacy row bindings explicitly', additions: retained.slice(authored.length) });\n return proposals.flatMap(proposal => {\n const fix = candidate(context, entry, proposal);\n return fix === undefined ? [] : [{ ...fix, diagnosticCode: DiagnosticCodes.ChangedActionSubject }];\n });\n}\n\nfunction authoredInputs(entry: ActionSubjectEvidence): readonly InteractionArgumentSyntax[] {\n return entry.authored.kind === 'ScreenActionSyntax' ? entry.authored.inputs ?? [] : entry.authored.parameters.map(parameter => ({ kind: 'InteractionArgumentSyntax', name: parameter.name, binding: parameter.binding.path, location: parameter.location }));\n}\n\nfunction candidate(context: RepairContext, entry: ActionSubjectEvidence, proposal: Proposal): QuickFix | undefined {\n const line = context.lines[entry.authored.location.line - 1];\n const header = pattern(entry.authored.kind === 'ScreenActionSyntax' ? '^(\\\\s*action\\\\s+[\\\\w.]+)' : '^(\\\\s*item\\\\s+\\\\w+\\\\s+action\\\\s+[\\\\w.]+)').exec(line.raw);\n if (header === null) return undefined;\n const edits: QuickFixEdit[] = [{ path: context.options.path, start: line.startOffset + header[0].length, length: 0, text: ` for ${proposal.subject.toLowerCase()}` }];\n if (proposal.additions !== undefined) edits.push(inputEdit(context, entry, proposal.additions));\n const replacement = replacementNode(entry, proposal);\n const expected = JSON.parse(JSON.stringify(context.application, (_key, value: unknown) => value === entry.authored ? replacement : value)) as ApplicationSyntax;\n if (!matchesExpected(context, entry, edits, expected)) return undefined;\n return { line: line.number, diagnosticCode: DiagnosticCodes.InferredActionSubject, title: proposal.title, scope: 'occurrence', edits };\n}\n\nfunction inputEdit(context: RepairContext, entry: ActionSubjectEvidence, additions: readonly InteractionArgumentSyntax[]): QuickFixEdit {\n const line = context.lines[entry.authored.location.line - 1];\n const prefix = /^\\s*/.exec(line.raw)![0];\n const end = actionEnd(context, entry);\n const indent = context.lines.find(child => child.number > line.number && child.startOffset < end && child.raw.trim().length > 0)?.raw.match(/^\\s*/)![0] ?? `${prefix} `;\n const text = additions.map(input => inputLine(entry, input, indent)).join(context.ending) + context.ending;\n return { path: context.options.path, start: end, length: 0, text: (end > 0 && context.source[end - 1] !== '\\n' ? context.ending : '') + text };\n}\n\nfunction actionEnd(context: RepairContext, entry: ActionSubjectEvidence): number {\n const line = context.lines[entry.authored.location.line - 1];\n const prefix = /^\\s*/.exec(line.raw)![0];\n return context.lines.find(child => child.number > line.number && child.raw.trim().length > 0 && /^\\s*/.exec(child.raw)![0].length <= prefix.length)?.startOffset ?? context.source.length;\n}\n\nfunction inputLine(entry: ActionSubjectEvidence, input: InteractionArgumentSyntax, indent: string): string {\n return `${indent}${entry.authored.kind === 'ScreenActionSyntax' ? 'with' : 'parameter'} ${input.name} from ${entry.authored.kind === 'ScreenActionSyntax' ? '' : 'data '}${input.binding}`;\n}\n\nfunction replacementNode(entry: ActionSubjectEvidence, proposal: Proposal): ActionSubjectEvidence['authored'] {\n const additions = proposal.additions ?? [];\n return entry.authored.kind === 'ScreenActionSyntax'\n ? { ...entry.authored, subject: proposal.subject, inputs: [...(entry.authored.inputs ?? []), ...additions] }\n : { ...entry.authored, subject: proposal.subject, parameters: [...entry.authored.parameters, ...additions.map(input => ({ kind: 'ScreenNavigationParameterSyntax' as const, name: input.name, binding: { kind: 'UiBindingSyntax' as const, bindingKind: 'DataContext' as const, path: input.binding, query: null, componentId: null, componentPropertyPath: null, mode: null, nullBehavior: null, expectedValueType: null, literal: null, rawText: null, location: input.location }, location: input.location }))] };\n}\n\nfunction matchesExpected(context: RepairContext, entry: ActionSubjectEvidence, edits: QuickFixEdit[], expected: ApplicationSyntax): boolean {\n const edited = applyQuickFixEdits(context.source, edits);\n if (edited === undefined) return false;\n const parsed = parseForAuthoring(edited, undefined, context.options.placement);\n if (!parsed.success || JSON.stringify(toSyntaxJson(parsed.value)) !== JSON.stringify(toSyntaxJson(expected))) return false;\n return !parsed.diagnostics.some(diagnostic => diagnostic.location.line === entry.authored.location.line && (diagnostic.code === DiagnosticCodes.InferredActionSubject || diagnostic.code === DiagnosticCodes.ChangedActionSubject));\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{checkPortableMatchPattern as t}from"../Parsing/checkPortableMatchPattern.js";import{stringBodyPattern as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{complianceWireName as i}from"../Parsing/ConceptComplianceParser.js";import{commentStart as a,splitLines as o}from"../Parsing/SourceLineSplitter.js";import{ScreenplaySyntaxWalker as s}from"../Syntax/ScreenplaySyntaxWalker.js";import{parseForAuthoring as c}from"../ScreenplayCompiler.js";import{prepareTimelineQuickFixes as l}from"./TimelineQuickFixes.js";
|
|
1
|
+
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{checkPortableMatchPattern as t}from"../Parsing/checkPortableMatchPattern.js";import{stringBodyPattern as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{complianceWireName as i}from"../Parsing/ConceptComplianceParser.js";import{commentStart as a,splitLines as o}from"../Parsing/SourceLineSplitter.js";import{ScreenplaySyntaxWalker as s}from"../Syntax/ScreenplaySyntaxWalker.js";import{parseForAuthoring as c}from"../ScreenplayCompiler.js";import{prepareTimelineQuickFixes as l}from"./TimelineQuickFixes.js";import{prepareActionSubjectQuickFixes as u}from"./ActionSubjectQuickFixes.js";const d=/* @__PURE__ */ new Set([e.InferredActionSubject,e.ChangedActionSubject,e.EventFromLaterSlice,e.DeprecatedStudioTextRulePattern,e.DuplicateComplianceMarker,e.LegacyOptionalSuffix,e.LegacyComplianceMarker,e.RedundantEventId,e.PublicTranslationRequiresDirection,e.LegacyProfileLayout]);function isQuickFixDiagnostic(e){return d.has(e)}function legacyOptionalTypeLength(t,n){return n.code===e.LegacyOptionalSuffix?/^[\p{L}\p{Mn}\p{Nd}\p{Pc}.]+(?:\[\])?\?/u.exec(t.slice(n.location.column-1))?.[0].length??0:0}function prepareQuickFixes(t,n={}){let r=prepareLocalQuickFixes(t,n),i,a,subjectFixes=(e,r)=>(a??=u(t,n))(e,r);return(a,o)=>{let s=typeof a==`number`?[{line:a,diagnosticCode:o}]:a??[],c=r(a,o),u=s.filter(t=>t.diagnosticCode===e.EventFromLaterSlice||t.diagnosticCode===void 0&&c.length===0),d=u.length===0?[]:[...new Set(u.map(e=>e.line))].flatMap(e=>(i??=l(t,n))(e)),f=s.filter(t=>t.diagnosticCode===void 0||t.diagnosticCode===e.InferredActionSubject||t.diagnosticCode===e.ChangedActionSubject),p=s.length===0?subjectFixes(void 0,o):f.flatMap(e=>subjectFixes(e.line,e.diagnosticCode));return[...c,...d,...p]}}function prepareLocalQuickFixes(r,i){let l=c(r,void 0,i.placement),u=new Set(Array.from({length:14},(e,t)=>`PLAY0${607+t}`)),acceptable=e=>e.success||e.diagnostics.every(e=>e.severity!==`error`||u.has(e.code)),errorCodes=e=>new Set(e.diagnostics.filter(e=>e.severity===`error`).map(e=>e.code));if(!acceptable(l))return()=>[];let d=o(r),f=/* @__PURE__ */ new Map,p=/* @__PURE__ */ new Map,m=/* @__PURE__ */ new Map;new class extends s{visitValidationRule(e){m.set(e.location.line,e),super.visitValidationRule(e)}visitEvent(e){f.set(e.location.line,e)}visitSlice(e){p.set(e.location.line,e),super.visitSlice(e)}}().visitApplication(l.value);let h=/* @__PURE__ */ new Map,g=/* @__PURE__ */ new Map,_=/* @__PURE__ */ new Map,v=/* @__PURE__ */ new Map,y=/* @__PURE__ */ new Map,b;for(let e of d)b=f.get(e.number)??b,b!==void 0&&y.set(e.number,b);for(let o of l.diagnostics){h.set(o.code,(h.get(o.code)??0)+1);let s=d[o.location.line-1];if(o.code===e.DuplicateComplianceMarker){let e=duplicateComplianceMarkerEdit(s.raw,s.startOffset);e!==void 0&&_.set(s.number,{diagnosticCode:o.code,title:`Remove duplicate compliance markers`,scope:`occurrence`,edits:[e]})}let u=legacyOptionalTypeLength(s.raw,o);if(u>0)g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Use 'optional' instead of '?'`,scope:`occurrence`,edits:[{start:s.startOffset+o.location.column+u-2,length:1,text:` optional`}]}});else if(o.code===e.DeprecatedStudioTextRulePattern){let e=m.get(s.number);if(e?.rule!==`Matches`||e.value?.kind!==`LiteralExpressionSyntax`||typeof e.value.value!=`string`)continue;let r=t(e.value.value).replacement,i=RegExp(`\\bmatches\\s+"${n}"`).exec(s.raw);if(r===void 0||i===null)continue;let a={Equal:`==`,NotEqual:`!=`,Contains:`contains`,NotContains:`not contains`,StartsWith:`starts with`,EndsWith:`ends with`},c=`"`+r.value.replace(/["\\\n\r\t]/g,e=>JSON.stringify(e).slice(1,-1))+`"`;g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Use the equivalent ordinal text rule`,scope:`occurrence`,edits:[{start:s.startOffset+i.index,length:i[0].length,text:a[r.kind]+` `+c}]},change:{node:e,replacement:{...e,rule:r.kind,value:{...e.value,value:r.value}}}})}else if(o.code===e.LegacyComplianceMarker){let e=complianceMarkerEdit(s.raw,s.startOffset);e!==void 0&&g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Use bare pii and secret compliance markers`,scope:`occurrence`,edits:[e]}})}else if(o.code===e.PublicTranslationRequiresDirection){let t=p.get(s.number),n=/^\s*/.exec(s.raw)[0],a=r.includes(`\r
|
|
2
2
|
`)?`\r
|
|
3
3
|
`:`
|
|
4
4
|
`,u=[`Inbound`,`Outbound`].map(e=>({direction:e,text:`${a}${n} direction ${e===`Inbound`?`inbound`:`outbound`}`})).filter(t=>{let n=applyQuickFixEdits(r,[{start:s.startOffset+s.raw.length,length:0,text:t.text}]),a=c(n,void 0,i.placement),o=errorCodes(l);return acceptable(a)&&![...errorCodes(a)].some(t=>t===e.PublicTranslationRequiresDirection||!o.has(t))});if(u.length===1){let[{direction:e,text:n}]=u;g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Declare 'direction ${e===`Inbound`?`inbound`:`outbound`}'`,scope:`occurrence`,edits:[{start:s.startOffset+s.raw.length,length:0,text:n}]},change:{node:t,replacement:{...t,direction:e}}})}}else if(o.code===e.LegacyProfileLayout){let e=legacyProfileLayoutFix(d,s.number-1,o.code);e!==void 0&&g.set(s.number,{line:s.number,fix:e})}else if(o.code===e.RedundantEventId&&a(s.raw)<0){let e=y.get(s.number);if(e?.id!==e?.name||e===void 0)continue;g.set(s.number,{line:s.number,fix:{diagnosticCode:o.code,title:`Remove the redundant event id`,scope:`occurrence`,edits:[{start:s.startOffset,length:(d[s.number]?.startOffset??r.length)-s.startOffset,text:``}]},change:{node:e,replacement:{...e,id:null}}})}}let x=[e.LegacyOptionalSuffix,e.LegacyComplianceMarker],S=verificationShape(l),C=/* @__PURE__ */ new Map,w,T=/* @__PURE__ */ new Set,E=/* @__PURE__ */ new Map,verify=(e,t)=>{let n=applyQuickFixEdits(r,e.edits);if(n===void 0)return;let a=c(n,void 0,i.placement);if(acceptable(a)&&verificationShape(a)===(t===void 0?S:verificationShape(l,[t])))return a.diagnostics.filter(t=>t.code===e.diagnosticCode).length===(h.get(e.diagnosticCode)??0)-e.edits.length?e:void 0};return(t,n)=>{let a=typeof t==`number`||t===void 0?void 0:t,o=a===void 0?typeof t==`number`&&(n===void 0||n===e.DuplicateComplianceMarker)?[t]:[]:a.filter(t=>t.diagnosticCode===e.DuplicateComplianceMarker).map(e=>e.line),s=[...new Set(o)].flatMap(e=>{let t=_.get(e);if(t===void 0)return[];v.has(e)||v.set(e,verify(t));let n=v.get(e);return n===void 0?[]:[n]}),u=x.filter(e=>a===void 0?n===void 0||n===e:a.some(t=>t.diagnosticCode===e));for(let t of u.filter(e=>!T.has(e))){let n=[...g.values()].filter(e=>e.fix.diagnosticCode===t);if(n.length>0){let r=verify({diagnosticCode:t,title:t===e.LegacyOptionalSuffix?`Use 'optional' throughout this document`:`Use bare pii and secret throughout this document`,scope:`document`,edits:n.flatMap(e=>e.fix.edits)});r!==void 0&&E.set(t,r)}T.add(t)}let f=u.flatMap(e=>E.has(e)?[E.get(e)]:[]);if(a!==void 0){if(w===void 0){w=/* @__PURE__ */ new Map;let e=d.flatMap(e=>g.has(e.number)?[g.get(e.number)]:[]),t=e.flatMap(e=>e.fix.edits),n=applyQuickFixEdits(r,t);if(t.length>0&&n!==void 0){let t=c(n,void 0,i.placement),r=e.flatMap(e=>e.change===void 0?[]:[e.change]);if(acceptable(t)&&verificationShape(t)===verificationShape(l,r)){let n=/* @__PURE__ */ new Map,r=/* @__PURE__ */ new Map;for(let e of t.diagnostics)n.set(e.code,(n.get(e.code)??0)+1);for(let t of e)r.set(t.fix.diagnosticCode,(r.get(t.fix.diagnosticCode)??0)+t.fix.edits.length);if([...r].every(([e,t])=>(n.get(e)??0)===(h.get(e)??0)-t))for(let t of e)w.set(t.line,t.fix)}}}let e=/* @__PURE__ */ new Map;for(let t of a){let n=w.get(t.line);n?.diagnosticCode===t.diagnosticCode&&e.set(t.line,n)}return[...e.values(),...s,...f]}let p=typeof t==`number`?t:void 0,m=p===void 0?void 0:g.get(p),y;return m!==void 0&&p!==void 0&&(n===void 0||m.fix.diagnosticCode===n)&&(C.has(p)||(C.size===32&&C.delete(C.keys().next().value),C.set(p,verify(m.fix,m.change))),y=C.get(p)),[...y===void 0?[]:[y],...s,...f]}}function legacyProfileLayoutFix(e,t,n){let indentOf=e=>/^\s*/.exec(e)[0].length,r=indentOf(e[t].raw),i,a=!1;for(let n=t+1;n<e.length;n++){let t=e[n].raw;if(t.trim().length!==0){if(indentOf(t)<=r)break;i===void 0&&/^\s*layout\s+[A-Za-z_]\w*\s*$/.test(t)&&(i={index:n,indent:indentOf(t)}),/^\s*root\s+template(\s|$)/.test(t)&&(a=!0)}}if(i===void 0)return;let o=e[i.index];return a?{diagnosticCode:n,title:`Remove the ignored layout line`,scope:`occurrence`,edits:[{start:o.startOffset,length:(e[i.index+1]?.startOffset??o.startOffset+o.raw.length)-o.startOffset,text:``}]}:{diagnosticCode:n,title:`Use 'root template' instead of 'layout'`,scope:`occurrence`,edits:[{start:o.startOffset+i.indent,length:6,text:`root template`}]}}function duplicateComplianceMarkerEdit(e,t){let n=r(`^(\\s*concept\\s+\\w+\\s*:\\s*\\w+)((?:[^\\S\\r\\n]+@?\\w+)*)`).exec(e);if(n===null)return;let a=n[2],o=/* @__PURE__ */ new Set,s=a.replace(new RegExp(r(`[^\\S\\r\\n]+(@?\\w+)`).source,`gu`),(e,t)=>{let n=i(t);return o.has(n)?``:(o.add(n),e)});return s===a?void 0:{start:t+n[1].length,length:a.length,text:s}}function complianceMarkerEdit(e,t){let n=r(`^(\\s*concept\\s+\\w+\\s*:\\s*\\w+)((?:[^\\S\\r\\n]+@?\\w+)*)`).exec(e);if(n!==null){let e=n[2],r=e.replace(/@pii\b|@?sensitive\b/g,e=>e===`@pii`?`pii`:`secret`);return r===e?void 0:{start:t+n[1].length,length:e.length,text:r}}let i=r(`^(\\s*)(@pii|@?sensitive)\\b`).exec(e);return i===null?void 0:{start:t+i[1].length,length:i[2].length,text:i[2]===`@pii`?`pii`:`secret`}}function verificationShape(e,t=[]){let n=new Map(t.map(e=>[e.node,e.replacement]));return JSON.stringify([e.value,e.triggerData],(e,t)=>[`location`,`usesLocation`,`targetLocation`].includes(e)?void 0:n.get(t)??t)}function applyQuickFixEdits(e,t){let n=[],r=0;for(let i of t){if(i.start<r||i.start<0||i.length<0||i.start+i.length>e.length)return;n.push(e.slice(r,i.start),i.text),r=i.start+i.length}return n.push(e.slice(r)),n.join(``)}export{applyQuickFixEdits,isQuickFixDiagnostic,legacyOptionalTypeLength,prepareQuickFixes};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuickFixes.js","names":["code","DiagnosticCodes","diagnostic","line","local","source","options","timeline","requests","localFixes","diagnosticCode","selected","request","fixes","prepareTimelineQuickFixes","original","parseForAuthoring","publicEventCodes","index","parsed","lines","splitLines","eventsByLine","slicesByLine","rulesByLine","ScreenplaySyntaxWalker","rule","event","slice","counts","byLine","duplicateByLine","duplicateVerdicts","events","edit","length","replacement","checkPortableMatchPattern","match","stringBodyPattern","spellings","quoted","character","indent","ending","candidates","direction","edited","candidate","originalCodes","fix","commentStart","declaration","spellingCodes","syntax","verified","rangeVerdicts","documentChecked","documentFixes","change","duplicateLines","duplicates","number","selectedCodes","documents","edits","candidateSource","changes","remaining","removed","count","occurrenceLine","occurrenceFix","raw","headerIndent","headerIndex","layout","hasRoot","header","pattern","suffix","seen","text","wire","complianceWireName","marker","token","startOffset","directive","replacements","key","value","parts","end"],"sources":["../../../../../../Compiler/Authoring/QuickFixes.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 { Diagnostic } from '../Diagnostics/Diagnostic';\nimport { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport { PlayPlacement } from '../Files/PlayPlacement';\nimport { checkPortableMatchPattern } from '../Parsing/checkPortableMatchPattern';\nimport { ValidationRuleSyntax } from '../Syntax/Commands';\nimport { stringBodyPattern } from '../Text/StringLiteral';\nimport { complianceWireName } from '../Parsing/ConceptComplianceParser';\nimport { commentStart, splitLines } from '../Parsing/SourceLineSplitter';\nimport { parseForAuthoring } from '../ScreenplayCompiler';\nimport { EventSyntax } from '../Syntax/Declarations';\nimport { SliceSyntax } from '../Syntax/Structure';\nimport { TranslationDirection } from '../Syntax/TranslationDirection';\nimport { ScreenplaySyntaxWalker } from '../Syntax/ScreenplaySyntaxWalker';\nimport { pattern } from '../Text/patterns';\nimport { QuickFixCandidate } from './QuickFixCandidate';\nimport { prepareTimelineQuickFixes } from './TimelineQuickFixes';\n\nexport interface QuickFixEdit {\n /** Destination document for an application-snapshot repair; absent for a buffer-local edit. */\n readonly path?: string;\n readonly start: number;\n readonly length: number;\n readonly text: string;\n}\n\nexport interface QuickFix {\n /** Original diagnostic line, which may differ from the edited import's line. */\n readonly line?: number;\n readonly diagnosticCode: string;\n readonly title: string;\n readonly scope: 'occurrence' | 'document';\n readonly edits: readonly QuickFixEdit[];\n}\n\nexport interface QuickFixOptions {\n readonly path?: string;\n readonly documents?: ReadonlyMap<string, string>;\n readonly line?: number;\n readonly placement?: PlayPlacement;\n readonly diagnosticCode?: string;\n}\n\nexport function isQuickFixDiagnostic(code: unknown): code is string {\n return code === DiagnosticCodes.EventFromLaterSlice || code === DiagnosticCodes.DeprecatedStudioTextRulePattern || code === DiagnosticCodes.DuplicateComplianceMarker || code === DiagnosticCodes.LegacyOptionalSuffix || code === DiagnosticCodes.LegacyComplianceMarker || code === DiagnosticCodes.RedundantEventId || code === DiagnosticCodes.PublicTranslationRequiresDirection || code === DiagnosticCodes.LegacyProfileLayout;\n}\n\n// Diagnostics point at the complete type, not at the suffix. Never derive edits from message text.\nexport function legacyOptionalTypeLength(line: string, diagnostic: Diagnostic): number {\n if (diagnostic.code !== DiagnosticCodes.LegacyOptionalSuffix) return 0;\n return /^[\\p{L}\\p{Mn}\\p{Nd}\\p{Pc}.]+(?:\\[\\])?\\?/u.exec(line.slice(diagnostic.location.column - 1))?.[0].length ?? 0;\n}\n\nexport function findQuickFixes(source: string, options: QuickFixOptions = {}): QuickFix[] {\n return prepareQuickFixes(source, options)(options.line, options.diagnosticCode);\n}\n\n// One immutable buffer version owns the analysis and document verdict. Cursor moves reuse them;\n// single-occurrence verdicts have a bounded cache. Range requests verify the independent recipes\n// together once per version, rather than reparsing N times for N intersecting markers.\nexport function prepareQuickFixes(source: string, options: Pick<QuickFixOptions, 'placement' | 'path' | 'documents'> = {}): (line?: number | readonly { line: number; diagnosticCode: string }[], diagnosticCode?: string) => QuickFix[] {\n const local = prepareLocalQuickFixes(source, options);\n let timeline: ReturnType<typeof prepareTimelineQuickFixes> | undefined;\n return (line, diagnosticCode) => {\n const requests = typeof line === 'number' ? [{ line, diagnosticCode }] : line ?? [];\n const localFixes = local(line, diagnosticCode);\n const selected = requests.filter(request => request.diagnosticCode === DiagnosticCodes.EventFromLaterSlice || (request.diagnosticCode === undefined && localFixes.length === 0));\n const fixes = selected.length === 0 ? [] : [...new Set(selected.map(request => request.line))].flatMap(line => (timeline ??= prepareTimelineQuickFixes(source, options))(line));\n return [...localFixes, ...fixes];\n };\n}\n\nfunction prepareLocalQuickFixes(source: string, options: Pick<QuickFixOptions, 'placement'>): (line?: number | readonly { line: number; diagnosticCode: string }[], diagnosticCode?: string) => QuickFix[] {\n const original = parseForAuthoring(source, undefined, options.placement);\n // PLAY0614 and the public-event boundary errors that follow from a missing direction are errors the repair itself removes,\n // so a document whose only errors are public-event boundary errors stays repairable.\n const publicEventCodes: ReadonlySet<string> = new Set(Array.from({ length: 14 }, (_, index) => `PLAY0${607 + index}`));\n const acceptable = (parsed: ReturnType<typeof parseForAuthoring>): boolean => parsed.success || parsed.diagnostics.every(diagnostic => diagnostic.severity !== 'error' || publicEventCodes.has(diagnostic.code));\n const errorCodes = (parsed: ReturnType<typeof parseForAuthoring>): Set<string> => new Set(parsed.diagnostics.filter(diagnostic => diagnostic.severity === 'error').map(diagnostic => diagnostic.code));\n if (!acceptable(original)) return () => [];\n const lines = splitLines(source);\n const eventsByLine = new Map<number, EventSyntax>();\n const slicesByLine = new Map<number, SliceSyntax>();\n const rulesByLine = new Map<number, ValidationRuleSyntax>();\n // Index inline and standalone declarations once, without scanning the tree per diagnostic.\n const walker = new class extends ScreenplaySyntaxWalker {\n override visitValidationRule(rule: ValidationRuleSyntax): void { rulesByLine.set(rule.location.line, rule); super.visitValidationRule(rule); }\n override visitEvent(event: EventSyntax): void { eventsByLine.set(event.location.line, event); }\n override visitSlice(slice: SliceSyntax): void { slicesByLine.set(slice.location.line, slice); super.visitSlice(slice); }\n }();\n walker.visitApplication(original.value);\n const counts = new Map<string, number>();\n const byLine = new Map<number, QuickFixCandidate>();\n // Duplicate removal and legacy spelling can share a header. Keep their independently verified recipes separate.\n const duplicateByLine = new Map<number, QuickFix>();\n const duplicateVerdicts = new Map<number, QuickFix | undefined>();\n const events = new Map<number, EventSyntax>();\n let event: EventSyntax | undefined;\n for (const line of lines) {\n event = eventsByLine.get(line.number) ?? event;\n if (event !== undefined) events.set(line.number, event);\n }\n for (const diagnostic of original.diagnostics) {\n counts.set(diagnostic.code, (counts.get(diagnostic.code) ?? 0) + 1);\n const line = lines[diagnostic.location.line - 1];\n if (diagnostic.code === DiagnosticCodes.DuplicateComplianceMarker) {\n const edit = duplicateComplianceMarkerEdit(line.raw, line.startOffset);\n if (edit !== undefined) duplicateByLine.set(line.number, { diagnosticCode: diagnostic.code, title: 'Remove duplicate compliance markers', scope: 'occurrence', edits: [edit] });\n }\n const length = legacyOptionalTypeLength(line.raw, diagnostic);\n if (length > 0) {\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: \"Use 'optional' instead of '?'\", scope: 'occurrence', edits: [{ start: line.startOffset + diagnostic.location.column + length - 2, length: 1, text: ' optional' }] } });\n } else if (diagnostic.code === DiagnosticCodes.DeprecatedStudioTextRulePattern) {\n const rule = rulesByLine.get(line.number);\n if (rule?.rule !== 'Matches' || rule.value?.kind !== 'LiteralExpressionSyntax' || typeof rule.value.value !== 'string') continue;\n const replacement = checkPortableMatchPattern(rule.value.value).replacement;\n const match = new RegExp(`\\\\bmatches\\\\s+\"${stringBodyPattern}\"`).exec(line.raw);\n if (replacement === undefined || match === null) continue;\n const spellings = { Equal: '==', NotEqual: '!=', Contains: 'contains', NotContains: 'not contains', StartsWith: 'starts with', EndsWith: 'ends with' };\n const quoted = '\"' + replacement.value.replace(/[\"\\\\\\n\\r\\t]/g, character => JSON.stringify(character).slice(1, -1)) + '\"';\n byLine.set(line.number, { line: line.number,\n fix: { diagnosticCode: diagnostic.code, title: 'Use the equivalent ordinal text rule', scope: 'occurrence', edits: [{ start: line.startOffset + match.index, length: match[0].length, text: spellings[replacement.kind] + ' ' + quoted }] },\n change: { node: rule, replacement: { ...rule, rule: replacement.kind, value: { ...rule.value, value: replacement.value } } as ValidationRuleSyntax } });\n } else if (diagnostic.code === DiagnosticCodes.LegacyComplianceMarker) {\n const edit = complianceMarkerEdit(line.raw, line.startOffset);\n if (edit !== undefined) byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: 'Use bare pii and secret compliance markers', scope: 'occurrence', edits: [edit] } });\n } else if (diagnostic.code === DiagnosticCodes.PublicTranslationRequiresDirection) {\n // PLAY0614 is only reported on the declaration line of a Translate slice that has no direction.\n const slice = slicesByLine.get(line.number)!;\n // Offer a direction only when exactly one is consistent with the slice: the other would add errors.\n const indent = /^\\s*/.exec(line.raw)![0];\n const ending = source.includes('\\r\\n') ? '\\r\\n' : '\\n';\n const candidates = [TranslationDirection.Inbound, TranslationDirection.Outbound].map(direction => ({ direction, text: `${ending}${indent} direction ${direction === TranslationDirection.Inbound ? 'inbound' : 'outbound'}` }))\n .filter(candidate => {\n // The insertion point is the end of an existing line, so the edit is always in bounds.\n const edited = applyQuickFixEdits(source, [{ start: line.startOffset + line.raw.length, length: 0, text: candidate.text }])!;\n const parsed = parseForAuthoring(edited, undefined, options.placement);\n const originalCodes = errorCodes(original);\n // Valid when the missing-direction error is gone and the direction introduces no kind of error the document lacked.\n return acceptable(parsed) && ![...errorCodes(parsed)].some(code => code === DiagnosticCodes.PublicTranslationRequiresDirection || !originalCodes.has(code));\n });\n if (candidates.length === 1) {\n const [{ direction, text }] = candidates;\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: `Declare 'direction ${direction === TranslationDirection.Inbound ? 'inbound' : 'outbound'}'`, scope: 'occurrence', edits: [{ start: line.startOffset + line.raw.length, length: 0, text }] },\n change: { node: slice, replacement: { ...slice, direction } as SliceSyntax } });\n }\n } else if (diagnostic.code === DiagnosticCodes.LegacyProfileLayout) {\n const fix = legacyProfileLayoutFix(lines, line.number - 1, diagnostic.code);\n if (fix !== undefined) byLine.set(line.number, { line: line.number, fix });\n } else if (diagnostic.code === DiagnosticCodes.RedundantEventId && commentStart(line.raw) < 0) {\n const declaration = events.get(line.number);\n if (declaration?.id !== declaration?.name || declaration === undefined) continue;\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: 'Remove the redundant event id', scope: 'occurrence', edits: [{ start: line.startOffset, length: (lines[line.number]?.startOffset ?? source.length) - line.startOffset, text: '' }] },\n change: { node: declaration, replacement: { ...declaration, id: null } as EventSyntax } });\n }\n }\n const spellingCodes = [DiagnosticCodes.LegacyOptionalSuffix, DiagnosticCodes.LegacyComplianceMarker];\n const syntax = verificationShape(original);\n const verified = new Map<number, QuickFix | undefined>();\n let rangeVerdicts: Map<number, QuickFix> | undefined;\n const documentChecked = new Set<string>();\n const documentFixes = new Map<string, QuickFix>();\n const verify = (fix: QuickFix, change?: QuickFixCandidate['change']): QuickFix | undefined => {\n const candidate = applyQuickFixEdits(source, fix.edits);\n if (candidate === undefined) return undefined;\n const parsed = parseForAuthoring(candidate, undefined, options.placement);\n if (!acceptable(parsed) || verificationShape(parsed) !== (change === undefined ? syntax : verificationShape(original, [change]))) return undefined;\n return parsed.diagnostics.filter(diagnostic => diagnostic.code === fix.diagnosticCode).length === (counts.get(fix.diagnosticCode) ?? 0) - fix.edits.length ? fix : undefined;\n };\n return (line, diagnosticCode) => {\n const requests = typeof line === 'number' || line === undefined ? undefined : line;\n const duplicateLines = requests === undefined\n ? typeof line === 'number' && (diagnosticCode === undefined || diagnosticCode === DiagnosticCodes.DuplicateComplianceMarker) ? [line] : []\n : requests.filter(request => request.diagnosticCode === DiagnosticCodes.DuplicateComplianceMarker).map(request => request.line);\n const duplicates = [...new Set(duplicateLines)].flatMap(number => {\n const fix = duplicateByLine.get(number);\n if (fix === undefined) return [];\n if (!duplicateVerdicts.has(number)) duplicateVerdicts.set(number, verify(fix));\n const verified = duplicateVerdicts.get(number);\n return verified === undefined ? [] : [verified];\n });\n const selectedCodes = spellingCodes.filter(code => requests === undefined ? diagnosticCode === undefined || diagnosticCode === code : requests.some(request => request.diagnosticCode === code));\n for (const code of selectedCodes.filter(code => !documentChecked.has(code))) {\n const candidates = [...byLine.values()].filter(candidate => candidate.fix.diagnosticCode === code);\n if (candidates.length > 0) {\n const fix = verify({ diagnosticCode: code, title: code === DiagnosticCodes.LegacyOptionalSuffix ? \"Use 'optional' throughout this document\" : 'Use bare pii and secret throughout this document', scope: 'document', edits: candidates.flatMap(candidate => candidate.fix.edits) });\n if (fix !== undefined) documentFixes.set(code, fix);\n }\n documentChecked.add(code);\n }\n const documents = selectedCodes.flatMap(code => documentFixes.has(code) ? [documentFixes.get(code)!] : []);\n if (requests !== undefined) {\n if (rangeVerdicts === undefined) {\n rangeVerdicts = new Map();\n // Source order gives ordered, non-overlapping edits without sorting. Recipes replace\n // distinct nodes/lines; the batch must preserve every other modeled member and remove\n // exactly the expected diagnostics before any of its occurrence edits can be offered.\n const candidates = lines.flatMap(line => byLine.has(line.number) ? [byLine.get(line.number)!] : []);\n const edits = candidates.flatMap(candidate => candidate.fix.edits);\n const candidateSource = applyQuickFixEdits(source, edits);\n if (edits.length > 0 && candidateSource !== undefined) {\n const parsed = parseForAuthoring(candidateSource, undefined, options.placement);\n const changes = candidates.flatMap(candidate => candidate.change === undefined ? [] : [candidate.change]);\n if (acceptable(parsed) && verificationShape(parsed) === verificationShape(original, changes)) {\n const remaining = new Map<string, number>();\n const removed = new Map<string, number>();\n for (const diagnostic of parsed.diagnostics) remaining.set(diagnostic.code, (remaining.get(diagnostic.code) ?? 0) + 1);\n for (const candidate of candidates) removed.set(candidate.fix.diagnosticCode, (removed.get(candidate.fix.diagnosticCode) ?? 0) + candidate.fix.edits.length);\n if ([...removed].every(([code, count]) => (remaining.get(code) ?? 0) === (counts.get(code) ?? 0) - count)) {\n for (const candidate of candidates) rangeVerdicts.set(candidate.line, candidate.fix);\n }\n }\n }\n }\n const selected = new Map<number, QuickFix>();\n for (const request of requests) {\n const fix = rangeVerdicts.get(request.line);\n if (fix?.diagnosticCode === request.diagnosticCode) selected.set(request.line, fix);\n }\n return [...selected.values(), ...duplicates, ...documents];\n }\n const occurrenceLine = typeof line === 'number' ? line : undefined;\n const selected = occurrenceLine === undefined ? undefined : byLine.get(occurrenceLine);\n let occurrenceFix: QuickFix | undefined;\n if (selected !== undefined && occurrenceLine !== undefined && (diagnosticCode === undefined || selected.fix.diagnosticCode === diagnosticCode)) {\n if (!verified.has(occurrenceLine)) {\n if (verified.size === 32) verified.delete(verified.keys().next().value!);\n verified.set(occurrenceLine, verify(selected.fix, selected.change));\n }\n occurrenceFix = verified.get(occurrenceLine);\n }\n return [...(occurrenceFix === undefined ? [] : [occurrenceFix]), ...duplicates, ...documents];\n };\n}\n\n// PLAY0791 is reported on the `ui profile` line. The canonical form is `root template <Name>`; beside a root template the legacy line is ignored, so it is removed.\nfunction legacyProfileLayoutFix(lines: readonly { readonly number: number; readonly raw: string; readonly startOffset: number }[], headerIndex: number, diagnosticCode: string): QuickFix | undefined {\n const indentOf = (raw: string): number => /^\\s*/.exec(raw)![0].length;\n const headerIndent = indentOf(lines[headerIndex].raw);\n let layout: { readonly index: number; readonly indent: number } | undefined;\n let hasRoot = false;\n for (let index = headerIndex + 1; index < lines.length; index++) {\n const raw = lines[index].raw;\n if (raw.trim().length === 0) continue;\n if (indentOf(raw) <= headerIndent) break;\n if (layout === undefined && /^\\s*layout\\s+[A-Za-z_]\\w*\\s*$/.test(raw)) layout = { index, indent: indentOf(raw) };\n if (/^\\s*root\\s+template(\\s|$)/.test(raw)) hasRoot = true;\n }\n if (layout === undefined) return undefined;\n const line = lines[layout.index];\n return hasRoot\n ? { diagnosticCode, title: 'Remove the ignored layout line', scope: 'occurrence', edits: [{ start: line.startOffset, length: (lines[layout.index + 1]?.startOffset ?? line.startOffset + line.raw.length) - line.startOffset, text: '' }] }\n : { diagnosticCode, title: \"Use 'root template' instead of 'layout'\", scope: 'occurrence', edits: [{ start: line.startOffset + layout.indent, length: 'layout'.length, text: 'root template' }] };\n}\n\nfunction duplicateComplianceMarkerEdit(raw: string, startOffset: number): QuickFixEdit | undefined {\n const header = pattern('^(\\\\s*concept\\\\s+\\\\w+\\\\s*:\\\\s*\\\\w+)((?:[^\\\\S\\\\r\\\\n]+@?\\\\w+)*)').exec(raw);\n if (header === null) return undefined;\n const suffix = header[2];\n const seen = new Set<string>();\n const text = suffix.replace(new RegExp(pattern('[^\\\\S\\\\r\\\\n]+(@?\\\\w+)').source, 'gu'), (token, marker: string) => {\n const wire = complianceWireName(marker);\n if (seen.has(wire)) return '';\n seen.add(wire);\n return token;\n });\n return text === suffix ? undefined : { start: startOffset + header[1].length, length: suffix.length, text };\n}\n\nfunction complianceMarkerEdit(raw: string, startOffset: number): QuickFixEdit | undefined {\n // Restrict rewriting to the suffix or leading directive marker, never comments or quoted reasons.\n const header = pattern('^(\\\\s*concept\\\\s+\\\\w+\\\\s*:\\\\s*\\\\w+)((?:[^\\\\S\\\\r\\\\n]+@?\\\\w+)*)').exec(raw);\n if (header !== null) {\n const suffix = header[2];\n const text = suffix.replace(/@pii\\b|@?sensitive\\b/g, marker => marker === '@pii' ? 'pii' : 'secret');\n return text === suffix ? undefined : { start: startOffset + header[1].length, length: suffix.length, text };\n }\n const directive = pattern('^(\\\\s*)(@pii|@?sensitive)\\\\b').exec(raw);\n return directive === null ? undefined : { start: startOffset + directive[1].length, length: directive[2].length, text: directive[2] === '@pii' ? 'pii' : 'secret' };\n}\n\nfunction verificationShape(parsed: ReturnType<typeof parseForAuthoring>, changes: readonly NonNullable<QuickFixCandidate['change']>[] = []): string {\n // Compare every modeled member (including trigger data), ignoring only source locations. A recipe\n // may replace only its original node; no other id or destination is normalized away.\n const replacements = new Map(changes.map(change => [change.node, change.replacement]));\n return JSON.stringify([parsed.value, parsed.triggerData], (key, value: unknown) => ['location', 'usesLocation', 'targetLocation'].includes(key) ? undefined : replacements.get(value as NonNullable<QuickFixCandidate['change']>['node']) ?? value);\n}\n\n// One forward pass; applying N edits by repeatedly slicing the document would be quadratic.\nexport function applyQuickFixEdits(source: string, edits: readonly QuickFixEdit[]): string | undefined {\n const parts: string[] = [];\n let end = 0;\n for (const edit of edits) {\n if (edit.start < end || edit.start < 0 || edit.length < 0 || edit.start + edit.length > source.length) return undefined;\n parts.push(source.slice(end, edit.start), edit.text);\n end = edit.start + edit.length;\n }\n parts.push(source.slice(end));\n return parts.join('');\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QuickFixes.js","names":["quickFixDiagnosticCodes","DiagnosticCodes","code","diagnostic","line","local","source","options","timeline","subjects","prepareActionSubjectQuickFixes","requests","localFixes","diagnosticCode","selected","request","fixes","prepareTimelineQuickFixes","subjectRequests","actions","original","parseForAuthoring","publicEventCodes","index","parsed","lines","splitLines","eventsByLine","slicesByLine","rulesByLine","ScreenplaySyntaxWalker","rule","event","slice","counts","byLine","duplicateByLine","duplicateVerdicts","events","edit","length","replacement","checkPortableMatchPattern","match","stringBodyPattern","spellings","quoted","character","indent","ending","candidates","direction","edited","candidate","originalCodes","fix","commentStart","declaration","spellingCodes","syntax","verified","rangeVerdicts","documentChecked","documentFixes","change","duplicateLines","duplicates","number","selectedCodes","documents","edits","candidateSource","changes","remaining","removed","count","occurrenceLine","occurrenceFix","raw","headerIndent","headerIndex","layout","hasRoot","header","pattern","suffix","seen","text","wire","complianceWireName","marker","token","startOffset","directive","replacements","key","value","parts","end"],"sources":["../../../../../../Compiler/Authoring/QuickFixes.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 { Diagnostic } from '../Diagnostics/Diagnostic';\nimport { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport { PlayPlacement } from '../Files/PlayPlacement';\nimport { checkPortableMatchPattern } from '../Parsing/checkPortableMatchPattern';\nimport { ValidationRuleSyntax } from '../Syntax/Commands';\nimport { stringBodyPattern } from '../Text/StringLiteral';\nimport { complianceWireName } from '../Parsing/ConceptComplianceParser';\nimport { commentStart, splitLines } from '../Parsing/SourceLineSplitter';\nimport { parseForAuthoring } from '../ScreenplayCompiler';\nimport { EventSyntax } from '../Syntax/Declarations';\nimport { SliceSyntax } from '../Syntax/Structure';\nimport { TranslationDirection } from '../Syntax/TranslationDirection';\nimport { ScreenplaySyntaxWalker } from '../Syntax/ScreenplaySyntaxWalker';\nimport { pattern } from '../Text/patterns';\nimport { QuickFixCandidate } from './QuickFixCandidate';\nimport { prepareTimelineQuickFixes } from './TimelineQuickFixes';\nimport { prepareActionSubjectQuickFixes } from './ActionSubjectQuickFixes';\n\nexport interface QuickFixEdit {\n /** Destination document for an application-snapshot repair; absent for a buffer-local edit. */\n readonly path?: string;\n readonly start: number;\n readonly length: number;\n readonly text: string;\n}\n\nexport interface QuickFix {\n /** Original diagnostic line, which may differ from the edited import's line. */\n readonly line?: number;\n readonly diagnosticCode: string;\n readonly title: string;\n readonly scope: 'occurrence' | 'document';\n readonly edits: readonly QuickFixEdit[];\n}\n\nexport interface QuickFixOptions {\n readonly path?: string;\n readonly documents?: ReadonlyMap<string, string>;\n readonly line?: number;\n readonly placement?: PlayPlacement;\n readonly diagnosticCode?: string;\n}\n\nconst quickFixDiagnosticCodes: ReadonlySet<unknown> = new Set([\n DiagnosticCodes.InferredActionSubject,\n DiagnosticCodes.ChangedActionSubject,\n DiagnosticCodes.EventFromLaterSlice,\n DiagnosticCodes.DeprecatedStudioTextRulePattern,\n DiagnosticCodes.DuplicateComplianceMarker,\n DiagnosticCodes.LegacyOptionalSuffix,\n DiagnosticCodes.LegacyComplianceMarker,\n DiagnosticCodes.RedundantEventId,\n DiagnosticCodes.PublicTranslationRequiresDirection,\n DiagnosticCodes.LegacyProfileLayout,\n]);\n\nexport function isQuickFixDiagnostic(code: unknown): code is string {\n return quickFixDiagnosticCodes.has(code);\n}\n\n// Diagnostics point at the complete type, not at the suffix. Never derive edits from message text.\nexport function legacyOptionalTypeLength(line: string, diagnostic: Diagnostic): number {\n if (diagnostic.code !== DiagnosticCodes.LegacyOptionalSuffix) return 0;\n return /^[\\p{L}\\p{Mn}\\p{Nd}\\p{Pc}.]+(?:\\[\\])?\\?/u.exec(line.slice(diagnostic.location.column - 1))?.[0].length ?? 0;\n}\n\nexport function findQuickFixes(source: string, options: QuickFixOptions = {}): QuickFix[] {\n return prepareQuickFixes(source, options)(options.line, options.diagnosticCode);\n}\n\n// One immutable buffer version owns the analysis and document verdict. Cursor moves reuse them;\n// single-occurrence verdicts have a bounded cache. Range requests verify the independent recipes\n// together once per version, rather than reparsing N times for N intersecting markers.\nexport function prepareQuickFixes(source: string, options: Pick<QuickFixOptions, 'placement' | 'path' | 'documents'> = {}): (line?: number | readonly { line: number; diagnosticCode: string }[], diagnosticCode?: string) => QuickFix[] {\n const local = prepareLocalQuickFixes(source, options);\n let timeline: ReturnType<typeof prepareTimelineQuickFixes> | undefined;\n let subjects: ReturnType<typeof prepareActionSubjectQuickFixes> | undefined;\n const subjectFixes = (line?: number, code?: string) => (subjects ??= prepareActionSubjectQuickFixes(source, options))(line, code);\n return (line, diagnosticCode) => {\n const requests = typeof line === 'number' ? [{ line, diagnosticCode }] : line ?? [];\n const localFixes = local(line, diagnosticCode);\n const selected = requests.filter(request => request.diagnosticCode === DiagnosticCodes.EventFromLaterSlice || (request.diagnosticCode === undefined && localFixes.length === 0));\n const fixes = selected.length === 0 ? [] : [...new Set(selected.map(request => request.line))].flatMap(line => (timeline ??= prepareTimelineQuickFixes(source, options))(line));\n const subjectRequests = requests.filter(request => request.diagnosticCode === undefined || request.diagnosticCode === DiagnosticCodes.InferredActionSubject || request.diagnosticCode === DiagnosticCodes.ChangedActionSubject);\n const actions = requests.length === 0 ? subjectFixes(undefined, diagnosticCode) : subjectRequests.flatMap(request => subjectFixes(request.line, request.diagnosticCode));\n return [...localFixes, ...fixes, ...actions];\n };\n}\n\nfunction prepareLocalQuickFixes(source: string, options: Pick<QuickFixOptions, 'placement'>): (line?: number | readonly { line: number; diagnosticCode: string }[], diagnosticCode?: string) => QuickFix[] {\n const original = parseForAuthoring(source, undefined, options.placement);\n // PLAY0614 and the public-event boundary errors that follow from a missing direction are errors the repair itself removes,\n // so a document whose only errors are public-event boundary errors stays repairable.\n const publicEventCodes: ReadonlySet<string> = new Set(Array.from({ length: 14 }, (_, index) => `PLAY0${607 + index}`));\n const acceptable = (parsed: ReturnType<typeof parseForAuthoring>): boolean => parsed.success || parsed.diagnostics.every(diagnostic => diagnostic.severity !== 'error' || publicEventCodes.has(diagnostic.code));\n const errorCodes = (parsed: ReturnType<typeof parseForAuthoring>): Set<string> => new Set(parsed.diagnostics.filter(diagnostic => diagnostic.severity === 'error').map(diagnostic => diagnostic.code));\n if (!acceptable(original)) return () => [];\n const lines = splitLines(source);\n const eventsByLine = new Map<number, EventSyntax>();\n const slicesByLine = new Map<number, SliceSyntax>();\n const rulesByLine = new Map<number, ValidationRuleSyntax>();\n // Index inline and standalone declarations once, without scanning the tree per diagnostic.\n const walker = new class extends ScreenplaySyntaxWalker {\n override visitValidationRule(rule: ValidationRuleSyntax): void { rulesByLine.set(rule.location.line, rule); super.visitValidationRule(rule); }\n override visitEvent(event: EventSyntax): void { eventsByLine.set(event.location.line, event); }\n override visitSlice(slice: SliceSyntax): void { slicesByLine.set(slice.location.line, slice); super.visitSlice(slice); }\n }();\n walker.visitApplication(original.value);\n const counts = new Map<string, number>();\n const byLine = new Map<number, QuickFixCandidate>();\n // Duplicate removal and legacy spelling can share a header. Keep their independently verified recipes separate.\n const duplicateByLine = new Map<number, QuickFix>();\n const duplicateVerdicts = new Map<number, QuickFix | undefined>();\n const events = new Map<number, EventSyntax>();\n let event: EventSyntax | undefined;\n for (const line of lines) {\n event = eventsByLine.get(line.number) ?? event;\n if (event !== undefined) events.set(line.number, event);\n }\n for (const diagnostic of original.diagnostics) {\n counts.set(diagnostic.code, (counts.get(diagnostic.code) ?? 0) + 1);\n const line = lines[diagnostic.location.line - 1];\n if (diagnostic.code === DiagnosticCodes.DuplicateComplianceMarker) {\n const edit = duplicateComplianceMarkerEdit(line.raw, line.startOffset);\n if (edit !== undefined) duplicateByLine.set(line.number, { diagnosticCode: diagnostic.code, title: 'Remove duplicate compliance markers', scope: 'occurrence', edits: [edit] });\n }\n const length = legacyOptionalTypeLength(line.raw, diagnostic);\n if (length > 0) {\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: \"Use 'optional' instead of '?'\", scope: 'occurrence', edits: [{ start: line.startOffset + diagnostic.location.column + length - 2, length: 1, text: ' optional' }] } });\n } else if (diagnostic.code === DiagnosticCodes.DeprecatedStudioTextRulePattern) {\n const rule = rulesByLine.get(line.number);\n if (rule?.rule !== 'Matches' || rule.value?.kind !== 'LiteralExpressionSyntax' || typeof rule.value.value !== 'string') continue;\n const replacement = checkPortableMatchPattern(rule.value.value).replacement;\n const match = new RegExp(`\\\\bmatches\\\\s+\"${stringBodyPattern}\"`).exec(line.raw);\n if (replacement === undefined || match === null) continue;\n const spellings = { Equal: '==', NotEqual: '!=', Contains: 'contains', NotContains: 'not contains', StartsWith: 'starts with', EndsWith: 'ends with' };\n const quoted = '\"' + replacement.value.replace(/[\"\\\\\\n\\r\\t]/g, character => JSON.stringify(character).slice(1, -1)) + '\"';\n byLine.set(line.number, { line: line.number,\n fix: { diagnosticCode: diagnostic.code, title: 'Use the equivalent ordinal text rule', scope: 'occurrence', edits: [{ start: line.startOffset + match.index, length: match[0].length, text: spellings[replacement.kind] + ' ' + quoted }] },\n change: { node: rule, replacement: { ...rule, rule: replacement.kind, value: { ...rule.value, value: replacement.value } } as ValidationRuleSyntax } });\n } else if (diagnostic.code === DiagnosticCodes.LegacyComplianceMarker) {\n const edit = complianceMarkerEdit(line.raw, line.startOffset);\n if (edit !== undefined) byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: 'Use bare pii and secret compliance markers', scope: 'occurrence', edits: [edit] } });\n } else if (diagnostic.code === DiagnosticCodes.PublicTranslationRequiresDirection) {\n // PLAY0614 is only reported on the declaration line of a Translate slice that has no direction.\n const slice = slicesByLine.get(line.number)!;\n // Offer a direction only when exactly one is consistent with the slice: the other would add errors.\n const indent = /^\\s*/.exec(line.raw)![0];\n const ending = source.includes('\\r\\n') ? '\\r\\n' : '\\n';\n const candidates = [TranslationDirection.Inbound, TranslationDirection.Outbound].map(direction => ({ direction, text: `${ending}${indent} direction ${direction === TranslationDirection.Inbound ? 'inbound' : 'outbound'}` }))\n .filter(candidate => {\n // The insertion point is the end of an existing line, so the edit is always in bounds.\n const edited = applyQuickFixEdits(source, [{ start: line.startOffset + line.raw.length, length: 0, text: candidate.text }])!;\n const parsed = parseForAuthoring(edited, undefined, options.placement);\n const originalCodes = errorCodes(original);\n // Valid when the missing-direction error is gone and the direction introduces no kind of error the document lacked.\n return acceptable(parsed) && ![...errorCodes(parsed)].some(code => code === DiagnosticCodes.PublicTranslationRequiresDirection || !originalCodes.has(code));\n });\n if (candidates.length === 1) {\n const [{ direction, text }] = candidates;\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: `Declare 'direction ${direction === TranslationDirection.Inbound ? 'inbound' : 'outbound'}'`, scope: 'occurrence', edits: [{ start: line.startOffset + line.raw.length, length: 0, text }] },\n change: { node: slice, replacement: { ...slice, direction } as SliceSyntax } });\n }\n } else if (diagnostic.code === DiagnosticCodes.LegacyProfileLayout) {\n const fix = legacyProfileLayoutFix(lines, line.number - 1, diagnostic.code);\n if (fix !== undefined) byLine.set(line.number, { line: line.number, fix });\n } else if (diagnostic.code === DiagnosticCodes.RedundantEventId && commentStart(line.raw) < 0) {\n const declaration = events.get(line.number);\n if (declaration?.id !== declaration?.name || declaration === undefined) continue;\n byLine.set(line.number, { line: line.number, fix: { diagnosticCode: diagnostic.code, title: 'Remove the redundant event id', scope: 'occurrence', edits: [{ start: line.startOffset, length: (lines[line.number]?.startOffset ?? source.length) - line.startOffset, text: '' }] },\n change: { node: declaration, replacement: { ...declaration, id: null } as EventSyntax } });\n }\n }\n const spellingCodes = [DiagnosticCodes.LegacyOptionalSuffix, DiagnosticCodes.LegacyComplianceMarker];\n const syntax = verificationShape(original);\n const verified = new Map<number, QuickFix | undefined>();\n let rangeVerdicts: Map<number, QuickFix> | undefined;\n const documentChecked = new Set<string>();\n const documentFixes = new Map<string, QuickFix>();\n const verify = (fix: QuickFix, change?: QuickFixCandidate['change']): QuickFix | undefined => {\n const candidate = applyQuickFixEdits(source, fix.edits);\n if (candidate === undefined) return undefined;\n const parsed = parseForAuthoring(candidate, undefined, options.placement);\n if (!acceptable(parsed) || verificationShape(parsed) !== (change === undefined ? syntax : verificationShape(original, [change]))) return undefined;\n return parsed.diagnostics.filter(diagnostic => diagnostic.code === fix.diagnosticCode).length === (counts.get(fix.diagnosticCode) ?? 0) - fix.edits.length ? fix : undefined;\n };\n return (line, diagnosticCode) => {\n const requests = typeof line === 'number' || line === undefined ? undefined : line;\n const duplicateLines = requests === undefined\n ? typeof line === 'number' && (diagnosticCode === undefined || diagnosticCode === DiagnosticCodes.DuplicateComplianceMarker) ? [line] : []\n : requests.filter(request => request.diagnosticCode === DiagnosticCodes.DuplicateComplianceMarker).map(request => request.line);\n const duplicates = [...new Set(duplicateLines)].flatMap(number => {\n const fix = duplicateByLine.get(number);\n if (fix === undefined) return [];\n if (!duplicateVerdicts.has(number)) duplicateVerdicts.set(number, verify(fix));\n const verified = duplicateVerdicts.get(number);\n return verified === undefined ? [] : [verified];\n });\n const selectedCodes = spellingCodes.filter(code => requests === undefined ? diagnosticCode === undefined || diagnosticCode === code : requests.some(request => request.diagnosticCode === code));\n for (const code of selectedCodes.filter(code => !documentChecked.has(code))) {\n const candidates = [...byLine.values()].filter(candidate => candidate.fix.diagnosticCode === code);\n if (candidates.length > 0) {\n const fix = verify({ diagnosticCode: code, title: code === DiagnosticCodes.LegacyOptionalSuffix ? \"Use 'optional' throughout this document\" : 'Use bare pii and secret throughout this document', scope: 'document', edits: candidates.flatMap(candidate => candidate.fix.edits) });\n if (fix !== undefined) documentFixes.set(code, fix);\n }\n documentChecked.add(code);\n }\n const documents = selectedCodes.flatMap(code => documentFixes.has(code) ? [documentFixes.get(code)!] : []);\n if (requests !== undefined) {\n if (rangeVerdicts === undefined) {\n rangeVerdicts = new Map();\n // Source order gives ordered, non-overlapping edits without sorting. Recipes replace\n // distinct nodes/lines; the batch must preserve every other modeled member and remove\n // exactly the expected diagnostics before any of its occurrence edits can be offered.\n const candidates = lines.flatMap(line => byLine.has(line.number) ? [byLine.get(line.number)!] : []);\n const edits = candidates.flatMap(candidate => candidate.fix.edits);\n const candidateSource = applyQuickFixEdits(source, edits);\n if (edits.length > 0 && candidateSource !== undefined) {\n const parsed = parseForAuthoring(candidateSource, undefined, options.placement);\n const changes = candidates.flatMap(candidate => candidate.change === undefined ? [] : [candidate.change]);\n if (acceptable(parsed) && verificationShape(parsed) === verificationShape(original, changes)) {\n const remaining = new Map<string, number>();\n const removed = new Map<string, number>();\n for (const diagnostic of parsed.diagnostics) remaining.set(diagnostic.code, (remaining.get(diagnostic.code) ?? 0) + 1);\n for (const candidate of candidates) removed.set(candidate.fix.diagnosticCode, (removed.get(candidate.fix.diagnosticCode) ?? 0) + candidate.fix.edits.length);\n if ([...removed].every(([code, count]) => (remaining.get(code) ?? 0) === (counts.get(code) ?? 0) - count)) {\n for (const candidate of candidates) rangeVerdicts.set(candidate.line, candidate.fix);\n }\n }\n }\n }\n const selected = new Map<number, QuickFix>();\n for (const request of requests) {\n const fix = rangeVerdicts.get(request.line);\n if (fix?.diagnosticCode === request.diagnosticCode) selected.set(request.line, fix);\n }\n return [...selected.values(), ...duplicates, ...documents];\n }\n const occurrenceLine = typeof line === 'number' ? line : undefined;\n const selected = occurrenceLine === undefined ? undefined : byLine.get(occurrenceLine);\n let occurrenceFix: QuickFix | undefined;\n if (selected !== undefined && occurrenceLine !== undefined && (diagnosticCode === undefined || selected.fix.diagnosticCode === diagnosticCode)) {\n if (!verified.has(occurrenceLine)) {\n if (verified.size === 32) verified.delete(verified.keys().next().value!);\n verified.set(occurrenceLine, verify(selected.fix, selected.change));\n }\n occurrenceFix = verified.get(occurrenceLine);\n }\n return [...(occurrenceFix === undefined ? [] : [occurrenceFix]), ...duplicates, ...documents];\n };\n}\n\n// PLAY0791 is reported on the `ui profile` line. The canonical form is `root template <Name>`; beside a root template the legacy line is ignored, so it is removed.\nfunction legacyProfileLayoutFix(lines: readonly { readonly number: number; readonly raw: string; readonly startOffset: number }[], headerIndex: number, diagnosticCode: string): QuickFix | undefined {\n const indentOf = (raw: string): number => /^\\s*/.exec(raw)![0].length;\n const headerIndent = indentOf(lines[headerIndex].raw);\n let layout: { readonly index: number; readonly indent: number } | undefined;\n let hasRoot = false;\n for (let index = headerIndex + 1; index < lines.length; index++) {\n const raw = lines[index].raw;\n if (raw.trim().length === 0) continue;\n if (indentOf(raw) <= headerIndent) break;\n if (layout === undefined && /^\\s*layout\\s+[A-Za-z_]\\w*\\s*$/.test(raw)) layout = { index, indent: indentOf(raw) };\n if (/^\\s*root\\s+template(\\s|$)/.test(raw)) hasRoot = true;\n }\n if (layout === undefined) return undefined;\n const line = lines[layout.index];\n return hasRoot\n ? { diagnosticCode, title: 'Remove the ignored layout line', scope: 'occurrence', edits: [{ start: line.startOffset, length: (lines[layout.index + 1]?.startOffset ?? line.startOffset + line.raw.length) - line.startOffset, text: '' }] }\n : { diagnosticCode, title: \"Use 'root template' instead of 'layout'\", scope: 'occurrence', edits: [{ start: line.startOffset + layout.indent, length: 'layout'.length, text: 'root template' }] };\n}\n\nfunction duplicateComplianceMarkerEdit(raw: string, startOffset: number): QuickFixEdit | undefined {\n const header = pattern('^(\\\\s*concept\\\\s+\\\\w+\\\\s*:\\\\s*\\\\w+)((?:[^\\\\S\\\\r\\\\n]+@?\\\\w+)*)').exec(raw);\n if (header === null) return undefined;\n const suffix = header[2];\n const seen = new Set<string>();\n const text = suffix.replace(new RegExp(pattern('[^\\\\S\\\\r\\\\n]+(@?\\\\w+)').source, 'gu'), (token, marker: string) => {\n const wire = complianceWireName(marker);\n if (seen.has(wire)) return '';\n seen.add(wire);\n return token;\n });\n return text === suffix ? undefined : { start: startOffset + header[1].length, length: suffix.length, text };\n}\n\nfunction complianceMarkerEdit(raw: string, startOffset: number): QuickFixEdit | undefined {\n // Restrict rewriting to the suffix or leading directive marker, never comments or quoted reasons.\n const header = pattern('^(\\\\s*concept\\\\s+\\\\w+\\\\s*:\\\\s*\\\\w+)((?:[^\\\\S\\\\r\\\\n]+@?\\\\w+)*)').exec(raw);\n if (header !== null) {\n const suffix = header[2];\n const text = suffix.replace(/@pii\\b|@?sensitive\\b/g, marker => marker === '@pii' ? 'pii' : 'secret');\n return text === suffix ? undefined : { start: startOffset + header[1].length, length: suffix.length, text };\n }\n const directive = pattern('^(\\\\s*)(@pii|@?sensitive)\\\\b').exec(raw);\n return directive === null ? undefined : { start: startOffset + directive[1].length, length: directive[2].length, text: directive[2] === '@pii' ? 'pii' : 'secret' };\n}\n\nfunction verificationShape(parsed: ReturnType<typeof parseForAuthoring>, changes: readonly NonNullable<QuickFixCandidate['change']>[] = []): string {\n // Compare every modeled member (including trigger data), ignoring only source locations. A recipe\n // may replace only its original node; no other id or destination is normalized away.\n const replacements = new Map(changes.map(change => [change.node, change.replacement]));\n return JSON.stringify([parsed.value, parsed.triggerData], (key, value: unknown) => ['location', 'usesLocation', 'targetLocation'].includes(key) ? undefined : replacements.get(value as NonNullable<QuickFixCandidate['change']>['node']) ?? value);\n}\n\n// One forward pass; applying N edits by repeatedly slicing the document would be quadratic.\nexport function applyQuickFixEdits(source: string, edits: readonly QuickFixEdit[]): string | undefined {\n const parts: string[] = [];\n let end = 0;\n for (const edit of edits) {\n if (edit.start < end || edit.start < 0 || edit.length < 0 || edit.start + edit.length > source.length) return undefined;\n parts.push(source.slice(end, edit.start), edit.text);\n end = edit.start + edit.length;\n }\n parts.push(source.slice(end));\n return parts.join('');\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e={DuplicateBehaviorAttachment:`PLAY0340`,UnknownMatchPattern:`PLAY0366`,InvalidMatchPattern:`PLAY0367`,PatternOutsidePortableMatchDialect:`PLAY0699`,AmbiguousMatchPattern:`PLAY0803`,ContextSourcedPerformedQueryArgument:`PLAY0810`,DeprecatedStudioTextRulePattern:`PLAY0787`,InvalidIdentityDeclaration:`PLAY0633`,DuplicateIdentity:`PLAY0634`,InvalidIdentityDetail:`PLAY0635`,UnknownIdentitySource:`PLAY0636`,IdentityDetailWithoutSource:`PLAY0637`,IdentitySourceWithBody:`PLAY0638`,DuplicateIdentityDetail:`PLAY0639`,BuiltInIdentityDetail:`PLAY0640`,UnknownIdentityQuery:`PLAY0641`,InvalidIdentityQuery:`PLAY0642`,IdentityQueryWithoutKey:`PLAY0643`,InvalidIdentityQueryKey:`PLAY0644`,IdentityQueryAuthorizationDependency:`PLAY0645`,IdentityQueryTypeMismatch:`PLAY0646`,InvalidReactionIdentity:`PLAY0647`,GatedInvocationWithoutIdentity:`PLAY0648`,UnusedReactionIdentity:`PLAY0649`,UnusedReactionRole:`PLAY0650`,UnsatisfiedReactionIdentity:`PLAY0651`,ReactionPrivilegeEscalation:`PLAY0652`,CommandProducesPublicEvent:`PLAY0607`,PublicEventRequiresOutboundTranslation:`PLAY0608`,OutboundPublicEventCount:`PLAY0609`,ForeignPublicEventConsumer:`PLAY0610`,OutboundTranslationInput:`PLAY0611`,InboundTranslationOutput:`PLAY0612`,ForeignPublicEventProduced:`PLAY0613`,PublicTranslationRequiresDirection:`PLAY0614`,TranslationConstructDirection:`PLAY0615`,InboundTranslationInput:`PLAY0616`,OutboundTranslationOutput:`PLAY0617`,EventTargetOutsideOutboundTranslation:`PLAY0618`,EventsSourceOutsideInboundTranslation:`PLAY0619`,InvalidCaptureEventsSource:`PLAY0620`,CaptureEventsFromSeveralOrigins:`PLAY0687`,DirectionlessTranslationReactsToOwnCapture:`PLAY0694`,PendingIntentWithOtherHandler:`PLAY0698`,CommandHandlerRequiresAttachment:`PLAY0800`,DescribedCommandNotImplemented:`PLAY0695`,DescribedCommandWithoutProductions:`PLAY0696`,DescribedCommandCardinalityNotAdmitted:`PLAY0697`,CaptureEventsKeyNotRequired:`PLAY0700`,CaptureEventSourceKeyOutsideEvents:`PLAY0809`,CaptureEventsRecordFixture:`PLAY0701`,RefutedGeneratedConceptRule:`PLAY0688`,UnprovenGeneratedConceptRule:`PLAY0689`,InvalidExposureDeclaration:`PLAY0621`,UnknownExposureOwner:`PLAY0622`,ReExposureCycle:`PLAY0623`,ReExposureBroken:`PLAY0624`,InvalidInstanceContribution:`PLAY0625`,UnknownContributionInstance:`PLAY0626`,ContributionNotExposed:`PLAY0627`,ContributionTypeMismatch:`PLAY0628`,UnknownTemplateContentSlot:`PLAY0629`,UnknownNavigationOutlet:`PLAY0630`,TemplateScopeMismatch:`PLAY0631`,IncompatibleComponentPackage:`PLAY0632`,UnknownNavigationDestination:`PLAY0654`,UnknownScreenContributionPoint:`PLAY0655`,TemplateNestingCycle:`PLAY0656`,TemplateCategoryMissing:`PLAY0720`,InvalidTemplateVersionRange:`PLAY0721`,LegacyProfileLayout:`PLAY0791`,UnknownTemplateBlueprint:`PLAY0722`,DuplicateComplianceMarker:`PLAY0653`,LegacyComplianceMarker:`PLAY0565`,UnknownComplianceMarker:`PLAY0566`,InvalidSecretScope:`PLAY0567`,DuplicateSecretScope:`PLAY0568`,SecretScopeIgnoredForPii:`PLAY0569`,InvalidPersonalDataQualifier:`PLAY0570`,DuplicateSpecialCategory:`PLAY0571`,InvalidPurposeDeclaration:`PLAY0596`,InvalidPurposeVocabulary:`PLAY0597`,DuplicatePurposeField:`PLAY0598`,DuplicatePurposeDeclaration:`PLAY0599`,UnknownPurpose:`PLAY0600`,PurposeInterestMismatch:`PLAY0601`,PersonalDataWithoutPurpose:`PLAY0602`,SpecialDataWithoutCondition:`PLAY0603`,CriminalDataWithoutAuthorization:`PLAY0604`,PurposeWithoutBasis:`PLAY0605`,UnusedPurpose:`PLAY0606`,ConflictingScreenDataBinding:`PLAY0530`,ScreenDataQueryMismatch:`PLAY0531`,ActionWithoutInputSurface:`PLAY0532`,CommandWithoutInputSurface:`PLAY0533`,ReadModelFieldWithoutOrigin:`PLAY0534`,QueryParameterNotHeldByView:`PLAY0535`,UnconsumedEvent:`PLAY0536`,UnreachableScreen:`PLAY0537`,UnknownActionSubjectField:`PLAY0345`,UnresolvedActionSubject:`PLAY0346`,UnreachableActionAlternative:`PLAY0347`,UnknownActionArgumentProperty:`PLAY0348`,UnreachableRefusalBranch:`PLAY0540`,InvalidRefusalValue:`PLAY0541`,UnknownRefusalConstraint:`PLAY0542`,UnknownRedeliveryReaction:`PLAY0544`,IndeterminateNegatedClaimTarget:`PLAY0546`,InvalidRefusalBranch:`PLAY0538`,InvalidRefusalBranchBody:`PLAY0539`,UnmatchedRedeliveredOccurrence:`PLAY0543`,InvalidNoEventsExpectation:`PLAY0545`,InvalidProducesDeclaration:`PLAY0042`,ProducesWhenWithoutEvent:`PLAY0043`,InvalidPropertyMapping:`PLAY0044`,DuplicateProducesTarget:`PLAY0193`,EventSourceIdInPayload:`PLAY0469`,ExplicitProducesTargetsRequired:`PLAY0470`,RedundantEventId:`PLAY0471`,InvalidEventId:`PLAY0472`,InlineEventCollision:`PLAY0473`,InlineEventOutsideCommand:`PLAY0474`,InlineEventGeneration:`PLAY0475`,ReservedProductionMetadata:`PLAY0476`,InvalidEventDocumentation:`PLAY0477`,OmittedProductionDestination:`PLAY0478`,UnknownConstraintProperty:`PLAY0391`,UnknownTopLevelConstruct:`PLAY0001`,InvalidDomainDeclaration:`PLAY0002`,DuplicateDomain:`PLAY0003`,DomainNotFirst:`PLAY0004`,InvalidImportDeclaration:`PLAY0005`,TabIndentation:`PLAY0006`,InvalidConceptDeclaration:`PLAY0007`,UnknownPrimitiveType:`PLAY0008`,InvalidEnumerationValue:`PLAY0009`,UnknownConceptDirective:`PLAY0010`,ValidateReadAsEnumerationBlock:`PLAY0011`,AttributeReasonWithoutAttribute:`PLAY0012`,DuplicateAttributeReason:`PLAY0013`,InvalidTypeDeclaration:`PLAY0014`,TypeWithoutProperties:`PLAY0015`,InvalidPropertyDeclaration:`PLAY0016`,IdentifierOutsideCommand:`PLAY0017`,InvalidEventDeclaration:`PLAY0018`,IdentifierOnEventProperty:`PLAY0019`,TagPropertyReadAsTag:`PLAY0020`,InvalidModuleDeclaration:`PLAY0021`,UnknownModuleDirective:`PLAY0022`,InvalidFeatureDeclaration:`PLAY0023`,UnknownFeatureDirective:`PLAY0024`,InvalidSliceDeclaration:`PLAY0027`,UnknownSliceType:`PLAY0028`,UnknownSliceDirective:`PLAY0029`,InvalidPersonaDeclaration:`PLAY0030`,InvalidPersonaPolicyReference:`PLAY0031`,UnknownPersonaDirective:`PLAY0032`,InvalidCommandDeclaration:`PLAY0033`,UnknownCommandDirective:`PLAY0034`,DuplicateCommandIdentifier:`PLAY0036`,InvalidQueryDeclaration:`PLAY0047`,UnknownQueryDirective:`PLAY0048`,InvalidQueryParameter:`PLAY0049`,InvalidProjectionDeclaration:`PLAY0056`,EmptyProjection:`PLAY0057`,UnknownProjectionDirective:`PLAY0058`,FromWithoutEvent:`PLAY0061`,InvalidEventReference:`PLAY0062`,InvalidJoinDeclaration:`PLAY0063`,JoinWithoutEvent:`PLAY0064`,InvalidChildrenDeclaration:`PLAY0065`,InvalidNestedDeclaration:`PLAY0066`,NestedBlockWithoutFrom:`PLAY0067`,InvalidRemoveDeclaration:`PLAY0068`,UnknownRemoveDirective:`PLAY0069`,InvalidClearDeclaration:`PLAY0070`,ClearWithOutsideNestedBlock:`PLAY0071`,InvalidSpecificationDeclaration:`PLAY0094`,UnknownSpecificationDirective:`PLAY0095`,InvalidSpecificationWhen:`PLAY0096`,DuplicateSpecificationWhen:`PLAY0097`,InvalidThenError:`PLAY0098`,InvalidReadModelStep:`PLAY0099`,InvalidEventStep:`PLAY0100`,InvalidSpecificationValue:`PLAY0101`,InvalidScreenDeclaration:`PLAY0102`,UnknownScreenDirective:`PLAY0103`,InvalidDataDirective:`PLAY0104`,InvalidActionDirective:`PLAY0105`,UnknownActionDirective:`PLAY0106`,InvalidNavigation:`PLAY0107`,InvalidScreenLayoutSlot:`PLAY0108`,UnknownLayoutDirective:`PLAY0026`,InvalidTitleDirective:`PLAY0109`,UnknownTableDirective:`PLAY0110`,UnknownSummaryDirective:`PLAY0111`,AuthorizeWithoutPolicy:`PLAY0122`,InvalidPolicyReference:`PLAY0123`,InvalidConstraintDeclaration:`PLAY0132`,ConstraintWithoutRule:`PLAY0133`,InvalidConstraintBody:`PLAY0134`,DuplicateConstraintBody:`PLAY0135`,InvalidReactionDeclaration:`PLAY0136`,InvalidReactionTrigger:`PLAY0137`,ReactionWithoutTrigger:`PLAY0138`,InvalidValidateDeclaration:`PLAY0140`,InvalidValidationRule:`PLAY0141`,InvalidRuleName:`PLAY0143`,UnknownRuleImplementationDirective:`PLAY0144`,InvalidDescription:`PLAY0145`,EmptyDescription:`PLAY0146`,DuplicateDescription:`PLAY0147`,TagWithoutValue:`PLAY0148`,InvalidTagValue:`PLAY0149`,UnknownContextPath:`PLAY0153`,UnknownContextCausedByProperty:`PLAY0154`,UnknownContextIdentityProperty:`PLAY0155`,ExpectedCodeFence:`PLAY0163`,UnclosedCodeBlock:`PLAY0164`,DuplicateDeclaration:`PLAY0168`,RepeatedSingularDeclarationAcrossFiles:`PLAY0172`,RepeatedDeclarationAcrossFiles:`PLAY0173`,ConflictingDescriptionAcrossFiles:`PLAY0174`,UnexpectedTokenInAuthorize:`PLAY0184`,UnclosedAuthorizeGroup:`PLAY0185`,InvalidReadModelDeclaration:`PLAY0186`,InvalidInvokesDeclaration:`PLAY0194`,InvalidScopeDeclaration:`PLAY0199`,DuplicateScope:`PLAY0200`,InvalidIntervalTrigger:`PLAY0249`,InvalidScheduleTrigger:`PLAY0250`,DuplicateReactionTrigger:`PLAY0253`,InvalidSpecificationEventSource:`PLAY0275`,DuplicateSpecificationEventSource:`PLAY0276`,InvalidProjectionVariantDeclaration:`PLAY0277`,InvalidEntersOnDeclaration:`PLAY0279`,NestedProjectionVariantNotAllowed:`PLAY0280`,InvalidStructuredValue:`PLAY0291`,DuplicateStructuredValueMember:`PLAY0294`,ConflictingSpecificationActions:`PLAY0358`,InvalidSpecificationEventOrder:`PLAY0359`,InvalidValidationSeverity:`PLAY0368`,VariantRequiresEnteringEvent:`PLAY0382`,DuplicateEventInProjectionScope:`PLAY0801`,ReservedStoredName:`PLAY0802`,DuplicateProjectionVariant:`PLAY0384`,DuplicateVariantEnteringEvent:`PLAY0385`,InvalidSpecificationDenied:`PLAY0388`,DuplicateAuthorizationAcrossFiles:`PLAY0394`,FileConstraintOnlySupportsUniqueness:`PLAY0396`,LegacyInlineCodeFence:`PLAY0397`,InvalidEventGeneration:`PLAY0446`,InvalidFileImport:`PLAY0454`,FileImportMatchesNothing:`PLAY0455`,ImportedFileNotFound:`PLAY0456`,ConflictingImportPlacement:`PLAY0457`,ImportCycle:`PLAY0458`,ModuleInPlacedFile:`PLAY0459`,UnexpectedInPlacedFile:`PLAY0460`,InvalidSpecificationClock:`PLAY0461`,InvalidSpecificationTrigger:`PLAY0462`,InvalidSpecificationCapture:`PLAY0463`,InvalidSpecificationQueryAction:`PLAY0464`,MismatchedSpecificationQueryResult:`PLAY0465`,UnknownSpecificationQueryArgument:`PLAY0468`,InvalidSpecificationQuery:`PLAY0265`,UnknownSpecificationQueryDirective:`PLAY0266`,DuplicateSpecificationQueryArguments:`PLAY0267`,InvalidAbsentReadModelStep:`PLAY0453`,LegacyOptionalSuffix:`PLAY0479`,InvalidOptionalModifierOrder:`PLAY0480`,OptionalReadsNotSupported:`PLAY0481`,InvalidSpecificationCaller:`PLAY0386`,DuplicateSpecificationCallerOrDenied:`PLAY0387`,GeneratedPropertyOutsideCommand:`PLAY0482`,InvalidGeneratedType:`PLAY0483`,InvalidGeneratedModifierOrder:`PLAY0484`,DuplicateEventSubject:`PLAY0590`,InvalidSubjectType:`PLAY0591`,ProtectedSubjectType:`PLAY0592`,InvalidSubjectOwner:`PLAY0593`,ReadModelSubjectNotSupported:`PLAY0594`,InvalidSubjectModifierOrder:`PLAY0595`,GeneratedPropertySuppliedAsInput:`PLAY0485`,InvalidCommandResponse:`PLAY0486`,InvalidResponseSource:`PLAY0487`,DuplicateResponseField:`PLAY0488`,InvalidResponseShape:`PLAY0489`,InvalidGeneratedFixture:`PLAY0490`,InvalidReturnExpectation:`PLAY0491`,InvalidImplementationBlock:`PLAY0492`,InvalidImplementationHint:`PLAY0493`,ConflictingImplementationSources:`PLAY0494`,UnknownType:`PLAY0165`,InvalidSystemDeclaration:`PLAY0495`,InvalidOperationDeclaration:`PLAY0496`,InvalidProductionReference:`PLAY0497`,ProductionDeclarationCollision:`PLAY0498`,OperationOutsideCommand:`PLAY0499`,InvalidSystemReference:`PLAY0500`,InvalidOperationMapping:`PLAY0501`,InvalidOperationSpecification:`PLAY0502`,InvalidCaptureDeclaration:`PLAY0078`,UnknownCaptureDirective:`PLAY0079`,InvalidMapEntry:`PLAY0080`,InvalidTranslation:`PLAY0081`,InvalidSplitDeclaration:`PLAY0082`,InvalidSplitTarget:`PLAY0083`,InvalidAppendDeclaration:`PLAY0084`,UnknownAppendDirective:`PLAY0085`,WhenWithoutTrigger:`PLAY0086`,InvalidWhenClause:`PLAY0087`,InvalidWhenTransitionClause:`PLAY0088`,MixedWhenCombinators:`PLAY0089`,WhenCombinatorWithoutProperty:`PLAY0090`,UnknownCaptureBlockDirective:`PLAY0091`,InvalidCompositeKeyPart:`PLAY0072`,TemplateInCompositeKey:`PLAY0073`,EmptyCompositeKey:`PLAY0074`,InvalidProjectionMapping:`PLAY0075`,ExpectedLiteralValue:`PLAY0150`,InvalidExpression:`PLAY0152`,UnterminatedInterpolation:`PLAY0157`,UnterminatedTemplateExpression:`PLAY0156`,ProjectionDocumentWithoutProjection:`PLAY0055`,CaptureDocumentWithoutCapture:`PLAY0077`,SpecificationDocumentWithoutSpecification:`PLAY0093`,InvalidSeedDeclaration:`PLAY0128`,InvalidSeedGroup:`PLAY0129`,InvalidSeedEvent:`PLAY0130`,InvalidSeedPropertyAssignment:`PLAY0131`,InvalidPolicyDeclaration:`PLAY0112`,UnknownPolicyDirective:`PLAY0113`,PolicyWithoutRequirement:`PLAY0114`,ExpectedRoleName:`PLAY0118`,ExpectedClaimName:`PLAY0119`,ExpectedClaimMatches:`PLAY0120`,ExpectedClaimMatchTarget:`PLAY0121`,MixedPolicyImplementation:`PLAY0440`,RepeatedPolicyRequirement:`PLAY0441`,AnonymousPolicyCombined:`PLAY0804`,NegatedAnonymousPolicy:`PLAY0805`,UnexpectedTokenInPolicyCondition:`PLAY0115`,ExpectedPolicyCondition:`PLAY0116`,UnclosedPolicyConditionGroup:`PLAY0117`,UnexpectedTokenInCondition:`PLAY0158`,ExpectedCondition:`PLAY0159`,ExpectedComparisonOperator:`PLAY0161`,ExpectedComparisonValue:`PLAY0162`,InvalidActionAlternative:`PLAY0341`,GuardedActionWithoutAlternatives:`PLAY0342`,MisplacedActionOtherwise:`PLAY0343`,UnsupportedActionConditionOperand:`PLAY0344`,InvalidInteractionArgument:`PLAY0319`,UnclosedConditionGroup:`PLAY0160`,InvalidNumericDirective:`PLAY0508`,DuplicateNumericDirective:`PLAY0509`,LateNumericDirective:`PLAY0510`,InexactNumericLiteral:`PLAY0511`,MixedNumericModes:`PLAY0512`,IncompatibleNumericSource:`PLAY0513`,EventFromLaterSlice:`PLAY0516`,TimelineCycleGroup:`PLAY0517`,InvalidSpecificationExample:`PLAY0518`,DuplicateSpecificationAssignment:`PLAY0519`,UnresolvedSpecificationExampleType:`PLAY0520`,SpecificationExampleNameCollision:`PLAY0521`,SpecificationExampleKindMismatch:`PLAY0522`,InvalidSpecificationExampleValue:`PLAY0523`,MissingSpecificationProperty:`PLAY0524`,UnadmittedSpecificationExampleValue:`PLAY0525`,InvalidSpecificationExampleBody:`PLAY0526`,AmbiguousReference:`PLAY0198`,InvalidSpecificationStream:`PLAY0547`,SpecificationStreamOnCommand:`PLAY0548`,InvalidSpecificationStreamRoute:`PLAY0549`,InvalidSpecificationStreamEventSource:`PLAY0550`,SpecificationStreamContradictsCommand:`PLAY0551`,InvalidDependencyTarget:`PLAY0554`,RepeatedDependencyDeclaration:`PLAY0555`,UndeclaredDependency:`PLAY0552`,UnusedDependencyDeclaration:`PLAY0553`,MutualDependencyDeclarations:`PLAY0556`,AuthorizationRefusalWithoutIdentity:`PLAY0557`,InvalidDocumentation:`PLAY0558`,ConflictingDocumentationAcrossFiles:`PLAY0559`,InvalidSpecificationCallerPersona:`PLAY0572`,UnsynthesizablePersonaCaller:`PLAY0573`,PersonaWithoutGate:`PLAY0574`,GateWithoutPersona:`PLAY0575`,AmbiguousPersonaCaller:`PLAY0576`,InvalidSpecificationParameter:`PLAY0577`,InvalidSpecificationCase:`PLAY0578`,DuplicateSpecificationParameter:`PLAY0579`,DuplicateSpecificationCase:`PLAY0580`,IncompleteSpecificationTable:`PLAY0581`,InvalidSpecificationCaseAssignment:`PLAY0582`,InvalidSpecificationCaseValue:`PLAY0583`,InvalidSpecificationCaseReference:`PLAY0584`,OptionalSpecificationParameterTarget:`PLAY0585`,SpecificationCaseNameCollision:`PLAY0586`,IncompatibleSpecificationParameterType:`PLAY0587`,UnusedSpecificationParameter:`PLAY0588`,SingularSpecificationTableExpansion:`PLAY0589`,UnsupportedInteractionAlternatives:`PLAY0560`,MixedInteractionAlternatives:`PLAY0561`,InteractionAlternativeWithoutActions:`PLAY0562`,InlineInteractionAlternative:`PLAY0563`,LegacyInteractionWhere:`PLAY0564`,InvalidEventSourceDeclaration:`PLAY0503`,InvalidCommandStream:`PLAY0504`,AmbiguousCommandStream:`PLAY0505`,UnsupportedStreamIdType:`PLAY0506`,RedundantSourceStreamId:`PLAY0507`,UnknownEvent:`PLAY0166`,UnknownReadModelProperty:`PLAY0514`,PiiNotSupportedOnIdentifier:`PLAY0515`,HandlerWithoutImplementation:`PLAY0045`,UnknownHandlerDirective:`PLAY0046`,CommandWithProducesAndHandler:`PLAY0035`,AbsoluteFileReference:`PLAY0264`,InvalidTriggerData:`PLAY0246`,InvalidReadModelKey:`PLAY0660`,IncompleteReadModelKey:`PLAY0661`,InvalidReadModelKeyLookup:`PLAY0662`,ProductionRouteOutsideCommand:`PLAY0663`,RedundantProductionRoute:`PLAY0664`,InvalidObserverFilter:`PLAY0665`,ObserverFilterExcludesEveryProducer:`PLAY0666`,ReducerIdentityMismatch:`PLAY0690`,InvalidReactionBatchesDeclaration:`PLAY0693`,InvalidCommandReadsDeclaration:`PLAY0780`,InvalidTimeZoneDeclaration:`PLAY0812`,InvalidCommandCalendar:`PLAY0813`,InvalidSpecificationTimeZone:`PLAY0814`,InvalidSpecificationInvocation:`PLAY0815`,UnreachableSpecificationInvocation:`PLAY0816`,GenerationSupportBudgetExceeded:`PLAY0691`,EmptyGenerationSupport:`PLAY0692`,MixedEnumerationNumbering:`PLAY0667`,DuplicateEnumerationNumber:`PLAY0668`,EnumerationNumberOutsideInt32:`PLAY0669`,MalformedEnumerationNumber:`PLAY0670`,UnpinnedStoredEnumeration:`PLAY0671`,ReadsWithChildren:`PLAY0451`,UnknownGenerationStrategy:`PLAY0672`,InvalidGenerationArgument:`PLAY0673`,InvalidGenerationModifier:`PLAY0674`,DuplicateGenerationModifier:`PLAY0675`,DuplicateGeneration:`PLAY0676`,InvalidGenerationPrimitive:`PLAY0677`,InvalidGenerationPrefix:`PLAY0678`,InvalidGenerationAlphabet:`PLAY0679`,InvalidTypeIdPrefix:`PLAY0680`,GenerationSizeOutsideRange:`PLAY0681`,ReservedSequenceGeneration:`PLAY0682`,LowGenerationEntropy:`PLAY0683`,LowGeneratedIdentifierEntropy:`PLAY0684`,ResponseNameUsedOnFailure:`PLAY0685`,EventIdPinNotCarriedToRenderers:`PLAY0686`,InvalidToolbarButton:`PLAY0760`};export{e as DiagnosticCodes};
|
|
1
|
+
const e={InvalidActionSubjectClause:`PLAY0817`,InferredActionSubject:`PLAY0818`,ChangedActionSubject:`PLAY0819`,AmbiguousActionInputBinding:`PLAY0820`,UnsupportedActionSubjectContext:`PLAY0821`,DuplicateBehaviorAttachment:`PLAY0340`,UnknownMatchPattern:`PLAY0366`,InvalidMatchPattern:`PLAY0367`,PatternOutsidePortableMatchDialect:`PLAY0699`,AmbiguousMatchPattern:`PLAY0803`,ContextSourcedPerformedQueryArgument:`PLAY0810`,DeprecatedStudioTextRulePattern:`PLAY0787`,InvalidIdentityDeclaration:`PLAY0633`,DuplicateIdentity:`PLAY0634`,InvalidIdentityDetail:`PLAY0635`,UnknownIdentitySource:`PLAY0636`,IdentityDetailWithoutSource:`PLAY0637`,IdentitySourceWithBody:`PLAY0638`,DuplicateIdentityDetail:`PLAY0639`,BuiltInIdentityDetail:`PLAY0640`,UnknownIdentityQuery:`PLAY0641`,InvalidIdentityQuery:`PLAY0642`,IdentityQueryWithoutKey:`PLAY0643`,InvalidIdentityQueryKey:`PLAY0644`,IdentityQueryAuthorizationDependency:`PLAY0645`,IdentityQueryTypeMismatch:`PLAY0646`,InvalidReactionIdentity:`PLAY0647`,GatedInvocationWithoutIdentity:`PLAY0648`,UnusedReactionIdentity:`PLAY0649`,UnusedReactionRole:`PLAY0650`,UnsatisfiedReactionIdentity:`PLAY0651`,ReactionPrivilegeEscalation:`PLAY0652`,CommandProducesPublicEvent:`PLAY0607`,PublicEventRequiresOutboundTranslation:`PLAY0608`,OutboundPublicEventCount:`PLAY0609`,ForeignPublicEventConsumer:`PLAY0610`,OutboundTranslationInput:`PLAY0611`,InboundTranslationOutput:`PLAY0612`,ForeignPublicEventProduced:`PLAY0613`,PublicTranslationRequiresDirection:`PLAY0614`,TranslationConstructDirection:`PLAY0615`,InboundTranslationInput:`PLAY0616`,OutboundTranslationOutput:`PLAY0617`,EventTargetOutsideOutboundTranslation:`PLAY0618`,EventsSourceOutsideInboundTranslation:`PLAY0619`,InvalidCaptureEventsSource:`PLAY0620`,CaptureEventsFromSeveralOrigins:`PLAY0687`,DirectionlessTranslationReactsToOwnCapture:`PLAY0694`,PendingIntentWithOtherHandler:`PLAY0698`,CommandHandlerRequiresAttachment:`PLAY0800`,DescribedCommandNotImplemented:`PLAY0695`,DescribedCommandWithoutProductions:`PLAY0696`,DescribedCommandCardinalityNotAdmitted:`PLAY0697`,CaptureEventsKeyNotRequired:`PLAY0700`,CaptureEventSourceKeyOutsideEvents:`PLAY0809`,CaptureEventsRecordFixture:`PLAY0701`,RefutedGeneratedConceptRule:`PLAY0688`,UnprovenGeneratedConceptRule:`PLAY0689`,InvalidExposureDeclaration:`PLAY0621`,UnknownExposureOwner:`PLAY0622`,ReExposureCycle:`PLAY0623`,ReExposureBroken:`PLAY0624`,InvalidInstanceContribution:`PLAY0625`,UnknownContributionInstance:`PLAY0626`,ContributionNotExposed:`PLAY0627`,ContributionTypeMismatch:`PLAY0628`,UnknownTemplateContentSlot:`PLAY0629`,UnknownNavigationOutlet:`PLAY0630`,TemplateScopeMismatch:`PLAY0631`,IncompatibleComponentPackage:`PLAY0632`,UnknownNavigationDestination:`PLAY0654`,UnknownScreenContributionPoint:`PLAY0655`,TemplateNestingCycle:`PLAY0656`,TemplateCategoryMissing:`PLAY0720`,InvalidTemplateVersionRange:`PLAY0721`,LegacyProfileLayout:`PLAY0791`,UnknownTemplateBlueprint:`PLAY0722`,DuplicateComplianceMarker:`PLAY0653`,LegacyComplianceMarker:`PLAY0565`,UnknownComplianceMarker:`PLAY0566`,InvalidSecretScope:`PLAY0567`,DuplicateSecretScope:`PLAY0568`,SecretScopeIgnoredForPii:`PLAY0569`,InvalidPersonalDataQualifier:`PLAY0570`,DuplicateSpecialCategory:`PLAY0571`,InvalidPurposeDeclaration:`PLAY0596`,InvalidPurposeVocabulary:`PLAY0597`,DuplicatePurposeField:`PLAY0598`,DuplicatePurposeDeclaration:`PLAY0599`,UnknownPurpose:`PLAY0600`,PurposeInterestMismatch:`PLAY0601`,PersonalDataWithoutPurpose:`PLAY0602`,SpecialDataWithoutCondition:`PLAY0603`,CriminalDataWithoutAuthorization:`PLAY0604`,PurposeWithoutBasis:`PLAY0605`,UnusedPurpose:`PLAY0606`,ConflictingScreenDataBinding:`PLAY0530`,ScreenDataQueryMismatch:`PLAY0531`,ActionWithoutInputSurface:`PLAY0532`,CommandWithoutInputSurface:`PLAY0533`,ReadModelFieldWithoutOrigin:`PLAY0534`,QueryParameterNotHeldByView:`PLAY0535`,UnconsumedEvent:`PLAY0536`,UnreachableScreen:`PLAY0537`,UnknownActionSubjectField:`PLAY0345`,UnresolvedActionSubject:`PLAY0346`,UnreachableActionAlternative:`PLAY0347`,UnknownActionArgumentProperty:`PLAY0348`,UnreachableRefusalBranch:`PLAY0540`,InvalidRefusalValue:`PLAY0541`,UnknownRefusalConstraint:`PLAY0542`,UnknownRedeliveryReaction:`PLAY0544`,IndeterminateNegatedClaimTarget:`PLAY0546`,InvalidRefusalBranch:`PLAY0538`,InvalidRefusalBranchBody:`PLAY0539`,UnmatchedRedeliveredOccurrence:`PLAY0543`,InvalidNoEventsExpectation:`PLAY0545`,InvalidProducesDeclaration:`PLAY0042`,ProducesWhenWithoutEvent:`PLAY0043`,InvalidPropertyMapping:`PLAY0044`,DuplicateProducesTarget:`PLAY0193`,EventSourceIdInPayload:`PLAY0469`,ExplicitProducesTargetsRequired:`PLAY0470`,RedundantEventId:`PLAY0471`,InvalidEventId:`PLAY0472`,InlineEventCollision:`PLAY0473`,InlineEventOutsideCommand:`PLAY0474`,InlineEventGeneration:`PLAY0475`,ReservedProductionMetadata:`PLAY0476`,InvalidEventDocumentation:`PLAY0477`,OmittedProductionDestination:`PLAY0478`,UnknownConstraintProperty:`PLAY0391`,UnknownTopLevelConstruct:`PLAY0001`,InvalidDomainDeclaration:`PLAY0002`,DuplicateDomain:`PLAY0003`,DomainNotFirst:`PLAY0004`,InvalidImportDeclaration:`PLAY0005`,TabIndentation:`PLAY0006`,InvalidConceptDeclaration:`PLAY0007`,UnknownPrimitiveType:`PLAY0008`,InvalidEnumerationValue:`PLAY0009`,UnknownConceptDirective:`PLAY0010`,ValidateReadAsEnumerationBlock:`PLAY0011`,AttributeReasonWithoutAttribute:`PLAY0012`,DuplicateAttributeReason:`PLAY0013`,InvalidTypeDeclaration:`PLAY0014`,TypeWithoutProperties:`PLAY0015`,InvalidPropertyDeclaration:`PLAY0016`,IdentifierOutsideCommand:`PLAY0017`,InvalidEventDeclaration:`PLAY0018`,IdentifierOnEventProperty:`PLAY0019`,TagPropertyReadAsTag:`PLAY0020`,InvalidModuleDeclaration:`PLAY0021`,UnknownModuleDirective:`PLAY0022`,InvalidFeatureDeclaration:`PLAY0023`,UnknownFeatureDirective:`PLAY0024`,InvalidSliceDeclaration:`PLAY0027`,UnknownSliceType:`PLAY0028`,UnknownSliceDirective:`PLAY0029`,InvalidPersonaDeclaration:`PLAY0030`,InvalidPersonaPolicyReference:`PLAY0031`,UnknownPersonaDirective:`PLAY0032`,InvalidCommandDeclaration:`PLAY0033`,UnknownCommandDirective:`PLAY0034`,DuplicateCommandIdentifier:`PLAY0036`,InvalidQueryDeclaration:`PLAY0047`,UnknownQueryDirective:`PLAY0048`,InvalidQueryParameter:`PLAY0049`,InvalidProjectionDeclaration:`PLAY0056`,EmptyProjection:`PLAY0057`,UnknownProjectionDirective:`PLAY0058`,FromWithoutEvent:`PLAY0061`,InvalidEventReference:`PLAY0062`,InvalidJoinDeclaration:`PLAY0063`,JoinWithoutEvent:`PLAY0064`,InvalidChildrenDeclaration:`PLAY0065`,InvalidNestedDeclaration:`PLAY0066`,NestedBlockWithoutFrom:`PLAY0067`,InvalidRemoveDeclaration:`PLAY0068`,UnknownRemoveDirective:`PLAY0069`,InvalidClearDeclaration:`PLAY0070`,ClearWithOutsideNestedBlock:`PLAY0071`,InvalidSpecificationDeclaration:`PLAY0094`,UnknownSpecificationDirective:`PLAY0095`,InvalidSpecificationWhen:`PLAY0096`,DuplicateSpecificationWhen:`PLAY0097`,InvalidThenError:`PLAY0098`,InvalidReadModelStep:`PLAY0099`,InvalidEventStep:`PLAY0100`,InvalidSpecificationValue:`PLAY0101`,InvalidScreenDeclaration:`PLAY0102`,UnknownScreenDirective:`PLAY0103`,InvalidDataDirective:`PLAY0104`,InvalidActionDirective:`PLAY0105`,UnknownActionDirective:`PLAY0106`,InvalidNavigation:`PLAY0107`,InvalidScreenLayoutSlot:`PLAY0108`,UnknownLayoutDirective:`PLAY0026`,InvalidTitleDirective:`PLAY0109`,UnknownTableDirective:`PLAY0110`,UnknownSummaryDirective:`PLAY0111`,AuthorizeWithoutPolicy:`PLAY0122`,InvalidPolicyReference:`PLAY0123`,InvalidConstraintDeclaration:`PLAY0132`,ConstraintWithoutRule:`PLAY0133`,InvalidConstraintBody:`PLAY0134`,DuplicateConstraintBody:`PLAY0135`,InvalidReactionDeclaration:`PLAY0136`,InvalidReactionTrigger:`PLAY0137`,ReactionWithoutTrigger:`PLAY0138`,InvalidValidateDeclaration:`PLAY0140`,InvalidValidationRule:`PLAY0141`,InvalidRuleName:`PLAY0143`,UnknownRuleImplementationDirective:`PLAY0144`,InvalidDescription:`PLAY0145`,EmptyDescription:`PLAY0146`,DuplicateDescription:`PLAY0147`,TagWithoutValue:`PLAY0148`,InvalidTagValue:`PLAY0149`,UnknownContextPath:`PLAY0153`,UnknownContextCausedByProperty:`PLAY0154`,UnknownContextIdentityProperty:`PLAY0155`,ExpectedCodeFence:`PLAY0163`,UnclosedCodeBlock:`PLAY0164`,DuplicateDeclaration:`PLAY0168`,RepeatedSingularDeclarationAcrossFiles:`PLAY0172`,RepeatedDeclarationAcrossFiles:`PLAY0173`,ConflictingDescriptionAcrossFiles:`PLAY0174`,UnexpectedTokenInAuthorize:`PLAY0184`,UnclosedAuthorizeGroup:`PLAY0185`,InvalidReadModelDeclaration:`PLAY0186`,InvalidInvokesDeclaration:`PLAY0194`,InvalidScopeDeclaration:`PLAY0199`,DuplicateScope:`PLAY0200`,InvalidIntervalTrigger:`PLAY0249`,InvalidScheduleTrigger:`PLAY0250`,DuplicateReactionTrigger:`PLAY0253`,InvalidSpecificationEventSource:`PLAY0275`,DuplicateSpecificationEventSource:`PLAY0276`,InvalidProjectionVariantDeclaration:`PLAY0277`,InvalidEntersOnDeclaration:`PLAY0279`,NestedProjectionVariantNotAllowed:`PLAY0280`,InvalidStructuredValue:`PLAY0291`,DuplicateStructuredValueMember:`PLAY0294`,ConflictingSpecificationActions:`PLAY0358`,InvalidSpecificationEventOrder:`PLAY0359`,InvalidValidationSeverity:`PLAY0368`,VariantRequiresEnteringEvent:`PLAY0382`,DuplicateEventInProjectionScope:`PLAY0801`,ReservedStoredName:`PLAY0802`,DuplicateProjectionVariant:`PLAY0384`,DuplicateVariantEnteringEvent:`PLAY0385`,InvalidSpecificationDenied:`PLAY0388`,DuplicateAuthorizationAcrossFiles:`PLAY0394`,FileConstraintOnlySupportsUniqueness:`PLAY0396`,LegacyInlineCodeFence:`PLAY0397`,InvalidEventGeneration:`PLAY0446`,InvalidFileImport:`PLAY0454`,FileImportMatchesNothing:`PLAY0455`,ImportedFileNotFound:`PLAY0456`,ConflictingImportPlacement:`PLAY0457`,ImportCycle:`PLAY0458`,ModuleInPlacedFile:`PLAY0459`,UnexpectedInPlacedFile:`PLAY0460`,InvalidSpecificationClock:`PLAY0461`,InvalidSpecificationTrigger:`PLAY0462`,InvalidSpecificationCapture:`PLAY0463`,InvalidSpecificationQueryAction:`PLAY0464`,MismatchedSpecificationQueryResult:`PLAY0465`,UnknownSpecificationQueryArgument:`PLAY0468`,InvalidSpecificationQuery:`PLAY0265`,UnknownSpecificationQueryDirective:`PLAY0266`,DuplicateSpecificationQueryArguments:`PLAY0267`,InvalidAbsentReadModelStep:`PLAY0453`,LegacyOptionalSuffix:`PLAY0479`,InvalidOptionalModifierOrder:`PLAY0480`,OptionalReadsNotSupported:`PLAY0481`,InvalidSpecificationCaller:`PLAY0386`,DuplicateSpecificationCallerOrDenied:`PLAY0387`,GeneratedPropertyOutsideCommand:`PLAY0482`,InvalidGeneratedType:`PLAY0483`,InvalidGeneratedModifierOrder:`PLAY0484`,DuplicateEventSubject:`PLAY0590`,InvalidSubjectType:`PLAY0591`,ProtectedSubjectType:`PLAY0592`,InvalidSubjectOwner:`PLAY0593`,ReadModelSubjectNotSupported:`PLAY0594`,InvalidSubjectModifierOrder:`PLAY0595`,GeneratedPropertySuppliedAsInput:`PLAY0485`,InvalidCommandResponse:`PLAY0486`,InvalidResponseSource:`PLAY0487`,DuplicateResponseField:`PLAY0488`,InvalidResponseShape:`PLAY0489`,InvalidGeneratedFixture:`PLAY0490`,InvalidReturnExpectation:`PLAY0491`,InvalidImplementationBlock:`PLAY0492`,InvalidImplementationHint:`PLAY0493`,ConflictingImplementationSources:`PLAY0494`,UnknownType:`PLAY0165`,InvalidSystemDeclaration:`PLAY0495`,InvalidOperationDeclaration:`PLAY0496`,InvalidProductionReference:`PLAY0497`,ProductionDeclarationCollision:`PLAY0498`,OperationOutsideCommand:`PLAY0499`,InvalidSystemReference:`PLAY0500`,InvalidOperationMapping:`PLAY0501`,InvalidOperationSpecification:`PLAY0502`,InvalidCaptureDeclaration:`PLAY0078`,UnknownCaptureDirective:`PLAY0079`,InvalidMapEntry:`PLAY0080`,InvalidTranslation:`PLAY0081`,InvalidSplitDeclaration:`PLAY0082`,InvalidSplitTarget:`PLAY0083`,InvalidAppendDeclaration:`PLAY0084`,UnknownAppendDirective:`PLAY0085`,WhenWithoutTrigger:`PLAY0086`,InvalidWhenClause:`PLAY0087`,InvalidWhenTransitionClause:`PLAY0088`,MixedWhenCombinators:`PLAY0089`,WhenCombinatorWithoutProperty:`PLAY0090`,UnknownCaptureBlockDirective:`PLAY0091`,InvalidCompositeKeyPart:`PLAY0072`,TemplateInCompositeKey:`PLAY0073`,EmptyCompositeKey:`PLAY0074`,InvalidProjectionMapping:`PLAY0075`,ExpectedLiteralValue:`PLAY0150`,InvalidExpression:`PLAY0152`,UnterminatedInterpolation:`PLAY0157`,UnterminatedTemplateExpression:`PLAY0156`,ProjectionDocumentWithoutProjection:`PLAY0055`,CaptureDocumentWithoutCapture:`PLAY0077`,SpecificationDocumentWithoutSpecification:`PLAY0093`,InvalidSeedDeclaration:`PLAY0128`,InvalidSeedGroup:`PLAY0129`,InvalidSeedEvent:`PLAY0130`,InvalidSeedPropertyAssignment:`PLAY0131`,InvalidPolicyDeclaration:`PLAY0112`,UnknownPolicyDirective:`PLAY0113`,PolicyWithoutRequirement:`PLAY0114`,ExpectedRoleName:`PLAY0118`,ExpectedClaimName:`PLAY0119`,ExpectedClaimMatches:`PLAY0120`,ExpectedClaimMatchTarget:`PLAY0121`,MixedPolicyImplementation:`PLAY0440`,RepeatedPolicyRequirement:`PLAY0441`,AnonymousPolicyCombined:`PLAY0804`,NegatedAnonymousPolicy:`PLAY0805`,UnexpectedTokenInPolicyCondition:`PLAY0115`,ExpectedPolicyCondition:`PLAY0116`,UnclosedPolicyConditionGroup:`PLAY0117`,UnexpectedTokenInCondition:`PLAY0158`,ExpectedCondition:`PLAY0159`,ExpectedComparisonOperator:`PLAY0161`,ExpectedComparisonValue:`PLAY0162`,InvalidActionAlternative:`PLAY0341`,GuardedActionWithoutAlternatives:`PLAY0342`,MisplacedActionOtherwise:`PLAY0343`,UnsupportedActionConditionOperand:`PLAY0344`,InvalidInteractionArgument:`PLAY0319`,UnclosedConditionGroup:`PLAY0160`,InvalidNumericDirective:`PLAY0508`,DuplicateNumericDirective:`PLAY0509`,LateNumericDirective:`PLAY0510`,InexactNumericLiteral:`PLAY0511`,MixedNumericModes:`PLAY0512`,IncompatibleNumericSource:`PLAY0513`,EventFromLaterSlice:`PLAY0516`,TimelineCycleGroup:`PLAY0517`,InvalidSpecificationExample:`PLAY0518`,DuplicateSpecificationAssignment:`PLAY0519`,UnresolvedSpecificationExampleType:`PLAY0520`,SpecificationExampleNameCollision:`PLAY0521`,SpecificationExampleKindMismatch:`PLAY0522`,InvalidSpecificationExampleValue:`PLAY0523`,MissingSpecificationProperty:`PLAY0524`,UnadmittedSpecificationExampleValue:`PLAY0525`,InvalidSpecificationExampleBody:`PLAY0526`,AmbiguousReference:`PLAY0198`,InvalidSpecificationStream:`PLAY0547`,SpecificationStreamOnCommand:`PLAY0548`,InvalidSpecificationStreamRoute:`PLAY0549`,InvalidSpecificationStreamEventSource:`PLAY0550`,SpecificationStreamContradictsCommand:`PLAY0551`,InvalidDependencyTarget:`PLAY0554`,RepeatedDependencyDeclaration:`PLAY0555`,UndeclaredDependency:`PLAY0552`,UnusedDependencyDeclaration:`PLAY0553`,MutualDependencyDeclarations:`PLAY0556`,AuthorizationRefusalWithoutIdentity:`PLAY0557`,InvalidDocumentation:`PLAY0558`,ConflictingDocumentationAcrossFiles:`PLAY0559`,InvalidSpecificationCallerPersona:`PLAY0572`,UnsynthesizablePersonaCaller:`PLAY0573`,PersonaWithoutGate:`PLAY0574`,GateWithoutPersona:`PLAY0575`,AmbiguousPersonaCaller:`PLAY0576`,InvalidSpecificationParameter:`PLAY0577`,InvalidSpecificationCase:`PLAY0578`,DuplicateSpecificationParameter:`PLAY0579`,DuplicateSpecificationCase:`PLAY0580`,IncompleteSpecificationTable:`PLAY0581`,InvalidSpecificationCaseAssignment:`PLAY0582`,InvalidSpecificationCaseValue:`PLAY0583`,InvalidSpecificationCaseReference:`PLAY0584`,OptionalSpecificationParameterTarget:`PLAY0585`,SpecificationCaseNameCollision:`PLAY0586`,IncompatibleSpecificationParameterType:`PLAY0587`,UnusedSpecificationParameter:`PLAY0588`,SingularSpecificationTableExpansion:`PLAY0589`,UnsupportedInteractionAlternatives:`PLAY0560`,MixedInteractionAlternatives:`PLAY0561`,InteractionAlternativeWithoutActions:`PLAY0562`,InlineInteractionAlternative:`PLAY0563`,LegacyInteractionWhere:`PLAY0564`,InvalidEventSourceDeclaration:`PLAY0503`,InvalidCommandStream:`PLAY0504`,AmbiguousCommandStream:`PLAY0505`,UnsupportedStreamIdType:`PLAY0506`,RedundantSourceStreamId:`PLAY0507`,UnknownEvent:`PLAY0166`,UnknownReadModelProperty:`PLAY0514`,PiiNotSupportedOnIdentifier:`PLAY0515`,HandlerWithoutImplementation:`PLAY0045`,UnknownHandlerDirective:`PLAY0046`,CommandWithProducesAndHandler:`PLAY0035`,AbsoluteFileReference:`PLAY0264`,InvalidTriggerData:`PLAY0246`,InvalidReadModelKey:`PLAY0660`,IncompleteReadModelKey:`PLAY0661`,InvalidReadModelKeyLookup:`PLAY0662`,ProductionRouteOutsideCommand:`PLAY0663`,RedundantProductionRoute:`PLAY0664`,InvalidObserverFilter:`PLAY0665`,ObserverFilterExcludesEveryProducer:`PLAY0666`,ReducerIdentityMismatch:`PLAY0690`,InvalidReactionBatchesDeclaration:`PLAY0693`,InvalidCommandReadsDeclaration:`PLAY0780`,InvalidTimeZoneDeclaration:`PLAY0812`,InvalidCommandCalendar:`PLAY0813`,InvalidSpecificationTimeZone:`PLAY0814`,InvalidSpecificationInvocation:`PLAY0815`,UnreachableSpecificationInvocation:`PLAY0816`,GenerationSupportBudgetExceeded:`PLAY0691`,EmptyGenerationSupport:`PLAY0692`,MixedEnumerationNumbering:`PLAY0667`,DuplicateEnumerationNumber:`PLAY0668`,EnumerationNumberOutsideInt32:`PLAY0669`,MalformedEnumerationNumber:`PLAY0670`,UnpinnedStoredEnumeration:`PLAY0671`,ReadsWithChildren:`PLAY0451`,UnknownGenerationStrategy:`PLAY0672`,InvalidGenerationArgument:`PLAY0673`,InvalidGenerationModifier:`PLAY0674`,DuplicateGenerationModifier:`PLAY0675`,DuplicateGeneration:`PLAY0676`,InvalidGenerationPrimitive:`PLAY0677`,InvalidGenerationPrefix:`PLAY0678`,InvalidGenerationAlphabet:`PLAY0679`,InvalidTypeIdPrefix:`PLAY0680`,GenerationSizeOutsideRange:`PLAY0681`,ReservedSequenceGeneration:`PLAY0682`,LowGenerationEntropy:`PLAY0683`,LowGeneratedIdentifierEntropy:`PLAY0684`,ResponseNameUsedOnFailure:`PLAY0685`,EventIdPinNotCarriedToRenderers:`PLAY0686`,InvalidToolbarButton:`PLAY0760`};export{e as DiagnosticCodes};
|
|
2
2
|
//# sourceMappingURL=DiagnosticCodes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiagnosticCodes.js","names":["DiagnosticCodes"],"sources":["../../../../../../Compiler/Diagnostics/DiagnosticCodes.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// Shared diagnostic names, including the explicitly C#-only checks below. Catalogue membership does\n// not imply TypeScript validation support; see Documentation/screenplay/editor-diagnostics.md.\nexport const DiagnosticCodes = {\n DuplicateBehaviorAttachment: 'PLAY0340',\n UnknownMatchPattern: 'PLAY0366',\n InvalidMatchPattern: 'PLAY0367',\n PatternOutsidePortableMatchDialect: 'PLAY0699',\n AmbiguousMatchPattern: 'PLAY0803',\n ContextSourcedPerformedQueryArgument: 'PLAY0810', // C# only\n DeprecatedStudioTextRulePattern: 'PLAY0787',\n InvalidIdentityDeclaration: 'PLAY0633',\n DuplicateIdentity: 'PLAY0634',\n InvalidIdentityDetail: 'PLAY0635',\n UnknownIdentitySource: 'PLAY0636',\n IdentityDetailWithoutSource: 'PLAY0637',\n IdentitySourceWithBody: 'PLAY0638',\n DuplicateIdentityDetail: 'PLAY0639',\n BuiltInIdentityDetail: 'PLAY0640',\n UnknownIdentityQuery: 'PLAY0641',\n InvalidIdentityQuery: 'PLAY0642',\n IdentityQueryWithoutKey: 'PLAY0643',\n InvalidIdentityQueryKey: 'PLAY0644',\n IdentityQueryAuthorizationDependency: 'PLAY0645',\n IdentityQueryTypeMismatch: 'PLAY0646',\n InvalidReactionIdentity: 'PLAY0647',\n GatedInvocationWithoutIdentity: 'PLAY0648',\n UnusedReactionIdentity: 'PLAY0649',\n UnusedReactionRole: 'PLAY0650',\n UnsatisfiedReactionIdentity: 'PLAY0651',\n ReactionPrivilegeEscalation: 'PLAY0652',\n // C#-only whole-model public event boundaries; membership is not TypeScript validation support.\n CommandProducesPublicEvent: 'PLAY0607',\n PublicEventRequiresOutboundTranslation: 'PLAY0608',\n OutboundPublicEventCount: 'PLAY0609',\n ForeignPublicEventConsumer: 'PLAY0610',\n OutboundTranslationInput: 'PLAY0611',\n InboundTranslationOutput: 'PLAY0612',\n ForeignPublicEventProduced: 'PLAY0613',\n PublicTranslationRequiresDirection: 'PLAY0614',\n TranslationConstructDirection: 'PLAY0615',\n InboundTranslationInput: 'PLAY0616',\n OutboundTranslationOutput: 'PLAY0617',\n EventTargetOutsideOutboundTranslation: 'PLAY0618',\n EventsSourceOutsideInboundTranslation: 'PLAY0619',\n InvalidCaptureEventsSource: 'PLAY0620',\n CaptureEventsFromSeveralOrigins: 'PLAY0687',\n DirectionlessTranslationReactsToOwnCapture: 'PLAY0694',\n PendingIntentWithOtherHandler: 'PLAY0698',\n CommandHandlerRequiresAttachment: 'PLAY0800', // C# only\n DescribedCommandNotImplemented: 'PLAY0695', // C# only\n DescribedCommandWithoutProductions: 'PLAY0696', // C# only\n DescribedCommandCardinalityNotAdmitted: 'PLAY0697', // C# only\n CaptureEventsKeyNotRequired: 'PLAY0700',\n CaptureEventSourceKeyOutsideEvents: 'PLAY0809',\n CaptureEventsRecordFixture: 'PLAY0701',\n RefutedGeneratedConceptRule: 'PLAY0688',\n UnprovenGeneratedConceptRule: 'PLAY0689',\n // Syntax shared with C#; the reference checks (owners, instances, cycles, outlets, scopes, packages) are C#-only.\n InvalidExposureDeclaration: 'PLAY0621',\n UnknownExposureOwner: 'PLAY0622',\n ReExposureCycle: 'PLAY0623',\n ReExposureBroken: 'PLAY0624',\n InvalidInstanceContribution: 'PLAY0625',\n UnknownContributionInstance: 'PLAY0626',\n ContributionNotExposed: 'PLAY0627',\n ContributionTypeMismatch: 'PLAY0628',\n UnknownTemplateContentSlot: 'PLAY0629',\n UnknownNavigationOutlet: 'PLAY0630',\n TemplateScopeMismatch: 'PLAY0631',\n IncompatibleComponentPackage: 'PLAY0632',\n UnknownNavigationDestination: 'PLAY0654',\n UnknownScreenContributionPoint: 'PLAY0655',\n TemplateNestingCycle: 'PLAY0656',\n TemplateCategoryMissing: 'PLAY0720', // C# only: template declarations are not modeled by this compiler.\n InvalidTemplateVersionRange: 'PLAY0721',\n LegacyProfileLayout: 'PLAY0791', // The other ui profile root template rules (PLAY0790, PLAY0792-PLAY0799) are C# only: this compiler does not model a ui profile.\n UnknownTemplateBlueprint: 'PLAY0722', // C# only: ui profile packages are not modeled by this compiler.\n DuplicateComplianceMarker: 'PLAY0653',\n LegacyComplianceMarker: 'PLAY0565',\n UnknownComplianceMarker: 'PLAY0566',\n InvalidSecretScope: 'PLAY0567',\n DuplicateSecretScope: 'PLAY0568',\n SecretScopeIgnoredForPii: 'PLAY0569',\n InvalidPersonalDataQualifier: 'PLAY0570',\n DuplicateSpecialCategory: 'PLAY0571',\n InvalidPurposeDeclaration: 'PLAY0596',\n InvalidPurposeVocabulary: 'PLAY0597',\n DuplicatePurposeField: 'PLAY0598',\n DuplicatePurposeDeclaration: 'PLAY0599',\n UnknownPurpose: 'PLAY0600',\n PurposeInterestMismatch: 'PLAY0601',\n PersonalDataWithoutPurpose: 'PLAY0602',\n SpecialDataWithoutCondition: 'PLAY0603',\n CriminalDataWithoutAuthorization: 'PLAY0604',\n PurposeWithoutBasis: 'PLAY0605',\n UnusedPurpose: 'PLAY0606',\n // C#-only: opt-in completeness, scoped action/refusal reference validation, and semantic binding.\n ConflictingScreenDataBinding: 'PLAY0530',\n ScreenDataQueryMismatch: 'PLAY0531',\n ActionWithoutInputSurface: 'PLAY0532',\n CommandWithoutInputSurface: 'PLAY0533',\n ReadModelFieldWithoutOrigin: 'PLAY0534',\n QueryParameterNotHeldByView: 'PLAY0535',\n UnconsumedEvent: 'PLAY0536',\n UnreachableScreen: 'PLAY0537',\n UnknownActionSubjectField: 'PLAY0345',\n UnresolvedActionSubject: 'PLAY0346',\n UnreachableActionAlternative: 'PLAY0347',\n UnknownActionArgumentProperty: 'PLAY0348',\n UnreachableRefusalBranch: 'PLAY0540',\n InvalidRefusalValue: 'PLAY0541',\n UnknownRefusalConstraint: 'PLAY0542',\n UnknownRedeliveryReaction: 'PLAY0544',\n IndeterminateNegatedClaimTarget: 'PLAY0546',\n InvalidRefusalBranch: 'PLAY0538',\n InvalidRefusalBranchBody: 'PLAY0539',\n UnmatchedRedeliveredOccurrence: 'PLAY0543',\n InvalidNoEventsExpectation: 'PLAY0545',\n InvalidProducesDeclaration: 'PLAY0042',\n ProducesWhenWithoutEvent: 'PLAY0043',\n InvalidPropertyMapping: 'PLAY0044',\n DuplicateProducesTarget: 'PLAY0193',\n EventSourceIdInPayload: 'PLAY0469',\n ExplicitProducesTargetsRequired: 'PLAY0470',\n RedundantEventId: 'PLAY0471',\n InvalidEventId: 'PLAY0472',\n InlineEventCollision: 'PLAY0473',\n InlineEventOutsideCommand: 'PLAY0474',\n InlineEventGeneration: 'PLAY0475',\n ReservedProductionMetadata: 'PLAY0476',\n InvalidEventDocumentation: 'PLAY0477',\n OmittedProductionDestination: 'PLAY0478',\n UnknownConstraintProperty: 'PLAY0391',\n UnknownTopLevelConstruct: 'PLAY0001',\n InvalidDomainDeclaration: 'PLAY0002',\n DuplicateDomain: 'PLAY0003',\n DomainNotFirst: 'PLAY0004',\n InvalidImportDeclaration: 'PLAY0005',\n TabIndentation: 'PLAY0006',\n InvalidConceptDeclaration: 'PLAY0007',\n UnknownPrimitiveType: 'PLAY0008',\n InvalidEnumerationValue: 'PLAY0009',\n UnknownConceptDirective: 'PLAY0010',\n ValidateReadAsEnumerationBlock: 'PLAY0011',\n AttributeReasonWithoutAttribute: 'PLAY0012',\n DuplicateAttributeReason: 'PLAY0013',\n InvalidTypeDeclaration: 'PLAY0014',\n TypeWithoutProperties: 'PLAY0015',\n InvalidPropertyDeclaration: 'PLAY0016',\n IdentifierOutsideCommand: 'PLAY0017',\n InvalidEventDeclaration: 'PLAY0018',\n IdentifierOnEventProperty: 'PLAY0019',\n TagPropertyReadAsTag: 'PLAY0020',\n InvalidModuleDeclaration: 'PLAY0021',\n UnknownModuleDirective: 'PLAY0022',\n InvalidFeatureDeclaration: 'PLAY0023',\n UnknownFeatureDirective: 'PLAY0024',\n InvalidSliceDeclaration: 'PLAY0027',\n UnknownSliceType: 'PLAY0028',\n UnknownSliceDirective: 'PLAY0029',\n InvalidPersonaDeclaration: 'PLAY0030',\n InvalidPersonaPolicyReference: 'PLAY0031',\n UnknownPersonaDirective: 'PLAY0032',\n InvalidCommandDeclaration: 'PLAY0033',\n UnknownCommandDirective: 'PLAY0034',\n DuplicateCommandIdentifier: 'PLAY0036',\n InvalidQueryDeclaration: 'PLAY0047',\n UnknownQueryDirective: 'PLAY0048',\n InvalidQueryParameter: 'PLAY0049',\n InvalidProjectionDeclaration: 'PLAY0056',\n EmptyProjection: 'PLAY0057',\n UnknownProjectionDirective: 'PLAY0058',\n FromWithoutEvent: 'PLAY0061',\n InvalidEventReference: 'PLAY0062',\n InvalidJoinDeclaration: 'PLAY0063',\n JoinWithoutEvent: 'PLAY0064',\n InvalidChildrenDeclaration: 'PLAY0065',\n InvalidNestedDeclaration: 'PLAY0066',\n NestedBlockWithoutFrom: 'PLAY0067',\n InvalidRemoveDeclaration: 'PLAY0068',\n UnknownRemoveDirective: 'PLAY0069',\n InvalidClearDeclaration: 'PLAY0070',\n ClearWithOutsideNestedBlock: 'PLAY0071',\n InvalidSpecificationDeclaration: 'PLAY0094',\n UnknownSpecificationDirective: 'PLAY0095',\n InvalidSpecificationWhen: 'PLAY0096',\n DuplicateSpecificationWhen: 'PLAY0097',\n InvalidThenError: 'PLAY0098',\n InvalidReadModelStep: 'PLAY0099',\n InvalidEventStep: 'PLAY0100',\n InvalidSpecificationValue: 'PLAY0101',\n InvalidScreenDeclaration: 'PLAY0102',\n UnknownScreenDirective: 'PLAY0103',\n InvalidDataDirective: 'PLAY0104',\n InvalidActionDirective: 'PLAY0105',\n UnknownActionDirective: 'PLAY0106',\n InvalidNavigation: 'PLAY0107',\n InvalidScreenLayoutSlot: 'PLAY0108',\n UnknownLayoutDirective: 'PLAY0026',\n InvalidTitleDirective: 'PLAY0109',\n UnknownTableDirective: 'PLAY0110',\n UnknownSummaryDirective: 'PLAY0111',\n AuthorizeWithoutPolicy: 'PLAY0122',\n InvalidPolicyReference: 'PLAY0123',\n InvalidConstraintDeclaration: 'PLAY0132',\n ConstraintWithoutRule: 'PLAY0133',\n InvalidConstraintBody: 'PLAY0134',\n DuplicateConstraintBody: 'PLAY0135',\n InvalidReactionDeclaration: 'PLAY0136',\n InvalidReactionTrigger: 'PLAY0137',\n ReactionWithoutTrigger: 'PLAY0138',\n InvalidValidateDeclaration: 'PLAY0140',\n InvalidValidationRule: 'PLAY0141',\n InvalidRuleName: 'PLAY0143',\n UnknownRuleImplementationDirective: 'PLAY0144',\n InvalidDescription: 'PLAY0145',\n EmptyDescription: 'PLAY0146',\n DuplicateDescription: 'PLAY0147',\n TagWithoutValue: 'PLAY0148',\n InvalidTagValue: 'PLAY0149',\n UnknownContextPath: 'PLAY0153',\n UnknownContextCausedByProperty: 'PLAY0154',\n UnknownContextIdentityProperty: 'PLAY0155',\n ExpectedCodeFence: 'PLAY0163',\n UnclosedCodeBlock: 'PLAY0164',\n DuplicateDeclaration: 'PLAY0168',\n RepeatedSingularDeclarationAcrossFiles: 'PLAY0172',\n RepeatedDeclarationAcrossFiles: 'PLAY0173',\n ConflictingDescriptionAcrossFiles: 'PLAY0174',\n UnexpectedTokenInAuthorize: 'PLAY0184',\n UnclosedAuthorizeGroup: 'PLAY0185',\n InvalidReadModelDeclaration: 'PLAY0186',\n InvalidInvokesDeclaration: 'PLAY0194',\n InvalidScopeDeclaration: 'PLAY0199',\n DuplicateScope: 'PLAY0200',\n InvalidIntervalTrigger: 'PLAY0249',\n InvalidScheduleTrigger: 'PLAY0250',\n DuplicateReactionTrigger: 'PLAY0253',\n InvalidSpecificationEventSource: 'PLAY0275',\n DuplicateSpecificationEventSource: 'PLAY0276',\n InvalidProjectionVariantDeclaration: 'PLAY0277',\n InvalidEntersOnDeclaration: 'PLAY0279',\n NestedProjectionVariantNotAllowed: 'PLAY0280',\n InvalidStructuredValue: 'PLAY0291',\n DuplicateStructuredValueMember: 'PLAY0294',\n ConflictingSpecificationActions: 'PLAY0358',\n InvalidSpecificationEventOrder: 'PLAY0359',\n InvalidValidationSeverity: 'PLAY0368',\n VariantRequiresEnteringEvent: 'PLAY0382',\n /** An event is used more than once in one projection level's event or join set. */\n DuplicateEventInProjectionScope: 'PLAY0801',\n /** An event source has the reserved stored name Default, or an event stream has the reserved stored name All, including through an id pin. */\n ReservedStoredName: 'PLAY0802',\n DuplicateProjectionVariant: 'PLAY0384',\n DuplicateVariantEnteringEvent: 'PLAY0385',\n InvalidSpecificationDenied: 'PLAY0388',\n DuplicateAuthorizationAcrossFiles: 'PLAY0394',\n FileConstraintOnlySupportsUniqueness: 'PLAY0396',\n LegacyInlineCodeFence: 'PLAY0397',\n InvalidEventGeneration: 'PLAY0446',\n InvalidFileImport: 'PLAY0454',\n FileImportMatchesNothing: 'PLAY0455',\n ImportedFileNotFound: 'PLAY0456',\n ConflictingImportPlacement: 'PLAY0457',\n ImportCycle: 'PLAY0458',\n ModuleInPlacedFile: 'PLAY0459',\n UnexpectedInPlacedFile: 'PLAY0460',\n InvalidSpecificationClock: 'PLAY0461',\n InvalidSpecificationTrigger: 'PLAY0462',\n InvalidSpecificationCapture: 'PLAY0463',\n InvalidSpecificationQueryAction: 'PLAY0464',\n MismatchedSpecificationQueryResult: 'PLAY0465',\n UnknownSpecificationQueryArgument: 'PLAY0468',\n InvalidSpecificationQuery: 'PLAY0265',\n UnknownSpecificationQueryDirective: 'PLAY0266',\n DuplicateSpecificationQueryArguments: 'PLAY0267',\n InvalidAbsentReadModelStep: 'PLAY0453',\n LegacyOptionalSuffix: 'PLAY0479',\n InvalidOptionalModifierOrder: 'PLAY0480',\n OptionalReadsNotSupported: 'PLAY0481',\n InvalidSpecificationCaller: 'PLAY0386',\n DuplicateSpecificationCallerOrDenied: 'PLAY0387',\n GeneratedPropertyOutsideCommand: 'PLAY0482',\n InvalidGeneratedType: 'PLAY0483',\n InvalidGeneratedModifierOrder: 'PLAY0484',\n DuplicateEventSubject: 'PLAY0590',\n InvalidSubjectType: 'PLAY0591',\n ProtectedSubjectType: 'PLAY0592',\n InvalidSubjectOwner: 'PLAY0593',\n ReadModelSubjectNotSupported: 'PLAY0594',\n InvalidSubjectModifierOrder: 'PLAY0595',\n GeneratedPropertySuppliedAsInput: 'PLAY0485',\n InvalidCommandResponse: 'PLAY0486',\n InvalidResponseSource: 'PLAY0487',\n DuplicateResponseField: 'PLAY0488',\n InvalidResponseShape: 'PLAY0489',\n InvalidGeneratedFixture: 'PLAY0490',\n InvalidReturnExpectation: 'PLAY0491',\n InvalidImplementationBlock: 'PLAY0492',\n InvalidImplementationHint: 'PLAY0493',\n ConflictingImplementationSources: 'PLAY0494',\n UnknownType: 'PLAY0165',\n InvalidSystemDeclaration: 'PLAY0495',\n InvalidOperationDeclaration: 'PLAY0496',\n InvalidProductionReference: 'PLAY0497',\n ProductionDeclarationCollision: 'PLAY0498',\n OperationOutsideCommand: 'PLAY0499',\n InvalidSystemReference: 'PLAY0500',\n InvalidOperationMapping: 'PLAY0501',\n InvalidOperationSpecification: 'PLAY0502',\n InvalidCaptureDeclaration: 'PLAY0078',\n UnknownCaptureDirective: 'PLAY0079',\n InvalidMapEntry: 'PLAY0080',\n InvalidTranslation: 'PLAY0081',\n InvalidSplitDeclaration: 'PLAY0082',\n InvalidSplitTarget: 'PLAY0083',\n InvalidAppendDeclaration: 'PLAY0084',\n UnknownAppendDirective: 'PLAY0085',\n WhenWithoutTrigger: 'PLAY0086',\n InvalidWhenClause: 'PLAY0087',\n InvalidWhenTransitionClause: 'PLAY0088',\n MixedWhenCombinators: 'PLAY0089',\n WhenCombinatorWithoutProperty: 'PLAY0090',\n UnknownCaptureBlockDirective: 'PLAY0091',\n InvalidCompositeKeyPart: 'PLAY0072',\n TemplateInCompositeKey: 'PLAY0073',\n EmptyCompositeKey: 'PLAY0074',\n InvalidProjectionMapping: 'PLAY0075',\n ExpectedLiteralValue: 'PLAY0150',\n InvalidExpression: 'PLAY0152',\n UnterminatedInterpolation: 'PLAY0157',\n UnterminatedTemplateExpression: 'PLAY0156',\n ProjectionDocumentWithoutProjection: 'PLAY0055',\n CaptureDocumentWithoutCapture: 'PLAY0077',\n SpecificationDocumentWithoutSpecification: 'PLAY0093',\n InvalidSeedDeclaration: 'PLAY0128',\n InvalidSeedGroup: 'PLAY0129',\n InvalidSeedEvent: 'PLAY0130',\n InvalidSeedPropertyAssignment: 'PLAY0131',\n InvalidPolicyDeclaration: 'PLAY0112',\n UnknownPolicyDirective: 'PLAY0113',\n PolicyWithoutRequirement: 'PLAY0114',\n ExpectedRoleName: 'PLAY0118',\n ExpectedClaimName: 'PLAY0119',\n ExpectedClaimMatches: 'PLAY0120',\n ExpectedClaimMatchTarget: 'PLAY0121',\n MixedPolicyImplementation: 'PLAY0440',\n RepeatedPolicyRequirement: 'PLAY0441',\n AnonymousPolicyCombined: 'PLAY0804',\n NegatedAnonymousPolicy: 'PLAY0805',\n UnexpectedTokenInPolicyCondition: 'PLAY0115',\n ExpectedPolicyCondition: 'PLAY0116',\n UnclosedPolicyConditionGroup: 'PLAY0117',\n UnexpectedTokenInCondition: 'PLAY0158',\n ExpectedCondition: 'PLAY0159',\n ExpectedComparisonOperator: 'PLAY0161',\n ExpectedComparisonValue: 'PLAY0162',\n InvalidActionAlternative: 'PLAY0341',\n GuardedActionWithoutAlternatives: 'PLAY0342',\n MisplacedActionOtherwise: 'PLAY0343',\n UnsupportedActionConditionOperand: 'PLAY0344',\n InvalidInteractionArgument: 'PLAY0319',\n UnclosedConditionGroup: 'PLAY0160',\n InvalidNumericDirective: 'PLAY0508',\n DuplicateNumericDirective: 'PLAY0509',\n LateNumericDirective: 'PLAY0510',\n InexactNumericLiteral: 'PLAY0511',\n MixedNumericModes: 'PLAY0512',\n IncompatibleNumericSource: 'PLAY0513',\n EventFromLaterSlice: 'PLAY0516',\n TimelineCycleGroup: 'PLAY0517',\n InvalidSpecificationExample: 'PLAY0518',\n DuplicateSpecificationAssignment: 'PLAY0519',\n UnresolvedSpecificationExampleType: 'PLAY0520',\n SpecificationExampleNameCollision: 'PLAY0521',\n SpecificationExampleKindMismatch: 'PLAY0522',\n InvalidSpecificationExampleValue: 'PLAY0523',\n MissingSpecificationProperty: 'PLAY0524',\n UnadmittedSpecificationExampleValue: 'PLAY0525',\n InvalidSpecificationExampleBody: 'PLAY0526',\n AmbiguousReference: 'PLAY0198',\n InvalidSpecificationStream: 'PLAY0547',\n SpecificationStreamOnCommand: 'PLAY0548',\n InvalidSpecificationStreamRoute: 'PLAY0549',\n InvalidSpecificationStreamEventSource: 'PLAY0550',\n SpecificationStreamContradictsCommand: 'PLAY0551',\n InvalidDependencyTarget: 'PLAY0554',\n RepeatedDependencyDeclaration: 'PLAY0555',\n UndeclaredDependency: 'PLAY0552',\n UnusedDependencyDeclaration: 'PLAY0553',\n MutualDependencyDeclarations: 'PLAY0556',\n AuthorizationRefusalWithoutIdentity: 'PLAY0557',\n InvalidDocumentation: 'PLAY0558',\n ConflictingDocumentationAcrossFiles: 'PLAY0559',\n InvalidSpecificationCallerPersona: 'PLAY0572',\n UnsynthesizablePersonaCaller: 'PLAY0573',\n PersonaWithoutGate: 'PLAY0574',\n GateWithoutPersona: 'PLAY0575',\n AmbiguousPersonaCaller: 'PLAY0576',\n InvalidSpecificationParameter: 'PLAY0577',\n InvalidSpecificationCase: 'PLAY0578',\n DuplicateSpecificationParameter: 'PLAY0579',\n DuplicateSpecificationCase: 'PLAY0580',\n IncompleteSpecificationTable: 'PLAY0581',\n InvalidSpecificationCaseAssignment: 'PLAY0582',\n InvalidSpecificationCaseValue: 'PLAY0583',\n InvalidSpecificationCaseReference: 'PLAY0584',\n OptionalSpecificationParameterTarget: 'PLAY0585',\n SpecificationCaseNameCollision: 'PLAY0586',\n IncompatibleSpecificationParameterType: 'PLAY0587',\n UnusedSpecificationParameter: 'PLAY0588',\n SingularSpecificationTableExpansion: 'PLAY0589',\n UnsupportedInteractionAlternatives: 'PLAY0560',\n MixedInteractionAlternatives: 'PLAY0561',\n InteractionAlternativeWithoutActions: 'PLAY0562',\n InlineInteractionAlternative: 'PLAY0563',\n LegacyInteractionWhere: 'PLAY0564',\n InvalidEventSourceDeclaration: 'PLAY0503',\n InvalidCommandStream: 'PLAY0504',\n AmbiguousCommandStream: 'PLAY0505',\n UnsupportedStreamIdType: 'PLAY0506',\n RedundantSourceStreamId: 'PLAY0507',\n UnknownEvent: 'PLAY0166',\n UnknownReadModelProperty: 'PLAY0514',\n PiiNotSupportedOnIdentifier: 'PLAY0515',\n HandlerWithoutImplementation: 'PLAY0045',\n UnknownHandlerDirective: 'PLAY0046',\n CommandWithProducesAndHandler: 'PLAY0035',\n AbsoluteFileReference: 'PLAY0264',\n InvalidTriggerData: 'PLAY0246',\n InvalidReadModelKey: 'PLAY0660',\n IncompleteReadModelKey: 'PLAY0661', // C# only: scoped read-model key resolution.\n InvalidReadModelKeyLookup: 'PLAY0662', // Shape checks shared; scoped lookup checks are C# only.\n ProductionRouteOutsideCommand: 'PLAY0663',\n RedundantProductionRoute: 'PLAY0664',\n InvalidObserverFilter: 'PLAY0665',\n ObserverFilterExcludesEveryProducer: 'PLAY0666', // C# only: statically known producer routes.\n ReducerIdentityMismatch: 'PLAY0690',\n InvalidReactionBatchesDeclaration: 'PLAY0693',\n InvalidCommandReadsDeclaration: 'PLAY0780',\n InvalidTimeZoneDeclaration: 'PLAY0812',\n InvalidCommandCalendar: 'PLAY0813',\n InvalidSpecificationTimeZone: 'PLAY0814',\n InvalidSpecificationInvocation: 'PLAY0815',\n UnreachableSpecificationInvocation: 'PLAY0816', // C# only: the outcome consistency check is native.\n GenerationSupportBudgetExceeded: 'PLAY0691',\n EmptyGenerationSupport: 'PLAY0692', // C# only: conservative nominal producer identity comparison.\n MixedEnumerationNumbering: 'PLAY0667',\n DuplicateEnumerationNumber: 'PLAY0668',\n EnumerationNumberOutsideInt32: 'PLAY0669',\n MalformedEnumerationNumber: 'PLAY0670',\n UnpinnedStoredEnumeration: 'PLAY0671',\n ReadsWithChildren: 'PLAY0451',\n UnknownGenerationStrategy: 'PLAY0672',\n InvalidGenerationArgument: 'PLAY0673',\n InvalidGenerationModifier: 'PLAY0674',\n DuplicateGenerationModifier: 'PLAY0675',\n DuplicateGeneration: 'PLAY0676',\n InvalidGenerationPrimitive: 'PLAY0677',\n InvalidGenerationPrefix: 'PLAY0678',\n InvalidGenerationAlphabet: 'PLAY0679',\n InvalidTypeIdPrefix: 'PLAY0680',\n GenerationSizeOutsideRange: 'PLAY0681',\n ReservedSequenceGeneration: 'PLAY0682',\n LowGenerationEntropy: 'PLAY0683',\n LowGeneratedIdentifierEntropy: 'PLAY0684',\n ResponseNameUsedOnFailure: 'PLAY0685',\n // Retired by ESM v16; preserved for compatibility with earlier native compiler diagnostics.\n EventIdPinNotCarriedToRenderers: 'PLAY0686',\n InvalidToolbarButton: 'PLAY0760',\n} as const;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DiagnosticCodes.js","names":["DiagnosticCodes"],"sources":["../../../../../../Compiler/Diagnostics/DiagnosticCodes.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// Shared diagnostic names, including the explicitly C#-only checks below. Catalogue membership does\n// not imply TypeScript validation support; see Documentation/screenplay/editor-diagnostics.md.\nexport const DiagnosticCodes = {\n InvalidActionSubjectClause: 'PLAY0817',\n InferredActionSubject: 'PLAY0818',\n ChangedActionSubject: 'PLAY0819',\n AmbiguousActionInputBinding: 'PLAY0820',\n UnsupportedActionSubjectContext: 'PLAY0821',\n DuplicateBehaviorAttachment: 'PLAY0340',\n UnknownMatchPattern: 'PLAY0366',\n InvalidMatchPattern: 'PLAY0367',\n PatternOutsidePortableMatchDialect: 'PLAY0699',\n AmbiguousMatchPattern: 'PLAY0803',\n ContextSourcedPerformedQueryArgument: 'PLAY0810', // C# only\n DeprecatedStudioTextRulePattern: 'PLAY0787',\n InvalidIdentityDeclaration: 'PLAY0633',\n DuplicateIdentity: 'PLAY0634',\n InvalidIdentityDetail: 'PLAY0635',\n UnknownIdentitySource: 'PLAY0636',\n IdentityDetailWithoutSource: 'PLAY0637',\n IdentitySourceWithBody: 'PLAY0638',\n DuplicateIdentityDetail: 'PLAY0639',\n BuiltInIdentityDetail: 'PLAY0640',\n UnknownIdentityQuery: 'PLAY0641',\n InvalidIdentityQuery: 'PLAY0642',\n IdentityQueryWithoutKey: 'PLAY0643',\n InvalidIdentityQueryKey: 'PLAY0644',\n IdentityQueryAuthorizationDependency: 'PLAY0645',\n IdentityQueryTypeMismatch: 'PLAY0646',\n InvalidReactionIdentity: 'PLAY0647',\n GatedInvocationWithoutIdentity: 'PLAY0648',\n UnusedReactionIdentity: 'PLAY0649',\n UnusedReactionRole: 'PLAY0650',\n UnsatisfiedReactionIdentity: 'PLAY0651',\n ReactionPrivilegeEscalation: 'PLAY0652',\n // C#-only whole-model public event boundaries; membership is not TypeScript validation support.\n CommandProducesPublicEvent: 'PLAY0607',\n PublicEventRequiresOutboundTranslation: 'PLAY0608',\n OutboundPublicEventCount: 'PLAY0609',\n ForeignPublicEventConsumer: 'PLAY0610',\n OutboundTranslationInput: 'PLAY0611',\n InboundTranslationOutput: 'PLAY0612',\n ForeignPublicEventProduced: 'PLAY0613',\n PublicTranslationRequiresDirection: 'PLAY0614',\n TranslationConstructDirection: 'PLAY0615',\n InboundTranslationInput: 'PLAY0616',\n OutboundTranslationOutput: 'PLAY0617',\n EventTargetOutsideOutboundTranslation: 'PLAY0618',\n EventsSourceOutsideInboundTranslation: 'PLAY0619',\n InvalidCaptureEventsSource: 'PLAY0620',\n CaptureEventsFromSeveralOrigins: 'PLAY0687',\n DirectionlessTranslationReactsToOwnCapture: 'PLAY0694',\n PendingIntentWithOtherHandler: 'PLAY0698',\n CommandHandlerRequiresAttachment: 'PLAY0800', // C# only\n DescribedCommandNotImplemented: 'PLAY0695', // C# only\n DescribedCommandWithoutProductions: 'PLAY0696', // C# only\n DescribedCommandCardinalityNotAdmitted: 'PLAY0697', // C# only\n CaptureEventsKeyNotRequired: 'PLAY0700',\n CaptureEventSourceKeyOutsideEvents: 'PLAY0809',\n CaptureEventsRecordFixture: 'PLAY0701',\n RefutedGeneratedConceptRule: 'PLAY0688',\n UnprovenGeneratedConceptRule: 'PLAY0689',\n // Syntax shared with C#; the reference checks (owners, instances, cycles, outlets, scopes, packages) are C#-only.\n InvalidExposureDeclaration: 'PLAY0621',\n UnknownExposureOwner: 'PLAY0622',\n ReExposureCycle: 'PLAY0623',\n ReExposureBroken: 'PLAY0624',\n InvalidInstanceContribution: 'PLAY0625',\n UnknownContributionInstance: 'PLAY0626',\n ContributionNotExposed: 'PLAY0627',\n ContributionTypeMismatch: 'PLAY0628',\n UnknownTemplateContentSlot: 'PLAY0629',\n UnknownNavigationOutlet: 'PLAY0630',\n TemplateScopeMismatch: 'PLAY0631',\n IncompatibleComponentPackage: 'PLAY0632',\n UnknownNavigationDestination: 'PLAY0654',\n UnknownScreenContributionPoint: 'PLAY0655',\n TemplateNestingCycle: 'PLAY0656',\n TemplateCategoryMissing: 'PLAY0720', // C# only: template declarations are not modeled by this compiler.\n InvalidTemplateVersionRange: 'PLAY0721',\n LegacyProfileLayout: 'PLAY0791', // The other ui profile root template rules (PLAY0790, PLAY0792-PLAY0799) are C# only: this compiler does not model a ui profile.\n UnknownTemplateBlueprint: 'PLAY0722', // C# only: ui profile packages are not modeled by this compiler.\n DuplicateComplianceMarker: 'PLAY0653',\n LegacyComplianceMarker: 'PLAY0565',\n UnknownComplianceMarker: 'PLAY0566',\n InvalidSecretScope: 'PLAY0567',\n DuplicateSecretScope: 'PLAY0568',\n SecretScopeIgnoredForPii: 'PLAY0569',\n InvalidPersonalDataQualifier: 'PLAY0570',\n DuplicateSpecialCategory: 'PLAY0571',\n InvalidPurposeDeclaration: 'PLAY0596',\n InvalidPurposeVocabulary: 'PLAY0597',\n DuplicatePurposeField: 'PLAY0598',\n DuplicatePurposeDeclaration: 'PLAY0599',\n UnknownPurpose: 'PLAY0600',\n PurposeInterestMismatch: 'PLAY0601',\n PersonalDataWithoutPurpose: 'PLAY0602',\n SpecialDataWithoutCondition: 'PLAY0603',\n CriminalDataWithoutAuthorization: 'PLAY0604',\n PurposeWithoutBasis: 'PLAY0605',\n UnusedPurpose: 'PLAY0606',\n // C#-only: opt-in completeness, scoped action/refusal reference validation, and semantic binding.\n ConflictingScreenDataBinding: 'PLAY0530',\n ScreenDataQueryMismatch: 'PLAY0531',\n ActionWithoutInputSurface: 'PLAY0532',\n CommandWithoutInputSurface: 'PLAY0533',\n ReadModelFieldWithoutOrigin: 'PLAY0534',\n QueryParameterNotHeldByView: 'PLAY0535',\n UnconsumedEvent: 'PLAY0536',\n UnreachableScreen: 'PLAY0537',\n UnknownActionSubjectField: 'PLAY0345',\n UnresolvedActionSubject: 'PLAY0346',\n UnreachableActionAlternative: 'PLAY0347',\n UnknownActionArgumentProperty: 'PLAY0348',\n UnreachableRefusalBranch: 'PLAY0540',\n InvalidRefusalValue: 'PLAY0541',\n UnknownRefusalConstraint: 'PLAY0542',\n UnknownRedeliveryReaction: 'PLAY0544',\n IndeterminateNegatedClaimTarget: 'PLAY0546',\n InvalidRefusalBranch: 'PLAY0538',\n InvalidRefusalBranchBody: 'PLAY0539',\n UnmatchedRedeliveredOccurrence: 'PLAY0543',\n InvalidNoEventsExpectation: 'PLAY0545',\n InvalidProducesDeclaration: 'PLAY0042',\n ProducesWhenWithoutEvent: 'PLAY0043',\n InvalidPropertyMapping: 'PLAY0044',\n DuplicateProducesTarget: 'PLAY0193',\n EventSourceIdInPayload: 'PLAY0469',\n ExplicitProducesTargetsRequired: 'PLAY0470',\n RedundantEventId: 'PLAY0471',\n InvalidEventId: 'PLAY0472',\n InlineEventCollision: 'PLAY0473',\n InlineEventOutsideCommand: 'PLAY0474',\n InlineEventGeneration: 'PLAY0475',\n ReservedProductionMetadata: 'PLAY0476',\n InvalidEventDocumentation: 'PLAY0477',\n OmittedProductionDestination: 'PLAY0478',\n UnknownConstraintProperty: 'PLAY0391',\n UnknownTopLevelConstruct: 'PLAY0001',\n InvalidDomainDeclaration: 'PLAY0002',\n DuplicateDomain: 'PLAY0003',\n DomainNotFirst: 'PLAY0004',\n InvalidImportDeclaration: 'PLAY0005',\n TabIndentation: 'PLAY0006',\n InvalidConceptDeclaration: 'PLAY0007',\n UnknownPrimitiveType: 'PLAY0008',\n InvalidEnumerationValue: 'PLAY0009',\n UnknownConceptDirective: 'PLAY0010',\n ValidateReadAsEnumerationBlock: 'PLAY0011',\n AttributeReasonWithoutAttribute: 'PLAY0012',\n DuplicateAttributeReason: 'PLAY0013',\n InvalidTypeDeclaration: 'PLAY0014',\n TypeWithoutProperties: 'PLAY0015',\n InvalidPropertyDeclaration: 'PLAY0016',\n IdentifierOutsideCommand: 'PLAY0017',\n InvalidEventDeclaration: 'PLAY0018',\n IdentifierOnEventProperty: 'PLAY0019',\n TagPropertyReadAsTag: 'PLAY0020',\n InvalidModuleDeclaration: 'PLAY0021',\n UnknownModuleDirective: 'PLAY0022',\n InvalidFeatureDeclaration: 'PLAY0023',\n UnknownFeatureDirective: 'PLAY0024',\n InvalidSliceDeclaration: 'PLAY0027',\n UnknownSliceType: 'PLAY0028',\n UnknownSliceDirective: 'PLAY0029',\n InvalidPersonaDeclaration: 'PLAY0030',\n InvalidPersonaPolicyReference: 'PLAY0031',\n UnknownPersonaDirective: 'PLAY0032',\n InvalidCommandDeclaration: 'PLAY0033',\n UnknownCommandDirective: 'PLAY0034',\n DuplicateCommandIdentifier: 'PLAY0036',\n InvalidQueryDeclaration: 'PLAY0047',\n UnknownQueryDirective: 'PLAY0048',\n InvalidQueryParameter: 'PLAY0049',\n InvalidProjectionDeclaration: 'PLAY0056',\n EmptyProjection: 'PLAY0057',\n UnknownProjectionDirective: 'PLAY0058',\n FromWithoutEvent: 'PLAY0061',\n InvalidEventReference: 'PLAY0062',\n InvalidJoinDeclaration: 'PLAY0063',\n JoinWithoutEvent: 'PLAY0064',\n InvalidChildrenDeclaration: 'PLAY0065',\n InvalidNestedDeclaration: 'PLAY0066',\n NestedBlockWithoutFrom: 'PLAY0067',\n InvalidRemoveDeclaration: 'PLAY0068',\n UnknownRemoveDirective: 'PLAY0069',\n InvalidClearDeclaration: 'PLAY0070',\n ClearWithOutsideNestedBlock: 'PLAY0071',\n InvalidSpecificationDeclaration: 'PLAY0094',\n UnknownSpecificationDirective: 'PLAY0095',\n InvalidSpecificationWhen: 'PLAY0096',\n DuplicateSpecificationWhen: 'PLAY0097',\n InvalidThenError: 'PLAY0098',\n InvalidReadModelStep: 'PLAY0099',\n InvalidEventStep: 'PLAY0100',\n InvalidSpecificationValue: 'PLAY0101',\n InvalidScreenDeclaration: 'PLAY0102',\n UnknownScreenDirective: 'PLAY0103',\n InvalidDataDirective: 'PLAY0104',\n InvalidActionDirective: 'PLAY0105',\n UnknownActionDirective: 'PLAY0106',\n InvalidNavigation: 'PLAY0107',\n InvalidScreenLayoutSlot: 'PLAY0108',\n UnknownLayoutDirective: 'PLAY0026',\n InvalidTitleDirective: 'PLAY0109',\n UnknownTableDirective: 'PLAY0110',\n UnknownSummaryDirective: 'PLAY0111',\n AuthorizeWithoutPolicy: 'PLAY0122',\n InvalidPolicyReference: 'PLAY0123',\n InvalidConstraintDeclaration: 'PLAY0132',\n ConstraintWithoutRule: 'PLAY0133',\n InvalidConstraintBody: 'PLAY0134',\n DuplicateConstraintBody: 'PLAY0135',\n InvalidReactionDeclaration: 'PLAY0136',\n InvalidReactionTrigger: 'PLAY0137',\n ReactionWithoutTrigger: 'PLAY0138',\n InvalidValidateDeclaration: 'PLAY0140',\n InvalidValidationRule: 'PLAY0141',\n InvalidRuleName: 'PLAY0143',\n UnknownRuleImplementationDirective: 'PLAY0144',\n InvalidDescription: 'PLAY0145',\n EmptyDescription: 'PLAY0146',\n DuplicateDescription: 'PLAY0147',\n TagWithoutValue: 'PLAY0148',\n InvalidTagValue: 'PLAY0149',\n UnknownContextPath: 'PLAY0153',\n UnknownContextCausedByProperty: 'PLAY0154',\n UnknownContextIdentityProperty: 'PLAY0155',\n ExpectedCodeFence: 'PLAY0163',\n UnclosedCodeBlock: 'PLAY0164',\n DuplicateDeclaration: 'PLAY0168',\n RepeatedSingularDeclarationAcrossFiles: 'PLAY0172',\n RepeatedDeclarationAcrossFiles: 'PLAY0173',\n ConflictingDescriptionAcrossFiles: 'PLAY0174',\n UnexpectedTokenInAuthorize: 'PLAY0184',\n UnclosedAuthorizeGroup: 'PLAY0185',\n InvalidReadModelDeclaration: 'PLAY0186',\n InvalidInvokesDeclaration: 'PLAY0194',\n InvalidScopeDeclaration: 'PLAY0199',\n DuplicateScope: 'PLAY0200',\n InvalidIntervalTrigger: 'PLAY0249',\n InvalidScheduleTrigger: 'PLAY0250',\n DuplicateReactionTrigger: 'PLAY0253',\n InvalidSpecificationEventSource: 'PLAY0275',\n DuplicateSpecificationEventSource: 'PLAY0276',\n InvalidProjectionVariantDeclaration: 'PLAY0277',\n InvalidEntersOnDeclaration: 'PLAY0279',\n NestedProjectionVariantNotAllowed: 'PLAY0280',\n InvalidStructuredValue: 'PLAY0291',\n DuplicateStructuredValueMember: 'PLAY0294',\n ConflictingSpecificationActions: 'PLAY0358',\n InvalidSpecificationEventOrder: 'PLAY0359',\n InvalidValidationSeverity: 'PLAY0368',\n VariantRequiresEnteringEvent: 'PLAY0382',\n /** An event is used more than once in one projection level's event or join set. */\n DuplicateEventInProjectionScope: 'PLAY0801',\n /** An event source has the reserved stored name Default, or an event stream has the reserved stored name All, including through an id pin. */\n ReservedStoredName: 'PLAY0802',\n DuplicateProjectionVariant: 'PLAY0384',\n DuplicateVariantEnteringEvent: 'PLAY0385',\n InvalidSpecificationDenied: 'PLAY0388',\n DuplicateAuthorizationAcrossFiles: 'PLAY0394',\n FileConstraintOnlySupportsUniqueness: 'PLAY0396',\n LegacyInlineCodeFence: 'PLAY0397',\n InvalidEventGeneration: 'PLAY0446',\n InvalidFileImport: 'PLAY0454',\n FileImportMatchesNothing: 'PLAY0455',\n ImportedFileNotFound: 'PLAY0456',\n ConflictingImportPlacement: 'PLAY0457',\n ImportCycle: 'PLAY0458',\n ModuleInPlacedFile: 'PLAY0459',\n UnexpectedInPlacedFile: 'PLAY0460',\n InvalidSpecificationClock: 'PLAY0461',\n InvalidSpecificationTrigger: 'PLAY0462',\n InvalidSpecificationCapture: 'PLAY0463',\n InvalidSpecificationQueryAction: 'PLAY0464',\n MismatchedSpecificationQueryResult: 'PLAY0465',\n UnknownSpecificationQueryArgument: 'PLAY0468',\n InvalidSpecificationQuery: 'PLAY0265',\n UnknownSpecificationQueryDirective: 'PLAY0266',\n DuplicateSpecificationQueryArguments: 'PLAY0267',\n InvalidAbsentReadModelStep: 'PLAY0453',\n LegacyOptionalSuffix: 'PLAY0479',\n InvalidOptionalModifierOrder: 'PLAY0480',\n OptionalReadsNotSupported: 'PLAY0481',\n InvalidSpecificationCaller: 'PLAY0386',\n DuplicateSpecificationCallerOrDenied: 'PLAY0387',\n GeneratedPropertyOutsideCommand: 'PLAY0482',\n InvalidGeneratedType: 'PLAY0483',\n InvalidGeneratedModifierOrder: 'PLAY0484',\n DuplicateEventSubject: 'PLAY0590',\n InvalidSubjectType: 'PLAY0591',\n ProtectedSubjectType: 'PLAY0592',\n InvalidSubjectOwner: 'PLAY0593',\n ReadModelSubjectNotSupported: 'PLAY0594',\n InvalidSubjectModifierOrder: 'PLAY0595',\n GeneratedPropertySuppliedAsInput: 'PLAY0485',\n InvalidCommandResponse: 'PLAY0486',\n InvalidResponseSource: 'PLAY0487',\n DuplicateResponseField: 'PLAY0488',\n InvalidResponseShape: 'PLAY0489',\n InvalidGeneratedFixture: 'PLAY0490',\n InvalidReturnExpectation: 'PLAY0491',\n InvalidImplementationBlock: 'PLAY0492',\n InvalidImplementationHint: 'PLAY0493',\n ConflictingImplementationSources: 'PLAY0494',\n UnknownType: 'PLAY0165',\n InvalidSystemDeclaration: 'PLAY0495',\n InvalidOperationDeclaration: 'PLAY0496',\n InvalidProductionReference: 'PLAY0497',\n ProductionDeclarationCollision: 'PLAY0498',\n OperationOutsideCommand: 'PLAY0499',\n InvalidSystemReference: 'PLAY0500',\n InvalidOperationMapping: 'PLAY0501',\n InvalidOperationSpecification: 'PLAY0502',\n InvalidCaptureDeclaration: 'PLAY0078',\n UnknownCaptureDirective: 'PLAY0079',\n InvalidMapEntry: 'PLAY0080',\n InvalidTranslation: 'PLAY0081',\n InvalidSplitDeclaration: 'PLAY0082',\n InvalidSplitTarget: 'PLAY0083',\n InvalidAppendDeclaration: 'PLAY0084',\n UnknownAppendDirective: 'PLAY0085',\n WhenWithoutTrigger: 'PLAY0086',\n InvalidWhenClause: 'PLAY0087',\n InvalidWhenTransitionClause: 'PLAY0088',\n MixedWhenCombinators: 'PLAY0089',\n WhenCombinatorWithoutProperty: 'PLAY0090',\n UnknownCaptureBlockDirective: 'PLAY0091',\n InvalidCompositeKeyPart: 'PLAY0072',\n TemplateInCompositeKey: 'PLAY0073',\n EmptyCompositeKey: 'PLAY0074',\n InvalidProjectionMapping: 'PLAY0075',\n ExpectedLiteralValue: 'PLAY0150',\n InvalidExpression: 'PLAY0152',\n UnterminatedInterpolation: 'PLAY0157',\n UnterminatedTemplateExpression: 'PLAY0156',\n ProjectionDocumentWithoutProjection: 'PLAY0055',\n CaptureDocumentWithoutCapture: 'PLAY0077',\n SpecificationDocumentWithoutSpecification: 'PLAY0093',\n InvalidSeedDeclaration: 'PLAY0128',\n InvalidSeedGroup: 'PLAY0129',\n InvalidSeedEvent: 'PLAY0130',\n InvalidSeedPropertyAssignment: 'PLAY0131',\n InvalidPolicyDeclaration: 'PLAY0112',\n UnknownPolicyDirective: 'PLAY0113',\n PolicyWithoutRequirement: 'PLAY0114',\n ExpectedRoleName: 'PLAY0118',\n ExpectedClaimName: 'PLAY0119',\n ExpectedClaimMatches: 'PLAY0120',\n ExpectedClaimMatchTarget: 'PLAY0121',\n MixedPolicyImplementation: 'PLAY0440',\n RepeatedPolicyRequirement: 'PLAY0441',\n AnonymousPolicyCombined: 'PLAY0804',\n NegatedAnonymousPolicy: 'PLAY0805',\n UnexpectedTokenInPolicyCondition: 'PLAY0115',\n ExpectedPolicyCondition: 'PLAY0116',\n UnclosedPolicyConditionGroup: 'PLAY0117',\n UnexpectedTokenInCondition: 'PLAY0158',\n ExpectedCondition: 'PLAY0159',\n ExpectedComparisonOperator: 'PLAY0161',\n ExpectedComparisonValue: 'PLAY0162',\n InvalidActionAlternative: 'PLAY0341',\n GuardedActionWithoutAlternatives: 'PLAY0342',\n MisplacedActionOtherwise: 'PLAY0343',\n UnsupportedActionConditionOperand: 'PLAY0344',\n InvalidInteractionArgument: 'PLAY0319',\n UnclosedConditionGroup: 'PLAY0160',\n InvalidNumericDirective: 'PLAY0508',\n DuplicateNumericDirective: 'PLAY0509',\n LateNumericDirective: 'PLAY0510',\n InexactNumericLiteral: 'PLAY0511',\n MixedNumericModes: 'PLAY0512',\n IncompatibleNumericSource: 'PLAY0513',\n EventFromLaterSlice: 'PLAY0516',\n TimelineCycleGroup: 'PLAY0517',\n InvalidSpecificationExample: 'PLAY0518',\n DuplicateSpecificationAssignment: 'PLAY0519',\n UnresolvedSpecificationExampleType: 'PLAY0520',\n SpecificationExampleNameCollision: 'PLAY0521',\n SpecificationExampleKindMismatch: 'PLAY0522',\n InvalidSpecificationExampleValue: 'PLAY0523',\n MissingSpecificationProperty: 'PLAY0524',\n UnadmittedSpecificationExampleValue: 'PLAY0525',\n InvalidSpecificationExampleBody: 'PLAY0526',\n AmbiguousReference: 'PLAY0198',\n InvalidSpecificationStream: 'PLAY0547',\n SpecificationStreamOnCommand: 'PLAY0548',\n InvalidSpecificationStreamRoute: 'PLAY0549',\n InvalidSpecificationStreamEventSource: 'PLAY0550',\n SpecificationStreamContradictsCommand: 'PLAY0551',\n InvalidDependencyTarget: 'PLAY0554',\n RepeatedDependencyDeclaration: 'PLAY0555',\n UndeclaredDependency: 'PLAY0552',\n UnusedDependencyDeclaration: 'PLAY0553',\n MutualDependencyDeclarations: 'PLAY0556',\n AuthorizationRefusalWithoutIdentity: 'PLAY0557',\n InvalidDocumentation: 'PLAY0558',\n ConflictingDocumentationAcrossFiles: 'PLAY0559',\n InvalidSpecificationCallerPersona: 'PLAY0572',\n UnsynthesizablePersonaCaller: 'PLAY0573',\n PersonaWithoutGate: 'PLAY0574',\n GateWithoutPersona: 'PLAY0575',\n AmbiguousPersonaCaller: 'PLAY0576',\n InvalidSpecificationParameter: 'PLAY0577',\n InvalidSpecificationCase: 'PLAY0578',\n DuplicateSpecificationParameter: 'PLAY0579',\n DuplicateSpecificationCase: 'PLAY0580',\n IncompleteSpecificationTable: 'PLAY0581',\n InvalidSpecificationCaseAssignment: 'PLAY0582',\n InvalidSpecificationCaseValue: 'PLAY0583',\n InvalidSpecificationCaseReference: 'PLAY0584',\n OptionalSpecificationParameterTarget: 'PLAY0585',\n SpecificationCaseNameCollision: 'PLAY0586',\n IncompatibleSpecificationParameterType: 'PLAY0587',\n UnusedSpecificationParameter: 'PLAY0588',\n SingularSpecificationTableExpansion: 'PLAY0589',\n UnsupportedInteractionAlternatives: 'PLAY0560',\n MixedInteractionAlternatives: 'PLAY0561',\n InteractionAlternativeWithoutActions: 'PLAY0562',\n InlineInteractionAlternative: 'PLAY0563',\n LegacyInteractionWhere: 'PLAY0564',\n InvalidEventSourceDeclaration: 'PLAY0503',\n InvalidCommandStream: 'PLAY0504',\n AmbiguousCommandStream: 'PLAY0505',\n UnsupportedStreamIdType: 'PLAY0506',\n RedundantSourceStreamId: 'PLAY0507',\n UnknownEvent: 'PLAY0166',\n UnknownReadModelProperty: 'PLAY0514',\n PiiNotSupportedOnIdentifier: 'PLAY0515',\n HandlerWithoutImplementation: 'PLAY0045',\n UnknownHandlerDirective: 'PLAY0046',\n CommandWithProducesAndHandler: 'PLAY0035',\n AbsoluteFileReference: 'PLAY0264',\n InvalidTriggerData: 'PLAY0246',\n InvalidReadModelKey: 'PLAY0660',\n IncompleteReadModelKey: 'PLAY0661', // C# only: scoped read-model key resolution.\n InvalidReadModelKeyLookup: 'PLAY0662', // Shape checks shared; scoped lookup checks are C# only.\n ProductionRouteOutsideCommand: 'PLAY0663',\n RedundantProductionRoute: 'PLAY0664',\n InvalidObserverFilter: 'PLAY0665',\n ObserverFilterExcludesEveryProducer: 'PLAY0666', // C# only: statically known producer routes.\n ReducerIdentityMismatch: 'PLAY0690',\n InvalidReactionBatchesDeclaration: 'PLAY0693',\n InvalidCommandReadsDeclaration: 'PLAY0780',\n InvalidTimeZoneDeclaration: 'PLAY0812',\n InvalidCommandCalendar: 'PLAY0813',\n InvalidSpecificationTimeZone: 'PLAY0814',\n InvalidSpecificationInvocation: 'PLAY0815',\n UnreachableSpecificationInvocation: 'PLAY0816', // C# only: the outcome consistency check is native.\n GenerationSupportBudgetExceeded: 'PLAY0691',\n EmptyGenerationSupport: 'PLAY0692', // C# only: conservative nominal producer identity comparison.\n MixedEnumerationNumbering: 'PLAY0667',\n DuplicateEnumerationNumber: 'PLAY0668',\n EnumerationNumberOutsideInt32: 'PLAY0669',\n MalformedEnumerationNumber: 'PLAY0670',\n UnpinnedStoredEnumeration: 'PLAY0671',\n ReadsWithChildren: 'PLAY0451',\n UnknownGenerationStrategy: 'PLAY0672',\n InvalidGenerationArgument: 'PLAY0673',\n InvalidGenerationModifier: 'PLAY0674',\n DuplicateGenerationModifier: 'PLAY0675',\n DuplicateGeneration: 'PLAY0676',\n InvalidGenerationPrimitive: 'PLAY0677',\n InvalidGenerationPrefix: 'PLAY0678',\n InvalidGenerationAlphabet: 'PLAY0679',\n InvalidTypeIdPrefix: 'PLAY0680',\n GenerationSizeOutsideRange: 'PLAY0681',\n ReservedSequenceGeneration: 'PLAY0682',\n LowGenerationEntropy: 'PLAY0683',\n LowGeneratedIdentifierEntropy: 'PLAY0684',\n ResponseNameUsedOnFailure: 'PLAY0685',\n // Retired by ESM v16; preserved for compatibility with earlier native compiler diagnostics.\n EventIdPinNotCarriedToRenderers: 'PLAY0686',\n InvalidToolbarButton: 'PLAY0760',\n} as const;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";import{stringBodyPattern as t,unescapeString as n}from"../Text/StringLiteral.js";import{pattern as r}from"../Text/patterns.js";import{locationOf as i}from"./SourceLine.js";const a=new RegExp(r(`"${t}"|\\S+`).source,`gu`),o=r(`^label\\s+(?:"(${t})"|(\\$strings\\.\\w+(?:\\.\\w+)*))$`),s=r(`^for\\s+(item|screen)$`);function parsePlainActionInput(t,n,a){let o=r(`^with\\s+([A-Za-z_]\\w*)\\s+from\\s+(.+)$`).exec(n.content);if(o===null)t.error(e.InvalidInteractionArgument,`Invalid argument '${n.content}' - expected 'with <name> from <binding>'`,i(n));else return a.some(e=>e.name===o[1])&&t.error(e.InvalidInteractionArgument,`Duplicate argument '${o[1]}' - supply each input only once`,i(n)),{kind:`InteractionArgumentSyntax`,name:o[1],binding:o[2].trim(),location:i(n)}}function parseSubjectClause(t,r,c,l){let u=subjectHeaderBoundary(r.content,l),d=[...r.content.matchAll(a)].filter(e=>e.index>=u),f=d.filter(e=>e[0]===`for`),p=d.find(e=>e[0]===`label`),m=r.content,h;if(p!==void 0){let e=o.exec(m.substring(p.index));e!==null&&(h=e[1]===void 0?e[2]:n(e[1]),m=m.substring(0,p.index).trimEnd())}if(f.length===0)return{header:m,label:h};let g=f[0].index,_=s.exec(m.substring(g));return m=m.substring(0,g).trimEnd(),!c||f.length!==1||_===null||p!==void 0&&p.index<g?(t.error(e.InvalidActionSubjectClause,`Invalid action subject clause - expected one 'for item' or 'for screen' before the label on an action`,i(r)),{header:r.content.substring(0,u).trimEnd(),label:h}):{header:m,subject:_[1]===`item`?`Item`:`Screen`,label:h}}function subjectHeaderBoundary(e,t){return t(e)?e.length:[...e.matchAll(a)].reverse().find(n=>t(e.substring(0,n.index).trimEnd()))?.index??e.length}export{parsePlainActionInput,parseSubjectClause};
|
|
2
|
+
//# sourceMappingURL=ActionSubjectClause.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionSubjectClause.js","names":["word","pattern","stringBodyPattern","label","clause","input","line","context","DiagnosticCodes","locationOf","inputs","argument","boundary","isHeader","words","part","clauses","labelWord","header","text","match","unescapeString","start","action","content"],"sources":["../../../../../../Compiler/Parsing/ActionSubjectClause.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 { DiagnosticCodes } from '../Diagnostics/DiagnosticCodes';\nimport { InteractionArgumentSyntax, ScreenActionSubjectKind } from '../Syntax/Screens';\nimport { stringBodyPattern, unescapeString } from '../Text/StringLiteral';\nimport { pattern } from '../Text/patterns';\nimport { ParserContext } from './ParserContext';\nimport { locationOf, SourceLine } from './SourceLine';\n\nconst word = new RegExp(pattern(`\"${stringBodyPattern}\"|\\\\S+`).source, 'gu');\nconst label = pattern(`^label\\\\s+(?:\"(${stringBodyPattern})\"|(\\\\$strings\\\\.\\\\w+(?:\\\\.\\\\w+)*))$`);\nconst clause = pattern('^for\\\\s+(item|screen)$');\n\nexport function parsePlainActionInput(context: ParserContext, line: SourceLine, inputs: readonly InteractionArgumentSyntax[]): InteractionArgumentSyntax | undefined {\n const input = pattern('^with\\\\s+([A-Za-z_]\\\\w*)\\\\s+from\\\\s+(.+)$').exec(line.content);\n if (input === null) {\n context.error(DiagnosticCodes.InvalidInteractionArgument, `Invalid argument '${line.content}' - expected 'with <name> from <binding>'`, locationOf(line));\n return undefined;\n }\n if (inputs.some(argument => argument.name === input[1])) context.error(DiagnosticCodes.InvalidInteractionArgument, `Duplicate argument '${input[1]}' - supply each input only once`, locationOf(line));\n return { kind: 'InteractionArgumentSyntax', name: input[1], binding: input[2].trim(), location: locationOf(line) };\n}\n\nexport function parseSubjectClause(context: ParserContext, line: SourceLine, action: boolean, isHeader: (content: string) => boolean): { header: string; subject?: ScreenActionSubjectKind; label?: string } {\n const boundary = subjectHeaderBoundary(line.content, isHeader);\n const words = [...line.content.matchAll(word)].filter(part => part.index! >= boundary);\n const clauses = words.filter(part => part[0] === 'for');\n const labelWord = words.find(part => part[0] === 'label');\n let header = line.content;\n let text: string | undefined;\n if (labelWord !== undefined) {\n const match = label.exec(header.substring(labelWord.index));\n if (match !== null) {\n text = match[1] !== undefined ? unescapeString(match[1]) : match[2];\n header = header.substring(0, labelWord.index).trimEnd();\n }\n }\n if (clauses.length === 0) return { header, label: text };\n const start = clauses[0].index!;\n const match = clause.exec(header.substring(start));\n header = header.substring(0, start).trimEnd();\n if (!action || clauses.length !== 1 || match === null || labelWord !== undefined && labelWord.index! < start) {\n context.error(DiagnosticCodes.InvalidActionSubjectClause, \"Invalid action subject clause - expected one 'for item' or 'for screen' before the label on an action\", locationOf(line));\n return { header: line.content.substring(0, boundary).trimEnd(), label: text };\n }\n return { header, subject: match[1] === 'item' ? 'Item' : 'Screen', label: text };\n}\n\nfunction subjectHeaderBoundary(content: string, isHeader: (header: string) => boolean): number {\n // A complete existing header wins, including keyword-looking required operands.\n if (isHeader(content)) return content.length;\n return [...content.matchAll(word)].reverse().find(part => isHeader(content.substring(0, part.index).trimEnd()))?.index ?? content.length;\n}\n"],"mappings":"qSAUA,MAAMA,EAAO,IAAI,OAAOC,EAAQ,IAAIC,EAAkB,OAAO,CAAC,CAAC,OAAQ,IAAI,EACrEC,EAAQF,EAAQ,kBAAkBC,EAAkB,qCAAqC,EACzFE,EAASH,EAAQ,wBAAwB,EAE/C,SAAgB,sBAAsB,EAAwB,EAAkB,EAAqF,CACjK,IAAMI,EAAQJ,EAAQ,2CAA2C,CAAC,CAAC,KAAKK,EAAK,OAAO,EACpF,GAAID,IAAU,KACVE,EAAQ,MAAMC,EAAgB,2BAA4B,qBAAqBF,EAAK,QAAQ,2CAA4CG,EAAWH,CAAI,CAAC,OAI5J,OADII,EAAO,KAAK,GAAYC,EAAS,OAASN,EAAM,EAAE,GAAGE,EAAQ,MAAMC,EAAgB,2BAA4B,uBAAuBH,EAAM,GAAG,iCAAkCI,EAAWH,CAAI,CAAC,EAC9L,CAAE,KAAM,4BAA6B,KAAMD,EAAM,GAAI,QAASA,EAAM,EAAE,CAAC,KAAK,EAAG,SAAUI,EAAWH,CAAI,CAAE,CACrH,CAEA,SAAgB,mBAAmB,EAAwB,EAAkB,EAAiB,EAA+G,CACzM,IAAMM,EAAW,sBAAsBN,EAAK,QAASO,CAAQ,EACvDC,EAAQ,CAAC,GAAGR,EAAK,QAAQ,SAASN,CAAI,CAAC,CAAC,CAAC,OAAO,GAAQe,EAAK,OAAUH,CAAQ,EAC/EI,EAAUF,EAAM,OAAO,GAAQC,EAAK,KAAO,KAAK,EAChDE,EAAYH,EAAM,KAAK,GAAQC,EAAK,KAAO,OAAO,EACpDG,EAASZ,EAAK,QACda,EACJ,GAAIF,IAAc,IAAA,GAAW,CACzB,IAAMG,EAAQjB,EAAM,KAAKe,EAAO,UAAUD,EAAU,KAAK,CAAC,EACtDG,IAAU,OACV,EAAOA,EAAM,KAAO,IAAA,GAAuCA,EAAM,GAAjCC,EAAeD,EAAM,EAAE,EACvD,EAASF,EAAO,UAAU,EAAGD,EAAU,KAAK,CAAC,CAAC,QAAQ,EAE9D,CACA,GAAID,EAAQ,SAAW,EAAG,MAAO,CAAE,SAAQ,MAAOG,CAAK,EACvD,IAAMG,EAAQN,EAAQ,EAAE,CAAC,MACnBI,EAAQhB,EAAO,KAAKc,EAAO,UAAUI,CAAK,CAAC,EAMjD,MALA,GAASJ,EAAO,UAAU,EAAGI,CAAK,CAAC,CAAC,QAAQ,EACxC,CAACC,GAAUP,EAAQ,SAAW,GAAKI,IAAU,MAAQH,IAAc,IAAA,IAAaA,EAAU,MAASK,GACnGf,EAAQ,MAAMC,EAAgB,2BAA4B,wGAAyGC,EAAWH,CAAI,CAAC,EAC5K,CAAE,OAAQA,EAAK,QAAQ,UAAU,EAAGM,CAAQ,CAAC,CAAC,QAAQ,EAAG,MAAOO,CAAK,GAEzE,CAAE,SAAQ,QAASC,EAAM,KAAO,OAAS,OAAS,SAAU,MAAOD,CAAK,CACnF,CAEA,SAAS,sBAAsB,EAAiB,EAA+C,CAG3F,OADIN,EAASW,CAAO,EAAUA,EAAQ,OAC/B,CAAC,GAAGA,EAAQ,SAASxB,CAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAQa,EAASW,EAAQ,UAAU,EAAGT,EAAK,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAASS,EAAQ,MACtI"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../../_virtual/_virtual/_rolldown/runtime.js";import{DiagnosticCodes as e}from"../Diagnostics/DiagnosticCodes.js";var ActionSubjectInputs=class{declarations;diagnostics;constructor(e,t){this.declarations=e,this.diagnostics=t}properties(e){return e.data.length===1?this.declarations.resolve(e.data[0].type.name,e.slice,e=>e.readModels)?.node.properties??[]:[]}command(e,t){return this.declarations.resolve(e,t.slice,e=>e.commands)?.node.properties??[]}sameConcept(e,t){return!t.type.isCollection&&!t.type.isOptional&&e.type.name===t.type.name&&this.declarations.application.concepts.filter(t=>t.name===e.type.name).length===1}eligible(e){return e.isIdentifier&&!e.isGenerated&&!e.type.isOptional&&!e.type.isCollection}keys(e,t){return this.eligible(e)?t.filter(t=>t.isKey&&this.sameConcept(e,t)):[]}binding(e,t){let n=t.filter(t=>t.name===e.name&&this.declarations.compatible(t.type,e.type)===!0);if(n.length===1)return n[0];let r=this.keys(e,t);return r.length===1?r[0]:null}subject(t,n,r,i){if(t!=null)return t;let a=this.command(n,i).filter(e=>this.eligible(e)),o=a.length===1?this.keys(a[0],this.properties(i)):[],s=i.data.length===1&&i.data[0].type.isCollection&&o.length===1;return this.diagnostics.push({severity:`information`,code:e.InferredActionSubject,message:`Action '${n}' infers 'for ${s?`item`:`screen`}' from its declared data and identifier types`,location:i.location}),this.migration(n,r,i,s),s?`Item`:null}migration(t,n,r,i){if(r.data.length!==1||!r.data[0].type.isCollection)return;let a=this.properties(r),o=this.command(t,r).filter(e=>!e.isGenerated&&!n.includes(e.name)),s=o.flatMap(e=>a.filter(t=>e.name.toLowerCase()===t.name.toLowerCase()).map(t=>`${e.name} from item.${t.name}`)),c=i?o.flatMap(e=>{let t=this.binding(e,a);return t===null?[]:[`${e.name} from item.${t.name}`]}):[];JSON.stringify(s)!==JSON.stringify(c)&&this.diagnostics.push({severity:`warning`,code:e.ChangedActionSubject,message:`Action '${t}' now infers 'for ${i?`item`:`screen`}'; legacy row-name matching would use ${s.length===0?`no row property`:s.join(`, `)}`,location:r.location})}legacyInputs(e,t,n){if(n.data.length!==1||!n.data[0].type.isCollection)return null;let r=[...t],i=this.properties(n);for(let t of this.command(e,n).filter(e=>!e.isGenerated)){if(r.some(e=>e.name===t.name))continue;let e=i.filter(e=>e.name.toLowerCase()===t.name.toLowerCase());if(!this.legacyMatchIsSafe(t,i,e.length))return null;e.length===1&&r.push({kind:`InteractionArgumentSyntax`,name:t.name,binding:`item.${e[0].name}`,location:n.location})}return r}legacyMatchIsSafe(e,t,n){return n>1?!1:n>0||this.keys(e,t).length===0}inputs(t,n,r){let i=[...n];if(r.data.length!==1)return i;let a=this.properties(r);for(let n of this.command(t,r).filter(e=>!e.isGenerated)){if(i.some(e=>e.name===n.name))continue;let o=this.binding(n,a);o===null?this.keys(n,a).length>1&&this.diagnostics.push({severity:`warning`,code:e.AmbiguousActionInputBinding,message:`Input '${n.name}' of action '${t}' matches several declared key fields - write an explicit binding`,location:r.location}):i.push({kind:`InteractionArgumentSyntax`,name:n.name,binding:`item.${o.name}`,location:r.location})}return i}};export{ActionSubjectInputs};
|
|
2
|
+
//# sourceMappingURL=ActionSubjectInputs.js.map
|