@azure-tools/rlc-common 0.34.0 → 0.35.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.
Files changed (68) hide show
  1. package/.rush/temp/package-deps_build.json +15 -15
  2. package/CHANGELOG.md +14 -0
  3. package/dist/buildClientDefinitions.js +1 -0
  4. package/dist/buildClientDefinitions.js.map +1 -1
  5. package/dist/buildLogger.js +6 -4
  6. package/dist/buildLogger.js.map +1 -1
  7. package/dist/buildObjectTypes.js +1 -0
  8. package/dist/buildObjectTypes.js.map +1 -1
  9. package/dist/buildParameterTypes.js +56 -24
  10. package/dist/buildParameterTypes.js.map +1 -1
  11. package/dist/helpers/operationHelpers.js +15 -0
  12. package/dist/helpers/operationHelpers.js.map +1 -1
  13. package/dist/interfaces.js.map +1 -1
  14. package/dist/metadata/buildReadmeFile.js +0 -4
  15. package/dist/metadata/buildReadmeFile.js.map +1 -1
  16. package/dist/metadata/packageJson/azurePackageCommon.js +1 -2
  17. package/dist/metadata/packageJson/azurePackageCommon.js.map +1 -1
  18. package/dist/metadata/packageJson/buildAzureMonorepoPackage.js +5 -4
  19. package/dist/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
  20. package/dist/metadata/packageJson/buildAzureStandalonePackage.js +3 -0
  21. package/dist/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
  22. package/dist/metadata/packageJson/buildFlavorlessPackage.js +1 -0
  23. package/dist/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
  24. package/dist/metadata/packageJson/packageCommon.js +1 -1
  25. package/dist/metadata/packageJson/packageCommon.js.map +1 -1
  26. package/dist/package.json +1 -1
  27. package/dist-esm/buildClientDefinitions.js +2 -1
  28. package/dist-esm/buildClientDefinitions.js.map +1 -1
  29. package/dist-esm/buildLogger.js +6 -4
  30. package/dist-esm/buildLogger.js.map +1 -1
  31. package/dist-esm/buildObjectTypes.js +1 -1
  32. package/dist-esm/buildObjectTypes.js.map +1 -1
  33. package/dist-esm/buildParameterTypes.js +54 -24
  34. package/dist-esm/buildParameterTypes.js.map +1 -1
  35. package/dist-esm/helpers/operationHelpers.js +14 -0
  36. package/dist-esm/helpers/operationHelpers.js.map +1 -1
  37. package/dist-esm/interfaces.js.map +1 -1
  38. package/dist-esm/metadata/buildReadmeFile.js +0 -4
  39. package/dist-esm/metadata/buildReadmeFile.js.map +1 -1
  40. package/dist-esm/metadata/packageJson/azurePackageCommon.js +1 -2
  41. package/dist-esm/metadata/packageJson/azurePackageCommon.js.map +1 -1
  42. package/dist-esm/metadata/packageJson/buildAzureMonorepoPackage.js +5 -4
  43. package/dist-esm/metadata/packageJson/buildAzureMonorepoPackage.js.map +1 -1
  44. package/dist-esm/metadata/packageJson/buildAzureStandalonePackage.js +3 -0
  45. package/dist-esm/metadata/packageJson/buildAzureStandalonePackage.js.map +1 -1
  46. package/dist-esm/metadata/packageJson/buildFlavorlessPackage.js +1 -0
  47. package/dist-esm/metadata/packageJson/buildFlavorlessPackage.js.map +1 -1
  48. package/dist-esm/metadata/packageJson/packageCommon.js +1 -1
  49. package/dist-esm/metadata/packageJson/packageCommon.js.map +1 -1
  50. package/dist-esm/package.json +1 -1
  51. package/package.json +1 -1
  52. package/src/buildClientDefinitions.ts +4 -0
  53. package/src/buildLogger.ts +9 -7
  54. package/src/buildObjectTypes.ts +1 -1
  55. package/src/buildParameterTypes.ts +78 -23
  56. package/src/helpers/operationHelpers.ts +26 -0
  57. package/src/interfaces.ts +9 -1
  58. package/src/metadata/buildReadmeFile.ts +0 -4
  59. package/src/metadata/packageJson/azurePackageCommon.ts +1 -2
  60. package/src/metadata/packageJson/buildAzureMonorepoPackage.ts +6 -4
  61. package/src/metadata/packageJson/buildAzureStandalonePackage.ts +3 -0
  62. package/src/metadata/packageJson/buildFlavorlessPackage.ts +1 -0
  63. package/src/metadata/packageJson/packageCommon.ts +1 -1
  64. package/test/integration/packageJson.spec.ts +2 -2
  65. package/types/buildObjectTypes.d.ts +5 -0
  66. package/types/helpers/operationHelpers.d.ts +2 -1
  67. package/types/interfaces.d.ts +7 -1
  68. package/types/metadata/packageJson/buildFlavorlessPackage.d.ts +2 -2
