@azure-tools/typespec-ts 0.21.0 → 0.22.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 +10 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts +1 -1
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
- package/dist/src/modular/buildCodeModel.js +65 -42
- package/dist/src/modular/buildCodeModel.js.map +1 -1
- package/dist/src/modular/buildOperations.d.ts +1 -0
- package/dist/src/modular/buildOperations.d.ts.map +1 -1
- package/dist/src/modular/buildOperations.js +25 -3
- package/dist/src/modular/buildOperations.js.map +1 -1
- package/dist/src/modular/buildProjectFiles.js +7 -7
- package/dist/src/modular/buildProjectFiles.js.map +1 -1
- package/dist/src/modular/buildSerializeUtils.d.ts +14 -0
- package/dist/src/modular/buildSerializeUtils.d.ts.map +1 -0
- package/dist/src/modular/buildSerializeUtils.js +526 -0
- package/dist/src/modular/buildSerializeUtils.js.map +1 -0
- package/dist/src/modular/helpers/operationHelpers.d.ts +27 -4
- package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.js +91 -22
- package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
- package/dist/src/modular/modularCodeModel.d.ts +7 -0
- package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +26 -20
- package/src/index.ts +2 -0
- package/src/modular/buildCodeModel.ts +91 -43
- package/src/modular/buildOperations.ts +59 -3
- package/src/modular/buildProjectFiles.ts +8 -8
- package/src/modular/buildSerializeUtils.ts +740 -0
- package/src/modular/helpers/operationHelpers.ts +135 -28
- package/src/modular/modularCodeModel.ts +7 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 0.22.0 (2024-02-06)
|
|
2
|
+
|
|
3
|
+
- [Feature] Upgrade TypeSpec compiler to 0.52.0. Please refer to [#2262](https://github.com/Azure/autorest.typescript/pull/2262).
|
|
4
|
+
- [Feature] Add serialize util for polymorphic base and named union. Please refer to [#2169](https://github.com/Azure/autorest.typescript/pull/2169).
|
|
5
|
+
- [Feature] Support scalar type being used in body type. Please refer to [#2275](https://github.com/Azure/autorest.typescript/pull/2275).
|
|
6
|
+
- [Feature] Dependencies update. Please refer to [#2282](https://github.com/Azure/autorest.typescript/pull/2282) and [#2174](https://github.com/Azure/autorest.typescript/pull/2174) and [#2248](https://github.com/Azure/autorest.typescript/pull/2248).
|
|
7
|
+
- [BugFix] Fix reserved parameter name being used as mapper identifier in Autorest codegen. Please refer to [#2205](https://github.com/Azure/autorest.typescript/pull/2205).
|
|
8
|
+
- [BugFix] Fix union of KeyCredential and TokenCredential in RLC client. Please refer to [#2195](https://github.com/Azure/autorest.typescript/pull/2195).
|
|
9
|
+
- [BugFix] Fix optional or nullable property being used in serialize utils. Please refer to [#2283](https://github.com/Azure/autorest.typescript/pull/2283).
|
|
10
|
+
|
|
1
11
|
## 0.21.0 (2024-01-26)
|
|
2
12
|
|
|
3
13
|
- [Feature] Upgrade TypeSpec compiler to 0.51.0。 Please refer to pr [#2203](https://github.com/Azure/autorest.typescript/pull/2203).
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkC1D,OAAO,EAAE,OAAO,EAAc,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkC1D,OAAO,EAAE,OAAO,EAAc,MAAM,UAAU,CAAC;AAyB/C,cAAc,UAAU,CAAC;AAEzB,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,iBA4PjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,QA+EtD"}
|
package/dist/src/index.js
CHANGED
|
@@ -17,6 +17,7 @@ import { buildClassicalClient } from "./modular/buildClassicalClient.js";
|
|
|
17
17
|
import { buildClassicOperationFiles } from "./modular/buildClassicalOperationGroups.js";
|
|
18
18
|
import { emitPackage, emitTsConfig } from "./modular/buildProjectFiles.js";
|
|
19
19
|
import { getRLCClients } from "./utils/clientUtils.js";
|
|
20
|
+
import { buildSerializeUtils } from "./modular/buildSerializeUtils.js";
|
|
20
21
|
import { join } from "path";
|
|
21
22
|
import { transformRLCOptions } from "./transform/transfromRLCOptions.js";
|
|
22
23
|
import { getClientName } from "@azure-tools/rlc-common";
|
|
@@ -109,6 +110,7 @@ export async function $onEmit(context) {
|
|
|
109
110
|
buildModels(modularCodeModel, subClient);
|
|
110
111
|
buildModelsOptions(modularCodeModel, subClient);
|
|
111
112
|
const hasClientUnexpectedHelper = (_c = needUnexpectedHelper.get(subClient.rlcClientName)) !== null && _c !== void 0 ? _c : false;
|
|
113
|
+
buildSerializeUtils(modularCodeModel);
|
|
112
114
|
buildPagingTypes(modularCodeModel, subClient);
|
|
113
115
|
buildModularPagingHelpers(modularCodeModel, subClient, hasClientUnexpectedHelper, isMultiClients);
|
|
114
116
|
buildOperationFiles(dpgContext, modularCodeModel, subClient, hasClientUnexpectedHelper);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/lib.d.ts
CHANGED
|
@@ -64,7 +64,7 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
|
|
|
64
64
|
"unable-serialized-type": {
|
|
65
65
|
readonly default: import("@typespec/compiler").CallableMessage<["type"]>;
|
|
66
66
|
};
|
|
67
|
-
}, RLCOptions>;
|
|
67
|
+
}, RLCOptions, never>;
|
|
68
68
|
export declare const reportDiagnostic: <C extends "security-service-namespace" | "more-than-one-service" | "no-service-defined" | "resource-namespace" | "missing-path-param" | "duplicate-body-types" | "duplicate-header" | "duplicate-example" | "invalid-schema" | "union-null" | "union-unsupported" | "discriminator" | "discriminator-value" | "invalid-default" | "no-credential-scopes" | "nullable-required-header" | "no-paging-items-defined" | "decimal-to-number" | "unable-serialized-type", M extends keyof {
|
|
69
69
|
"security-service-namespace": {
|
|
70
70
|
readonly default: "Cannot add security details to a namespace other than the service namespace.";
|
package/dist/src/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAuEvD,CAAC;AAyIF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,cAAc,EACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAuEvD,CAAC;AAyIF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAAgC,CAAC;AAClD,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAS,CAAC;AAEzC,eAAO,MAAM,yBAAyB,EAAE,OASvC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAKjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildCodeModel.d.ts","sourceRoot":"","sources":["../../../src/modular/buildCodeModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buildCodeModel.d.ts","sourceRoot":"","sources":["../../../src/modular/buildCodeModel.ts"],"names":[],"mappings":"AAuEA,OAAO,EACL,gBAAgB,EASjB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,QAAQ,EAIT,MAAM,yBAAyB,CAAC;AAUjC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AA0BnC,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAmsDD,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACnC,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;IAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAA;CAAwB,GAC3D,gBAAgB,CAsDlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getPagedResult, isFixed } from "@azure-tools/typespec-azure-core";
|
|
2
|
-
import { getDoc, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getSummary, getVisibility, ignoreDiagnostics, isErrorModel, isNeverType, getEffectiveModelType, getDiscriminator, isStringType, getPropertyType, isNumericType, getMinItems, getMaxItems, listServices, getProjectedName, isNullType, getEncode, isTemplateDeclarationOrInstance } from "@typespec/compiler";
|
|
2
|
+
import { getDoc, getFriendlyName, getMaxLength, getMaxValue, getMinLength, getMinValue, getPattern, getSummary, getVisibility, ignoreDiagnostics, isErrorModel, isNeverType, getEffectiveModelType, getDiscriminator, isStringType, getPropertyType, isNumericType, getMinItems, getMaxItems, listServices, getProjectedName, isNullType, getEncode, isTemplateDeclarationOrInstance, UsageFlags } from "@typespec/compiler";
|
|
3
3
|
import { getAuthentication, getHeaderFieldName, getPathParamName, getQueryParamName, getServers, isStatusCode, getHttpOperation, isSharedRoute } from "@typespec/http";
|
|
4
4
|
import { getAddedOnVersions } from "@typespec/versioning";
|
|
5
5
|
import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, getDefaultApiVersion, getClientNamespaceString, getSdkUnion, getAllModels, getSdkBuiltInType, getClientType } from "@azure-tools/typespec-client-generator-core";
|
|
@@ -52,13 +52,14 @@ function isDiscriminator(context, type, propertyName) {
|
|
|
52
52
|
}
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
|
-
function handleDiscriminator(context, type) {
|
|
55
|
+
function handleDiscriminator(context, type, usage) {
|
|
56
56
|
const discriminator = getDiscriminator(context.program, type);
|
|
57
57
|
if (discriminator) {
|
|
58
58
|
const discriminatorValues = [];
|
|
59
59
|
const aliases = [];
|
|
60
|
+
const discriminatedSubtypes = [];
|
|
60
61
|
for (const childModel of type.derivedModels) {
|
|
61
|
-
const modelType = getType(context, childModel);
|
|
62
|
+
const modelType = getType(context, childModel, { usage });
|
|
62
63
|
aliases.push(modelType.name);
|
|
63
64
|
for (const property of modelType.properties) {
|
|
64
65
|
if (property.restApiName === discriminator.propertyName) {
|
|
@@ -66,6 +67,7 @@ function handleDiscriminator(context, type) {
|
|
|
66
67
|
discriminatorValues.push(modelType.discriminatorValue);
|
|
67
68
|
}
|
|
68
69
|
}
|
|
70
|
+
discriminatedSubtypes.push(modelType);
|
|
69
71
|
}
|
|
70
72
|
const discriminatorInfo = {
|
|
71
73
|
description: discriminatorValues.length > 0
|
|
@@ -77,7 +79,8 @@ function handleDiscriminator(context, type) {
|
|
|
77
79
|
name: discriminator.propertyName,
|
|
78
80
|
isPolymorphic: true,
|
|
79
81
|
isDiscriminator: true,
|
|
80
|
-
aliases
|
|
82
|
+
aliases,
|
|
83
|
+
discriminatedSubtypes
|
|
81
84
|
};
|
|
82
85
|
return discriminatorInfo;
|
|
83
86
|
}
|
|
@@ -117,9 +120,9 @@ function getEffectiveSchemaType(program, type) {
|
|
|
117
120
|
}
|
|
118
121
|
return type;
|
|
119
122
|
}
|
|
120
|
-
function processModelProperties(context, newValue, model) {
|
|
123
|
+
function processModelProperties(context, newValue, model, usage) {
|
|
121
124
|
// need to do properties after insertion to avoid infinite recursion
|
|
122
|
-
const discriminatorInfo = handleDiscriminator(context, model);
|
|
125
|
+
const discriminatorInfo = handleDiscriminator(context, model, usage);
|
|
123
126
|
let hasDiscriminator = false;
|
|
124
127
|
for (const property of model.properties.values()) {
|
|
125
128
|
if (!isSchemaProperty(context.program, property)) {
|
|
@@ -131,7 +134,7 @@ function processModelProperties(context, newValue, model) {
|
|
|
131
134
|
if (newValue.properties === undefined || newValue.properties === null) {
|
|
132
135
|
newValue.properties = [];
|
|
133
136
|
}
|
|
134
|
-
let newProperty = emitProperty(context, property);
|
|
137
|
+
let newProperty = emitProperty(context, property, usage);
|
|
135
138
|
if (isDiscriminator(context, model, property.name)) {
|
|
136
139
|
hasDiscriminator = true;
|
|
137
140
|
newProperty = {
|
|
@@ -146,10 +149,18 @@ function processModelProperties(context, newValue, model) {
|
|
|
146
149
|
if (!hasDiscriminator) {
|
|
147
150
|
newValue.properties.push({ ...discriminatorInfo });
|
|
148
151
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
newValue.
|
|
152
|
+
// we don't need to add the discriminator info if it's an anonymous model
|
|
153
|
+
// because it's impossible to have a anonymous model as the polymorphic base in typespec
|
|
154
|
+
// the only possibility is the anonymous model is an alias for an union type which has already been taken care of in the combined types.
|
|
155
|
+
if (newValue.name) {
|
|
156
|
+
discriminatorInfo === null || discriminatorInfo === void 0 ? void 0 : discriminatorInfo.aliases.push(`${newValue.name}`);
|
|
157
|
+
newValue.alias = `${newValue.name}`;
|
|
158
|
+
newValue.name = `${newValue.name}Union`;
|
|
159
|
+
newValue.aliasType = discriminatorInfo === null || discriminatorInfo === void 0 ? void 0 : discriminatorInfo.aliases.join(" | ");
|
|
160
|
+
newValue.types = discriminatorInfo === null || discriminatorInfo === void 0 ? void 0 : discriminatorInfo.discriminatedSubtypes;
|
|
161
|
+
newValue.isPolymorphicBaseModel = true;
|
|
162
|
+
newValue.discriminator = discriminatorInfo.restApiName;
|
|
163
|
+
}
|
|
153
164
|
}
|
|
154
165
|
}
|
|
155
166
|
function isEmptyAnonymousModel(type) {
|
|
@@ -180,7 +191,7 @@ function getType(context, type, options = {}) {
|
|
|
180
191
|
newValue = { type: "any" };
|
|
181
192
|
}
|
|
182
193
|
else {
|
|
183
|
-
newValue = emitType(context, type);
|
|
194
|
+
newValue = emitType(context, type, options.usage);
|
|
184
195
|
}
|
|
185
196
|
if (type.kind === "ModelProperty" || type.kind === "Scalar") {
|
|
186
197
|
newValue = applyEncoding(context.program, type, newValue);
|
|
@@ -192,13 +203,13 @@ function getType(context, type, options = {}) {
|
|
|
192
203
|
if (type.kind === "Union") {
|
|
193
204
|
for (const t of type.variants.values()) {
|
|
194
205
|
if (t.type.kind === "Model") {
|
|
195
|
-
processModelProperties(context, newValue, t.type);
|
|
206
|
+
processModelProperties(context, newValue, t.type, options.usage);
|
|
196
207
|
}
|
|
197
208
|
}
|
|
198
209
|
}
|
|
199
210
|
if (type.kind === "Model") {
|
|
200
211
|
// need to do properties after insertion to avoid infinite recursion
|
|
201
|
-
processModelProperties(context, newValue, type);
|
|
212
|
+
processModelProperties(context, newValue, type, options.usage);
|
|
202
213
|
}
|
|
203
214
|
}
|
|
204
215
|
else {
|
|
@@ -255,7 +266,8 @@ function emitBodyParameter(context, httpOperation) {
|
|
|
255
266
|
contentTypes = ["application/json"];
|
|
256
267
|
}
|
|
257
268
|
const type = getType(context, getBodyType(context.program, httpOperation), {
|
|
258
|
-
disableEffectiveModel: true
|
|
269
|
+
disableEffectiveModel: true,
|
|
270
|
+
usage: UsageFlags.Input
|
|
259
271
|
});
|
|
260
272
|
return {
|
|
261
273
|
contentTypes,
|
|
@@ -269,7 +281,9 @@ function emitBodyParameter(context, httpOperation) {
|
|
|
269
281
|
function emitParameter(context, parameter, implementation) {
|
|
270
282
|
var _a;
|
|
271
283
|
const base = emitParamBase(context.program, parameter.param);
|
|
272
|
-
let type = getType(context, parameter.param.type
|
|
284
|
+
let type = getType(context, parameter.param.type, {
|
|
285
|
+
usage: UsageFlags.Input
|
|
286
|
+
});
|
|
273
287
|
let clientDefaultValue = undefined;
|
|
274
288
|
if (parameter.name.toLowerCase() === "content-type" &&
|
|
275
289
|
type["type"] === "constant") {
|
|
@@ -349,7 +363,7 @@ function emitResponseHeaders(context, headers) {
|
|
|
349
363
|
}
|
|
350
364
|
for (const [key, value] of Object.entries(headers)) {
|
|
351
365
|
retval.push({
|
|
352
|
-
type: getType(context, value.type),
|
|
366
|
+
type: getType(context, value.type, { usage: UsageFlags.Output }),
|
|
353
367
|
restApiName: key
|
|
354
368
|
});
|
|
355
369
|
}
|
|
@@ -370,10 +384,12 @@ function emitResponse(context, response, innerResponse) {
|
|
|
370
384
|
if (innerResponse.body.type.kind === "Model" &&
|
|
371
385
|
candidate.find((e) => e === originType.name)) {
|
|
372
386
|
const modelType = getEffectiveSchemaType(context.program, originType);
|
|
373
|
-
type = getType(context, modelType);
|
|
387
|
+
type = getType(context, modelType, { usage: UsageFlags.Output });
|
|
374
388
|
}
|
|
375
389
|
else {
|
|
376
|
-
type = getType(context, innerResponse.body.type
|
|
390
|
+
type = getType(context, innerResponse.body.type, {
|
|
391
|
+
usage: UsageFlags.Output
|
|
392
|
+
});
|
|
377
393
|
}
|
|
378
394
|
}
|
|
379
395
|
const statusCodes = [];
|
|
@@ -591,7 +607,7 @@ function isReadOnly(program, type) {
|
|
|
591
607
|
return false;
|
|
592
608
|
}
|
|
593
609
|
}
|
|
594
|
-
function emitProperty(context, property) {
|
|
610
|
+
function emitProperty(context, property, usage) {
|
|
595
611
|
var _a, _b, _c;
|
|
596
612
|
const newProperty = applyEncoding(context.program, property, property);
|
|
597
613
|
let clientDefaultValue = undefined;
|
|
@@ -609,9 +625,9 @@ function emitProperty(context, property) {
|
|
|
609
625
|
const clientName = property.name;
|
|
610
626
|
const jsonName = (_c = getProjectedName(context.program, property, "json")) !== null && _c !== void 0 ? _c : property.name;
|
|
611
627
|
if (property.model) {
|
|
612
|
-
getType(context, property.model);
|
|
628
|
+
getType(context, property.model, { usage });
|
|
613
629
|
}
|
|
614
|
-
const type = getType(context, property.type);
|
|
630
|
+
const type = getType(context, property.type, { usage });
|
|
615
631
|
return {
|
|
616
632
|
clientName: applyCasing(clientName, { casing: CASING }),
|
|
617
633
|
restApiName: jsonName,
|
|
@@ -643,13 +659,13 @@ function getName(program, type) {
|
|
|
643
659
|
}
|
|
644
660
|
}
|
|
645
661
|
}
|
|
646
|
-
function emitModel(context, type) {
|
|
662
|
+
function emitModel(context, type, usage) {
|
|
647
663
|
var _a, _b, _c;
|
|
648
664
|
// Now we know it's a defined model
|
|
649
665
|
const properties = [];
|
|
650
666
|
let baseModel = undefined;
|
|
651
667
|
if (type.baseModel) {
|
|
652
|
-
baseModel = getType(context, type.baseModel);
|
|
668
|
+
baseModel = getType(context, type.baseModel, { usage });
|
|
653
669
|
}
|
|
654
670
|
const effectiveName = getEffectiveSchemaType(context.program, type).name;
|
|
655
671
|
const overridedModelName = (_b = (_a = getProjectedName(context.program, type, "javascript")) !== null && _a !== void 0 ? _a : getProjectedName(context.program, type, "client")) !== null && _b !== void 0 ? _b : getFriendlyName(context.program, type);
|
|
@@ -688,14 +704,15 @@ function emitModel(context, type) {
|
|
|
688
704
|
name: modelName,
|
|
689
705
|
description: getDocStr(context.program, type),
|
|
690
706
|
parents: baseModel ? [baseModel] : [],
|
|
691
|
-
discriminatedSubtypes:
|
|
707
|
+
discriminatedSubtypes: [],
|
|
692
708
|
properties: properties,
|
|
693
709
|
addedOn: getAddedOnVersion(context.program, type),
|
|
694
710
|
snakeCaseName: modelName
|
|
695
711
|
? applyCasing(modelName, { casing: CASING })
|
|
696
712
|
: modelName,
|
|
697
713
|
base: modelName === "" ? "json" : "dpg",
|
|
698
|
-
isCoreErrorType: isAzureCoreErrorType(type)
|
|
714
|
+
isCoreErrorType: isAzureCoreErrorType(type),
|
|
715
|
+
usage
|
|
699
716
|
};
|
|
700
717
|
}
|
|
701
718
|
function intOrFloat(value) {
|
|
@@ -907,27 +924,27 @@ function emitScalar(program, scalar) {
|
|
|
907
924
|
}
|
|
908
925
|
return applyIntrinsicDecorators(program, scalar, result);
|
|
909
926
|
}
|
|
910
|
-
function emitListOrDict(context, type) {
|
|
927
|
+
function emitListOrDict(context, type, usage) {
|
|
911
928
|
if (type.indexer !== undefined) {
|
|
912
929
|
if (!isNeverType(type.indexer.key)) {
|
|
913
930
|
const name = type.indexer.key.name;
|
|
914
931
|
if (name === "string") {
|
|
915
932
|
return {
|
|
916
933
|
type: "dict",
|
|
917
|
-
elementType: getType(context, type.indexer.value)
|
|
934
|
+
elementType: getType(context, type.indexer.value, { usage })
|
|
918
935
|
};
|
|
919
936
|
}
|
|
920
937
|
else if (name === "integer") {
|
|
921
938
|
return {
|
|
922
939
|
type: "list",
|
|
923
|
-
elementType: getType(context, type.indexer.value)
|
|
940
|
+
elementType: getType(context, type.indexer.value, { usage })
|
|
924
941
|
};
|
|
925
942
|
}
|
|
926
943
|
}
|
|
927
944
|
}
|
|
928
945
|
return undefined;
|
|
929
946
|
}
|
|
930
|
-
function mapTypeSpecType(context, type) {
|
|
947
|
+
function mapTypeSpecType(context, type, usage) {
|
|
931
948
|
switch (type.kind) {
|
|
932
949
|
case "Number":
|
|
933
950
|
return constantType(type.value, intOrFloat(type.value));
|
|
@@ -936,10 +953,10 @@ function mapTypeSpecType(context, type) {
|
|
|
936
953
|
case "Boolean":
|
|
937
954
|
return constantType(type.value, "boolean");
|
|
938
955
|
case "Model":
|
|
939
|
-
return emitListOrDict(context, type);
|
|
956
|
+
return emitListOrDict(context, type, usage);
|
|
940
957
|
}
|
|
941
958
|
}
|
|
942
|
-
function emitUnion(context, type) {
|
|
959
|
+
function emitUnion(context, type, usage) {
|
|
943
960
|
var _a, _b;
|
|
944
961
|
const sdkType = getSdkUnion(context, type);
|
|
945
962
|
const nonNullOptions = getNonNullOptions(type);
|
|
@@ -950,7 +967,7 @@ function emitUnion(context, type) {
|
|
|
950
967
|
const unionName = type.name;
|
|
951
968
|
const discriminatorPropertyName = (_a = getDiscriminator(context.program, type)) === null || _a === void 0 ? void 0 : _a.propertyName;
|
|
952
969
|
const variantTypes = sdkType.values.map((x) => {
|
|
953
|
-
const valueType = getType(context, x.__raw);
|
|
970
|
+
const valueType = getType(context, x.__raw, { usage });
|
|
954
971
|
if (valueType.properties && discriminatorPropertyName) {
|
|
955
972
|
valueType.discriminatorValue = valueType.properties.filter((p) => p.clientName === discriminatorPropertyName)[0].type.value;
|
|
956
973
|
}
|
|
@@ -964,6 +981,7 @@ function emitUnion(context, type) {
|
|
|
964
981
|
type: "combined",
|
|
965
982
|
types: variantTypes,
|
|
966
983
|
xmlMetadata: {},
|
|
984
|
+
usage,
|
|
967
985
|
discriminator: discriminatorPropertyName,
|
|
968
986
|
alias: unionName === "" || unionName === undefined ? undefined : unionName,
|
|
969
987
|
aliasType: unionName === "" || unionName === undefined
|
|
@@ -981,7 +999,8 @@ function emitUnion(context, type) {
|
|
|
981
999
|
valueType: emitSimpleType(context, sdkType.valueType),
|
|
982
1000
|
values: sdkType.values.map((x) => emitEnumMember(context, x)),
|
|
983
1001
|
isFixed: sdkType.isFixed,
|
|
984
|
-
xmlMetadata: {}
|
|
1002
|
+
xmlMetadata: {},
|
|
1003
|
+
usage
|
|
985
1004
|
};
|
|
986
1005
|
}
|
|
987
1006
|
else if (isStringOrNumberKind(context.program, sdkType.kind) &&
|
|
@@ -1000,7 +1019,10 @@ function emitUnion(context, type) {
|
|
|
1000
1019
|
};
|
|
1001
1020
|
}
|
|
1002
1021
|
else {
|
|
1003
|
-
return {
|
|
1022
|
+
return {
|
|
1023
|
+
...emitType(context, sdkType.__raw, usage),
|
|
1024
|
+
nullable: sdkType.nullable
|
|
1025
|
+
};
|
|
1004
1026
|
}
|
|
1005
1027
|
}
|
|
1006
1028
|
function isStringOrNumberKind(program, kind) {
|
|
@@ -1054,14 +1076,14 @@ function emitSimpleType(context, type) {
|
|
|
1054
1076
|
format: undefined
|
|
1055
1077
|
};
|
|
1056
1078
|
}
|
|
1057
|
-
function emitType(context, type) {
|
|
1079
|
+
function emitType(context, type, usage) {
|
|
1058
1080
|
if (type.kind === "Credential") {
|
|
1059
1081
|
return emitCredential(type.scheme);
|
|
1060
1082
|
}
|
|
1061
1083
|
if (type.kind === "CredentialTypeUnion") {
|
|
1062
1084
|
return emitCredentialUnion(type);
|
|
1063
1085
|
}
|
|
1064
|
-
const builtinType = mapTypeSpecType(context, type);
|
|
1086
|
+
const builtinType = mapTypeSpecType(context, type, usage);
|
|
1065
1087
|
if (builtinType !== undefined) {
|
|
1066
1088
|
// add in description elements for types derived from primitive types (SecureString, etc.)
|
|
1067
1089
|
const doc = getDoc(context.program, type);
|
|
@@ -1074,11 +1096,11 @@ function emitType(context, type) {
|
|
|
1074
1096
|
case "Intrinsic":
|
|
1075
1097
|
return { type: type.name };
|
|
1076
1098
|
case "Model":
|
|
1077
|
-
return emitModel(context, type);
|
|
1099
|
+
return emitModel(context, type, usage);
|
|
1078
1100
|
case "Scalar":
|
|
1079
1101
|
return emitScalar(context.program, type);
|
|
1080
1102
|
case "Union":
|
|
1081
|
-
return emitUnion(context, type);
|
|
1103
|
+
return emitUnion(context, type, usage);
|
|
1082
1104
|
case "UnionVariant":
|
|
1083
1105
|
return {};
|
|
1084
1106
|
case "Enum":
|
|
@@ -1257,7 +1279,7 @@ function emitCredentialParam(context, namespace) {
|
|
|
1257
1279
|
};
|
|
1258
1280
|
}
|
|
1259
1281
|
return {
|
|
1260
|
-
type: getType(context, type),
|
|
1282
|
+
type: getType(context, type, { usage: UsageFlags.Input }),
|
|
1261
1283
|
optional: false,
|
|
1262
1284
|
description: "Credential needed for the client to connect to Azure.",
|
|
1263
1285
|
clientName: "credential",
|
|
@@ -1325,7 +1347,8 @@ function emitClients(context, namespace, rlcModelsMap) {
|
|
|
1325
1347
|
url: server ? server.url : "",
|
|
1326
1348
|
apiVersions: [],
|
|
1327
1349
|
rlcClientName: rlcModels ? getClientName(rlcModels) : client.name,
|
|
1328
|
-
subfolder: ""
|
|
1350
|
+
subfolder: "",
|
|
1351
|
+
rlcHelperDetails: rlcModels && rlcModels.helperDetails ? rlcModels.helperDetails : {}
|
|
1329
1352
|
};
|
|
1330
1353
|
const emittedApiVersionParam = getApiVersionParameter(context);
|
|
1331
1354
|
if (emittedApiVersionParam) {
|
|
@@ -1372,7 +1395,7 @@ export function emitCodeModel(dpgContext, rlcModelsMap, modularSourcesRoot, proj
|
|
|
1372
1395
|
simpleTypesMap.clear();
|
|
1373
1396
|
const allModels = getAllModels(dpgContext);
|
|
1374
1397
|
for (const model of allModels) {
|
|
1375
|
-
getType(dpgContext, model.__raw);
|
|
1398
|
+
getType(dpgContext, model.__raw, { usage: model.usage });
|
|
1376
1399
|
}
|
|
1377
1400
|
for (const namespace of getNamespaces(dpgContext)) {
|
|
1378
1401
|
if (namespace === clientNamespaceString) {
|