@featurevisor/core 2.10.0 → 2.12.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/CHANGELOG.md +22 -0
- package/coverage/clover.xml +684 -3
- package/coverage/coverage-final.json +4 -0
- package/coverage/lcov-report/builder/allocator.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedConditions.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedDatafile.ts.html +1 -1
- package/coverage/lcov-report/builder/buildScopedSegments.ts.html +1 -1
- package/coverage/lcov-report/builder/index.html +1 -1
- package/coverage/lcov-report/builder/revision.ts.html +1 -1
- package/coverage/lcov-report/builder/traffic.ts.html +1 -1
- package/coverage/lcov-report/index.html +25 -10
- package/coverage/lcov-report/linter/conditionSchema.ts.html +775 -0
- package/coverage/lcov-report/linter/featureSchema.ts.html +4924 -0
- package/coverage/lcov-report/linter/index.html +161 -0
- package/coverage/lcov-report/linter/schema.ts.html +1471 -0
- package/coverage/lcov-report/linter/segmentSchema.ts.html +130 -0
- package/coverage/lcov-report/list/index.html +1 -1
- package/coverage/lcov-report/list/matrix.ts.html +1 -1
- package/coverage/lcov-report/parsers/index.html +1 -1
- package/coverage/lcov-report/parsers/json.ts.html +1 -1
- package/coverage/lcov-report/parsers/yml.ts.html +1 -1
- package/coverage/lcov-report/tester/helpers.ts.html +1 -1
- package/coverage/lcov-report/tester/index.html +1 -1
- package/coverage/lcov.info +1471 -0
- package/lib/builder/buildDatafile.js +15 -1
- package/lib/builder/buildDatafile.js.map +1 -1
- package/lib/config/projectConfig.d.ts +2 -0
- package/lib/config/projectConfig.js +3 -1
- package/lib/config/projectConfig.js.map +1 -1
- package/lib/datasource/datasource.d.ts +6 -1
- package/lib/datasource/datasource.js +16 -0
- package/lib/datasource/datasource.js.map +1 -1
- package/lib/datasource/filesystemAdapter.js +10 -0
- package/lib/datasource/filesystemAdapter.js.map +1 -1
- package/lib/generate-code/typescript.js +283 -49
- package/lib/generate-code/typescript.js.map +1 -1
- package/lib/linter/conditionSchema.spec.d.ts +1 -0
- package/lib/linter/conditionSchema.spec.js +331 -0
- package/lib/linter/conditionSchema.spec.js.map +1 -0
- package/lib/linter/featureSchema.d.ts +153 -17
- package/lib/linter/featureSchema.js +536 -49
- package/lib/linter/featureSchema.js.map +1 -1
- package/lib/linter/featureSchema.spec.d.ts +1 -0
- package/lib/linter/featureSchema.spec.js +978 -0
- package/lib/linter/featureSchema.spec.js.map +1 -0
- package/lib/linter/lintProject.js +67 -1
- package/lib/linter/lintProject.js.map +1 -1
- package/lib/linter/schema.d.ts +42 -0
- package/lib/linter/schema.js +417 -0
- package/lib/linter/schema.js.map +1 -0
- package/lib/linter/schema.spec.d.ts +1 -0
- package/lib/linter/schema.spec.js +483 -0
- package/lib/linter/schema.spec.js.map +1 -0
- package/lib/linter/segmentSchema.spec.d.ts +1 -0
- package/lib/linter/segmentSchema.spec.js +231 -0
- package/lib/linter/segmentSchema.spec.js.map +1 -0
- package/lib/tester/testFeature.js +5 -3
- package/lib/tester/testFeature.js.map +1 -1
- package/lib/utils/git.js +3 -0
- package/lib/utils/git.js.map +1 -1
- package/package.json +5 -5
- package/src/builder/buildDatafile.ts +17 -1
- package/src/config/projectConfig.ts +3 -0
- package/src/datasource/datasource.ts +23 -0
- package/src/datasource/filesystemAdapter.ts +7 -0
- package/src/generate-code/typescript.ts +333 -52
- package/src/linter/conditionSchema.spec.ts +446 -0
- package/src/linter/featureSchema.spec.ts +1218 -0
- package/src/linter/featureSchema.ts +747 -70
- package/src/linter/lintProject.ts +84 -0
- package/src/linter/schema.spec.ts +617 -0
- package/src/linter/schema.ts +462 -0
- package/src/linter/segmentSchema.spec.ts +273 -0
- package/src/tester/testFeature.ts +5 -3
- package/src/utils/git.ts +2 -0
- package/lib/linter/propertySchema.d.ts +0 -5
- package/lib/linter/propertySchema.js +0 -43
- package/lib/linter/propertySchema.js.map +0 -1
- package/src/linter/propertySchema.ts +0 -47
|
@@ -26,35 +26,83 @@ function convertFeaturevisorTypeToTypeScriptType(featurevisorType) {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
30
|
-
* Handles nested object/array with structured items and properties.
|
|
29
|
+
* Resolve a schema to its full definition, following schema references (schema: key).
|
|
31
30
|
*/
|
|
32
|
-
function
|
|
33
|
-
|
|
31
|
+
function resolveSchema(schema, schemasByKey) {
|
|
32
|
+
if (schema.schema && schemasByKey[schema.schema]) {
|
|
33
|
+
return resolveSchema(schemasByKey[schema.schema], schemasByKey);
|
|
34
|
+
}
|
|
35
|
+
return schema;
|
|
36
|
+
}
|
|
37
|
+
/** Emit a TypeScript literal type for a primitive const value, or null if not a primitive. */
|
|
38
|
+
function constToLiteralType(constVal) {
|
|
39
|
+
if (constVal === null || constVal === undefined)
|
|
40
|
+
return null;
|
|
41
|
+
if (typeof constVal === "string")
|
|
42
|
+
return JSON.stringify(constVal);
|
|
43
|
+
if (typeof constVal === "number")
|
|
44
|
+
return String(constVal);
|
|
45
|
+
if (typeof constVal === "boolean")
|
|
46
|
+
return constVal ? "true" : "false";
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/** Emit a TypeScript union of literal types for an enum array (primitives only), or null. */
|
|
50
|
+
function enumToUnionType(enumArr) {
|
|
51
|
+
if (enumArr.length === 0)
|
|
52
|
+
return null;
|
|
53
|
+
const literals = [];
|
|
54
|
+
for (const v of enumArr) {
|
|
55
|
+
const lit = constToLiteralType(v);
|
|
56
|
+
if (lit === null)
|
|
57
|
+
return null;
|
|
58
|
+
literals.push(lit);
|
|
59
|
+
}
|
|
60
|
+
return literals.join(" | ");
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Converts a Schema (items or properties entry) to a TypeScript type string.
|
|
64
|
+
* Handles nested object/array and resolves schema references recursively.
|
|
65
|
+
* When schema has `oneOf`, emits a union of each branch type. When schema has primitive `const` or `enum`, emits a literal or union type.
|
|
66
|
+
* When schemaTypeNames is provided and schema is a reference (schema: key), returns that type name instead of inlining.
|
|
67
|
+
*/
|
|
68
|
+
function schemaToTypeScriptType(schema, schemasByKey, schemaTypeNames) {
|
|
69
|
+
if (schema?.schema && schemaTypeNames?.[schema.schema]) {
|
|
70
|
+
return schemaTypeNames[schema.schema];
|
|
71
|
+
}
|
|
72
|
+
const resolved = resolveSchema(schema, schemasByKey);
|
|
73
|
+
if (resolved.oneOf && Array.isArray(resolved.oneOf) && resolved.oneOf.length > 0) {
|
|
74
|
+
const parts = resolved.oneOf.map((branch) => schemaToTypeScriptType(branch, schemasByKey, schemaTypeNames));
|
|
75
|
+
return parts.join(" | ");
|
|
76
|
+
}
|
|
77
|
+
const literalFromConst = resolved.const !== undefined ? constToLiteralType(resolved.const) : null;
|
|
78
|
+
const unionFromEnum = resolved.enum && Array.isArray(resolved.enum) && resolved.enum.length > 0
|
|
79
|
+
? enumToUnionType(resolved.enum)
|
|
80
|
+
: null;
|
|
81
|
+
const type = resolved.type;
|
|
34
82
|
if (!type) {
|
|
35
|
-
return "unknown";
|
|
83
|
+
return literalFromConst ?? unionFromEnum ?? "unknown";
|
|
36
84
|
}
|
|
37
85
|
switch (type) {
|
|
38
86
|
case "boolean":
|
|
39
|
-
return "boolean";
|
|
87
|
+
return literalFromConst ?? unionFromEnum ?? "boolean";
|
|
40
88
|
case "string":
|
|
41
|
-
return "string";
|
|
89
|
+
return literalFromConst ?? unionFromEnum ?? "string";
|
|
42
90
|
case "integer":
|
|
43
91
|
case "double":
|
|
44
|
-
return "number";
|
|
92
|
+
return literalFromConst ?? unionFromEnum ?? "number";
|
|
45
93
|
case "array":
|
|
46
|
-
if (
|
|
47
|
-
return `(${
|
|
94
|
+
if (resolved.items) {
|
|
95
|
+
return `(${schemaToTypeScriptType(resolved.items, schemasByKey, schemaTypeNames)})[]`;
|
|
48
96
|
}
|
|
49
97
|
return "string[]";
|
|
50
98
|
case "object": {
|
|
51
|
-
const props =
|
|
99
|
+
const props = resolved.properties;
|
|
52
100
|
if (props && typeof props === "object" && Object.keys(props).length > 0) {
|
|
53
|
-
const requiredSet = new Set(
|
|
101
|
+
const requiredSet = new Set(resolved.required || []);
|
|
54
102
|
const entries = Object.entries(props)
|
|
55
103
|
.map(([k, v]) => {
|
|
56
|
-
const propType =
|
|
57
|
-
const optional =
|
|
104
|
+
const propType = schemaToTypeScriptType(v, schemasByKey, schemaTypeNames);
|
|
105
|
+
const optional = !requiredSet.has(k);
|
|
58
106
|
return optional ? `${k}?: ${propType}` : `${k}: ${propType}`;
|
|
59
107
|
})
|
|
60
108
|
.join("; ");
|
|
@@ -66,80 +114,208 @@ function propertySchemaToTypeScriptType(schema) {
|
|
|
66
114
|
return "unknown";
|
|
67
115
|
}
|
|
68
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Resolve variable schema to the schema shape used for code gen (inline or from schema reference).
|
|
119
|
+
*/
|
|
120
|
+
function getEffectiveVariableSchema(variableSchema, schemasByKey) {
|
|
121
|
+
if ("schema" in variableSchema && variableSchema.schema) {
|
|
122
|
+
return schemasByKey[variableSchema.schema];
|
|
123
|
+
}
|
|
124
|
+
return variableSchema;
|
|
125
|
+
}
|
|
69
126
|
/**
|
|
70
127
|
* Generates TypeScript type/interface declarations and metadata for a variable.
|
|
71
128
|
* Returns declarations to emit (interface or type alias) plus the type name and generic to use in the getter.
|
|
129
|
+
* When isLiteralType is true, the getter return must be asserted so the SDK's primitive return type matches the literal.
|
|
130
|
+
* When schemaTypeNames is provided, direct schema refs and schema refs in array items use those type names and schemaTypesUsed is populated.
|
|
72
131
|
*/
|
|
73
|
-
function generateVariableTypeDeclarations(variableKey, variableSchema) {
|
|
132
|
+
function generateVariableTypeDeclarations(variableKey, variableSchema, schemasByKey, schemaTypeNames) {
|
|
74
133
|
const typeName = getPascalCase(variableKey) + "Variable";
|
|
75
134
|
const itemTypeName = getPascalCase(variableKey) + "VariableItem";
|
|
76
|
-
const
|
|
135
|
+
const schemaTypesUsed = [];
|
|
136
|
+
const addSchemaUsed = (name) => {
|
|
137
|
+
if (name && !schemaTypesUsed.includes(name))
|
|
138
|
+
schemaTypesUsed.push(name);
|
|
139
|
+
};
|
|
140
|
+
// Direct schema reference: emit type alias to schema type and reuse it
|
|
141
|
+
if (schemaTypeNames &&
|
|
142
|
+
"schema" in variableSchema &&
|
|
143
|
+
variableSchema.schema &&
|
|
144
|
+
schemasByKey[variableSchema.schema]) {
|
|
145
|
+
const schemaKey = variableSchema.schema;
|
|
146
|
+
const schemaTypeName = schemaTypeNames[schemaKey];
|
|
147
|
+
const resolvedSchema = resolveSchema(schemasByKey[schemaKey], schemasByKey);
|
|
148
|
+
const isOneOf = resolvedSchema.oneOf &&
|
|
149
|
+
Array.isArray(resolvedSchema.oneOf) &&
|
|
150
|
+
resolvedSchema.oneOf.length > 0 &&
|
|
151
|
+
!resolvedSchema.type;
|
|
152
|
+
const isLiteralSchema = resolvedSchema.const !== undefined ||
|
|
153
|
+
(resolvedSchema.enum && Array.isArray(resolvedSchema.enum) && resolvedSchema.enum.length > 0);
|
|
154
|
+
addSchemaUsed(schemaTypeName);
|
|
155
|
+
// getVariableArray<T> expects T to be the element type, not the full array type
|
|
156
|
+
let genericArg = schemaTypeName;
|
|
157
|
+
if (resolvedSchema.type === "array" && resolvedSchema.items) {
|
|
158
|
+
const itemsSchema = resolvedSchema.items;
|
|
159
|
+
if ("schema" in itemsSchema && itemsSchema.schema && schemaTypeNames[itemsSchema.schema]) {
|
|
160
|
+
genericArg = schemaTypeNames[itemsSchema.schema];
|
|
161
|
+
addSchemaUsed(genericArg);
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
genericArg = schemaToTypeScriptType(itemsSchema, schemasByKey, schemaTypeNames);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
declarations: [`${INDENT_NS}export type ${typeName} = ${schemaTypeName};`],
|
|
169
|
+
returnTypeName: schemaTypeName,
|
|
170
|
+
genericArg,
|
|
171
|
+
useGetVariable: isOneOf,
|
|
172
|
+
isLiteralType: isOneOf || isLiteralSchema,
|
|
173
|
+
schemaTypesUsed,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
const effective = getEffectiveVariableSchema(variableSchema, schemasByKey);
|
|
177
|
+
const type = effective?.type;
|
|
77
178
|
const declarations = [];
|
|
78
179
|
if (type === "json") {
|
|
79
|
-
return { declarations: [], returnTypeName: "T", genericArg: "T" };
|
|
180
|
+
return { declarations: [], returnTypeName: "T", genericArg: "T", schemaTypesUsed };
|
|
181
|
+
}
|
|
182
|
+
const effectiveOneOf = effective && "oneOf" in effective && Array.isArray(effective.oneOf)
|
|
183
|
+
? effective.oneOf
|
|
184
|
+
: undefined;
|
|
185
|
+
if (effectiveOneOf && effectiveOneOf.length > 0 && !type) {
|
|
186
|
+
const unionType = effectiveOneOf
|
|
187
|
+
.map((branch) => schemaToTypeScriptType(branch, schemasByKey, schemaTypeNames))
|
|
188
|
+
.join(" | ");
|
|
189
|
+
if (schemaTypeNames) {
|
|
190
|
+
Object.values(schemaTypeNames).forEach((n) => {
|
|
191
|
+
if (unionType.includes(n))
|
|
192
|
+
addSchemaUsed(n);
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
declarations.push(`${INDENT_NS}export type ${typeName} = ${unionType};`);
|
|
196
|
+
return {
|
|
197
|
+
declarations,
|
|
198
|
+
returnTypeName: typeName,
|
|
199
|
+
genericArg: typeName,
|
|
200
|
+
isLiteralType: true,
|
|
201
|
+
useGetVariable: true,
|
|
202
|
+
schemaTypesUsed,
|
|
203
|
+
};
|
|
80
204
|
}
|
|
81
205
|
if (type === "object") {
|
|
82
|
-
const
|
|
206
|
+
const resolvedEffective = effective && "properties" in effective
|
|
207
|
+
? resolveSchema(effective, schemasByKey)
|
|
208
|
+
: undefined;
|
|
209
|
+
const props = resolvedEffective?.properties;
|
|
83
210
|
if (props && typeof props === "object" && Object.keys(props).length > 0) {
|
|
84
|
-
const requiredSet = new Set(
|
|
211
|
+
const requiredSet = new Set(resolvedEffective?.required || []);
|
|
85
212
|
const entries = Object.entries(props)
|
|
86
213
|
.map(([k, v]) => {
|
|
87
|
-
const propType =
|
|
88
|
-
|
|
214
|
+
const propType = schemaToTypeScriptType(v, schemasByKey, schemaTypeNames);
|
|
215
|
+
if (schemaTypeNames)
|
|
216
|
+
Object.values(schemaTypeNames).forEach((n) => {
|
|
217
|
+
if (propType.includes(n))
|
|
218
|
+
addSchemaUsed(n);
|
|
219
|
+
});
|
|
220
|
+
const optional = !requiredSet.has(k);
|
|
89
221
|
return optional
|
|
90
222
|
? `${INDENT_NS_BODY}${k}?: ${propType};`
|
|
91
223
|
: `${INDENT_NS_BODY}${k}: ${propType};`;
|
|
92
224
|
})
|
|
93
225
|
.join("\n");
|
|
94
226
|
declarations.push(`${INDENT_NS}export interface ${typeName} {\n${entries}\n${INDENT_NS}}`);
|
|
95
|
-
return { declarations, returnTypeName: typeName, genericArg: typeName };
|
|
227
|
+
return { declarations, returnTypeName: typeName, genericArg: typeName, schemaTypesUsed };
|
|
96
228
|
}
|
|
97
229
|
declarations.push(`${INDENT_NS}export type ${typeName} = Record<string, unknown>;`);
|
|
98
|
-
return { declarations, returnTypeName: typeName, genericArg: typeName };
|
|
230
|
+
return { declarations, returnTypeName: typeName, genericArg: typeName, schemaTypesUsed };
|
|
99
231
|
}
|
|
100
232
|
if (type === "array") {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
233
|
+
const itemsSchema = effective && "items" in effective ? effective.items : undefined;
|
|
234
|
+
if (itemsSchema) {
|
|
235
|
+
const itemsRef = schemaTypeNames &&
|
|
236
|
+
"schema" in itemsSchema &&
|
|
237
|
+
itemsSchema.schema &&
|
|
238
|
+
schemasByKey[itemsSchema.schema]
|
|
239
|
+
? schemaTypeNames[itemsSchema.schema]
|
|
240
|
+
: null;
|
|
241
|
+
if (itemsRef) {
|
|
242
|
+
addSchemaUsed(itemsRef);
|
|
243
|
+
declarations.push(`${INDENT_NS}export type ${itemTypeName} = ${itemsRef};`);
|
|
244
|
+
return {
|
|
245
|
+
declarations,
|
|
246
|
+
returnTypeName: `${itemTypeName}[]`,
|
|
247
|
+
genericArg: itemTypeName,
|
|
248
|
+
schemaTypesUsed,
|
|
249
|
+
};
|
|
250
|
+
}
|
|
251
|
+
const resolvedItems = resolveSchema(itemsSchema, schemasByKey);
|
|
252
|
+
if (resolvedItems.type === "object" &&
|
|
253
|
+
resolvedItems.properties &&
|
|
254
|
+
Object.keys(resolvedItems.properties).length > 0) {
|
|
255
|
+
const requiredSet = new Set(resolvedItems.required || []);
|
|
256
|
+
const entries = Object.entries(resolvedItems.properties)
|
|
106
257
|
.map(([k, v]) => {
|
|
107
|
-
const propType =
|
|
108
|
-
|
|
258
|
+
const propType = schemaToTypeScriptType(v, schemasByKey, schemaTypeNames);
|
|
259
|
+
if (schemaTypeNames)
|
|
260
|
+
Object.values(schemaTypeNames).forEach((n) => {
|
|
261
|
+
if (propType.includes(n))
|
|
262
|
+
addSchemaUsed(n);
|
|
263
|
+
});
|
|
264
|
+
const optional = !requiredSet.has(k);
|
|
109
265
|
return optional
|
|
110
266
|
? `${INDENT_NS_BODY}${k}?: ${propType};`
|
|
111
267
|
: `${INDENT_NS_BODY}${k}: ${propType};`;
|
|
112
268
|
})
|
|
113
269
|
.join("\n");
|
|
114
270
|
declarations.push(`${INDENT_NS}export interface ${itemTypeName} {\n${entries}\n${INDENT_NS}}`);
|
|
115
|
-
// getVariableArray<T> returns T[] | null, so generic is item type
|
|
116
271
|
return {
|
|
117
272
|
declarations,
|
|
118
273
|
returnTypeName: `${itemTypeName}[]`,
|
|
119
274
|
genericArg: itemTypeName,
|
|
275
|
+
schemaTypesUsed,
|
|
120
276
|
};
|
|
121
277
|
}
|
|
122
|
-
|
|
123
|
-
|
|
278
|
+
const itemType = schemaToTypeScriptType(resolvedItems, schemasByKey, schemaTypeNames);
|
|
279
|
+
if (schemaTypeNames)
|
|
280
|
+
Object.values(schemaTypeNames).forEach((n) => {
|
|
281
|
+
if (itemType.includes(n))
|
|
282
|
+
addSchemaUsed(n);
|
|
283
|
+
});
|
|
124
284
|
declarations.push(`${INDENT_NS}export type ${itemTypeName} = ${itemType};`);
|
|
125
285
|
return {
|
|
126
286
|
declarations,
|
|
127
287
|
returnTypeName: `${itemTypeName}[]`,
|
|
128
288
|
genericArg: itemTypeName,
|
|
289
|
+
schemaTypesUsed,
|
|
129
290
|
};
|
|
130
291
|
}
|
|
131
|
-
// array without items (default string[]): emit item type only
|
|
132
292
|
declarations.push(`${INDENT_NS}export type ${itemTypeName} = string;`);
|
|
133
293
|
return {
|
|
134
294
|
declarations,
|
|
135
295
|
returnTypeName: `${itemTypeName}[]`,
|
|
136
296
|
genericArg: itemTypeName,
|
|
297
|
+
schemaTypesUsed,
|
|
137
298
|
};
|
|
138
299
|
}
|
|
139
|
-
// primitive: boolean, string, integer, double
|
|
140
|
-
const
|
|
300
|
+
// primitive: boolean, string, integer, double (or unknown when schema ref unresolved)
|
|
301
|
+
// When schema has primitive const or enum, emit literal or union type
|
|
302
|
+
const effectiveConst = effective && "const" in effective && effective.const !== undefined
|
|
303
|
+
? effective.const
|
|
304
|
+
: undefined;
|
|
305
|
+
const effectiveEnum = effective && "enum" in effective && Array.isArray(effective.enum)
|
|
306
|
+
? effective.enum
|
|
307
|
+
: undefined;
|
|
308
|
+
const literalType = effectiveConst !== undefined ? constToLiteralType(effectiveConst) : null;
|
|
309
|
+
const enumUnion = effectiveEnum && effectiveEnum.length > 0 ? enumToUnionType(effectiveEnum) : null;
|
|
310
|
+
const primitiveType = literalType ?? enumUnion ?? (type ? convertFeaturevisorTypeToTypeScriptType(type) : "unknown");
|
|
141
311
|
declarations.push(`${INDENT_NS}export type ${typeName} = ${primitiveType};`);
|
|
142
|
-
return {
|
|
312
|
+
return {
|
|
313
|
+
declarations,
|
|
314
|
+
returnTypeName: typeName,
|
|
315
|
+
genericArg: typeName,
|
|
316
|
+
isLiteralType: literalType !== null || enumUnion !== null,
|
|
317
|
+
schemaTypesUsed,
|
|
318
|
+
};
|
|
143
319
|
}
|
|
144
320
|
function getPascalCase(str) {
|
|
145
321
|
// Remove special characters and split the string into an array of words
|
|
@@ -155,6 +331,25 @@ function getRelativePath(from, to) {
|
|
|
155
331
|
}
|
|
156
332
|
return relativePath;
|
|
157
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* Generates the content of Schemas.ts: one exported type per schema key, using schema refs between schemas.
|
|
336
|
+
*/
|
|
337
|
+
function generateSchemasFileContent(schemaKeys, schemasByKey) {
|
|
338
|
+
const schemaTypeNames = {};
|
|
339
|
+
for (const k of schemaKeys) {
|
|
340
|
+
schemaTypeNames[k] = getPascalCase(k) + "Schema";
|
|
341
|
+
}
|
|
342
|
+
const lines = [];
|
|
343
|
+
for (const key of schemaKeys) {
|
|
344
|
+
const schema = schemasByKey[key];
|
|
345
|
+
if (!schema)
|
|
346
|
+
continue;
|
|
347
|
+
const name = schemaTypeNames[key];
|
|
348
|
+
const typeStr = schemaToTypeScriptType(schema, schemasByKey, schemaTypeNames);
|
|
349
|
+
lines.push(`export type ${name} = ${typeStr};`);
|
|
350
|
+
}
|
|
351
|
+
return lines.join("\n") + "\n";
|
|
352
|
+
}
|
|
158
353
|
// Indentation for generated namespace content (2 spaces per level)
|
|
159
354
|
const INDENT_NS = " ";
|
|
160
355
|
const INDENT_NS_BODY = " ";
|
|
@@ -213,6 +408,29 @@ ${attributeProperties}
|
|
|
213
408
|
// features
|
|
214
409
|
const featureNamespaces = [];
|
|
215
410
|
const featureFiles = await datasource.listFeatures();
|
|
411
|
+
// Load schemas for resolving variable schema references
|
|
412
|
+
const schemaListKeys = await datasource.listSchemas();
|
|
413
|
+
const schemasByKey = {};
|
|
414
|
+
for (const key of schemaListKeys) {
|
|
415
|
+
try {
|
|
416
|
+
schemasByKey[key] = await datasource.readSchema(key);
|
|
417
|
+
}
|
|
418
|
+
catch {
|
|
419
|
+
// Schema file may be invalid; skip for code gen
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
const schemaKeys = Object.keys(schemasByKey);
|
|
423
|
+
const hasSchemasFile = schemaKeys.length > 0;
|
|
424
|
+
if (hasSchemasFile) {
|
|
425
|
+
const schemasContent = generateSchemasFileContent(schemaKeys, schemasByKey);
|
|
426
|
+
const schemasFilePath = path.join(outputPath, "Schemas.ts");
|
|
427
|
+
fs.writeFileSync(schemasFilePath, schemasContent);
|
|
428
|
+
console.log(`Schemas type file written at: ${getRelativePath(rootDirectoryPath, schemasFilePath)}`);
|
|
429
|
+
}
|
|
430
|
+
const schemaTypeNames = {};
|
|
431
|
+
for (const k of schemaKeys) {
|
|
432
|
+
schemaTypeNames[k] = getPascalCase(k) + "Schema";
|
|
433
|
+
}
|
|
216
434
|
for (const featureKey of featureFiles) {
|
|
217
435
|
const parsedFeature = await datasource.readFeature(featureKey);
|
|
218
436
|
if (typeof parsedFeature.archived !== "undefined" && parsedFeature.archived) {
|
|
@@ -222,17 +440,28 @@ ${attributeProperties}
|
|
|
222
440
|
featureNamespaces.push(namespaceValue);
|
|
223
441
|
let variableTypeDeclarations = "";
|
|
224
442
|
let variableMethods = "";
|
|
443
|
+
const featureSchemaTypesUsed = new Set();
|
|
225
444
|
if (parsedFeature.variablesSchema) {
|
|
226
445
|
const variableKeys = Object.keys(parsedFeature.variablesSchema);
|
|
227
446
|
const allDeclarations = [];
|
|
228
447
|
for (const variableKey of variableKeys) {
|
|
229
448
|
const variableSchema = parsedFeature.variablesSchema[variableKey];
|
|
230
|
-
const
|
|
231
|
-
const
|
|
449
|
+
const effective = getEffectiveVariableSchema(variableSchema, schemasByKey);
|
|
450
|
+
const variableType = effective?.type;
|
|
451
|
+
const { declarations, returnTypeName, genericArg, isLiteralType, useGetVariable, schemaTypesUsed, } = generateVariableTypeDeclarations(variableKey, variableSchema, schemasByKey, hasSchemasFile ? schemaTypeNames : undefined);
|
|
452
|
+
schemaTypesUsed.forEach((t) => featureSchemaTypesUsed.add(t));
|
|
232
453
|
allDeclarations.push(...declarations);
|
|
233
|
-
const internalMethodName = `getVariable${variableType === "json" ? "JSON" : getPascalCase(variableType)}`;
|
|
454
|
+
const internalMethodName = `getVariable${variableType === "json" ? "JSON" : getPascalCase(variableType ?? "string")}`;
|
|
234
455
|
const hasGeneric = variableType === "json" || variableType === "array" || variableType === "object";
|
|
235
|
-
|
|
456
|
+
const literalAssertion = isLiteralType ? ` as ${returnTypeName} | null` : "";
|
|
457
|
+
if (useGetVariable) {
|
|
458
|
+
variableMethods += `
|
|
459
|
+
|
|
460
|
+
${INDENT_NS}export function get${getPascalCase(variableKey)}(context: Context = {}): ${returnTypeName} | null {
|
|
461
|
+
${INDENT_NS_BODY}return getInstance().getVariable(key, "${variableKey}", context)${literalAssertion};
|
|
462
|
+
${INDENT_NS}}`;
|
|
463
|
+
}
|
|
464
|
+
else if (variableType === "json") {
|
|
236
465
|
variableMethods += `
|
|
237
466
|
|
|
238
467
|
${INDENT_NS}export function get${getPascalCase(variableKey)}<T = unknown>(context: Context = {}): T | null {
|
|
@@ -250,7 +479,7 @@ ${INDENT_NS}}`;
|
|
|
250
479
|
variableMethods += `
|
|
251
480
|
|
|
252
481
|
${INDENT_NS}export function get${getPascalCase(variableKey)}(context: Context = {}): ${returnTypeName} | null {
|
|
253
|
-
${INDENT_NS_BODY}return getInstance().${internalMethodName}(key, "${variableKey}", context);
|
|
482
|
+
${INDENT_NS_BODY}return getInstance().${internalMethodName}(key, "${variableKey}", context)${literalAssertion};
|
|
254
483
|
${INDENT_NS}}`;
|
|
255
484
|
}
|
|
256
485
|
}
|
|
@@ -258,11 +487,13 @@ ${INDENT_NS}}`;
|
|
|
258
487
|
variableTypeDeclarations = "\n\n" + allDeclarations.join("\n\n");
|
|
259
488
|
}
|
|
260
489
|
}
|
|
490
|
+
const schemasImportLine = featureSchemaTypesUsed.size > 0
|
|
491
|
+
? `import type { ${[...featureSchemaTypesUsed].sort().join(", ")} } from "./Schemas";\n\n`
|
|
492
|
+
: "";
|
|
261
493
|
const featureContent = `
|
|
262
494
|
import { Context } from "./Context";
|
|
263
495
|
import { getInstance } from "./instance";
|
|
264
|
-
|
|
265
|
-
export namespace ${namespaceValue} {
|
|
496
|
+
${schemasImportLine}export namespace ${namespaceValue} {
|
|
266
497
|
${INDENT_NS}export const key = "${featureKey}";${variableTypeDeclarations}
|
|
267
498
|
|
|
268
499
|
${INDENT_NS}export function isEnabled(context: Context = {}) {
|
|
@@ -279,11 +510,14 @@ ${INDENT_NS}}${variableMethods}
|
|
|
279
510
|
console.log(`Feature ${featureKey} file written at: ${getRelativePath(rootDirectoryPath, featureNamespaceFilePath)}`);
|
|
280
511
|
}
|
|
281
512
|
// index
|
|
282
|
-
const indexContent = [
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
.
|
|
513
|
+
const indexContent = [
|
|
514
|
+
`export * from "./Context";`,
|
|
515
|
+
`export * from "./instance";`,
|
|
516
|
+
...(hasSchemasFile ? [`export * from "./Schemas";`] : []),
|
|
517
|
+
...featureNamespaces.map((featureNamespace) => {
|
|
518
|
+
return `export * from "./${featureNamespace}";`;
|
|
519
|
+
}),
|
|
520
|
+
].join("\n") + "\n";
|
|
287
521
|
const indexFilePath = path.join(outputPath, "index.ts");
|
|
288
522
|
fs.writeFileSync(indexFilePath, indexContent);
|
|
289
523
|
console.log(`Index file written at: ${getRelativePath(rootDirectoryPath, indexFilePath)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/generate-code/typescript.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/generate-code/typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|