@azure-tools/typespec-java 0.11.1 → 0.11.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/code-model-builder.d.ts +2 -0
- package/dist/src/code-model-builder.d.ts.map +1 -1
- package/dist/src/code-model-builder.js +59 -46
- package/dist/src/code-model-builder.js.map +1 -1
- package/dist/src/common/client.d.ts +6 -1
- package/dist/src/common/client.d.ts.map +1 -1
- package/dist/src/common/client.js +6 -1
- package/dist/src/common/client.js.map +1 -1
- package/dist/src/common/code-model.js.map +1 -1
- package/dist/src/common/operation.d.ts +1 -0
- package/dist/src/common/operation.d.ts.map +1 -1
- package/dist/src/common/operation.js.map +1 -1
- package/dist/src/common/schemas/choice.d.ts +2 -0
- package/dist/src/common/schemas/choice.d.ts.map +1 -1
- package/dist/src/common/schemas/choice.js +1 -0
- package/dist/src/common/schemas/choice.js.map +1 -1
- package/dist/src/common/schemas/usage.d.ts +3 -1
- package/dist/src/common/schemas/usage.d.ts.map +1 -1
- package/dist/src/common/schemas/usage.js +2 -0
- package/dist/src/common/schemas/usage.js.map +1 -1
- package/dist/src/emitter.js +1 -1
- package/dist/src/emitter.js.map +1 -1
- package/dist/src/models.d.ts.map +1 -1
- package/dist/src/models.js +9 -2
- package/dist/src/models.js.map +1 -1
- package/dist/src/operation-utils.js.map +1 -1
- package/dist/src/prenamer/formatter.js.map +1 -1
- package/dist/src/prenamer/naming-utils.js.map +1 -1
- package/dist/src/prenamer/prenamer.js.map +1 -1
- package/dist/src/type-utils.js.map +1 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/readme.md +5 -5
- package/target/azure-typespec-extension-jar-with-dependencies.jar +0 -0
|
@@ -20,6 +20,7 @@ export declare class CodeModelBuilder {
|
|
|
20
20
|
private isInternal;
|
|
21
21
|
private processModels;
|
|
22
22
|
private processSchemaUsage;
|
|
23
|
+
private deduplicateSchemaName;
|
|
23
24
|
private resolveSchemaUsage;
|
|
24
25
|
private processClients;
|
|
25
26
|
private needToSkipProcessingOperation;
|
|
@@ -43,6 +44,7 @@ export declare class CodeModelBuilder {
|
|
|
43
44
|
private processByteArraySchema;
|
|
44
45
|
private processIntegerSchema;
|
|
45
46
|
private processNumberSchema;
|
|
47
|
+
private processDecimalSchema;
|
|
46
48
|
private processBooleanSchema;
|
|
47
49
|
private processArraySchema;
|
|
48
50
|
private processDictionarySchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-model-builder.d.ts","sourceRoot":"","sources":["../../src/code-model-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAoBL,OAAO,EAGP,IAAI,EAEJ,KAAK,EASL,WAAW,EAOZ,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"code-model-builder.d.ts","sourceRoot":"","sources":["../../src/code-model-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@ import { getResourceOperation, getSegment } from "@typespec/rest";
|
|
|
3
3
|
import { getAuthentication, getServers, getStatusCodeDescription, getHttpOperation, getQueryParamOptions, getHeaderFieldOptions, } from "@typespec/http";
|
|
4
4
|
import { getAddedOnVersions, getVersion } from "@typespec/versioning";
|
|
5
5
|
import { isPollingLocation, getPagedResult, isFixed, getLroMetadata } from "@azure-tools/typespec-azure-core";
|
|
6
|
-
import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, shouldGenerateConvenient, createSdkContext, shouldGenerateProtocol, isInternal, } from "@azure-tools/typespec-client-generator-core";
|
|
6
|
+
import { listClients, listOperationGroups, listOperationsInOperationGroup, isApiVersion, shouldGenerateConvenient, createSdkContext, shouldGenerateProtocol, isInternal, getCrossLanguageDefinitionId, } from "@azure-tools/typespec-client-generator-core";
|
|
7
7
|
import { fail } from "assert";
|
|
8
8
|
import { AnySchema, ArraySchema, BinaryResponse, BinarySchema, BooleanSchema, ByteArraySchema, ChoiceValue, DateTimeSchema, DateSchema, DictionarySchema, Discriminator, HttpHeader, HttpParameter, ImplementationLocation, NumberSchema, ObjectSchema, Parameter, ParameterLocation, Property, Relations, Response, SchemaResponse, SchemaType, StringSchema, TimeSchema, Security, OAuth2SecurityScheme, KeySecurityScheme, OperationGroup, UriSchema, VirtualParameter, GroupSchema, GroupProperty, ApiVersion, SerializationStyle, Metadata, UnixTimeSchema, Language, } from "@autorest/codemodel";
|
|
9
9
|
import { CodeModel } from "./common/code-model.js";
|
|
10
|
-
import { Client as CodeModelClient } from "./common/client.js";
|
|
10
|
+
import { Client as CodeModelClient, ObjectScheme } from "./common/client.js";
|
|
11
11
|
import { ConvenienceApi, Operation as CodeModelOperation, Request } from "./common/operation.js";
|
|
12
12
|
import { SchemaContext } from "./common/schemas/usage.js";
|
|
13
13
|
import { ChoiceSchema, SealedChoiceSchema } from "./common/schemas/choice.js";
|
|
@@ -86,6 +86,7 @@ export class CodeModelBuilder {
|
|
|
86
86
|
if (this.options.namer) {
|
|
87
87
|
this.codeModel = new PreNamer(this.codeModel).init().process();
|
|
88
88
|
}
|
|
89
|
+
this.deduplicateSchemaName();
|
|
89
90
|
return this.codeModel;
|
|
90
91
|
}
|
|
91
92
|
processHost(server) {
|
|
@@ -250,7 +251,7 @@ export class CodeModelBuilder {
|
|
|
250
251
|
}
|
|
251
252
|
}
|
|
252
253
|
processSchemaUsage() {
|
|
253
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
254
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
254
255
|
(_a = this.codeModel.schemas.objects) === null || _a === void 0 ? void 0 : _a.forEach((it) => this.propagateSchemaUsage(it));
|
|
255
256
|
// post process for schema usage
|
|
256
257
|
(_b = this.codeModel.schemas.objects) === null || _b === void 0 ? void 0 : _b.forEach((it) => this.resolveSchemaUsage(it));
|
|
@@ -259,13 +260,16 @@ export class CodeModelBuilder {
|
|
|
259
260
|
(_e = this.codeModel.schemas.sealedChoices) === null || _e === void 0 ? void 0 : _e.forEach((it) => this.resolveSchemaUsage(it));
|
|
260
261
|
(_f = this.codeModel.schemas.ors) === null || _f === void 0 ? void 0 : _f.forEach((it) => this.resolveSchemaUsage(it));
|
|
261
262
|
(_g = this.codeModel.schemas.constants) === null || _g === void 0 ? void 0 : _g.forEach((it) => this.resolveSchemaUsage(it));
|
|
263
|
+
}
|
|
264
|
+
deduplicateSchemaName() {
|
|
265
|
+
var _a, _b, _c, _d, _e, _f;
|
|
262
266
|
// deduplicate model name
|
|
263
267
|
const nameCount = new Map();
|
|
264
268
|
const deduplicateName = (schema) => {
|
|
265
|
-
var _a;
|
|
269
|
+
var _a, _b;
|
|
266
270
|
const name = schema.language.default.name;
|
|
267
271
|
// skip models under "com.azure.core."
|
|
268
|
-
if (
|
|
272
|
+
if (name && !((_b = (_a = schema.language.java) === null || _a === void 0 ? void 0 : _a.namespace) === null || _b === void 0 ? void 0 : _b.startsWith("com.azure.core."))) {
|
|
269
273
|
if (!nameCount.has(name)) {
|
|
270
274
|
nameCount.set(name, 1);
|
|
271
275
|
}
|
|
@@ -276,11 +280,12 @@ export class CodeModelBuilder {
|
|
|
276
280
|
}
|
|
277
281
|
}
|
|
278
282
|
};
|
|
279
|
-
(
|
|
280
|
-
(
|
|
281
|
-
(
|
|
282
|
-
(
|
|
283
|
-
(
|
|
283
|
+
(_a = this.codeModel.schemas.objects) === null || _a === void 0 ? void 0 : _a.forEach((it) => deduplicateName(it));
|
|
284
|
+
(_b = this.codeModel.schemas.groups) === null || _b === void 0 ? void 0 : _b.forEach((it) => deduplicateName(it)); // it may contain RequestConditions under "com.azure.core."
|
|
285
|
+
(_c = this.codeModel.schemas.choices) === null || _c === void 0 ? void 0 : _c.forEach((it) => deduplicateName(it));
|
|
286
|
+
(_d = this.codeModel.schemas.sealedChoices) === null || _d === void 0 ? void 0 : _d.forEach((it) => deduplicateName(it));
|
|
287
|
+
(_e = this.codeModel.schemas.ors) === null || _e === void 0 ? void 0 : _e.forEach((it) => deduplicateName(it));
|
|
288
|
+
(_f = this.codeModel.schemas.constants) === null || _f === void 0 ? void 0 : _f.forEach((it) => deduplicateName(it));
|
|
284
289
|
}
|
|
285
290
|
resolveSchemaUsage(schema) {
|
|
286
291
|
if (schema instanceof ObjectSchema ||
|
|
@@ -311,6 +316,7 @@ export class CodeModelBuilder {
|
|
|
311
316
|
// at present, use global security definition
|
|
312
317
|
security: this.codeModel.security,
|
|
313
318
|
});
|
|
319
|
+
codeModelClient.crossLanguageDefinitionId = client.crossLanguageDefinitionId;
|
|
314
320
|
// versioning
|
|
315
321
|
const versioning = getVersion(this.program, client.service);
|
|
316
322
|
if (versioning && versioning.getVersions()) {
|
|
@@ -433,6 +439,7 @@ export class CodeModelBuilder {
|
|
|
433
439
|
: undefined,
|
|
434
440
|
},
|
|
435
441
|
});
|
|
442
|
+
codeModelOperation.crossLanguageDefinitionId = getCrossLanguageDefinitionId(operation);
|
|
436
443
|
codeModelOperation.internalApi = this.isInternal(this.sdkContext, operation);
|
|
437
444
|
const convenienceApiName = this.getConvenienceApiName(operation);
|
|
438
445
|
let generateConvenienceApi = Boolean(convenienceApiName);
|
|
@@ -928,7 +935,7 @@ export class CodeModelBuilder {
|
|
|
928
935
|
else {
|
|
929
936
|
schema = this.processSchema(body, body.name);
|
|
930
937
|
}
|
|
931
|
-
const parameter = new Parameter(body
|
|
938
|
+
const parameter = new Parameter(this.getName(body), this.getDoc(body), schema, {
|
|
932
939
|
summary: this.getSummary(body),
|
|
933
940
|
implementation: ImplementationLocation.Method,
|
|
934
941
|
required: body.kind === "Model" || !body.optional,
|
|
@@ -945,6 +952,9 @@ export class CodeModelBuilder {
|
|
|
945
952
|
else if (op.convenienceApi) {
|
|
946
953
|
this.trackSchemaUsage(schema, { usage: [SchemaContext.Public] });
|
|
947
954
|
}
|
|
955
|
+
if (operationIsJsonMergePatch(httpOperation)) {
|
|
956
|
+
this.trackSchemaUsage(schema, { usage: [SchemaContext.JsonMergePatch] });
|
|
957
|
+
}
|
|
948
958
|
if (!schema.language.default.name && schema instanceof ObjectSchema) {
|
|
949
959
|
// anonymous model
|
|
950
960
|
// name the schema for documentation
|
|
@@ -1285,10 +1295,12 @@ export class CodeModelBuilder {
|
|
|
1285
1295
|
return this.processDurationSchema(type, nameHint);
|
|
1286
1296
|
case "url":
|
|
1287
1297
|
return this.processUrlSchema(type, nameHint);
|
|
1288
|
-
case "decimal":
|
|
1289
|
-
return this.processNumberSchema(type, nameHint);
|
|
1290
1298
|
}
|
|
1291
|
-
if (scalarName.startsWith("
|
|
1299
|
+
if (scalarName.startsWith("decimal")) {
|
|
1300
|
+
// decimal
|
|
1301
|
+
return this.processDecimalSchema(type, nameHint);
|
|
1302
|
+
}
|
|
1303
|
+
else if (scalarName.startsWith("int") || scalarName.startsWith("uint") || scalarName === "safeint") {
|
|
1292
1304
|
// integer
|
|
1293
1305
|
const integerSize = scalarName === "safeint" || scalarName.includes("int64") ? 64 : 32;
|
|
1294
1306
|
return this.processIntegerSchema(type, nameHint, integerSize);
|
|
@@ -1370,6 +1382,12 @@ export class CodeModelBuilder {
|
|
|
1370
1382
|
summary: this.getSummary(type),
|
|
1371
1383
|
}));
|
|
1372
1384
|
}
|
|
1385
|
+
processDecimalSchema(type, name) {
|
|
1386
|
+
// "Infinity" maps to "BigDecimal" in Java
|
|
1387
|
+
return this.codeModel.schemas.add(new NumberSchema(name, this.getDoc(type), SchemaType.Number, Infinity, {
|
|
1388
|
+
summary: this.getSummary(type),
|
|
1389
|
+
}));
|
|
1390
|
+
}
|
|
1373
1391
|
processBooleanSchema(type, name) {
|
|
1374
1392
|
return this.codeModel.schemas.add(new BooleanSchema(name, this.getDoc(type), {
|
|
1375
1393
|
summary: this.getSummary(type),
|
|
@@ -1404,36 +1422,22 @@ export class CodeModelBuilder {
|
|
|
1404
1422
|
: this.stringSchema;
|
|
1405
1423
|
const choices = [];
|
|
1406
1424
|
type.members.forEach((it) => { var _a; return choices.push(new ChoiceValue(it.name, this.getDoc(it), (_a = it.value) !== null && _a !== void 0 ? _a : it.name)); });
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
},
|
|
1416
|
-
java: {
|
|
1417
|
-
namespace: getJavaNamespace(namespace),
|
|
1418
|
-
},
|
|
1425
|
+
const schemaType = sealed ? SealedChoiceSchema : ChoiceSchema;
|
|
1426
|
+
const schema = new schemaType(name, this.getDoc(type), {
|
|
1427
|
+
summary: this.getSummary(type),
|
|
1428
|
+
choiceType: valueType,
|
|
1429
|
+
choices: choices,
|
|
1430
|
+
language: {
|
|
1431
|
+
default: {
|
|
1432
|
+
namespace: namespace,
|
|
1419
1433
|
},
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
else {
|
|
1423
|
-
return this.codeModel.schemas.add(new ChoiceSchema(name, this.getDoc(type), {
|
|
1424
|
-
summary: this.getSummary(type),
|
|
1425
|
-
choiceType: valueType,
|
|
1426
|
-
choices: choices,
|
|
1427
|
-
language: {
|
|
1428
|
-
default: {
|
|
1429
|
-
namespace: namespace,
|
|
1430
|
-
},
|
|
1431
|
-
java: {
|
|
1432
|
-
namespace: getJavaNamespace(namespace),
|
|
1433
|
-
},
|
|
1434
|
+
java: {
|
|
1435
|
+
namespace: getJavaNamespace(namespace),
|
|
1434
1436
|
},
|
|
1435
|
-
}
|
|
1436
|
-
}
|
|
1437
|
+
},
|
|
1438
|
+
});
|
|
1439
|
+
schema.crossLanguageDefinitionId = getCrossLanguageDefinitionId(type);
|
|
1440
|
+
return this.codeModel.schemas.add(schema);
|
|
1437
1441
|
}
|
|
1438
1442
|
processConstantSchemaForLiteral(type, name) {
|
|
1439
1443
|
const valueType = type.kind === "String"
|
|
@@ -1460,6 +1464,10 @@ export class CodeModelBuilder {
|
|
|
1460
1464
|
}
|
|
1461
1465
|
processChoiceSchemaForUnion(type, variants, name) {
|
|
1462
1466
|
// variants is Literal
|
|
1467
|
+
const kindSet = new Set(variants.map((it) => it.type.kind));
|
|
1468
|
+
// "choice1" | "choice2" is sealed
|
|
1469
|
+
// "choice1" | "choice2" | string is extensible
|
|
1470
|
+
const sealed = kindSet.size === 1;
|
|
1463
1471
|
variants = variants.filter((it) => it.type.kind === "String" || it.type.kind === "Number" || it.type.kind === "Boolean");
|
|
1464
1472
|
const kind = variants[0].type.kind;
|
|
1465
1473
|
const valueType = kind === "String"
|
|
@@ -1472,7 +1480,8 @@ export class CodeModelBuilder {
|
|
|
1472
1480
|
const choices = [];
|
|
1473
1481
|
variants.forEach((it) => choices.push(new ChoiceValue(it.type.value.toString(), this.getDoc(it), it.type.value)));
|
|
1474
1482
|
const namespace = getNamespace(type);
|
|
1475
|
-
|
|
1483
|
+
const schemaType = sealed ? SealedChoiceSchema : ChoiceSchema;
|
|
1484
|
+
const schema = new schemaType(name, this.getDoc(type), {
|
|
1476
1485
|
summary: this.getSummary(type),
|
|
1477
1486
|
choiceType: valueType,
|
|
1478
1487
|
choices: choices,
|
|
@@ -1484,7 +1493,9 @@ export class CodeModelBuilder {
|
|
|
1484
1493
|
namespace: getJavaNamespace(namespace),
|
|
1485
1494
|
},
|
|
1486
1495
|
},
|
|
1487
|
-
})
|
|
1496
|
+
});
|
|
1497
|
+
// schema.crossLanguageDefinitionId = getCrossLanguageDefinitionId(type);
|
|
1498
|
+
return this.codeModel.schemas.add(schema);
|
|
1488
1499
|
}
|
|
1489
1500
|
processUnixTimeSchema(type, name) {
|
|
1490
1501
|
return this.codeModel.schemas.add(new UnixTimeSchema(name, this.getDoc(type), {
|
|
@@ -1521,7 +1532,7 @@ export class CodeModelBuilder {
|
|
|
1521
1532
|
processObjectSchema(type, name) {
|
|
1522
1533
|
var _a, _b;
|
|
1523
1534
|
const namespace = getNamespace(type);
|
|
1524
|
-
const objectSchema =
|
|
1535
|
+
const objectSchema = new ObjectScheme(name, this.getDoc(type), {
|
|
1525
1536
|
summary: this.getSummary(type),
|
|
1526
1537
|
language: {
|
|
1527
1538
|
default: {
|
|
@@ -1531,7 +1542,9 @@ export class CodeModelBuilder {
|
|
|
1531
1542
|
namespace: getJavaNamespace(namespace),
|
|
1532
1543
|
},
|
|
1533
1544
|
},
|
|
1534
|
-
})
|
|
1545
|
+
});
|
|
1546
|
+
objectSchema.crossLanguageDefinitionId = getCrossLanguageDefinitionId(type);
|
|
1547
|
+
this.codeModel.schemas.add(objectSchema);
|
|
1535
1548
|
// cache this now before we accidentally recurse on this type.
|
|
1536
1549
|
this.schemaCache.set(type, objectSchema);
|
|
1537
1550
|
// discriminator
|