@azure-tools/typespec-java 0.18.1 → 0.18.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.
@@ -1,6 +1,6 @@
1
1
  import { ArraySchema, ObjectSchema, Property } from "@autorest/codemodel";
2
2
  import { KnownMediaType } from "@azure-tools/codegen";
3
- import { getJavaNamespace, pascalCase } from "./utils.js";
3
+ import { getJavaNamespace, getNamespace, pascalCase } from "./utils.js";
4
4
  /*
5
5
  * These schema need to reflect
6
6
  * 1. wire schema via "serializedName"
@@ -81,41 +81,128 @@ export function createPollOperationDetailsSchema(schemas, stringSchema) {
81
81
  return pollOperationDetailsSchema;
82
82
  }
83
83
  const fileDetailsMap = new Map();
84
- export function getFileDetailsSchema(filePropertyName, namespace, schemas, binarySchema, stringSchema) {
85
- const schemaName = pascalCase(filePropertyName) + (filePropertyName.toLocaleLowerCase().endsWith("file") ? "Details" : "FileDetails");
86
- let fileDetailsSchema = fileDetailsMap.get(schemaName);
87
- if (!fileDetailsSchema) {
88
- fileDetailsSchema = new ObjectSchema(schemaName, 'The file details for the "' + filePropertyName + '" field.', {
89
- language: {
90
- default: {
91
- namespace: namespace,
92
- },
93
- java: {
94
- namespace: getJavaNamespace(namespace),
95
- },
96
- },
97
- serializationFormats: [KnownMediaType.Multipart],
98
- });
99
- fileDetailsSchema.serializationFormats;
100
- schemas.add(fileDetailsSchema);
101
- fileDetailsSchema.addProperty(new Property("content", "The content of the file.", binarySchema, {
102
- required: true,
103
- nullable: false,
104
- readOnly: false,
105
- }));
106
- fileDetailsSchema.addProperty(new Property("filename", "The filename of the file.", stringSchema, {
107
- required: false,
108
- nullable: false,
109
- readOnly: false,
110
- }));
111
- fileDetailsSchema.addProperty(new Property("contentType", "The content-type of the file.", stringSchema, {
112
- required: false,
113
- nullable: false,
114
- readOnly: false,
115
- clientDefaultValue: "application/octet-stream",
116
- }));
117
- fileDetailsMap.set(schemaName, fileDetailsSchema);
84
+ function getFileSchemaName(baseName) {
85
+ // make sure suffix "FileDetails"
86
+ if (baseName.toLocaleLowerCase().endsWith("filedetails")) {
87
+ return pascalCase(baseName);
88
+ }
89
+ else if (baseName.toLocaleLowerCase().endsWith("file")) {
90
+ return pascalCase(baseName) + "Details";
118
91
  }
92
+ else {
93
+ return pascalCase(baseName) + "FileDetails";
94
+ }
95
+ }
96
+ function createFileDetailsSchema(schemaName, propertyName, namespace, schemas) {
97
+ const fileDetailsSchema = new ObjectSchema(schemaName, 'The file details for the "' + propertyName + '" field.', {
98
+ language: {
99
+ default: {
100
+ namespace: namespace,
101
+ },
102
+ java: {
103
+ namespace: getJavaNamespace(namespace),
104
+ },
105
+ },
106
+ serializationFormats: [KnownMediaType.Multipart],
107
+ });
108
+ schemas.add(fileDetailsSchema);
109
+ fileDetailsMap.set(schemaName, fileDetailsSchema);
119
110
  return fileDetailsSchema;
120
111
  }
112
+ function addContentProperty(fileDetailsSchema, binarySchema) {
113
+ fileDetailsSchema.addProperty(new Property("content", "The content of the file.", binarySchema, {
114
+ required: true,
115
+ nullable: false,
116
+ readOnly: false,
117
+ }));
118
+ }
119
+ function addFilenameProperty(fileDetailsSchema, stringSchema, filenameProperty, processSchemaFunc) {
120
+ fileDetailsSchema.addProperty(new Property("filename", "The filename of the file.", (filenameProperty === null || filenameProperty === void 0 ? void 0 : filenameProperty.type.kind) === "constant" && processSchemaFunc
121
+ ? processSchemaFunc(filenameProperty.type)
122
+ : stringSchema, {
123
+ required: filenameProperty ? !filenameProperty.optional : false,
124
+ nullable: false,
125
+ readOnly: false,
126
+ }));
127
+ }
128
+ function addContentTypeProperty(fileDetailsSchema, stringSchema, contentTypeProperty, processSchemaFunc) {
129
+ fileDetailsSchema.addProperty(new Property("contentType", "The content-type of the file.", (contentTypeProperty === null || contentTypeProperty === void 0 ? void 0 : contentTypeProperty.type.kind) === "constant" && processSchemaFunc
130
+ ? processSchemaFunc(contentTypeProperty.type)
131
+ : stringSchema, {
132
+ required: contentTypeProperty ? !contentTypeProperty.optional : false,
133
+ nullable: false,
134
+ readOnly: false,
135
+ clientDefaultValue: (contentTypeProperty === null || contentTypeProperty === void 0 ? void 0 : contentTypeProperty.type.kind) === "constant" ? undefined : "application/octet-stream",
136
+ }));
137
+ }
138
+ export function getFileDetailsSchema(property, namespace, schemas, binarySchema, stringSchema, processSchemaFunc) {
139
+ var _a;
140
+ let fileSdkType;
141
+ if (property.type.kind === "model") {
142
+ fileSdkType = property.type;
143
+ }
144
+ else if (property.type.kind === "array" && property.type.valueType.kind === "model") {
145
+ fileSdkType = property.type.valueType;
146
+ }
147
+ if (fileSdkType) {
148
+ // property.type is File, use name and properties from property.type for the File schema
149
+ /*
150
+ Current logic:
151
+ - Class name suffix "FileDetails"
152
+ - No class hierarchy for File
153
+ - File has 3 properties: "content", "filename", "contentType" (Note that it is "contents" in TypeSpec)
154
+ - No adjustment on "content" property, it is always BinaryData and required
155
+ - Allow constant type for "filename" and "contentType" (to be discussed for other types e.g. enum)
156
+ - Allow required for "filename" and "contentType"
157
+ */
158
+ const filePropertyName = property.name;
159
+ const fileSchemaName = fileSdkType.name;
160
+ const schemaName = getFileSchemaName(fileSchemaName);
161
+ let fileDetailsSchema = fileDetailsMap.get(schemaName);
162
+ if (!fileDetailsSchema) {
163
+ const typeNamespace = (_a = getNamespace(property.type.__raw)) !== null && _a !== void 0 ? _a : namespace;
164
+ fileDetailsSchema = createFileDetailsSchema(schemaName, filePropertyName, typeNamespace, schemas);
165
+ // description if available
166
+ if (fileSdkType.description) {
167
+ fileDetailsSchema.summary = fileSdkType.description;
168
+ }
169
+ if (fileSdkType.details) {
170
+ fileDetailsSchema.language.default.description = fileSdkType.details;
171
+ }
172
+ // crossLanguageDefinitionId
173
+ fileDetailsSchema.crossLanguageDefinitionId = fileSdkType.crossLanguageDefinitionId;
174
+ let contentTypeProperty;
175
+ let filenameProperty;
176
+ // find "filename" and "contentType" property in current model and its base models
177
+ while (fileSdkType !== undefined) {
178
+ for (const property of fileSdkType.properties) {
179
+ if (!filenameProperty && property.name === "filename") {
180
+ filenameProperty = property;
181
+ }
182
+ if (!contentTypeProperty && property.name === "contentType") {
183
+ contentTypeProperty = property;
184
+ }
185
+ }
186
+ fileSdkType = fileSdkType.baseModel;
187
+ }
188
+ addContentProperty(fileDetailsSchema, binarySchema);
189
+ addFilenameProperty(fileDetailsSchema, stringSchema, filenameProperty, processSchemaFunc);
190
+ addContentTypeProperty(fileDetailsSchema, stringSchema, contentTypeProperty, processSchemaFunc);
191
+ }
192
+ return fileDetailsSchema;
193
+ }
194
+ else {
195
+ // property.type is bytes, create a File schema
196
+ const filePropertyName = property.name;
197
+ const schemaName = getFileSchemaName(filePropertyName);
198
+ let fileDetailsSchema = fileDetailsMap.get(schemaName);
199
+ if (!fileDetailsSchema) {
200
+ fileDetailsSchema = createFileDetailsSchema(schemaName, filePropertyName, namespace, schemas);
201
+ addContentProperty(fileDetailsSchema, binarySchema);
202
+ addFilenameProperty(fileDetailsSchema, stringSchema);
203
+ addContentTypeProperty(fileDetailsSchema, stringSchema);
204
+ }
205
+ return fileDetailsSchema;
206
+ }
207
+ }
121
208
  //# sourceMappingURL=external-schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"external-schemas.js","sourceRoot":"","sources":["../../src/external-schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-schemas.js","sourceRoot":"","sources":["../../src/external-schemas.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,12 @@
