diff options
Diffstat (limited to 'subprojects/frontend/src/xtext/xtextServiceResults.ts')
-rw-r--r-- | subprojects/frontend/src/xtext/xtextServiceResults.ts | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/subprojects/frontend/src/xtext/xtextServiceResults.ts b/subprojects/frontend/src/xtext/xtextServiceResults.ts index 12f87b26..caf2cf0b 100644 --- a/subprojects/frontend/src/xtext/xtextServiceResults.ts +++ b/subprojects/frontend/src/xtext/xtextServiceResults.ts | |||
@@ -126,8 +126,36 @@ export const FormattingResult = DocumentStateResult.extend({ | |||
126 | 126 | ||
127 | export type FormattingResult = z.infer<typeof FormattingResult>; | 127 | export type FormattingResult = z.infer<typeof FormattingResult>; |
128 | 128 | ||
129 | export const NodeMetadata = z.object({ | ||
130 | name: z.string(), | ||
131 | simpleName: z.string(), | ||
132 | kind: z.enum(['IMPLICIT', 'INDIVIDUAL', 'NEW']), | ||
133 | }); | ||
134 | |||
135 | export type NodeMetadata = z.infer<typeof NodeMetadata>; | ||
136 | |||
137 | export const RelationMetadata = z.object({ | ||
138 | name: z.string(), | ||
139 | simpleName: z.string(), | ||
140 | arity: z.number().nonnegative(), | ||
141 | detail: z.union([ | ||
142 | z.object({ type: z.literal('class'), abstractClass: z.boolean() }), | ||
143 | z.object({ type: z.literal('reference'), containment: z.boolean() }), | ||
144 | z.object({ | ||
145 | type: z.literal('opposite'), | ||
146 | container: z.boolean(), | ||
147 | opposite: z.string(), | ||
148 | }), | ||
149 | z.object({ type: z.literal('predicate'), error: z.boolean() }), | ||
150 | z.object({ type: z.literal('builtin') }), | ||
151 | ]), | ||
152 | }); | ||
153 | |||
154 | export type RelationMetadata = z.infer<typeof RelationMetadata>; | ||
155 | |||
129 | export const SemanticsSuccessResult = z.object({ | 156 | export const SemanticsSuccessResult = z.object({ |
130 | nodes: z.string().nullable().array(), | 157 | nodes: NodeMetadata.array(), |
158 | relations: RelationMetadata.array(), | ||
131 | partialInterpretation: z.record( | 159 | partialInterpretation: z.record( |
132 | z.string(), | 160 | z.string(), |
133 | z.union([z.number(), z.string()]).array().array(), | 161 | z.union([z.number(), z.string()]).array().array(), |