@@ -6,6 +6,11 @@ import { ObjectSchema, Parameter, Property, RLCModel, SchemaContext } from "./in
6
6
  export declare function buildObjectInterfaces(model: RLCModel, importedModels: Set<string>, schemaUsage: SchemaContext[]): InterfaceDeclarationStructure[];
7
7
  export declare function buildObjectAliases(model: RLCModel, importedModels: Set<string>, schemaUsage: SchemaContext[]): TypeAliasDeclarationStructure[];
8
8
  export declare function buildPolymorphicAliases(model: RLCModel, schemaUsage: SchemaContext[]): TypeAliasDeclarationStructure[];
9
+ /**
10
+ * Builds the interface for the current object schema. If it is a polymorphic
11
+ * root node it will suffix it with Base.
12
+ */
13
+ export declare function getObjectInterfaceDeclaration(model: RLCModel, baseName: string, objectSchema: ObjectSchema, schemaUsage: SchemaContext[], importedModels: Set<string>): InterfaceDeclarationStructure;
9
14
  /**
10
15
  * Gets a list of types a given object may extend from
11
16
  */
@@ -1,5 +1,5 @@
1
1
  import { MethodSignatureStructure, OptionalKind, ParameterDeclarationStructure } from "ts-morph";
2
- import { Methods, PathParameter, RLCModel } from "../interfaces.js";
2
+ import { Methods, ParameterMetadata, PathParameter, RLCModel, Schema } from "../interfaces.js";
3
3
  export declare function buildMethodDefinitions(methods: Methods, pathParams?: PathParameter[]): OptionalKind<MethodSignatureStructure>[];
4
4
  export declare function getPathParamDefinitions(pathParams: PathParameter[]): OptionalKind<ParameterDeclarationStructure>[];
5
5
  export declare function hasPagingOperations(model: RLCModel): boolean;
@@ -12,3 +12,4 @@ export declare function hasCsvCollection(model: RLCModel): boolean;
12
12
  export declare function hasUnexpectedHelper(model: RLCModel): boolean;
13
13
  export declare function hasInputModels(model: RLCModel): boolean;
14
14
  export declare function hasOutputModels(model: RLCModel): boolean;
15
+ export declare function getGeneratedWrapperTypes(params: ParameterMetadata[] | PathParameter[]): Schema[];
@@ -12,6 +12,7 @@ export interface RLCModel {
12
12
  urlInfo?: UrlInfo;
13
13
  telemetryOptions?: TelemetryInfo;
14
14
  sampleGroups?: RLCSampleGroup[];
15
+ rlcSourceDir?: string;
15
16
  }
16
17
  export interface ImportInfo {
17
18
  internalImports: Imports;
@@ -133,6 +134,7 @@ export type PathParameter = {
133
134
  type: string;
134
135
  description?: string;
135
136
  value?: string | number | boolean;
137
+ wrapperType?: Schema;
136
138
  };
137
139
  export interface OperationHelperDetail {
138
140
  lroDetails?: OperationLroDetail;
@@ -201,6 +203,7 @@ export interface RLCOptions {
201
203
  experimentalExtensibleEnums?: boolean;
202
204
  clearOutputFolder?: boolean;
203
205
  ignorePropertyNameNormalize?: boolean;
206
+ compatibilityQueryMultiFormat?: boolean;
204
207
  }
205
208
  export interface ServiceInfo {
206
209
  title?: string;
@@ -301,7 +304,10 @@ export interface ParameterBodySchema extends Schema {
301
304
  export interface ParameterMetadata {
302
305
  type: "query" | "path" | "header";
303
306
  name: string;
304
- param: Schema;
307
+ param: ParameterSchema;
308
+ }
309
+ export interface ParameterSchema extends Schema {
310
+ wrapperType?: Schema;
305
311
  }
306
312
  export interface OperationResponse {
307
313
  operationGroup: string;
@@ -57,18 +57,18 @@ export declare function buildFlavorlessPackage(config: PackageCommonInfoConfig):
57
57
  "lint:fix": string;
58
58
  };
59
59
  devDependencies: {
60
+ "@microsoft/api-extractor": string;
60
61
  rimraf: string;
61
62
  mkdirp: string;
62
63
  tshy?: undefined;
63
- "@microsoft/api-extractor": string;
64
64
  "@types/node": string;
65
65
  eslint: string;
66
66
  typescript: string;
67
67
  } | {
68
+ "@microsoft/api-extractor": string;
68
69
  rimraf: string;
69
70
  mkdirp: string;
70
71
  tshy: string;
71
- "@microsoft/api-extractor": string;
72
72
  "@types/node": string;
73
73
  eslint: string;
74
74
  typescript: string;