1
- import { ModelProperty, Operation, Program, Type, Union } from "@typespec/compiler";
1
+ import { ModelProperty, Program, Type, Union } from "@typespec/compiler";
2
2
  import { HttpOperation } from "@typespec/http";
3
3
  import { Parameter } from "@autorest/codemodel";
4
4
  import { LroMetadata } from "@azure-tools/typespec-azure-core";
5
5
  import { Client as CodeModelClient, ServiceVersion } from "./common/client.js";
6
6
  import { CodeModel } from "./common/code-model.js";
7
- import { EmitterOptions } from "./emitter.js";
8
- import { SdkContext } from "@azure-tools/typespec-client-generator-core";
9
7
  export declare const SPECIAL_HEADER_NAMES: Set<string>;
10
8
  export declare const ORIGIN_API_VERSION = "modelerfour:synthesized/api-version";
11
9
  export declare function isKnownContentType(contentTypes: string[]): boolean;
12
- /**
13
- * Load examples from the examples directory.
14
- *
15
- * @param program the program.
16
- * @param options the emitter options.
17
- * @param sdkContext the SdkContext.
18
- * @returns the Map of Operation to JSON. The Operation would be operation.projectionSource if available.
19
- */
20
- export declare function loadExamples(program: Program, options: EmitterOptions, sdkContext: SdkContext): Promise<Map<Operation, any>>;
21
10
  export declare function operationIsJsonMergePatch(op: HttpOperation): boolean;
