@powerhousedao/builder-tools 0.9.38-dev.2 → 0.9.38-dev.3
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/document-model-editor/components/code-editors/graphql-editor.d.ts.map +1 -1
- package/dist/document-model-editor/components/code-editors/graphql-editor.js +14 -21
- package/dist/document-model-editor/components/code-editors/graphql-editor.js.map +1 -1
- package/dist/document-model-editor/components/code-editors/utils.d.ts.map +1 -1
- package/dist/document-model-editor/components/code-editors/utils.js +5 -4
- package/dist/document-model-editor/components/code-editors/utils.js.map +1 -1
- package/dist/document-model-editor/components/form.d.ts +1 -1
- package/dist/document-model-editor/components/form.d.ts.map +1 -1
- package/dist/document-model-editor/components/state-schemas.d.ts.map +1 -1
- package/dist/document-model-editor/components/state-schemas.js +26 -6
- package/dist/document-model-editor/components/state-schemas.js.map +1 -1
- package/dist/document-model-editor/components/text-field.d.ts.map +1 -1
- package/dist/document-model-editor/components/text-field.js +5 -4
- package/dist/document-model-editor/components/text-field.js.map +1 -1
- package/dist/document-model-editor/constants/documents.js +1 -1
- package/dist/document-model-editor/constants/documents.js.map +1 -1
- package/dist/document-model-editor/constants/graphql-kinds.d.ts +9 -0
- package/dist/document-model-editor/constants/graphql-kinds.d.ts.map +1 -0
- package/dist/document-model-editor/constants/graphql-kinds.js +13 -0
- package/dist/document-model-editor/constants/graphql-kinds.js.map +1 -0
- package/dist/document-model-editor/context/schema-context.d.ts +2 -0
- package/dist/document-model-editor/context/schema-context.d.ts.map +1 -1
- package/dist/document-model-editor/context/schema-context.js +5 -5
- package/dist/document-model-editor/context/schema-context.js.map +1 -1
- package/dist/document-model-editor/types.d.ts +2 -0
- package/dist/document-model-editor/types.d.ts.map +1 -0
- package/dist/document-model-editor/types.js +2 -0
- package/dist/document-model-editor/types.js.map +1 -0
- package/dist/document-model-editor/utils/helpers.d.ts +16 -16
- package/dist/document-model-editor/utils/helpers.d.ts.map +1 -1
- package/dist/document-model-editor/utils/helpers.js +278 -216
- package/dist/document-model-editor/utils/helpers.js.map +1 -1
- package/dist/document-model-editor/utils/linting.d.ts.map +1 -1
- package/dist/document-model-editor/utils/linting.js +13 -10
- package/dist/document-model-editor/utils/linting.js.map +1 -1
- package/dist/style.css +95 -39
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +41 -40
|
@@ -1,241 +1,301 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BOOLEAN_GQL_PRIMITIVE_NAME, FLOAT_GQL_PRIMITIVE_NAME, gqlPrimitiveNodeNamesList, ID_GQL_PRIMITIVE_NAME, INT_GQL_PRIMITIVE_NAME, STRING_GQL_PRIMITIVE_NAME, } from "#document-model-editor/constants/graphql-kinds";
|
|
2
|
+
import { safeParseSdl } from "#document-model-editor/context/schema-context";
|
|
3
|
+
import { getPHCustomScalarByTypeName, } from "@powerhousedao/document-engineering/graphql";
|
|
2
4
|
import { pascalCase } from "change-case";
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
fields: [
|
|
13
|
-
{
|
|
14
|
-
description: {
|
|
15
|
-
kind: Kind.STRING,
|
|
16
|
-
value: `Add your ${scope} state fields here`,
|
|
17
|
-
block: false,
|
|
18
|
-
},
|
|
19
|
-
kind: Kind.FIELD_DEFINITION,
|
|
20
|
-
name: { kind: Kind.NAME, value: "_placeholder" },
|
|
21
|
-
type: {
|
|
22
|
-
kind: Kind.NAMED_TYPE,
|
|
23
|
-
name: { kind: Kind.NAME, value: "String" },
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
};
|
|
28
|
-
return print(inputNode);
|
|
5
|
+
import { Kind, print, visit, } from "graphql";
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
export function makeStateSchemaNameForScope(modelName, scope) {
|
|
8
|
+
const modelNamePascalCase = pascalCase(modelName);
|
|
9
|
+
const scopePascalCase = pascalCase(scope);
|
|
10
|
+
const scopeStateTypeNamePrefix = scopePascalCase === "Global" ? "" : scopePascalCase;
|
|
11
|
+
const name = `${scopeStateTypeNamePrefix}${modelNamePascalCase}State`;
|
|
12
|
+
return name;
|
|
29
13
|
}
|
|
30
|
-
export function
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
fields: [
|
|
38
|
-
{
|
|
39
|
-
description: {
|
|
40
|
-
kind: Kind.STRING,
|
|
41
|
-
value: "Add your inputs here",
|
|
42
|
-
block: false,
|
|
43
|
-
},
|
|
44
|
-
kind: Kind.INPUT_VALUE_DEFINITION,
|
|
45
|
-
name: { kind: Kind.NAME, value: "_placeholder" },
|
|
46
|
-
type: {
|
|
47
|
-
kind: Kind.NAMED_TYPE,
|
|
48
|
-
name: { kind: Kind.NAME, value: "String" },
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
};
|
|
53
|
-
return print(inputNode);
|
|
14
|
+
export function makeInitialSchemaDoc(modelName, scope) {
|
|
15
|
+
const name = makeStateSchemaNameForScope(modelName, scope);
|
|
16
|
+
const stateSchemaSdl = `type ${name} {
|
|
17
|
+
"Add your ${scope} state fields here"
|
|
18
|
+
_placeholder: String
|
|
19
|
+
}`;
|
|
20
|
+
return stateSchemaSdl;
|
|
54
21
|
}
|
|
55
|
-
export function
|
|
56
|
-
|
|
22
|
+
export function makeOperationInitialDoc(name) {
|
|
23
|
+
const inputSdl = `input ${pascalCase(name)}Input {
|
|
24
|
+
"Add your inputs here"
|
|
25
|
+
_placeholder: String
|
|
26
|
+
}`;
|
|
27
|
+
return inputSdl;
|
|
57
28
|
}
|
|
58
|
-
export function
|
|
59
|
-
|
|
29
|
+
export function safeParseJsonRecord(json) {
|
|
30
|
+
try {
|
|
31
|
+
return JSON.parse(json);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
60
36
|
}
|
|
61
|
-
export function
|
|
62
|
-
const
|
|
63
|
-
const
|
|
64
|
-
|
|
37
|
+
export function makeMinimalObjectForStateType(args) {
|
|
38
|
+
const { sharedSchemaDocumentNode, stateTypeDefinitionNode, existingValue } = args;
|
|
39
|
+
const existingValueObject = safeParseJsonRecord(existingValue);
|
|
40
|
+
if (!existingValueObject) {
|
|
41
|
+
return existingValue;
|
|
42
|
+
}
|
|
43
|
+
const stateTypeDefinitionFields = stateTypeDefinitionNode.fields;
|
|
44
|
+
if (!stateTypeDefinitionFields?.length) {
|
|
45
|
+
return existingValue;
|
|
46
|
+
}
|
|
47
|
+
const minimalObject = makeMinimalValuesForObjectFields({
|
|
48
|
+
schemaDocumentNode: sharedSchemaDocumentNode,
|
|
49
|
+
fieldDefinitionNodes: stateTypeDefinitionFields,
|
|
50
|
+
existingValueObject,
|
|
51
|
+
});
|
|
52
|
+
return JSON.stringify(minimalObject, null, 2);
|
|
65
53
|
}
|
|
66
|
-
export function
|
|
67
|
-
const
|
|
68
|
-
|
|
54
|
+
export function makeMinimalValuesForObjectFields(args) {
|
|
55
|
+
const { schemaDocumentNode, existingValueObject, fieldDefinitionNodes } = args;
|
|
56
|
+
const newJson = {};
|
|
57
|
+
for (const astNode of fieldDefinitionNodes) {
|
|
58
|
+
const fieldName = getASTNodeName(astNode);
|
|
59
|
+
if (!fieldName) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const minimalValue = makeMinimalValueForASTNode({
|
|
63
|
+
fieldName,
|
|
64
|
+
astNode,
|
|
65
|
+
schemaDocumentNode,
|
|
66
|
+
existingValueObject,
|
|
67
|
+
});
|
|
68
|
+
newJson[astNode.name.value] = minimalValue;
|
|
69
|
+
}
|
|
70
|
+
return newJson;
|
|
71
|
+
}
|
|
72
|
+
function makeMinimalValueForASTNode(args) {
|
|
73
|
+
const { fieldName, astNode, schemaDocumentNode, existingValueObject } = args;
|
|
74
|
+
const existingFieldValue = existingValueObject?.[fieldName];
|
|
75
|
+
let node = astNode;
|
|
76
|
+
if (isFieldDefinitionNode(astNode)) {
|
|
77
|
+
node = getASTNodeTypeNode(node);
|
|
78
|
+
}
|
|
79
|
+
const isNonNull = isNonNullNode(node);
|
|
80
|
+
if (isNonNull) {
|
|
81
|
+
node = getASTNodeTypeNode(node);
|
|
82
|
+
}
|
|
83
|
+
if (isListTypeNode(node)) {
|
|
84
|
+
return makeMinimalValueForGqlListNode(node, existingFieldValue, isNonNull);
|
|
85
|
+
}
|
|
86
|
+
if (isGqlPrimitiveNode(node)) {
|
|
87
|
+
return makeMinimalValueForGQLPrimitiveNode(node, existingFieldValue, isNonNull);
|
|
88
|
+
}
|
|
89
|
+
const namedTypeDefinitionNode = getNamedTypeDefinitionNode(node, schemaDocumentNode);
|
|
90
|
+
if (isEnumTypeDefinitionNode(namedTypeDefinitionNode)) {
|
|
91
|
+
return makeMinimalValueForGqlEnum(namedTypeDefinitionNode, existingFieldValue, isNonNull);
|
|
92
|
+
}
|
|
93
|
+
if (isScalarTypeDefinitionNode(namedTypeDefinitionNode)) {
|
|
94
|
+
return makeMinimalValueForGqlScalar(namedTypeDefinitionNode, existingFieldValue, isNonNull);
|
|
95
|
+
}
|
|
96
|
+
if (isUnionTypeDefinitionNode(namedTypeDefinitionNode)) {
|
|
97
|
+
return makeMinimalValueForGqlUnion(namedTypeDefinitionNode, existingFieldValue, schemaDocumentNode, existingValueObject, isNonNull);
|
|
98
|
+
}
|
|
99
|
+
if (isObjectTypeDefinitionNode(namedTypeDefinitionNode)) {
|
|
100
|
+
return makeMinimalValueForGqlObject(namedTypeDefinitionNode, schemaDocumentNode, existingValueObject, existingFieldValue, isNonNull);
|
|
101
|
+
}
|
|
102
|
+
return existingFieldValue;
|
|
69
103
|
}
|
|
70
|
-
|
|
71
|
-
|
|
104
|
+
function isFieldDefinitionNode(astNodeTypeNode) {
|
|
105
|
+
if (!astNodeTypeNode)
|
|
106
|
+
return false;
|
|
107
|
+
return astNodeTypeNode.kind === Kind.FIELD_DEFINITION;
|
|
72
108
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
website: globalState.author.website,
|
|
78
|
-
};
|
|
79
|
-
return {
|
|
80
|
-
name: globalState.name,
|
|
81
|
-
documentType: globalState.id,
|
|
82
|
-
description: globalState.description,
|
|
83
|
-
extension: globalState.extension,
|
|
84
|
-
author,
|
|
85
|
-
};
|
|
109
|
+
function isNonNullNode(astNode) {
|
|
110
|
+
if (!astNode)
|
|
111
|
+
return false;
|
|
112
|
+
return astNode.kind === Kind.NON_NULL_TYPE;
|
|
86
113
|
}
|
|
87
|
-
export function
|
|
88
|
-
if (!
|
|
89
|
-
return
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
114
|
+
export function isGqlPrimitiveNode(astNodeTypeNode) {
|
|
115
|
+
if (!astNodeTypeNode)
|
|
116
|
+
return false;
|
|
117
|
+
const name = getASTNodeName(astNodeTypeNode);
|
|
118
|
+
return gqlPrimitiveNodeNamesList.includes(name);
|
|
119
|
+
}
|
|
120
|
+
function isListTypeNode(astNodeTypeNode) {
|
|
121
|
+
if (!astNodeTypeNode)
|
|
122
|
+
return false;
|
|
123
|
+
return astNodeTypeNode.kind === Kind.LIST_TYPE;
|
|
124
|
+
}
|
|
125
|
+
function isEnumTypeDefinitionNode(definitionNode) {
|
|
126
|
+
if (!definitionNode)
|
|
127
|
+
return false;
|
|
128
|
+
return definitionNode.kind === Kind.ENUM_TYPE_DEFINITION;
|
|
129
|
+
}
|
|
130
|
+
function isScalarTypeDefinitionNode(definitionNode) {
|
|
131
|
+
if (!definitionNode)
|
|
132
|
+
return false;
|
|
133
|
+
return definitionNode.kind === Kind.SCALAR_TYPE_DEFINITION;
|
|
134
|
+
}
|
|
135
|
+
function isUnionTypeDefinitionNode(definitionNode) {
|
|
136
|
+
if (!definitionNode)
|
|
137
|
+
return false;
|
|
138
|
+
return definitionNode.kind === Kind.UNION_TYPE_DEFINITION;
|
|
139
|
+
}
|
|
140
|
+
function isObjectTypeDefinitionNode(definitionNode) {
|
|
141
|
+
if (!definitionNode)
|
|
142
|
+
return false;
|
|
143
|
+
return definitionNode.kind === Kind.OBJECT_TYPE_DEFINITION;
|
|
144
|
+
}
|
|
145
|
+
function getASTNodeName(astNode) {
|
|
146
|
+
if (!astNode) {
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
if (!("name" in astNode)) {
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
if (!astNode.name) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
if (!("value" in astNode.name)) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
return astNode.name.value;
|
|
159
|
+
}
|
|
160
|
+
function getASTNodeTypeNode(astNode) {
|
|
161
|
+
if (!astNode) {
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
if (!("type" in astNode)) {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
return astNode.type;
|
|
168
|
+
}
|
|
169
|
+
function makeMinimalValueForGQLPrimitiveNode(primitiveTypeNode, existingFieldValue, isNonNull) {
|
|
170
|
+
const name = getASTNodeName(primitiveTypeNode);
|
|
171
|
+
if (!name) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
switch (name) {
|
|
175
|
+
case ID_GQL_PRIMITIVE_NAME: {
|
|
176
|
+
if (z.string().safeParse(existingFieldValue).success) {
|
|
177
|
+
return existingFieldValue;
|
|
102
178
|
}
|
|
103
|
-
return
|
|
179
|
+
return isNonNull ? "placeholder-id" : null;
|
|
104
180
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
181
|
+
case BOOLEAN_GQL_PRIMITIVE_NAME: {
|
|
182
|
+
if (z.boolean().safeParse(existingFieldValue).success) {
|
|
183
|
+
return existingFieldValue;
|
|
184
|
+
}
|
|
185
|
+
return isNonNull ? false : null;
|
|
108
186
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
187
|
+
case INT_GQL_PRIMITIVE_NAME: {
|
|
188
|
+
if (z.number().safeParse(existingFieldValue).success) {
|
|
189
|
+
return existingFieldValue;
|
|
190
|
+
}
|
|
191
|
+
return isNonNull ? 0 : null;
|
|
112
192
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
193
|
+
case FLOAT_GQL_PRIMITIVE_NAME: {
|
|
194
|
+
if (z.number().safeParse(existingFieldValue).success) {
|
|
195
|
+
return existingFieldValue;
|
|
196
|
+
}
|
|
197
|
+
return isNonNull ? 0.0 : null;
|
|
118
198
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
199
|
+
case STRING_GQL_PRIMITIVE_NAME: {
|
|
200
|
+
if (z.string().safeParse(existingFieldValue).success) {
|
|
201
|
+
return existingFieldValue;
|
|
202
|
+
}
|
|
203
|
+
return isNonNull ? "" : null;
|
|
124
204
|
}
|
|
125
|
-
|
|
126
|
-
|
|
205
|
+
}
|
|
206
|
+
return isNonNull ? existingFieldValue : null;
|
|
127
207
|
}
|
|
128
|
-
function
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return scalar.parseValue(value) !== undefined;
|
|
134
|
-
}
|
|
208
|
+
function makeMinimalValueForGqlEnum(namedTypeDefinitionNode, existingFieldValue, isNonNull) {
|
|
209
|
+
const enumValues = namedTypeDefinitionNode.values?.map((value) => value.name.value) ?? [];
|
|
210
|
+
if (typeof existingFieldValue === "string" &&
|
|
211
|
+
enumValues.includes(existingFieldValue)) {
|
|
212
|
+
return existingFieldValue;
|
|
135
213
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return Number.isInteger(value);
|
|
139
|
-
case "Float":
|
|
140
|
-
return typeof value === "number";
|
|
141
|
-
case "Boolean":
|
|
142
|
-
return typeof value === "boolean";
|
|
143
|
-
case "DateTime":
|
|
144
|
-
return typeof value === "string" && !isNaN(Date.parse(value));
|
|
145
|
-
case "ID":
|
|
146
|
-
case "String":
|
|
147
|
-
default:
|
|
148
|
-
return typeof value === "string";
|
|
214
|
+
if (isNonNull) {
|
|
215
|
+
return enumValues[0];
|
|
149
216
|
}
|
|
217
|
+
return null;
|
|
150
218
|
}
|
|
151
|
-
function
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
const typeName = nullableType.name;
|
|
155
|
-
if (existingValue !== undefined &&
|
|
156
|
-
isValidScalarValue(typeName, existingValue)) {
|
|
157
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
158
|
-
return existingValue;
|
|
159
|
-
}
|
|
160
|
-
switch (typeName) {
|
|
161
|
-
case "Int":
|
|
162
|
-
case "Float":
|
|
163
|
-
return 0;
|
|
164
|
-
case "Boolean":
|
|
165
|
-
return false;
|
|
166
|
-
case "DateTime":
|
|
167
|
-
return new Date().toISOString();
|
|
168
|
-
case "ID":
|
|
169
|
-
case "String":
|
|
170
|
-
default:
|
|
171
|
-
return ""; // Return empty string for custom scalars and String/ID types
|
|
172
|
-
}
|
|
219
|
+
function makeMinimalValueForGqlScalar(scalarTypeDefinitionNode, existingFieldValue, isNonNull) {
|
|
220
|
+
if (!isNonNull && !existingFieldValue) {
|
|
221
|
+
return null;
|
|
173
222
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
179
|
-
return existingValue;
|
|
180
|
-
}
|
|
181
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
182
|
-
return enumValues[0] || null;
|
|
183
|
-
}
|
|
184
|
-
if (isListType(nullableType)) {
|
|
185
|
-
if (existingValue !== undefined && Array.isArray(existingValue)) {
|
|
186
|
-
// Optionally, validate each element in the array
|
|
187
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
188
|
-
return existingValue;
|
|
189
|
-
}
|
|
190
|
-
return [];
|
|
223
|
+
const name = getASTNodeName(scalarTypeDefinitionNode);
|
|
224
|
+
if (!name) {
|
|
225
|
+
console.error("No name for scalar type definition node", scalarTypeDefinitionNode);
|
|
226
|
+
return null;
|
|
191
227
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
const _existingValue = existingValue;
|
|
196
|
-
for (const fieldName in fields) {
|
|
197
|
-
const field = fields[fieldName];
|
|
198
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
199
|
-
const existingFieldValue = _existingValue
|
|
200
|
-
? _existingValue[fieldName]
|
|
201
|
-
: undefined;
|
|
202
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
203
|
-
result[fieldName] = getMinimalValue(field.type, schema, existingFieldValue);
|
|
204
|
-
}
|
|
205
|
-
return result;
|
|
228
|
+
const scalar = getPHCustomScalarByTypeName(name);
|
|
229
|
+
if (!scalar) {
|
|
230
|
+
return null;
|
|
206
231
|
}
|
|
207
|
-
|
|
208
|
-
|
|
232
|
+
const existingValueIsValid = scalar.schema.safeParse(existingFieldValue);
|
|
233
|
+
if (existingValueIsValid.success) {
|
|
234
|
+
return existingFieldValue;
|
|
235
|
+
}
|
|
236
|
+
if (!isNonNull) {
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
const minimalValue = scalar.getDefaultValue?.();
|
|
240
|
+
if (minimalValue) {
|
|
241
|
+
return minimalValue;
|
|
242
|
+
}
|
|
243
|
+
return existingFieldValue;
|
|
209
244
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
245
|
+
function makeMinimalValueForGqlUnion(namedTypeDefinitionNode, existingFieldValue, schemaDocumentNode, existingValueObject, isNonNull) {
|
|
246
|
+
if (!isNonNull && !existingFieldValue) {
|
|
247
|
+
return null;
|
|
248
|
+
}
|
|
249
|
+
const types = namedTypeDefinitionNode.types;
|
|
250
|
+
if (!types?.length) {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
const firstNamedTypeDefinitionNode = namedTypeDefinitionNode.types?.at(0);
|
|
254
|
+
if (!firstNamedTypeDefinitionNode) {
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
const firstNamedTypeObjectDefinitionNode = getNamedTypeDefinitionNode(firstNamedTypeDefinitionNode, schemaDocumentNode);
|
|
258
|
+
if (!isObjectTypeDefinitionNode(firstNamedTypeObjectDefinitionNode)) {
|
|
259
|
+
return null;
|
|
260
|
+
}
|
|
261
|
+
return makeMinimalValueForGqlObject(firstNamedTypeObjectDefinitionNode, schemaDocumentNode, existingValueObject, existingFieldValue, isNonNull);
|
|
262
|
+
}
|
|
263
|
+
function makeMinimalValueForGqlListNode(listTypeNode, existingFieldValue, isNonNull) {
|
|
264
|
+
if (!isNonNull && !Array.isArray(existingFieldValue)) {
|
|
265
|
+
return null;
|
|
266
|
+
}
|
|
267
|
+
if (isNonNull && !Array.isArray(existingFieldValue)) {
|
|
268
|
+
return [];
|
|
269
|
+
}
|
|
270
|
+
return existingFieldValue;
|
|
271
|
+
}
|
|
272
|
+
function makeMinimalValueForGqlObject(objectTypeDefinitionNode, schemaDocumentNode, existingValueObject, existingFieldValue, isNonNull) {
|
|
273
|
+
if (!isNonNull && !existingFieldValue) {
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
276
|
+
const fields = objectTypeDefinitionNode.fields;
|
|
277
|
+
if (!fields?.length) {
|
|
278
|
+
return {};
|
|
279
|
+
}
|
|
280
|
+
return makeMinimalValuesForObjectFields({
|
|
281
|
+
schemaDocumentNode,
|
|
282
|
+
existingValueObject,
|
|
283
|
+
fieldDefinitionNodes: fields,
|
|
220
284
|
});
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
237
|
-
const minimalObject = getMinimalValue(type, effectiveSchema, existingValue);
|
|
238
|
-
return JSON.stringify(minimalObject, null, 2);
|
|
285
|
+
}
|
|
286
|
+
function getNamedTypeDefinitionNode(astNodeTypeNode, schemaDocumentNode) {
|
|
287
|
+
if (!astNodeTypeNode) {
|
|
288
|
+
return null;
|
|
289
|
+
}
|
|
290
|
+
const name = getASTNodeName(astNodeTypeNode);
|
|
291
|
+
if (!name) {
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
const definitionNode = schemaDocumentNode.definitions.find((def) => "kind" in def && "name" in def && def.name?.value === name);
|
|
295
|
+
if (!definitionNode) {
|
|
296
|
+
return null;
|
|
297
|
+
}
|
|
298
|
+
return definitionNode;
|
|
239
299
|
}
|
|
240
300
|
function removeWhitespace(str) {
|
|
241
301
|
return str.replace(/\s+|\\n|\\t/g, "").toLowerCase();
|
|
@@ -252,7 +312,9 @@ export function renameSchemaType(sdl, oldName, newName, scope) {
|
|
|
252
312
|
const typeSuffix = scope === "global" ? "State" : "LocalState";
|
|
253
313
|
const oldTypeName = `${pascalCase(oldName)}${typeSuffix}`;
|
|
254
314
|
const newTypeName = `${pascalCase(newName)}${typeSuffix}`;
|
|
255
|
-
const ast =
|
|
315
|
+
const ast = safeParseSdl(sdl);
|
|
316
|
+
if (!ast)
|
|
317
|
+
return sdl;
|
|
256
318
|
const updatedAst = visit(ast, {
|
|
257
319
|
ObjectTypeDefinition: (node) => {
|
|
258
320
|
if (node.name.value === oldTypeName) {
|
|
@@ -283,7 +345,7 @@ export function updateModelSchemaNames(params) {
|
|
|
283
345
|
}
|
|
284
346
|
}
|
|
285
347
|
export function handleModelNameChange(params) {
|
|
286
|
-
const {
|
|
348
|
+
const { newName, globalStateSchema, setStateSchema } = params;
|
|
287
349
|
const hasExistingSchema = !!globalStateSchema;
|
|
288
350
|
if (!hasExistingSchema) {
|
|
289
351
|
initializeModelSchema({ modelName: newName, setStateSchema });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../document-model-editor/utils/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../document-model-editor/utils/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EAExB,yBAAyB,EACzB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,EACL,2BAA2B,GAE5B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAML,IAAI,EAKJ,KAAK,EAGL,KAAK,GACN,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,2BAA2B,CAAC,SAAiB,EAAE,KAAa;IAC1E,MAAM,mBAAmB,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,wBAAwB,GAC5B,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,wBAAwB,GAAG,mBAAmB,OAAO,CAAC;IACtE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,SAAiB,EAAE,KAAa;IACnE,MAAM,IAAI,GAAG,2BAA2B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,QAAQ,IAAI;cACvB,KAAK;;EAEjB,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,QAAQ,GAAG,SAAS,UAAU,CAAC,IAAI,CAAC;;;EAG1C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,IAI7C;IACC,MAAM,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,aAAa,EAAE,GACxE,IAAI,CAAC;IACP,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,MAAM,CAAC;IACjE,IAAI,CAAC,yBAAyB,EAAE,MAAM,EAAE,CAAC;QACvC,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,MAAM,aAAa,GAAG,gCAAgC,CAAC;QACrD,kBAAkB,EAAE,wBAAwB;QAC5C,oBAAoB,EAAE,yBAAyB;QAC/C,mBAAmB;KACpB,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,IAIhD;IACC,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,GACrE,IAAI,CAAC;IACP,MAAM,OAAO,GAAiC,EAAE,CAAC;IAEjD,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,0BAA0B,CAAC;YAC9C,SAAS;YACT,OAAO;YACP,kBAAkB;YAClB,mBAAmB;SACpB,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,IAKnC;IACC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IAC7E,MAAM,kBAAkB,GAAG,mBAAmB,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5D,IAAI,IAAI,GAAmB,OAAO,CAAC;IAEnC,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,8BAA8B,CAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,mCAAmC,CACxC,IAAI,EACJ,kBAAkB,EAClB,SAAS,CACV,CAAC;IACJ,CAAC;IAED,MAAM,uBAAuB,GAAG,0BAA0B,CACxD,IAAI,EACJ,kBAAkB,CACnB,CAAC;IAEF,IAAI,wBAAwB,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACtD,OAAO,0BAA0B,CAC/B,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,CACV,CAAC;IACJ,CAAC;IACD,IAAI,0BAA0B,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACxD,OAAO,4BAA4B,CACjC,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,CACV,CAAC;IACJ,CAAC;IACD,IAAI,yBAAyB,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACvD,OAAO,2BAA2B,CAChC,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,CACV,CAAC;IACJ,CAAC;IACD,IAAI,0BAA0B,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACxD,OAAO,4BAA4B,CACjC,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,CACV,CAAC;IACJ,CAAC;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,qBAAqB,CAC5B,eAA+B;IAE/B,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,eAAe,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,OAAuB;IAC5C,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,eAA+B;IAE/B,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,IAAI,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAC7C,OAAO,yBAAyB,CAAC,QAAQ,CAAC,IAA4B,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,cAAc,CACrB,eAA+B;IAE/B,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,eAAe,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAS,wBAAwB,CAC/B,cAAqC;IAErC,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,CAAC;AAC3D,CAAC;AAED,SAAS,0BAA0B,CACjC,cAAqC;IAErC,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,sBAAsB,CAAC;AAC7D,CAAC;AAED,SAAS,yBAAyB,CAChC,cAAqC;IAErC,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,qBAAqB,CAAC;AAC5D,CAAC;AAED,SAAS,0BAA0B,CACjC,cAAqC;IAErC,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,sBAAsB,CAAC;AAC7D,CAAC;AAED,SAAS,cAAc,CAAC,OAAuB;IAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAuB;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,mCAAmC,CAC1C,iBAAgC,EAChC,kBAAgC,EAChC,SAAkB;IAElB,MAAM,IAAI,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,qBAAqB,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACrD,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,CAAC;QACD,KAAK,0BAA0B,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACtD,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACrD,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACrD,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,KAAK,yBAAyB,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC;gBACrD,OAAO,kBAAkB,CAAC;YAC5B,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/C,CAAC;AAED,SAAS,0BAA0B,CACjC,uBAA+C,EAC/C,kBAAgC,EAChC,SAAkB;IAElB,MAAM,UAAU,GACd,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzE,IACE,OAAO,kBAAkB,KAAK,QAAQ;QACtC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EACvC,CAAC;QACD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,4BAA4B,CACnC,wBAAkD,EAClD,kBAAgC,EAChC,SAAkB;IAElB,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,wBAAwB,CAAC,CAAC;IACtD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CACX,yCAAyC,EACzC,wBAAwB,CACzB,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACzE,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;IAChD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,2BAA2B,CAClC,uBAAgD,EAChD,kBAAgC,EAChC,kBAAgC,EAChC,mBAAwD,EACxD,SAAkB;IAElB,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC;IAC5C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,4BAA4B,GAAG,uBAAuB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,kCAAkC,GAAG,0BAA0B,CACnE,4BAA4B,EAC5B,kBAAkB,CACnB,CAAC;IACF,IAAI,CAAC,0BAA0B,CAAC,kCAAkC,CAAC,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,4BAA4B,CACjC,kCAAkC,EAClC,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CACrC,YAA0B,EAC1B,kBAAgC,EAChC,SAAkB;IAElB,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED,SAAS,4BAA4B,CACnC,wBAAkD,EAClD,kBAAgC,EAChC,mBAAwD,EACxD,kBAAgC,EAChC,SAAkB;IAElB,IAAI,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,wBAAwB,CAAC,MAAM,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,gCAAgC,CAAC;QACtC,kBAAkB;QAClB,mBAAmB;QACnB,oBAAoB,EAAE,MAAM;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CACjC,eAA+B,EAC/B,kBAAgC;IAEhC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CACxD,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CACpE,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,IAA+B,EAC/B,IAA+B;IAE/B,IACE,IAAI,KAAK,IAAI;QACb,IAAI,KAAK,IAAI;QACb,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,SAAS;QAElB,OAAO,KAAK,CAAC;IACf,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,GAAW,EACX,OAAe,EACf,OAAe,EACf,KAAY;IAEZ,MAAM,UAAU,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;IAC/D,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC;IAC1D,MAAM,WAAW,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC;IAE1D,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAC;IAErB,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE;QAC5B,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBACpC,OAAO;oBACL,GAAG,IAAI;oBACP,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,IAAI;wBACZ,KAAK,EAAE,WAAW;qBACnB;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,UAAU,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAGrC;IACC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAC7C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACnE,cAAc,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAMtC;IACC,MAAM,EACJ,OAAO,EACP,OAAO,EACP,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,GAAG,MAAM,CAAC;IAEX,MAAM,SAAS,GAAG,gBAAgB,CAChC,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAC;IACF,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAEpC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,mBAAmB,GAAG,gBAAgB,CAC1C,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,OAAO,CACR,CAAC;QACF,cAAc,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAMrC;IACC,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAE9D,MAAM,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;IAE9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,qBAAqB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,sBAAsB,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linting.d.ts","sourceRoot":"","sources":["../../../document-model-editor/utils/linting.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"linting.d.ts","sourceRoot":"","sources":["../../../document-model-editor/utils/linting.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,wBAAgB,yCAAyC,CACvD,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,OAAO,IAAI,GAC1B,OAAO,CAUT;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,UAAU,GAAG,SAAS,CAcxB;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,gBAwBd;AAED,wBAAgB,mCAAmC,CACjD,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,aAAa,EAAE,MAAM,gBAqBtB"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { safeParseSdl } from "#document-model-editor/context/schema-context";
|
|
2
2
|
import { pascalCase, sentenceCase } from "change-case";
|
|
3
|
-
import {
|
|
3
|
+
import { Kind } from "graphql";
|
|
4
4
|
export function ensureDocumentContainsNodeWithNameAndType(doc, nodeName, nodeType) {
|
|
5
|
-
|
|
5
|
+
const parsedDoc = safeParseSdl(doc);
|
|
6
|
+
if (!parsedDoc)
|
|
6
7
|
return true;
|
|
7
|
-
const parsedDoc = parse(doc);
|
|
8
8
|
return parsedDoc.definitions.some((def) => {
|
|
9
9
|
const hasMatchingType = def.kind === Kind[nodeType];
|
|
10
10
|
return hasMatchingType && "name" in def && def.name?.value === nodeName;
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
export function createNodeTypeAndNameDiagnostic(doc, errorMessage) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
const parsedDoc = safeParseSdl(doc);
|
|
15
|
+
if (!parsedDoc)
|
|
16
|
+
return undefined;
|
|
17
17
|
const firstNode = parsedDoc.definitions[0];
|
|
18
18
|
const nameNode = "name" in firstNode ? firstNode.name : null;
|
|
19
19
|
return {
|
|
@@ -24,9 +24,12 @@ export function createNodeTypeAndNameDiagnostic(doc, errorMessage) {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
export function ensureValidStateSchemaName(doc, modelName, scope) {
|
|
27
|
-
if (!
|
|
27
|
+
if (!safeParseSdl(doc))
|
|
28
28
|
return [];
|
|
29
|
-
const
|
|
29
|
+
const scopePascalCase = pascalCase(scope);
|
|
30
|
+
const modelNamePascalCase = pascalCase(modelName);
|
|
31
|
+
const scopeStateTypeNamePrefix = scopePascalCase === "Global" ? "" : scopePascalCase;
|
|
32
|
+
const requiredTypeName = `${scopeStateTypeNamePrefix}${modelNamePascalCase}State`;
|
|
30
33
|
if (!ensureDocumentContainsNodeWithNameAndType(doc, requiredTypeName, "OBJECT_TYPE_DEFINITION")) {
|
|
31
34
|
return [
|
|
32
35
|
createNodeTypeAndNameDiagnostic(doc, `${sentenceCase(scope)} state schema must be named ${requiredTypeName}`),
|
|
@@ -35,7 +38,7 @@ export function ensureValidStateSchemaName(doc, modelName, scope) {
|
|
|
35
38
|
return [];
|
|
36
39
|
}
|
|
37
40
|
export function ensureValidOperationSchemaInputName(doc, operationName) {
|
|
38
|
-
if (!doc || !
|
|
41
|
+
if (!doc || !safeParseSdl(doc))
|
|
39
42
|
return [];
|
|
40
43
|
const requiredTypeName = `${pascalCase(operationName)}Input`;
|
|
41
44
|
if (!ensureDocumentContainsNodeWithNameAndType(doc, requiredTypeName, "INPUT_OBJECT_TYPE_DEFINITION")) {
|