@azure-tools/typespec-ts 0.15.0 → 0.16.0-alpha.20230913.1
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 +14 -17
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib.d.ts.map +1 -1
- package/dist/src/lib.js +3 -3
- package/dist/src/lib.js.map +1 -1
- package/dist/src/modular/buildClassicalClient.d.ts +2 -3
- package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
- package/dist/src/modular/buildClassicalClient.js +26 -12
- package/dist/src/modular/buildClassicalClient.js.map +1 -1
- package/dist/src/modular/buildClientContext.d.ts +3 -3
- package/dist/src/modular/buildClientContext.d.ts.map +1 -1
- package/dist/src/modular/buildClientContext.js +5 -4
- package/dist/src/modular/buildClientContext.js.map +1 -1
- package/dist/src/modular/buildCodeModel.d.ts +3 -2
- package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
- package/dist/src/modular/buildCodeModel.js +141 -54
- package/dist/src/modular/buildCodeModel.js.map +1 -1
- package/dist/src/modular/buildOperations.d.ts +2 -2
- package/dist/src/modular/buildOperations.d.ts.map +1 -1
- package/dist/src/modular/buildOperations.js +15 -8
- package/dist/src/modular/buildOperations.js.map +1 -1
- package/dist/src/modular/buildProjectFiles.js +2 -2
- package/dist/src/modular/buildProjectFiles.js.map +1 -1
- package/dist/src/modular/buildRootIndex.d.ts +4 -4
- package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
- package/dist/src/modular/buildRootIndex.js +12 -5
- package/dist/src/modular/buildRootIndex.js.map +1 -1
- package/dist/src/modular/buildSubpathIndex.d.ts +2 -2
- package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
- package/dist/src/modular/buildSubpathIndex.js +7 -4
- package/dist/src/modular/buildSubpathIndex.js.map +1 -1
- package/dist/src/modular/emitModels.d.ts +3 -3
- package/dist/src/modular/emitModels.d.ts.map +1 -1
- package/dist/src/modular/emitModels.js +28 -18
- package/dist/src/modular/emitModels.js.map +1 -1
- package/dist/src/modular/helpers/clientHelpers.js +1 -1
- package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts +1 -1
- package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/operationHelpers.js +140 -77
- package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.d.ts +2 -2
- package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
- package/dist/src/modular/helpers/typeHelpers.js +13 -7
- package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
- package/dist/src/modular/modularCodeModel.d.ts +11 -0
- package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
- package/dist/src/transform/transformHelperFunctionDetails.js +3 -4
- package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
- package/dist/src/transform/transformParameters.d.ts +0 -10
- package/dist/src/transform/transformParameters.d.ts.map +1 -1
- package/dist/src/transform/transformParameters.js +7 -51
- package/dist/src/transform/transformParameters.js.map +1 -1
- package/dist/src/transform/transformResponses.js +3 -4
- package/dist/src/transform/transformResponses.js.map +1 -1
- package/dist/src/transform/transformSchemas.d.ts.map +1 -1
- package/dist/src/transform/transformSchemas.js +4 -8
- package/dist/src/transform/transformSchemas.js.map +1 -1
- package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
- package/dist/src/transform/transformTelemetryInfo.js +3 -10
- package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
- package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
- package/dist/src/transform/transfromRLCOptions.js +48 -9
- package/dist/src/transform/transfromRLCOptions.js.map +1 -1
- package/dist/src/utils/modelUtils.d.ts +2 -1
- package/dist/src/utils/modelUtils.d.ts.map +1 -1
- package/dist/src/utils/modelUtils.js +83 -73
- package/dist/src/utils/modelUtils.js.map +1 -1
- package/dist/src/utils/operationUtil.d.ts +15 -1
- package/dist/src/utils/operationUtil.d.ts.map +1 -1
- package/dist/src/utils/operationUtil.js +82 -3
- package/dist/src/utils/operationUtil.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -11
- package/src/index.ts +24 -51
- package/src/lib.ts +3 -3
- package/src/modular/buildClassicalClient.ts +29 -16
- package/src/modular/buildClientContext.ts +8 -9
- package/src/modular/buildCodeModel.ts +183 -60
- package/src/modular/buildOperations.ts +16 -11
- package/src/modular/buildProjectFiles.ts +2 -2
- package/src/modular/buildRootIndex.ts +19 -12
- package/src/modular/buildSubpathIndex.ts +10 -8
- package/src/modular/emitModels.ts +35 -24
- package/src/modular/helpers/clientHelpers.ts +1 -1
- package/src/modular/helpers/operationHelpers.ts +231 -118
- package/src/modular/helpers/typeHelpers.ts +14 -7
- package/src/modular/modularCodeModel.ts +11 -0
- package/src/transform/transformHelperFunctionDetails.ts +10 -4
- package/src/transform/transformParameters.ts +15 -57
- package/src/transform/transformResponses.ts +2 -4
- package/src/transform/transformSchemas.ts +5 -9
- package/src/transform/transformTelemetryInfo.ts +4 -18
- package/src/transform/transfromRLCOptions.ts +67 -9
- package/src/utils/modelUtils.ts +81 -72
- package/src/utils/operationUtil.ts +121 -4
|
@@ -3,6 +3,7 @@ import { buildType } from "./typeHelpers.js";
|
|
|
3
3
|
import { NameType, getResponseBaseName, getResponseTypeName, normalizeName } from "@azure-tools/rlc-common";
|
|
4
4
|
import { getOperationName } from "./namingHelpers.js";
|
|
5
5
|
import { getFixmeForMultilineDocs, getDocsFromDescription } from "./docsHelpers.js";
|
|
6
|
+
import { getCollectionFormatHelper, hasCollectionFormatInfo } from "../../utils/operationUtil.js";
|
|
6
7
|
function getRLCResponseType(rlcResponse) {
|
|
7
8
|
if (!(rlcResponse === null || rlcResponse === void 0 ? void 0 : rlcResponse.responses)) {
|
|
8
9
|
return;
|
|
@@ -36,7 +37,7 @@ export function getSendPrivateFunction(operation, clientType, importSet) {
|
|
|
36
37
|
export function getDeserializePrivateFunction(operation, needSubClient, needUnexpectedHelper, importSet) {
|
|
37
38
|
var _a, _b, _c, _d, _e;
|
|
38
39
|
const { name } = getOperationName(operation);
|
|
39
|
-
|
|
40
|
+
const parameters = [
|
|
40
41
|
{
|
|
41
42
|
name: "result",
|
|
42
43
|
type: getRLCResponseType(operation.rlcResponse)
|
|
@@ -46,17 +47,9 @@ export function getDeserializePrivateFunction(operation, needSubClient, needUnex
|
|
|
46
47
|
const response = operation.responses[0];
|
|
47
48
|
let returnType;
|
|
48
49
|
if ((_a = response === null || response === void 0 ? void 0 : response.type) === null || _a === void 0 ? void 0 : _a.type) {
|
|
49
|
-
returnType = buildType(response.type.name, response.type);
|
|
50
|
+
returnType = buildType(response.type.name, response.type, response.type.format);
|
|
50
51
|
}
|
|
51
52
|
else {
|
|
52
|
-
if (!needUnexpectedHelper) {
|
|
53
|
-
parameters = [
|
|
54
|
-
{
|
|
55
|
-
name: "_result",
|
|
56
|
-
type: getRLCResponseType(operation.rlcResponse)
|
|
57
|
-
}
|
|
58
|
-
];
|
|
59
|
-
}
|
|
60
53
|
returnType = { name: "", type: "void" };
|
|
61
54
|
}
|
|
62
55
|
const functionStatement = {
|
|
@@ -70,11 +63,23 @@ export function getDeserializePrivateFunction(operation, needSubClient, needUnex
|
|
|
70
63
|
if (needUnexpectedHelper) {
|
|
71
64
|
statements.push(`if(${needSubClient ? "UnexpectedHelper." : ""}isUnexpected(result)){`, "throw result.body", "}");
|
|
72
65
|
}
|
|
66
|
+
else {
|
|
67
|
+
const validStatus = [
|
|
68
|
+
...new Set(operation.responses
|
|
69
|
+
.flatMap((r) => r.statusCodes)
|
|
70
|
+
.filter((s) => s !== "default"))
|
|
71
|
+
];
|
|
72
|
+
if (validStatus.length > 0) {
|
|
73
|
+
statements.push(`if(${validStatus
|
|
74
|
+
.map((s) => `result.status !== "${s}"`)
|
|
75
|
+
.join(" || ")}){`, "throw result.body", "}");
|
|
76
|
+
}
|
|
77
|
+
}
|
|
73
78
|
if (((_b = response === null || response === void 0 ? void 0 : response.type) === null || _b === void 0 ? void 0 : _b.type) === "any") {
|
|
74
79
|
statements.push(`return result.body`);
|
|
75
80
|
}
|
|
76
81
|
else if ((_c = response === null || response === void 0 ? void 0 : response.type) === null || _c === void 0 ? void 0 : _c.elementType) {
|
|
77
|
-
statements.push(`return ${deserializeResponseValue(response.type, "result.body", importSet, response.type.nullable !== undefined ? !response.type.nullable : false)}`);
|
|
82
|
+
statements.push(`return ${deserializeResponseValue(response.type, "result.body", importSet, response.type.nullable !== undefined ? !response.type.nullable : false, response.type.format)}`);
|
|
78
83
|
}
|
|
79
84
|
else if ((_d = response === null || response === void 0 ? void 0 : response.type) === null || _d === void 0 ? void 0 : _d.properties) {
|
|
80
85
|
statements.push(`return {`, getResponseMapping((_e = response.type.properties) !== null && _e !== void 0 ? _e : [], "result.body", importSet).join(","), `}`);
|
|
@@ -98,22 +103,22 @@ function getOperationSignatureParameters(operation, clientType) {
|
|
|
98
103
|
((_c = (_b = operation.bodyParameter) === null || _b === void 0 ? void 0 : _b.type.properties) !== null && _c !== void 0 ? _c : [])
|
|
99
104
|
.filter((p) => !p.optional)
|
|
100
105
|
.filter((p) => !p.readonly)
|
|
101
|
-
.map((p) => buildType(p.clientName, p.type))
|
|
106
|
+
.map((p) => buildType(p.clientName, p.type, p.format))
|
|
102
107
|
.forEach((p) => parameters.set(p.name, p));
|
|
103
108
|
}
|
|
104
109
|
else if (((_d = operation.bodyParameter) === null || _d === void 0 ? void 0 : _d.type.type) === "list") {
|
|
105
110
|
const bodyArray = operation.bodyParameter;
|
|
106
|
-
parameters.set(bodyArray.clientName, buildType(bodyArray.clientName, bodyArray.type));
|
|
111
|
+
parameters.set(bodyArray.clientName, buildType(bodyArray.clientName, bodyArray.type, bodyArray.type.format));
|
|
107
112
|
}
|
|
108
113
|
else if (((_e = operation.bodyParameter) === null || _e === void 0 ? void 0 : _e.type.type) === "byte-array") {
|
|
109
|
-
parameters.set(operation.bodyParameter.clientName, buildType(operation.bodyParameter.clientName, operation.bodyParameter.type));
|
|
114
|
+
parameters.set(operation.bodyParameter.clientName, buildType(operation.bodyParameter.clientName, operation.bodyParameter.type, operation.bodyParameter.type.format));
|
|
110
115
|
}
|
|
111
116
|
operation.parameters
|
|
112
117
|
.filter((p) => p.implementation === "Method" &&
|
|
113
118
|
p.type.type !== "constant" &&
|
|
114
119
|
p.clientDefaultValue === undefined &&
|
|
115
120
|
!p.optional)
|
|
116
|
-
.map((p) => buildType(p.clientName, p.type))
|
|
121
|
+
.map((p) => buildType(p.clientName, p.type, p.format))
|
|
117
122
|
.forEach((p) => {
|
|
118
123
|
parameters.set(p.name, p);
|
|
119
124
|
});
|
|
@@ -138,7 +143,7 @@ export function getOperationFunction(operation, clientType) {
|
|
|
138
143
|
// TODO: Support operation overloads
|
|
139
144
|
const response = operation.responses[0];
|
|
140
145
|
const returnType = ((_a = response === null || response === void 0 ? void 0 : response.type) === null || _a === void 0 ? void 0 : _a.type)
|
|
141
|
-
? buildType(response.type.name, response.type)
|
|
146
|
+
? buildType(response.type.name, response.type, response.type.format)
|
|
142
147
|
: { name: "", type: "void" };
|
|
143
148
|
const { name, fixme = [] } = getOperationName(operation);
|
|
144
149
|
const functionStatement = {
|
|
@@ -162,8 +167,14 @@ export function getOperationFunction(operation, clientType) {
|
|
|
162
167
|
statements
|
|
163
168
|
};
|
|
164
169
|
}
|
|
165
|
-
export function getOperationOptionsName(operation) {
|
|
166
|
-
|
|
170
|
+
export function getOperationOptionsName(operation, includeGroupName = false) {
|
|
171
|
+
var _a;
|
|
172
|
+
const prefix = includeGroupName ? toPascalCase(operation.groupName) : "";
|
|
173
|
+
const optionName = `${prefix}${toPascalCase(operation.name)}Options`;
|
|
174
|
+
if (((_a = operation.bodyParameter) === null || _a === void 0 ? void 0 : _a.type.name) === optionName) {
|
|
175
|
+
return optionName.replace(/Options$/, "RequestOptions");
|
|
176
|
+
}
|
|
177
|
+
return optionName;
|
|
167
178
|
}
|
|
168
179
|
/**
|
|
169
180
|
* This function build the request parameters that we will provide to the
|
|
@@ -191,7 +202,7 @@ function getRequestParameters(operation, importSet) {
|
|
|
191
202
|
paramStr = `${getContentTypeValue(contentTypeParameter)},`;
|
|
192
203
|
}
|
|
193
204
|
if (parametersImplementation.header.length) {
|
|
194
|
-
paramStr = `${paramStr}\nheaders: {${parametersImplementation.header.join(",\n")
|
|
205
|
+
paramStr = `${paramStr}\nheaders: {${parametersImplementation.header.join(",\n")}},`;
|
|
195
206
|
}
|
|
196
207
|
if (parametersImplementation.query.length) {
|
|
197
208
|
paramStr = `${paramStr}\nqueryParameters: {${parametersImplementation.query.join(",\n")}},`;
|
|
@@ -206,23 +217,16 @@ function buildBodyParameter(bodyParameter, importSet) {
|
|
|
206
217
|
}
|
|
207
218
|
if (bodyParameter.type.type === "model") {
|
|
208
219
|
const bodyParts = [];
|
|
209
|
-
let hasSerializeBody = false;
|
|
210
220
|
for (const param of (_b = (_a = bodyParameter === null || bodyParameter === void 0 ? void 0 : bodyParameter.type.properties) === null || _a === void 0 ? void 0 : _a.filter((p) => !p.readonly)) !== null && _b !== void 0 ? _b : []) {
|
|
211
221
|
if (param.type.type === "model" && isRequired(param)) {
|
|
212
|
-
|
|
213
|
-
bodyParts.push(...getRequestModelMapping(param.type, param.clientName, importSet));
|
|
222
|
+
bodyParts.push(`"${param.restApiName}": {${getRequestModelMapping(param.type, param.clientName, importSet).join(",\n")}}`);
|
|
214
223
|
}
|
|
215
224
|
else {
|
|
216
225
|
bodyParts.push(getParameterMap(param, importSet));
|
|
217
226
|
}
|
|
218
227
|
}
|
|
219
228
|
if (bodyParameter && bodyParameter.type.properties) {
|
|
220
|
-
|
|
221
|
-
return `\nbody: {"${bodyParameter.restApiName}": {${bodyParts.join(",\n")}}},`;
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
return `\nbody: {${bodyParts.join(",\n")}},`;
|
|
225
|
-
}
|
|
229
|
+
return `\nbody: {${bodyParts.join(",\n")}},`;
|
|
226
230
|
}
|
|
227
231
|
}
|
|
228
232
|
if (bodyParameter.type.type === "list") {
|
|
@@ -246,17 +250,31 @@ function getParameterMap(param, importSet) {
|
|
|
246
250
|
if (isConstant(param)) {
|
|
247
251
|
return getConstantValue(param);
|
|
248
252
|
}
|
|
249
|
-
if (
|
|
250
|
-
return
|
|
253
|
+
if (hasCollectionFormatInfo(param.location, param.format)) {
|
|
254
|
+
return getCollectionFormat(param, importSet);
|
|
251
255
|
}
|
|
252
|
-
if
|
|
253
|
-
|
|
256
|
+
// if the parameter or property is optional, we don't need to handle the default value
|
|
257
|
+
if (isOptional(param)) {
|
|
258
|
+
return getOptional(param, importSet);
|
|
254
259
|
}
|
|
255
260
|
if (isRequired(param)) {
|
|
256
261
|
return getRequired(param, importSet);
|
|
257
262
|
}
|
|
258
263
|
throw new Error(`Parameter ${param.clientName} is not supported`);
|
|
259
264
|
}
|
|
265
|
+
function getCollectionFormat(param, importSet) {
|
|
266
|
+
var _a, _b;
|
|
267
|
+
const collectionInfo = getCollectionFormatHelper(param.location, (_a = param.format) !== null && _a !== void 0 ? _a : "");
|
|
268
|
+
if (!collectionInfo) {
|
|
269
|
+
throw "Has collection format info but without helper function detected";
|
|
270
|
+
}
|
|
271
|
+
const isMulti = ((_b = param.format) !== null && _b !== void 0 ? _b : "").toLowerCase() === "multi";
|
|
272
|
+
const additionalParam = isMulti ? `, "${param.restApiName}"` : "";
|
|
273
|
+
if (!param.optional) {
|
|
274
|
+
return `"${param.restApiName}": ${collectionInfo}(${serializeRequestValue(param.type, param.clientName, importSet, true, param.format)}${additionalParam})`;
|
|
275
|
+
}
|
|
276
|
+
return `"${param.restApiName}": options?.${param.clientName} !== undefined ? ${collectionInfo}(${serializeRequestValue(param.type, "options?." + param.clientName, importSet, false, param.format)}${additionalParam}): undefined`;
|
|
277
|
+
}
|
|
260
278
|
function isContentType(param) {
|
|
261
279
|
return (param.location === "header" &&
|
|
262
280
|
param.restApiName.toLowerCase() === "content-type");
|
|
@@ -281,7 +299,11 @@ function getRequired(param, importSet) {
|
|
|
281
299
|
if (param.type.type === "model") {
|
|
282
300
|
return `"${param.restApiName}": ${getRequestModelMapping(param.type, param.clientName, importSet).join(",")}`;
|
|
283
301
|
}
|
|
284
|
-
return `"${param.restApiName}": ${param.clientName
|
|
302
|
+
return `"${param.restApiName}": ${serializeRequestValue(param.type, param.clientName, importSet, true, param.format === undefined &&
|
|
303
|
+
param.location === "header" &&
|
|
304
|
+
param.type.type === "datetime"
|
|
305
|
+
? "headerDefault"
|
|
306
|
+
: param.format)}`;
|
|
285
307
|
}
|
|
286
308
|
function getConstantValue(param) {
|
|
287
309
|
var _a;
|
|
@@ -294,31 +316,18 @@ function getConstantValue(param) {
|
|
|
294
316
|
function isConstant(param) {
|
|
295
317
|
return (param.type.type === "constant" && param.clientDefaultValue !== undefined);
|
|
296
318
|
}
|
|
297
|
-
function
|
|
298
|
-
return Boolean(param.optional
|
|
319
|
+
function isOptional(param) {
|
|
320
|
+
return Boolean(param.optional);
|
|
299
321
|
}
|
|
300
|
-
function
|
|
322
|
+
function getOptional(param, importSet) {
|
|
301
323
|
if (param.type.type === "model") {
|
|
302
324
|
return `"${param.restApiName}": {${getRequestModelMapping(param.type, "options?." + param.clientName + "?", importSet).join(", ")}}`;
|
|
303
325
|
}
|
|
304
|
-
return `"${param.restApiName}": options?.${param.clientName}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
}
|
|
309
|
-
function getOptionalWithDefault(param, importSet) {
|
|
310
|
-
if (param.type.type === "model") {
|
|
311
|
-
return `"${param.restApiName}": {${getRequestModelMapping(param.type, "options?." + param.clientName, importSet).join(", ")}} ?? ${getQuotedValue(param)}`;
|
|
312
|
-
}
|
|
313
|
-
return `"${param.restApiName}": options.${param.clientName} ?? ${getQuotedValue(param)}`;
|
|
314
|
-
}
|
|
315
|
-
function getQuotedValue(param) {
|
|
316
|
-
if (param.type.type === "string") {
|
|
317
|
-
return `"${param.clientDefaultValue}"`;
|
|
318
|
-
}
|
|
319
|
-
else {
|
|
320
|
-
return param.clientDefaultValue;
|
|
321
|
-
}
|
|
326
|
+
return `"${param.restApiName}": ${serializeRequestValue(param.type, `options?.${param.clientName}`, importSet, false, param.format === undefined &&
|
|
327
|
+
param.location === "header" &&
|
|
328
|
+
param.type.type === "datetime"
|
|
329
|
+
? "headerDefault"
|
|
330
|
+
: param.format)}`;
|
|
322
331
|
}
|
|
323
332
|
/**
|
|
324
333
|
* Builds the assignment for when a property or parameter has a default value
|
|
@@ -365,6 +374,7 @@ function getNullableCheck(name, type) {
|
|
|
365
374
|
* extracting properties from body and headers and building the RLC response object
|
|
366
375
|
*/
|
|
367
376
|
function getRequestModelMapping(modelPropertyType, propertyPath = "body", importSet) {
|
|
377
|
+
var _a, _b;
|
|
368
378
|
if (!modelPropertyType.properties || !modelPropertyType.properties) {
|
|
369
379
|
return [];
|
|
370
380
|
}
|
|
@@ -374,21 +384,38 @@ function getRequestModelMapping(modelPropertyType, propertyPath = "body", import
|
|
|
374
384
|
if (property.readonly) {
|
|
375
385
|
continue;
|
|
376
386
|
}
|
|
377
|
-
const propertyFullName = `${propertyPath}.${property.
|
|
387
|
+
const propertyFullName = `${propertyPath}.${property.clientName}`;
|
|
378
388
|
if (property.type.type === "model") {
|
|
379
389
|
let definition;
|
|
380
390
|
if (property.type.isCoreErrorType) {
|
|
381
391
|
definition = `"${property.restApiName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} ${propertyFullName}`;
|
|
382
392
|
}
|
|
393
|
+
else if ((property.restApiName === "message" ||
|
|
394
|
+
property.restApiName === "messages") &&
|
|
395
|
+
(property.type.name === "ChatMessage" ||
|
|
396
|
+
((_a = property.type.elementType) === null || _a === void 0 ? void 0 : _a.name) === "ChatMessage")) {
|
|
397
|
+
definition = `"${property.restApiName}": ${!property.optional
|
|
398
|
+
? `${propertyFullName} as any`
|
|
399
|
+
: `!${propertyFullName} ? undefined : ${propertyFullName} as any`}`;
|
|
400
|
+
}
|
|
383
401
|
else {
|
|
384
|
-
definition = `"${property.restApiName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} {${getRequestModelMapping(property.type, `${propertyPath}.${property.
|
|
402
|
+
definition = `"${property.restApiName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} {${getRequestModelMapping(property.type, `${propertyPath}.${property.clientName}${property.optional ? "?" : ""}`, importSet)}}`;
|
|
385
403
|
}
|
|
386
404
|
props.push(definition);
|
|
387
405
|
}
|
|
406
|
+
else if ((property.restApiName === "message" ||
|
|
407
|
+
property.restApiName === "messages") &&
|
|
408
|
+
(property.type.name === "ChatMessage" ||
|
|
409
|
+
((_b = property.type.elementType) === null || _b === void 0 ? void 0 : _b.name) === "ChatMessage")) {
|
|
410
|
+
const definition = `"${property.restApiName}": ${!property.optional
|
|
411
|
+
? `${propertyFullName} as any`
|
|
412
|
+
: `!${propertyFullName} ? undefined : ${propertyFullName} as any`}`;
|
|
413
|
+
props.push(definition);
|
|
414
|
+
}
|
|
388
415
|
else {
|
|
389
416
|
const dot = propertyPath.endsWith("?") ? "." : "";
|
|
390
|
-
const
|
|
391
|
-
props.push(`"${property.restApiName}": ${serializeRequestValue(property.type,
|
|
417
|
+
const clientValue = `${propertyPath ? `${propertyPath}${dot}` : `${dot}`}["${property.clientName}"]`;
|
|
418
|
+
props.push(`"${property.restApiName}": ${serializeRequestValue(property.type, clientValue, importSet, !property.optional, property.format)}`);
|
|
392
419
|
}
|
|
393
420
|
}
|
|
394
421
|
return props;
|
|
@@ -398,7 +425,7 @@ function getRequestModelMapping(modelPropertyType, propertyPath = "body", import
|
|
|
398
425
|
* extracting properties from body and headers and building the HLC response object
|
|
399
426
|
*/
|
|
400
427
|
export function getResponseMapping(properties, propertyPath = "result.body", importSet) {
|
|
401
|
-
var _a;
|
|
428
|
+
var _a, _b, _c;
|
|
402
429
|
const props = [];
|
|
403
430
|
for (const property of properties) {
|
|
404
431
|
// TODO: Do we need to also add headers in the result type?
|
|
@@ -408,15 +435,33 @@ export function getResponseMapping(properties, propertyPath = "result.body", imp
|
|
|
408
435
|
if (property.type.isCoreErrorType) {
|
|
409
436
|
definition = `"${property.clientName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} ${propertyFullName}`;
|
|
410
437
|
}
|
|
438
|
+
else if ((property.restApiName === "message" ||
|
|
439
|
+
property.restApiName === "messages") &&
|
|
440
|
+
(property.type.name === "ChatMessage" ||
|
|
441
|
+
((_a = property.type.elementType) === null || _a === void 0 ? void 0 : _a.name) === "ChatMessage")) {
|
|
442
|
+
definition = `"${property.clientName}": ${!property.optional
|
|
443
|
+
? `${propertyFullName} as any`
|
|
444
|
+
: `!${propertyFullName} ? undefined : ${propertyFullName} as any`}`;
|
|
445
|
+
}
|
|
411
446
|
else {
|
|
412
|
-
definition = `"${property.clientName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} {${getResponseMapping((
|
|
447
|
+
definition = `"${property.clientName}": ${getNullableCheck(propertyFullName, property.type)} ${!property.optional ? "" : `!${propertyFullName} ? undefined :`} {${getResponseMapping((_b = property.type.properties) !== null && _b !== void 0 ? _b : [], `${propertyPath}.${property.restApiName}${property.optional ? "?" : ""}`, importSet)}}`;
|
|
413
448
|
}
|
|
414
449
|
props.push(definition);
|
|
415
450
|
}
|
|
416
451
|
else {
|
|
417
452
|
const dot = propertyPath.endsWith("?") ? "." : "";
|
|
418
453
|
const restValue = `${propertyPath ? `${propertyPath}${dot}` : `${dot}`}["${property.restApiName}"]`;
|
|
419
|
-
|
|
454
|
+
if ((property.restApiName === "message" ||
|
|
455
|
+
property.restApiName === "messages") &&
|
|
456
|
+
(property.type.name === "ChatMessage" ||
|
|
457
|
+
((_c = property.type.elementType) === null || _c === void 0 ? void 0 : _c.name) === "ChatMessage")) {
|
|
458
|
+
props.push(`"${property.clientName}": ${!property.optional
|
|
459
|
+
? `${propertyFullName} as any`
|
|
460
|
+
: `!${propertyFullName} ? undefined : ${propertyFullName} as any`}`);
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
props.push(`"${property.clientName}": ${deserializeResponseValue(property.type, restValue, importSet, property.optional !== undefined ? !property.optional : false, property.format)}`);
|
|
464
|
+
}
|
|
420
465
|
}
|
|
421
466
|
}
|
|
422
467
|
return props;
|
|
@@ -426,8 +471,8 @@ export function getResponseMapping(properties, propertyPath = "result.body", imp
|
|
|
426
471
|
* We need to drill down into Array elements to make sure that the element type is
|
|
427
472
|
* deserialized correctly
|
|
428
473
|
*/
|
|
429
|
-
function deserializeResponseValue(type, restValue, importSet, required) {
|
|
430
|
-
var _a, _b, _c, _d
|
|
474
|
+
function deserializeResponseValue(type, restValue, importSet, required, format) {
|
|
475
|
+
var _a, _b, _c, _d;
|
|
431
476
|
const coreUtilSet = importSet.get("@azure/core-util");
|
|
432
477
|
switch (type.type) {
|
|
433
478
|
case "datetime":
|
|
@@ -440,8 +485,8 @@ function deserializeResponseValue(type, restValue, importSet, required) {
|
|
|
440
485
|
if (((_a = type.elementType) === null || _a === void 0 ? void 0 : _a.type) === "model") {
|
|
441
486
|
return `(${restValue} ?? []).map(p => ({${getResponseMapping((_c = (_b = type.elementType) === null || _b === void 0 ? void 0 : _b.properties) !== null && _c !== void 0 ? _c : [], "p", importSet)}}))`;
|
|
442
487
|
}
|
|
443
|
-
else if ((
|
|
444
|
-
return `(${restValue} ?? []).map(p => ${deserializeResponseValue(type.elementType, "p", importSet, required)})`;
|
|
488
|
+
else if (needsDeserialize(type.elementType)) {
|
|
489
|
+
return `(${restValue} ?? []).map(p => ${deserializeResponseValue(type.elementType, "p", importSet, required, (_d = type.elementType) === null || _d === void 0 ? void 0 : _d.format)})`;
|
|
445
490
|
}
|
|
446
491
|
else {
|
|
447
492
|
return restValue;
|
|
@@ -454,7 +499,7 @@ function deserializeResponseValue(type, restValue, importSet, required) {
|
|
|
454
499
|
coreUtilSet.add("stringToUint8Array");
|
|
455
500
|
}
|
|
456
501
|
return `typeof ${restValue} === 'string'
|
|
457
|
-
? stringToUint8Array(${restValue}, "${
|
|
502
|
+
? stringToUint8Array(${restValue}, "${format !== null && format !== void 0 ? format : "base64"}")
|
|
458
503
|
: ${restValue}`;
|
|
459
504
|
default:
|
|
460
505
|
return restValue;
|
|
@@ -465,21 +510,34 @@ function deserializeResponseValue(type, restValue, importSet, required) {
|
|
|
465
510
|
* We need to drill down into Array elements to make sure that the element type is
|
|
466
511
|
* deserialized correctly
|
|
467
512
|
*/
|
|
468
|
-
function serializeRequestValue(type,
|
|
469
|
-
var _a, _b, _c
|
|
513
|
+
function serializeRequestValue(type, clientValue, importSet, required, format) {
|
|
514
|
+
var _a, _b, _c;
|
|
470
515
|
const coreUtilSet = importSet.get("@azure/core-util");
|
|
471
516
|
switch (type.type) {
|
|
472
517
|
case "datetime":
|
|
473
|
-
|
|
518
|
+
switch ((_a = type.format) !== null && _a !== void 0 ? _a : format) {
|
|
519
|
+
case "date":
|
|
520
|
+
return `${clientValue}${required ? "" : "?"}.toDateString()`;
|
|
521
|
+
case "time":
|
|
522
|
+
return `${clientValue}${required ? "" : "?"}.toTimeString()`;
|
|
523
|
+
case "rfc7231":
|
|
524
|
+
case "headerDefault":
|
|
525
|
+
return `${clientValue}${required ? "" : "?"}.toUTCString()`;
|
|
526
|
+
case "unixTimestamp":
|
|
527
|
+
return `${clientValue}${required ? "" : "?"}.getTime()`;
|
|
528
|
+
case "rfc3339":
|
|
529
|
+
default:
|
|
530
|
+
return `${clientValue}${required ? "" : "?"}.toISOString()`;
|
|
531
|
+
}
|
|
474
532
|
case "list":
|
|
475
|
-
if (((
|
|
476
|
-
return `(${
|
|
533
|
+
if (((_b = type.elementType) === null || _b === void 0 ? void 0 : _b.type) === "model") {
|
|
534
|
+
return `(${clientValue} ?? []).map(p => ({${getRequestModelMapping(type.elementType, "p", importSet)}}))`;
|
|
477
535
|
}
|
|
478
|
-
else if ((
|
|
479
|
-
return `(${
|
|
536
|
+
else if (needsDeserialize(type.elementType)) {
|
|
537
|
+
return `(${clientValue} ?? []).map(p => ${serializeRequestValue(type.elementType, "p", importSet, required, (_c = type.elementType) === null || _c === void 0 ? void 0 : _c.format)})`;
|
|
480
538
|
}
|
|
481
539
|
else {
|
|
482
|
-
return
|
|
540
|
+
return clientValue;
|
|
483
541
|
}
|
|
484
542
|
case "byte-array":
|
|
485
543
|
if (!coreUtilSet) {
|
|
@@ -488,13 +546,18 @@ function serializeRequestValue(type, restValue, importSet = new Map()) {
|
|
|
488
546
|
else {
|
|
489
547
|
coreUtilSet.add("uint8ArrayToString");
|
|
490
548
|
}
|
|
491
|
-
return
|
|
549
|
+
return required
|
|
550
|
+
? `uint8ArrayToString(${clientValue}, "${format !== null && format !== void 0 ? format : "base64"}")`
|
|
551
|
+
: `${clientValue} !== undefined ? uint8ArrayToString(${clientValue}, "${format !== null && format !== void 0 ? format : "base64"}"): undefined`;
|
|
492
552
|
default:
|
|
493
|
-
return
|
|
553
|
+
return clientValue;
|
|
494
554
|
}
|
|
495
555
|
}
|
|
496
556
|
function needsDeserialize(type) {
|
|
497
|
-
return (type === null || type === void 0 ? void 0 : type.type) === "datetime" ||
|
|
557
|
+
return ((type === null || type === void 0 ? void 0 : type.type) === "datetime" ||
|
|
558
|
+
(type === null || type === void 0 ? void 0 : type.type) === "model" ||
|
|
559
|
+
(type === null || type === void 0 ? void 0 : type.type) === "list" ||
|
|
560
|
+
(type === null || type === void 0 ? void 0 : type.type) === "byte-array");
|
|
498
561
|
}
|
|
499
562
|
export function hasLROOperation(codeModel) {
|
|
500
563
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,11 @@ export interface TypeMetadata {
|
|
|
5
5
|
isRelative?: boolean;
|
|
6
6
|
modifier?: "Array";
|
|
7
7
|
}
|
|
8
|
-
export declare function getType(type: Type): TypeMetadata;
|
|
8
|
+
export declare function getType(type: Type, format?: string): TypeMetadata;
|
|
9
9
|
/**
|
|
10
10
|
* Gets the Typescript representation of a TypeSpec type
|
|
11
11
|
*/
|
|
12
|
-
export declare function buildType(clientName: string | undefined, type: Type | undefined): {
|
|
12
|
+
export declare function buildType(clientName: string | undefined, type: Type | undefined, format: string | undefined): {
|
|
13
13
|
name: string;
|
|
14
14
|
type: string;
|
|
15
15
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"typeHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAUD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CA8FjE;AAUD;;GAEG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,IAAI,EAAE,IAAI,GAAG,SAAS,EACtB,MAAM,EAAE,MAAM,GAAG,SAAS;;;EAY3B"}
|
|
@@ -4,7 +4,7 @@ function getNullableType(name, type) {
|
|
|
4
4
|
}
|
|
5
5
|
return name;
|
|
6
6
|
}
|
|
7
|
-
export function getType(type) {
|
|
7
|
+
export function getType(type, format) {
|
|
8
8
|
var _a, _b, _c;
|
|
9
9
|
switch (type.type) {
|
|
10
10
|
case "Key":
|
|
@@ -48,7 +48,7 @@ export function getType(type) {
|
|
|
48
48
|
throw new Error("Unable to process Array with no elementType");
|
|
49
49
|
}
|
|
50
50
|
return {
|
|
51
|
-
name: getNullableType(getType(type.elementType).name, type),
|
|
51
|
+
name: getNullableType(getType(type.elementType, type.elementType.format).name, type),
|
|
52
52
|
modifier: "Array",
|
|
53
53
|
originModule: ((_c = type.elementType) === null || _c === void 0 ? void 0 : _c.type) === "model" ? "models.js" : undefined
|
|
54
54
|
};
|
|
@@ -62,14 +62,20 @@ export function getType(type) {
|
|
|
62
62
|
};
|
|
63
63
|
case "string":
|
|
64
64
|
case "duration":
|
|
65
|
-
|
|
65
|
+
switch (format) {
|
|
66
|
+
case "seconds":
|
|
67
|
+
return { name: getNullableType("number", type) };
|
|
68
|
+
case "ISO8601":
|
|
69
|
+
default:
|
|
70
|
+
return { name: getNullableType("string", type) };
|
|
71
|
+
}
|
|
66
72
|
case "combined": {
|
|
67
73
|
if (!type.types) {
|
|
68
74
|
throw new Error("Unable to process combined without combinedTypes");
|
|
69
75
|
}
|
|
70
76
|
const name = type.types
|
|
71
77
|
.map((t) => {
|
|
72
|
-
const sdkType = getTypeName(getType(t));
|
|
78
|
+
const sdkType = getTypeName(getType(t, t.format));
|
|
73
79
|
return `${sdkType}`;
|
|
74
80
|
})
|
|
75
81
|
.join(" | ");
|
|
@@ -80,7 +86,7 @@ export function getType(type) {
|
|
|
80
86
|
throw new Error("Unable to process dict without elemetType info");
|
|
81
87
|
}
|
|
82
88
|
return {
|
|
83
|
-
name: `Record<string, ${getTypeName(getType(type.elementType))}>`
|
|
89
|
+
name: `Record<string, ${getTypeName(getType(type.elementType, type.elementType.format))}>`
|
|
84
90
|
};
|
|
85
91
|
case "any":
|
|
86
92
|
return {
|
|
@@ -103,11 +109,11 @@ function getTypeName(typeMetadata) {
|
|
|
103
109
|
/**
|
|
104
110
|
* Gets the Typescript representation of a TypeSpec type
|
|
105
111
|
*/
|
|
106
|
-
export function buildType(clientName, type) {
|
|
112
|
+
export function buildType(clientName, type, format) {
|
|
107
113
|
if (!type) {
|
|
108
114
|
throw new Error("Type should be defined");
|
|
109
115
|
}
|
|
110
|
-
const typeMetadata = getType(type);
|
|
116
|
+
const typeMetadata = getType(type, format);
|
|
111
117
|
let typeName = typeMetadata.name;
|
|
112
118
|
if (typeMetadata.modifier === "Array") {
|
|
113
119
|
typeName = `${typeName}[]`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AASA,SAAS,eAAe,CAAC,IAAY,EAAE,IAAU;IAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE;QACjB,OAAO,IAAI,IAAI,UAAU,CAAC;KAC3B;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAU;;
|
|
1
|
+
{"version":3,"file":"typeHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"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"}
|