22
11
  export declare function operationIsMultipart(op: HttpOperation): boolean;
23
12
  export declare function operationIsMultipleContentTypes(op: HttpOperation): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"operation-utils.d.ts","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,SAAS,EACT,OAAO,EACP,IAAI,EACJ,KAAK,EAIN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EAOd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAwB,MAAM,6CAA6C,CAAC;AAG/F,eAAO,MAAM,oBAAoB,aAM/B,CAAC;AAEH,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAkBxE,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAMlE;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CA8E9B;AAoBD,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAE/D;AAaD,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAa1E;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,GACzC,KAAK,GAAG,IAAI,CA+Bd;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAShG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,cAAc,CAerF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CA2BvG;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAcvE"}
1
+ {"version":3,"file":"operation-utils.d.ts","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAyE,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD,eAAO,MAAM,oBAAoB,aAM/B,CAAC;AAEH,eAAO,MAAM,kBAAkB,wCAAwC,CAAC;AAkBxE,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAMlE;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAE/D;AAaD,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAa1E;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,GACzC,KAAK,GAAG,IAAI,CA+Bd;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAShG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,cAAc,CAerF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CA2BvG;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAcvE"}
@@ -1,13 +1,8 @@
1
- import { ignoreDiagnostics, projectProgram, resolvePath, } from "@typespec/compiler";
2
- import { getHeaderFieldName, getQueryParamName, getPathParamName, isStatusCode, getAllHttpServices, getHttpService, } from "@typespec/http";
3
- import { resolveOperationId } from "@typespec/openapi";
1
+ import { getHeaderFieldName, getQueryParamName, getPathParamName, isStatusCode } from "@typespec/http";
4
2
  import { Parameter } from "@autorest/codemodel";
5
- import { buildVersionProjections } from "@typespec/versioning";
6
3
  import { ServiceVersion } from "./common/client.js";
7
- import { getNamespace, logWarning, pascalCase } from "./utils.js";
4
+ import { getNamespace, pascalCase } from "./utils.js";
8
5
  import { modelIs, unionReferredByType } from "./type-utils.js";
9
- import { getDefaultApiVersion } from "@azure-tools/typespec-client-generator-core";
10
- import { pathToFileURL } from "url";
11
6
  export const SPECIAL_HEADER_NAMES = new Set([
12
7
  "repeatability-request-id",
13
8
  "repeatability-first-sent",
@@ -37,107 +32,6 @@ export function isKnownContentType(contentTypes) {
37
32
  return SUPPORTED_MIME_TYPES.has(it);
38
33
  });
39
34
  }
