@azure-tools/typespec-providerhub-controller 0.55.0-dev.0 → 0.56.0-dev.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/src/generate.js +76 -99
- package/dist/src/generate.js.map +1 -1
- package/package.json +12 -12
package/dist/src/generate.js
CHANGED
|
@@ -35,18 +35,18 @@ export async function $onEmit(context) {
|
|
|
35
35
|
const options = {
|
|
36
36
|
controllerOutputPath: context.emitterOutputDir,
|
|
37
37
|
controllerModulePath: rootPath,
|
|
38
|
-
controllerHost:
|
|
39
|
-
operationPollingLocation:
|
|
38
|
+
controllerHost: emitterOptions?.["controller-host"] || "providerhub",
|
|
39
|
+
operationPollingLocation: emitterOptions?.["operation-polling-location"] || "tenant",
|
|
40
40
|
registrationOutputPath,
|
|
41
|
-
generatedCodeKind:
|
|
41
|
+
generatedCodeKind: emitterOptions?.["code-kind"] || "full",
|
|
42
42
|
includeOperationController: includeOperationController,
|
|
43
43
|
includeCancellationToken: includeCancellationToken,
|
|
44
44
|
includeSubscriptionLifeCycleController: includeSubscriptionLifeCycleController,
|
|
45
45
|
includeVersioningClasses: includeVersioningClasses,
|
|
46
|
-
generateUuidAs:
|
|
46
|
+
generateUuidAs: emitterOptions?.["generate-uuid-as"] || "string",
|
|
47
47
|
};
|
|
48
48
|
const generator = createServiceCodeGenerator(context.program, options);
|
|
49
|
-
await
|
|
49
|
+
await generator?.generateServiceCode(context.program.host);
|
|
50
50
|
}
|
|
51
51
|
function createServiceCodeGenerator(program, options) {
|
|
52
52
|
const tracer = getTracer(program);
|
|
@@ -162,7 +162,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
162
162
|
return serviceNamespace.substring(dotPos + 1).replace(/\./g, "");
|
|
163
163
|
}
|
|
164
164
|
async function generateServiceCode(host) {
|
|
165
|
-
var _a;
|
|
166
165
|
const genPath = options.controllerOutputPath;
|
|
167
166
|
const registrationOutputPath = options.registrationOutputPath;
|
|
168
167
|
let generatedNameCount = 0;
|
|
@@ -182,15 +181,13 @@ function createServiceCodeGenerator(program, options) {
|
|
|
182
181
|
const modelsToGenerate = new Map();
|
|
183
182
|
const resources = new Map();
|
|
184
183
|
function populateResources() {
|
|
185
|
-
var _a;
|
|
186
184
|
const cancellationToken = {
|
|
187
185
|
name: "cancellationToken",
|
|
188
186
|
type: "CancellationToken",
|
|
189
187
|
description: "The cancellation token.",
|
|
190
188
|
};
|
|
191
189
|
function getBodyParam(operation) {
|
|
192
|
-
|
|
193
|
-
const bodyParam = (_a = operation.httpOperation.parameters.body) === null || _a === void 0 ? void 0 : _a.type;
|
|
190
|
+
const bodyParam = operation.httpOperation.parameters.body?.type;
|
|
194
191
|
if (bodyParam === undefined || bodyParam.kind !== "Model") {
|
|
195
192
|
return undefined;
|
|
196
193
|
}
|
|
@@ -206,7 +203,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
206
203
|
};
|
|
207
204
|
}
|
|
208
205
|
function getStandardOperation(operation, modelName, sourceType) {
|
|
209
|
-
var _a;
|
|
210
206
|
const pathParams = operation.httpOperation.parameters.parameters
|
|
211
207
|
.filter((p) => p.type === "path")
|
|
212
208
|
.map((p) => transformPathParameter(p, sourceType));
|
|
@@ -259,7 +255,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
259
255
|
sourceNode: sourceType.node,
|
|
260
256
|
};
|
|
261
257
|
case PatchName:
|
|
262
|
-
const bodyParam =
|
|
258
|
+
const bodyParam = getBodyParam(operation) ?? {
|
|
263
259
|
name: "body",
|
|
264
260
|
location: "body",
|
|
265
261
|
description: "The resource patch data.",
|
|
@@ -282,7 +278,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
282
278
|
const visitedTypes = new Set();
|
|
283
279
|
const visitedOperations = new Map();
|
|
284
280
|
function visitOperation(operation, httpOperation, resource) {
|
|
285
|
-
var _a, _b, _c, _d, _e, _f;
|
|
286
281
|
const operationType = operation.operation;
|
|
287
282
|
const operationKey = httpOperation.container.name + "." + operationType.name;
|
|
288
283
|
let bodyProp = undefined;
|
|
@@ -333,11 +328,11 @@ function createServiceCodeGenerator(program, options) {
|
|
|
333
328
|
}
|
|
334
329
|
if (bodyType) {
|
|
335
330
|
bodyProp = {
|
|
336
|
-
name:
|
|
331
|
+
name: bodyParam?.name ?? "body",
|
|
337
332
|
type: bodyType.name,
|
|
338
333
|
description: paramDescription,
|
|
339
334
|
location: "body",
|
|
340
|
-
sourceNode: bodyParam
|
|
335
|
+
sourceNode: bodyParam?.node,
|
|
341
336
|
};
|
|
342
337
|
parameters.push(bodyProp);
|
|
343
338
|
}
|
|
@@ -349,9 +344,10 @@ function createServiceCodeGenerator(program, options) {
|
|
|
349
344
|
const outOperation = {
|
|
350
345
|
name: transformCSharpIdentifier(operationType.name),
|
|
351
346
|
kind: operation.kind,
|
|
352
|
-
returnType:
|
|
347
|
+
returnType: returnType?.name ?? "void",
|
|
353
348
|
parameters: parameters,
|
|
354
|
-
subPath:
|
|
349
|
+
subPath: getActionSegment(program, operation.operation) ??
|
|
350
|
+
getRoutePath(program, operation.operation)?.path,
|
|
355
351
|
verb: httpOperation.verb,
|
|
356
352
|
sourceNode: operationType.node,
|
|
357
353
|
};
|
|
@@ -364,7 +360,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
364
360
|
}
|
|
365
361
|
let exists = false;
|
|
366
362
|
if (resource) {
|
|
367
|
-
exists =
|
|
363
|
+
exists = resource.operations?.some((op) => op.name === outOperation.name) ?? false;
|
|
368
364
|
}
|
|
369
365
|
if (resource && !exists) {
|
|
370
366
|
resource.operations.push(outOperation);
|
|
@@ -372,7 +368,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
372
368
|
}
|
|
373
369
|
}
|
|
374
370
|
function visitModel(model) {
|
|
375
|
-
var _a;
|
|
376
371
|
function tryAddModel(model) {
|
|
377
372
|
const modelKey = getFriendlyName(program, model) || model.name;
|
|
378
373
|
if (!modelsToGenerate.has(modelKey) && !getKnownType(model)) {
|
|
@@ -390,12 +385,11 @@ function createServiceCodeGenerator(program, options) {
|
|
|
390
385
|
}
|
|
391
386
|
}
|
|
392
387
|
function visitProperty(prop, child) {
|
|
393
|
-
var _a;
|
|
394
388
|
const decl = getPropertyDecl(prop, child);
|
|
395
389
|
if (decl) {
|
|
396
390
|
visitType(prop.type);
|
|
397
391
|
}
|
|
398
|
-
if (
|
|
392
|
+
if (prop.defaultValue?.type !== undefined) {
|
|
399
393
|
visitType(prop.defaultValue.type);
|
|
400
394
|
}
|
|
401
395
|
}
|
|
@@ -411,7 +405,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
411
405
|
let defaultValue = "";
|
|
412
406
|
switch (childFieldType.kind) {
|
|
413
407
|
case "String":
|
|
414
|
-
defaultValue =
|
|
408
|
+
defaultValue = childFieldType.value?.toString();
|
|
415
409
|
break;
|
|
416
410
|
case "UnionVariant":
|
|
417
411
|
defaultValue =
|
|
@@ -476,7 +470,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
476
470
|
return model.kind === "Model" ? model : undefined;
|
|
477
471
|
}
|
|
478
472
|
function visitType(typespecType) {
|
|
479
|
-
var _a, _b, _c;
|
|
480
473
|
if (!visitedTypes.has(typespecType)) {
|
|
481
474
|
visitedTypes.add(typespecType);
|
|
482
475
|
switch (typespecType.kind) {
|
|
@@ -486,7 +479,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
486
479
|
});
|
|
487
480
|
break;
|
|
488
481
|
case "TemplateParameter":
|
|
489
|
-
|
|
482
|
+
typespecType.instantiationParameters?.forEach((element) => {
|
|
490
483
|
visitType(element);
|
|
491
484
|
});
|
|
492
485
|
break;
|
|
@@ -506,7 +499,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
506
499
|
if (typespecType.baseModel) {
|
|
507
500
|
visitType(typespecType.baseModel);
|
|
508
501
|
}
|
|
509
|
-
|
|
502
|
+
typespecType.templateMapper?.args?.forEach((element) => {
|
|
510
503
|
if (element.entityKind === "Type")
|
|
511
504
|
visitType(element);
|
|
512
505
|
else
|
|
@@ -585,7 +578,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
585
578
|
resourceTypeName: resourceDetails.collectionName,
|
|
586
579
|
parent: parentResource ? resources.get(parentResource.name) : undefined,
|
|
587
580
|
nameSpace: serviceNamespace,
|
|
588
|
-
nameParameter:
|
|
581
|
+
nameParameter: resourceDetails.keyName ?? "name",
|
|
589
582
|
serializedName: resourceDetails.collectionName,
|
|
590
583
|
operations: [...map.values()],
|
|
591
584
|
specificationArmProviderNamespace: matchingNamespace,
|
|
@@ -617,24 +610,23 @@ function createServiceCodeGenerator(program, options) {
|
|
|
617
610
|
function populateModels() {
|
|
618
611
|
const models = new Map();
|
|
619
612
|
function populateModel(typespecType) {
|
|
620
|
-
var _a, _b, _c, _d, _e, _f;
|
|
621
613
|
if (typespecType.kind === "Model") {
|
|
622
614
|
const friendlyName = getFriendlyName(program, typespecType);
|
|
623
615
|
const typeRef = getCSharpType(typespecType);
|
|
624
|
-
tracer.trace("type-mapping", `*** ${typespecType.name} => ${typeRef
|
|
616
|
+
tracer.trace("type-mapping", `*** ${typespecType.name} => ${typeRef?.name}`, typespecType.node);
|
|
625
617
|
if (typeRef) {
|
|
626
618
|
const outModel = {
|
|
627
|
-
name:
|
|
628
|
-
nameSpace:
|
|
619
|
+
name: friendlyName ?? typeRef?.name ?? typespecType.name,
|
|
620
|
+
nameSpace: typeRef?.nameSpace ?? serviceNamespace,
|
|
629
621
|
properties: [],
|
|
630
622
|
description: getDoc(program, typespecType),
|
|
631
623
|
serviceName: serviceName,
|
|
632
|
-
typeParameters:
|
|
624
|
+
typeParameters: typespecType.templateMapper?.args
|
|
633
625
|
? typespecType.templateMapper.args.map((arg) => resolveCSharpType(arg))
|
|
634
626
|
: [],
|
|
635
627
|
isDerivedType: false,
|
|
636
628
|
isImplementer: false,
|
|
637
|
-
isBuiltIn:
|
|
629
|
+
isBuiltIn: typeRef?.isBuiltIn ?? false,
|
|
638
630
|
validations: getValidations(typespecType),
|
|
639
631
|
converters: getConverters(typespecType),
|
|
640
632
|
sourceNode: typespecType.node,
|
|
@@ -675,8 +667,10 @@ function createServiceCodeGenerator(program, options) {
|
|
|
675
667
|
// Filter out unwanted properties from the resource model type:
|
|
676
668
|
// - name: Use the name property defined in the base ArmResource type instead
|
|
677
669
|
// - systemData
|
|
678
|
-
|
|
679
|
-
|
|
670
|
+
[...typespecType.properties.values()]
|
|
671
|
+
?.filter((prop) => prop.name !== "systemData" &&
|
|
672
|
+
!(prop.name === "name" && getArmResource(program, typespecType)))
|
|
673
|
+
?.forEach((val) => {
|
|
680
674
|
const decl = getPropertyDecl(val, typespecType);
|
|
681
675
|
if (decl) {
|
|
682
676
|
outModel.properties.push(decl);
|
|
@@ -693,7 +687,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
693
687
|
}
|
|
694
688
|
}
|
|
695
689
|
function checkModelAncestors(model) {
|
|
696
|
-
var _a, _b;
|
|
697
690
|
const ancestors = new Map();
|
|
698
691
|
function isVersioned(model) {
|
|
699
692
|
if (ancestors.has(model.name))
|
|
@@ -719,7 +712,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
719
712
|
model.hasVersionedAncestor = versioned;
|
|
720
713
|
if (model.isVersioned && !model.hasVersionedAncestor) {
|
|
721
714
|
model.isImplementer = true;
|
|
722
|
-
model.implements =
|
|
715
|
+
model.implements = model.implements ?? [];
|
|
723
716
|
model.implements.push({
|
|
724
717
|
name: "IVersionedResource",
|
|
725
718
|
nameSpace: "Microsoft.TypeSpec.ProviderHub.Controller",
|
|
@@ -730,7 +723,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
730
723
|
model.isSerialized = true;
|
|
731
724
|
if (!model.isVersioned) {
|
|
732
725
|
model.isImplementer = true;
|
|
733
|
-
model.implements =
|
|
726
|
+
model.implements = model.implements ?? [];
|
|
734
727
|
model.implements.push({
|
|
735
728
|
name: "ISerializationTracker",
|
|
736
729
|
nameSpace: "Microsoft.TypeSpec.ProviderHub.Controller",
|
|
@@ -777,7 +770,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
777
770
|
" collectionName: " + resourceMeta.collectionName,
|
|
778
771
|
" operations: " + resourceMeta.operations,
|
|
779
772
|
" resourceNameParam: " + resourceMeta.keyName,
|
|
780
|
-
`-- ${resourceMeta.name} => ${cType
|
|
773
|
+
`-- ${resourceMeta.name} => ${cType?.nameSpace}.${cType?.name}`,
|
|
781
774
|
].join("\n"));
|
|
782
775
|
});
|
|
783
776
|
populateResources();
|
|
@@ -809,7 +802,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
809
802
|
return false;
|
|
810
803
|
}
|
|
811
804
|
function getPropertyDecl(property, parent) {
|
|
812
|
-
var _a;
|
|
813
805
|
// check for potential template instantiations or other properties defined inline
|
|
814
806
|
let isDiscriminatorProperty = false;
|
|
815
807
|
let propertyType = property.type;
|
|
@@ -818,10 +810,10 @@ function createServiceCodeGenerator(program, options) {
|
|
|
818
810
|
if (propertyType.indexer === undefined &&
|
|
819
811
|
getFriendlyName(program, propertyType) === undefined &&
|
|
820
812
|
((propertyType.templateNode && propertyType.templateNode !== null) ||
|
|
821
|
-
(
|
|
813
|
+
(propertyType.templateMapper?.args && propertyType.templateMapper.args.length > 0))) {
|
|
822
814
|
reportDiagnostic(program, {
|
|
823
815
|
code: "no-inline-properties",
|
|
824
|
-
format: { propertyName: property.name, modelName:
|
|
816
|
+
format: { propertyName: property.name, modelName: parent?.name || "" },
|
|
825
817
|
target: property,
|
|
826
818
|
});
|
|
827
819
|
}
|
|
@@ -859,7 +851,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
859
851
|
default:
|
|
860
852
|
reportDiagnostic(program, {
|
|
861
853
|
code: "no-inline-properties",
|
|
862
|
-
format: { propertyName: property.name, modelName:
|
|
854
|
+
format: { propertyName: property.name, modelName: parent?.name || "" },
|
|
863
855
|
target: property,
|
|
864
856
|
});
|
|
865
857
|
return undefined;
|
|
@@ -945,9 +937,9 @@ function createServiceCodeGenerator(program, options) {
|
|
|
945
937
|
}
|
|
946
938
|
}
|
|
947
939
|
function formatTupleValue(propertyType, defaultValue) {
|
|
948
|
-
const items = defaultValue.values.map((x) =>
|
|
940
|
+
const items = defaultValue.values.map((x) =>
|
|
949
941
|
// eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
|
|
950
|
-
|
|
942
|
+
formatDefaultValue(propertyType.indexer?.value, x));
|
|
951
943
|
const type = getCSharpType(propertyType);
|
|
952
944
|
return `new ${type.name} { ${items.join(", ")} }`;
|
|
953
945
|
}
|
|
@@ -970,7 +962,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
970
962
|
return identifier.match(/^[A-Za-z_][\w-]*$/) !== null;
|
|
971
963
|
}
|
|
972
964
|
function ensureCSharpIdentifier(target, name) {
|
|
973
|
-
var _a, _b;
|
|
974
965
|
let location = "";
|
|
975
966
|
switch (target.kind) {
|
|
976
967
|
case "Enum":
|
|
@@ -995,7 +986,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
995
986
|
});
|
|
996
987
|
}
|
|
997
988
|
else {
|
|
998
|
-
location = `property '${target.name}' in model ${model
|
|
989
|
+
location = `property '${target.name}' in model ${model?.name}`;
|
|
999
990
|
if (!model.name) {
|
|
1000
991
|
location = `parameter '${target.name}' in operation`;
|
|
1001
992
|
}
|
|
@@ -1008,7 +999,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1008
999
|
case "Operation": {
|
|
1009
1000
|
const parent = target.interface
|
|
1010
1001
|
? `interface ${target.interface.name}`
|
|
1011
|
-
: `namespace ${
|
|
1002
|
+
: `namespace ${target.namespace?.name}`;
|
|
1012
1003
|
location = `operation ${target.name} in ${parent}`;
|
|
1013
1004
|
break;
|
|
1014
1005
|
}
|
|
@@ -1018,8 +1009,8 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1018
1009
|
case "UnionVariant": {
|
|
1019
1010
|
if (target.node !== undefined) {
|
|
1020
1011
|
const parent = program.checker.getTypeForNode(target.node.parent);
|
|
1021
|
-
if (
|
|
1022
|
-
location = `variant ${String(target.name)} in union ${parent
|
|
1012
|
+
if (parent?.kind === "Union")
|
|
1013
|
+
location = `variant ${String(target.name)} in union ${parent?.name}`;
|
|
1023
1014
|
}
|
|
1024
1015
|
break;
|
|
1025
1016
|
}
|
|
@@ -1028,7 +1019,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1028
1019
|
reportDiagnostic(program, {
|
|
1029
1020
|
code: "invalid-identifier",
|
|
1030
1021
|
format: { identifier: name, location: location },
|
|
1031
|
-
target:
|
|
1022
|
+
target: target.node ?? NoTarget,
|
|
1032
1023
|
});
|
|
1033
1024
|
}
|
|
1034
1025
|
}
|
|
@@ -1050,22 +1041,21 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1050
1041
|
};
|
|
1051
1042
|
}
|
|
1052
1043
|
function getLengthAttribute(minLength, maxLength) {
|
|
1053
|
-
var _a, _b;
|
|
1054
1044
|
const output = {
|
|
1055
1045
|
name: "Length",
|
|
1056
1046
|
parameters: [],
|
|
1057
1047
|
};
|
|
1058
1048
|
if (minLength) {
|
|
1059
|
-
|
|
1049
|
+
output.parameters?.push({ type: "int", value: minLength });
|
|
1060
1050
|
}
|
|
1061
1051
|
if (maxLength) {
|
|
1062
|
-
|
|
1052
|
+
output.parameters?.push({ type: "int", value: maxLength });
|
|
1063
1053
|
}
|
|
1064
1054
|
return output;
|
|
1065
1055
|
}
|
|
1066
1056
|
function createInlineEnum(typespecType, name) {
|
|
1067
1057
|
function createInlineEnumFromEnum(typespecType, name) {
|
|
1068
|
-
name
|
|
1058
|
+
name ??= typespecType.name;
|
|
1069
1059
|
ensureCSharpIdentifier(typespecType, name);
|
|
1070
1060
|
const outEnum = {
|
|
1071
1061
|
isClosed: false,
|
|
@@ -1086,7 +1076,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1086
1076
|
return outEnum;
|
|
1087
1077
|
}
|
|
1088
1078
|
function createInlineEnumFromUnion(unionEnum, name) {
|
|
1089
|
-
name
|
|
1079
|
+
name ??= unionEnum.union.name || generateName("Union");
|
|
1090
1080
|
ensureCSharpIdentifier(unionEnum.union, name);
|
|
1091
1081
|
const outEnum = {
|
|
1092
1082
|
isClosed: false,
|
|
@@ -1151,7 +1141,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1151
1141
|
return value;
|
|
1152
1142
|
}
|
|
1153
1143
|
function getValidations(typespecType) {
|
|
1154
|
-
var _a, _b;
|
|
1155
1144
|
const visited = new Map();
|
|
1156
1145
|
function getLocalValidators(localType) {
|
|
1157
1146
|
if (visited.has(localType)) {
|
|
@@ -1185,8 +1174,8 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1185
1174
|
typespecType.variants.forEach((variant) => getValidations(variant.type).forEach((val) => outValidations.push(val)));
|
|
1186
1175
|
break;
|
|
1187
1176
|
case "Model":
|
|
1188
|
-
if (
|
|
1189
|
-
getValidations(
|
|
1177
|
+
if (typespecType.indexer?.value) {
|
|
1178
|
+
getValidations(typespecType.indexer?.value).forEach((i) => outValidations.push(i));
|
|
1190
1179
|
}
|
|
1191
1180
|
if (typespecType.baseModel) {
|
|
1192
1181
|
getValidations(typespecType.baseModel).forEach((val) => outValidations.push(val));
|
|
@@ -1211,17 +1200,15 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1211
1200
|
return outValidations;
|
|
1212
1201
|
}
|
|
1213
1202
|
function getConverters(typespecType) {
|
|
1214
|
-
var _a, _b;
|
|
1215
1203
|
const visited = new Map();
|
|
1216
1204
|
function getLocalConverters(localType) {
|
|
1217
|
-
var _a;
|
|
1218
1205
|
if (visited.has(localType)) {
|
|
1219
1206
|
return visited.get(localType);
|
|
1220
1207
|
}
|
|
1221
1208
|
const output = [];
|
|
1222
1209
|
const format = getFormat(program, localType);
|
|
1223
1210
|
const encodeData = getEncode(program, localType);
|
|
1224
|
-
if ((encodeData &&
|
|
1211
|
+
if ((encodeData && encodeData.encoding?.toLowerCase() === "base64url") ||
|
|
1225
1212
|
(format && format === "base64Url")) {
|
|
1226
1213
|
output.push(getBase64UrlConverter());
|
|
1227
1214
|
}
|
|
@@ -1244,8 +1231,8 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1244
1231
|
typespecType.variants.forEach((o) => getConverters(o.type).forEach((val) => outConverters.push(val)));
|
|
1245
1232
|
break;
|
|
1246
1233
|
case "Model":
|
|
1247
|
-
if (
|
|
1248
|
-
getConverters(
|
|
1234
|
+
if (typespecType.indexer?.value) {
|
|
1235
|
+
getConverters(typespecType.indexer?.value).forEach((i) => outConverters.push(i));
|
|
1249
1236
|
}
|
|
1250
1237
|
if (typespecType.baseModel) {
|
|
1251
1238
|
getConverters(typespecType.baseModel).forEach((val) => outConverters.push(val));
|
|
@@ -1265,7 +1252,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1265
1252
|
return outConverters;
|
|
1266
1253
|
}
|
|
1267
1254
|
function getVersions(typespecType) {
|
|
1268
|
-
var _a, _b;
|
|
1269
1255
|
function shouldVersion(type) {
|
|
1270
1256
|
function isVersionedCommonType(model) {
|
|
1271
1257
|
if (model.namespace === undefined)
|
|
@@ -1315,8 +1301,8 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1315
1301
|
.flatMap((i) => getVersions(i))
|
|
1316
1302
|
.forEach((i) => outVersions.add(i));
|
|
1317
1303
|
}
|
|
1318
|
-
if (
|
|
1319
|
-
getVersions(
|
|
1304
|
+
if (typespecType.indexer?.value) {
|
|
1305
|
+
getVersions(typespecType.indexer?.value).forEach((x) => outVersions.add(x));
|
|
1320
1306
|
}
|
|
1321
1307
|
break;
|
|
1322
1308
|
default:
|
|
@@ -1352,7 +1338,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1352
1338
|
return type;
|
|
1353
1339
|
}
|
|
1354
1340
|
function getCSharpTypeInternal(typespecType) {
|
|
1355
|
-
var _a;
|
|
1356
1341
|
switch (typespecType.kind) {
|
|
1357
1342
|
case "String":
|
|
1358
1343
|
return { name: "string", nameSpace: "System", isBuiltIn: true, isValueType: false };
|
|
@@ -1411,7 +1396,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1411
1396
|
case "Model":
|
|
1412
1397
|
const friendlyName = getFriendlyName(program, typespecType);
|
|
1413
1398
|
if (isRecordModelType(program, typespecType)) {
|
|
1414
|
-
if (
|
|
1399
|
+
if (typespecType.templateMapper?.args !== undefined &&
|
|
1415
1400
|
typespecType.templateMapper.args.length === 1) {
|
|
1416
1401
|
const recordType = typespecType.templateMapper.args[0];
|
|
1417
1402
|
if (recordType.entityKind === "Type" && isUnknownType(recordType)) {
|
|
@@ -1452,7 +1437,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1452
1437
|
if (known) {
|
|
1453
1438
|
return known;
|
|
1454
1439
|
}
|
|
1455
|
-
const modelName = friendlyName
|
|
1440
|
+
const modelName = friendlyName ?? typespecType.name;
|
|
1456
1441
|
ensureCSharpIdentifier(typespecType, modelName);
|
|
1457
1442
|
return {
|
|
1458
1443
|
name: transformCSharpIdentifier(modelName),
|
|
@@ -1628,7 +1613,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1628
1613
|
}
|
|
1629
1614
|
}
|
|
1630
1615
|
function getKnownType(model) {
|
|
1631
|
-
var _a, _b;
|
|
1632
1616
|
switch (model.name) {
|
|
1633
1617
|
case "ErrorResponse":
|
|
1634
1618
|
return {
|
|
@@ -1738,8 +1722,8 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1738
1722
|
nameSpace: "Microsoft.TypeSpec.ProviderHub",
|
|
1739
1723
|
typeParameters: [],
|
|
1740
1724
|
};
|
|
1741
|
-
const innerType =
|
|
1742
|
-
? resolveCSharpType(
|
|
1725
|
+
const innerType = model.templateMapper?.args
|
|
1726
|
+
? resolveCSharpType(model.templateMapper?.args[0])
|
|
1743
1727
|
: undefined;
|
|
1744
1728
|
if (innerType) {
|
|
1745
1729
|
returnValue.typeParameters.push(innerType);
|
|
@@ -1770,7 +1754,6 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1770
1754
|
await program.host.writeFile(outputPath, await compileHandlebarsTemplate(regTemplate, { serviceName: serviceModel.serviceName }));
|
|
1771
1755
|
}
|
|
1772
1756
|
async function generateRegistration(resource) {
|
|
1773
|
-
var _a;
|
|
1774
1757
|
const fullyQualifiedResourceType = getFullyQualifiedResourceType(resource);
|
|
1775
1758
|
const resourceRegistrationPath = joinPaths(registrationOutputPath, `${fullyQualifiedResourceType}.json`);
|
|
1776
1759
|
await createDirIfNotExists(getDirectoryPath(resourceRegistrationPath)).catch((err) => reportDiagnostic(program, {
|
|
@@ -1780,7 +1763,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1780
1763
|
}));
|
|
1781
1764
|
tracer.trace("info", `Writing resource registrations for ${fullyQualifiedResourceType}`, undefined);
|
|
1782
1765
|
const extensions = new Set();
|
|
1783
|
-
for (const operation of
|
|
1766
|
+
for (const operation of resource.operations ?? []) {
|
|
1784
1767
|
const extensionMap = {
|
|
1785
1768
|
put: ["ResourceCreationValidate", "ResourceCreationBegin", "ResourceCreationCompleted"],
|
|
1786
1769
|
patch: ["ResourcePatchValidate", "ResourcePatchBegin", "ResourcePatchCompleted"],
|
|
@@ -1931,7 +1914,7 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1931
1914
|
// cspell:ignore csharpname
|
|
1932
1915
|
csharpname: (str) => transformCSharpIdentifier(str),
|
|
1933
1916
|
curly: (open) => (open ? "{" : "}"),
|
|
1934
|
-
hasConverter: (model) =>
|
|
1917
|
+
hasConverter: (model) => model?.properties?.some((p) => p.converters.length) || model?.discriminatorInfo,
|
|
1935
1918
|
versionName: (v) => `Version_${v.replace(/-/g, "").replace("preview", "Preview")}`,
|
|
1936
1919
|
};
|
|
1937
1920
|
const operationsPath = genPath;
|
|
@@ -1990,38 +1973,32 @@ function createServiceCodeGenerator(program, options) {
|
|
|
1990
1973
|
if (options.generatedCodeKind !== "model") {
|
|
1991
1974
|
await program.host.writeFile(routesPath, await compileHandlebarsTemplate(joinPaths(templatePath, "serviceRoutingConstants.sq"), outputModel));
|
|
1992
1975
|
for (const resource of outputModel.resources) {
|
|
1993
|
-
await generateResource(resource).catch((error) => {
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
target: NoTarget,
|
|
2003
|
-
});
|
|
2004
|
-
});
|
|
1976
|
+
await generateResource(resource).catch((error) => reportDiagnostic(program, {
|
|
1977
|
+
code: "generating-resource",
|
|
1978
|
+
format: {
|
|
1979
|
+
namespace: resource?.nameSpace ?? "",
|
|
1980
|
+
resourceName: resource?.name ?? "",
|
|
1981
|
+
error,
|
|
1982
|
+
},
|
|
1983
|
+
target: NoTarget,
|
|
1984
|
+
}));
|
|
2005
1985
|
}
|
|
2006
1986
|
}
|
|
2007
1987
|
if (options.generatedCodeKind !== "controller") {
|
|
2008
1988
|
outputModel.models = outputModel.models.filter((m) => !outputModel.enumerations.some((e) => e.name === m.name));
|
|
2009
1989
|
for (const model of outputModel.models) {
|
|
2010
1990
|
tracer.trace("info", `Rendering model ${model.nameSpace}.${model.name}`, model.sourceNode);
|
|
2011
|
-
await generateModel(model).catch((error) => {
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
target: NoTarget,
|
|
2021
|
-
});
|
|
2022
|
-
});
|
|
1991
|
+
await generateModel(model).catch((error) => reportDiagnostic(program, {
|
|
1992
|
+
code: "generating-model",
|
|
1993
|
+
format: {
|
|
1994
|
+
namespace: model?.nameSpace ?? "",
|
|
1995
|
+
modelName: model?.name ?? "",
|
|
1996
|
+
error,
|
|
1997
|
+
},
|
|
1998
|
+
target: NoTarget,
|
|
1999
|
+
}));
|
|
2023
2000
|
}
|
|
2024
|
-
for (const enumeration of
|
|
2001
|
+
for (const enumeration of outputModel.enumerations ?? []) {
|
|
2025
2002
|
tracer.trace("info", `Rendering enum ${enumeration.name}`, enumeration.sourceNode);
|
|
2026
2003
|
await generateEnum(enumeration);
|
|
2027
2004
|
}
|
package/dist/src/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/generate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-providerhub-controller",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.56.0-dev.0",
|
|
4
4
|
"description": "Azure TypeSpec ProviderHub service controller code generator",
|
|
5
5
|
"homepage": "https://azure.github.io/typespec-azure",
|
|
6
6
|
"readme": "https://github.com/Azure/typespec-azure/blob/main/README.md",
|
|
@@ -30,28 +30,28 @@
|
|
|
30
30
|
"templates/**"
|
|
31
31
|
],
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"@azure-tools/typespec-autorest": ">=0.
|
|
34
|
-
"@azure-tools/typespec-azure-core": ">=0.
|
|
35
|
-
"@azure-tools/typespec-azure-resource-manager": ">=0.
|
|
33
|
+
"@azure-tools/typespec-autorest": ">=0.55.0",
|
|
34
|
+
"@azure-tools/typespec-azure-core": ">=0.55.0",
|
|
35
|
+
"@azure-tools/typespec-azure-resource-manager": ">=0.55.0",
|
|
36
36
|
"@typespec/compiler": "^1.0.0-0",
|
|
37
37
|
"@typespec/http": "^1.0.0-0",
|
|
38
|
-
"@typespec/rest": ">=0.
|
|
39
|
-
"@typespec/versioning": ">=0.
|
|
38
|
+
"@typespec/rest": ">=0.69.0",
|
|
39
|
+
"@typespec/versioning": ">=0.69.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"handlebars": "^4.7.8"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@azure-tools/typespec-autorest": ">=0.
|
|
46
|
-
"@azure-tools/typespec-azure-core": ">=0.
|
|
47
|
-
"@azure-tools/typespec-azure-resource-manager": ">=0.
|
|
48
|
-
"@pnpm/find-
|
|
45
|
+
"@azure-tools/typespec-autorest": ">=0.55.0",
|
|
46
|
+
"@azure-tools/typespec-azure-core": ">=0.55.0",
|
|
47
|
+
"@azure-tools/typespec-azure-resource-manager": ">=0.55.0",
|
|
48
|
+
"@pnpm/workspace.find-packages": "^1000.0.21",
|
|
49
49
|
"@types/node": "~22.13.10",
|
|
50
50
|
"@typespec/compiler": "^1.0.0-0",
|
|
51
51
|
"@typespec/http": "^1.0.0-0",
|
|
52
|
-
"@typespec/library-linter": ">=0.
|
|
52
|
+
"@typespec/library-linter": ">=0.69.0",
|
|
53
53
|
"@typespec/openapi": "^1.0.0-0",
|
|
54
|
-
"@typespec/rest": ">=0.
|
|
54
|
+
"@typespec/rest": ">=0.69.0",
|
|
55
55
|
"@vitest/coverage-v8": "^3.0.9",
|
|
56
56
|
"@vitest/ui": "^3.0.9",
|
|
57
57
|
"c8": "^10.1.2",
|