40
- /**
41
- * Load examples from the examples directory.
42
- *
43
- * @param program the program.
44
- * @param options the emitter options.
45
- * @param sdkContext the SdkContext.
46
- * @returns the Map of Operation to JSON. The Operation would be operation.projectionSource if available.
47
- */
48
- export async function loadExamples(program, options, sdkContext) {
49
- var _a;
50
- // sdkContextApiVersion could contain "all" or "latest"
51
- const sdkContextApiVersion = sdkContext.apiVersion;
52
- const operationExamplesMap = new Map();
53
- const operationExamplesDirectory = options["examples-directory"];
54
- if (operationExamplesDirectory) {
55
- const operationIdExamplesMap = new Map();
56
- let service = ignoreDiagnostics(getAllHttpServices(program))[0];
57
- let version = undefined;
58
- if (sdkContextApiVersion && !["all", "latest"].includes(sdkContextApiVersion)) {
59
- version = sdkContextApiVersion;
60
- }
61
- else {
62
- version = (_a = getDefaultApiVersion(sdkContext, service.namespace)) === null || _a === void 0 ? void 0 : _a.value;
63
- }
64
- if (version) {
65
- // projection
66
- const versionProjections = buildVersionProjections(program, service.namespace).filter((it) => it.version === version);
67
- const projectedProgram = projectProgram(program, versionProjections[0].projections);
68
- const projectedService = projectedProgram.projector.projectedTypes.get(service.namespace);
69
- if ((projectedService === null || projectedService === void 0 ? void 0 : projectedService.kind) === "Namespace") {
70
- service = ignoreDiagnostics(getHttpService(program, projectedService));
71
- }
72
- }
73
- let exampleDir = version
74
- ? resolvePath(operationExamplesDirectory, version)
75
- : resolvePath(operationExamplesDirectory);
76
- if (!(await directoryExists(program, exampleDir))) {
77
- if (program.projectRoot) {
78
- // try resolve "examples-directory" relative to program.projectRoot
79
- exampleDir = version
80
- ? resolvePath(program.projectRoot, operationExamplesDirectory, version)
81
- : resolvePath(program.projectRoot, operationExamplesDirectory);
82
- if (!(await directoryExists(program, exampleDir))) {
83
- logWarning(program, `Examples directory '${exampleDir}' does not exist.`);
84
- return operationExamplesMap;
85
- }
86
- }
87
- }
88
- const exampleFiles = await program.host.readDir(exampleDir);
89
- for (const fileName of exampleFiles) {
90
- try {
91
- const exampleFilePath = resolvePath(exampleDir, fileName);
92
- const exampleFile = await program.host.readFile(exampleFilePath);
93
- const example = JSON.parse(exampleFile.text);
94
- if (!example.operationId) {
95
- logWarning(program, `Example file '${fileName}' is missing operationId.`);
96
- continue;
97
- }
98
- if (!operationIdExamplesMap.has(example.operationId)) {
99
- example["x-ms-original-file"] = pathToFileURL(exampleFilePath).toString();
100
- operationIdExamplesMap.set(example.operationId, example);
101
- }
102
- }
103
- catch (err) {
104
- logWarning(program, `Failed to load example file '${fileName}'.`);
105
- }
106
- }
107
- if (operationIdExamplesMap.size > 0) {
108
- const routes = service.operations;
109
- routes.forEach((it) => {
110
- var _a;
111
- const operationId = pascalCaseForOperationId(resolveOperationId(program, it.operation));
112
- if (operationIdExamplesMap.has(operationId)) {
113
- let operation = it.operation;
114
- if (((_a = operation.projectionSource) === null || _a === void 0 ? void 0 : _a.kind) === "Operation") {
115
- operation = operation.projectionSource;
116
- }
117
- operationExamplesMap.set(operation, operationIdExamplesMap.get(operationId));
118
- }
119
- });
120
- }
121
- }
122
- return operationExamplesMap;
123
- }
124
- async function directoryExists(program, directory) {
125
- try {
126
- if (!(await program.host.stat(directory)).isDirectory()) {
127
- return false;
128
- }
129
- }
130
- catch (err) {
131
- return false;
132
- }
133
- return true;
134
- }
135
- function pascalCaseForOperationId(name) {
136
- return name
137
- .split("_")
138
- .map((s) => pascalCase(s))
139
- .join("_");
140
- }
141
35
  export function operationIsJsonMergePatch(op) {
142
36
  return operationIsContentType(op, "application/merge-patch+json");
143
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operation-utils.js","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operation-utils.js","sourceRoot":"","sources":["../../src/operation-utils.ts"],"names":[],"mappings":"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"}