@azure-tools/typespec-ts 0.36.0 → 0.37.0-alpha.20241230.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.
Files changed (146) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/src/contextManager.d.ts +1 -2
  3. package/dist/src/contextManager.d.ts.map +1 -1
  4. package/dist/src/contextManager.js.map +1 -1
  5. package/dist/src/framework/load-static-helpers.d.ts +2 -1
  6. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  7. package/dist/src/framework/load-static-helpers.js +17 -0
  8. package/dist/src/framework/load-static-helpers.js.map +1 -1
  9. package/dist/src/index.d.ts.map +1 -1
  10. package/dist/src/index.js +31 -29
  11. package/dist/src/index.js.map +1 -1
  12. package/dist/src/lib.js +1 -1
  13. package/dist/src/lib.js.map +1 -1
  14. package/dist/src/metaTree.d.ts +0 -5
  15. package/dist/src/metaTree.d.ts.map +1 -1
  16. package/dist/src/modular/buildClassicalClient.d.ts +3 -2
  17. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  18. package/dist/src/modular/buildClassicalClient.js +64 -62
  19. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  20. package/dist/src/modular/buildClassicalOperationGroups.d.ts +3 -2
  21. package/dist/src/modular/buildClassicalOperationGroups.d.ts.map +1 -1
  22. package/dist/src/modular/buildClassicalOperationGroups.js +35 -27
  23. package/dist/src/modular/buildClassicalOperationGroups.js.map +1 -1
  24. package/dist/src/modular/buildClientContext.d.ts +4 -3
  25. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  26. package/dist/src/modular/buildClientContext.js +84 -35
  27. package/dist/src/modular/buildClientContext.js.map +1 -1
  28. package/dist/src/modular/buildModularOptions.d.ts +7 -0
  29. package/dist/src/modular/buildModularOptions.d.ts.map +1 -0
  30. package/dist/src/modular/buildModularOptions.js +16 -0
  31. package/dist/src/modular/buildModularOptions.js.map +1 -0
  32. package/dist/src/modular/buildOperations.d.ts +6 -4
  33. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  34. package/dist/src/modular/buildOperations.js +56 -55
  35. package/dist/src/modular/buildOperations.js.map +1 -1
  36. package/dist/src/modular/buildProjectFiles.d.ts +3 -2
  37. package/dist/src/modular/buildProjectFiles.d.ts.map +1 -1
  38. package/dist/src/modular/buildProjectFiles.js +18 -16
  39. package/dist/src/modular/buildProjectFiles.js.map +1 -1
  40. package/dist/src/modular/buildRestorePoller.d.ts +4 -2
  41. package/dist/src/modular/buildRestorePoller.d.ts.map +1 -1
  42. package/dist/src/modular/buildRestorePoller.js +22 -18
  43. package/dist/src/modular/buildRestorePoller.js.map +1 -1
  44. package/dist/src/modular/buildRootIndex.d.ts +4 -3
  45. package/dist/src/modular/buildRootIndex.d.ts.map +1 -1
  46. package/dist/src/modular/buildRootIndex.js +40 -31
  47. package/dist/src/modular/buildRootIndex.js.map +1 -1
  48. package/dist/src/modular/buildSubpathIndex.d.ts +4 -2
  49. package/dist/src/modular/buildSubpathIndex.d.ts.map +1 -1
  50. package/dist/src/modular/buildSubpathIndex.js +8 -5
  51. package/dist/src/modular/buildSubpathIndex.js.map +1 -1
  52. package/dist/src/modular/emitLoggerFile.d.ts +2 -3
  53. package/dist/src/modular/emitLoggerFile.d.ts.map +1 -1
  54. package/dist/src/modular/emitLoggerFile.js +4 -4
  55. package/dist/src/modular/emitLoggerFile.js.map +1 -1
  56. package/dist/src/modular/emitModels.d.ts +1 -2
  57. package/dist/src/modular/emitModels.d.ts.map +1 -1
  58. package/dist/src/modular/emitModels.js +10 -3
  59. package/dist/src/modular/emitModels.js.map +1 -1
  60. package/dist/src/modular/emitModelsOptions.d.ts +3 -24
  61. package/dist/src/modular/emitModelsOptions.d.ts.map +1 -1
  62. package/dist/src/modular/emitModelsOptions.js +10 -86
  63. package/dist/src/modular/emitModelsOptions.js.map +1 -1
  64. package/dist/src/modular/emitSamples.js +2 -1
  65. package/dist/src/modular/emitSamples.js.map +1 -1
  66. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts +3 -3
  67. package/dist/src/modular/helpers/classicalOperationHelpers.d.ts.map +1 -1
  68. package/dist/src/modular/helpers/classicalOperationHelpers.js +40 -50
  69. package/dist/src/modular/helpers/classicalOperationHelpers.js.map +1 -1
  70. package/dist/src/modular/helpers/clientHelpers.d.ts +11 -8
  71. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  72. package/dist/src/modular/helpers/clientHelpers.js +87 -60
  73. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  74. package/dist/src/modular/helpers/namingHelpers.d.ts +4 -7
  75. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  76. package/dist/src/modular/helpers/namingHelpers.js +3 -26
  77. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  78. package/dist/src/modular/helpers/operationHelpers.d.ts +21 -20
  79. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  80. package/dist/src/modular/helpers/operationHelpers.js +336 -291
  81. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  82. package/dist/src/modular/helpers/typeHelpers.d.ts +4 -25
  83. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  84. package/dist/src/modular/helpers/typeHelpers.js +6 -218
  85. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  86. package/dist/src/modular/interfaces.d.ts +15 -8
  87. package/dist/src/modular/interfaces.d.ts.map +1 -1
  88. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
  89. package/dist/src/modular/serialization/buildDeserializerFunction.js +1 -2
  90. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
  91. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  92. package/dist/src/modular/serialization/buildSerializerFunction.js +1 -2
  93. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  94. package/dist/src/modular/serialization/serializeUtils.d.ts +8 -5
  95. package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
  96. package/dist/src/modular/serialization/serializeUtils.js +22 -22
  97. package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
  98. package/dist/src/utils/clientUtils.d.ts +3 -1
  99. package/dist/src/utils/clientUtils.d.ts.map +1 -1
  100. package/dist/src/utils/clientUtils.js +10 -0
  101. package/dist/src/utils/clientUtils.js.map +1 -1
  102. package/dist/src/utils/operationUtil.d.ts +6 -2
  103. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  104. package/dist/src/utils/operationUtil.js +66 -7
  105. package/dist/src/utils/operationUtil.js.map +1 -1
  106. package/dist/tsconfig.tsbuildinfo +1 -1
  107. package/package.json +3 -3
  108. package/src/contextManager.ts +1 -2
  109. package/src/framework/load-static-helpers.ts +24 -1
  110. package/src/index.ts +65 -37
  111. package/src/lib.ts +1 -1
  112. package/src/metaTree.ts +0 -6
  113. package/src/modular/buildClassicalClient.ts +97 -99
  114. package/src/modular/buildClassicalOperationGroups.ts +53 -47
  115. package/src/modular/buildClientContext.ts +101 -44
  116. package/src/modular/buildModularOptions.ts +27 -0
  117. package/src/modular/buildOperations.ts +91 -78
  118. package/src/modular/buildProjectFiles.ts +24 -21
  119. package/src/modular/buildRestorePoller.ts +39 -23
  120. package/src/modular/buildRootIndex.ts +51 -42
  121. package/src/modular/buildSubpathIndex.ts +16 -7
  122. package/src/modular/emitLoggerFile.ts +12 -10
  123. package/src/modular/emitModels.ts +15 -7
  124. package/src/modular/emitModelsOptions.ts +18 -125
  125. package/src/modular/emitSamples.ts +2 -3
  126. package/src/modular/helpers/classicalOperationHelpers.ts +50 -75
  127. package/src/modular/helpers/clientHelpers.ts +107 -73
  128. package/src/modular/helpers/namingHelpers.ts +6 -65
  129. package/src/modular/helpers/operationHelpers.ts +506 -384
  130. package/src/modular/helpers/typeHelpers.ts +11 -267
  131. package/src/modular/interfaces.ts +16 -8
  132. package/src/modular/serialization/buildDeserializerFunction.ts +1 -6
  133. package/src/modular/serialization/buildSerializerFunction.ts +1 -2
  134. package/src/modular/serialization/serializeUtils.ts +31 -30
  135. package/src/utils/clientUtils.ts +23 -1
  136. package/src/utils/operationUtil.ts +106 -14
  137. package/dist/src/modular/buildCodeModel.d.ts +0 -34
  138. package/dist/src/modular/buildCodeModel.d.ts.map +0 -1
  139. package/dist/src/modular/buildCodeModel.js +0 -1489
  140. package/dist/src/modular/buildCodeModel.js.map +0 -1
  141. package/dist/src/modular/modularCodeModel.d.ts +0 -166
  142. package/dist/src/modular/modularCodeModel.d.ts.map +0 -1
  143. package/dist/src/modular/modularCodeModel.js +0 -2
  144. package/dist/src/modular/modularCodeModel.js.map +0 -1
  145. package/src/modular/buildCodeModel.ts +0 -1965
  146. package/src/modular/modularCodeModel.ts +0 -211
@@ -1,211 +0,0 @@
1
- import {
2
- HelperFunctionDetails,
3
- Imports,
4
- OperationResponse,
5
- RLCOptions
6
- } from "@azure-tools/rlc-common";
7
- import {
8
- SdkBodyParameter,
9
- SdkClientType,
10
- SdkHttpOperation,
11
- SdkType
12
- } from "@azure-tools/typespec-client-generator-core";
13
- import { UsageFlags, Type as TypespecType } from "@typespec/compiler";
14
- import { Project } from "ts-morph";
15
-
16
- export interface ModularOptions {
17
- sourceRoot: string;
18
- compatibilityMode: boolean;
19
- experimentalExtensibleEnums: boolean;
20
- }
21
- export interface ModularCodeModel {
22
- options: RLCOptions;
23
- modularOptions: ModularOptions;
24
- namespace?: string;
25
- subnamespaceToClients?: any;
26
- clients: Client[];
27
- types: Type[];
28
- project: Project;
29
- runtimeImports: Imports;
30
- }
31
-
32
- export interface Header {
33
- type: Type;
34
- restApiName: string;
35
- }
36
-
37
- export interface Property {
38
- clientDefaultValue?: any;
39
- clientName: string;
40
- restApiName: string;
41
- type: Type;
42
- optional?: boolean;
43
- description: string;
44
- readonly?: boolean;
45
- format?: string;
46
- }
47
-
48
- export interface BodyParameter {
49
- contentTypes: string[];
50
- type: Type;
51
- restApiName: string;
52
- location: "body";
53
- optional: boolean;
54
- format?: string;
55
- description: string;
56
- clientName: string;
57
- inOverload: boolean;
58
- isBinaryPayload: boolean;
59
- tcgcType: SdkBodyParameter;
60
- }
61
-
62
- export interface OperationGroup {
63
- className: string;
64
- propertyName: string;
65
- operations: Operation[];
66
- namespaceHierarchies: string[];
67
- }
68
- export interface Policy {
69
- type: string;
70
- key: string;
71
- }
72
-
73
- export interface XmlMetadata {}
74
- export interface EnumValue {
75
- name: string;
76
- value: string;
77
- description: string;
78
- }
79
- export interface Type {
80
- name?: string;
81
- description?: string;
82
- type:
83
- | "string"
84
- | "Key"
85
- | "OAuth2"
86
- | "constant"
87
- | "model"
88
- | "list"
89
- | "byte-array"
90
- | "datetime"
91
- | "float"
92
- | "duration"
93
- | "enum"
94
- | "integer"
95
- | "float"
96
- | "boolean"
97
- | "dict"
98
- | "combined"
99
- | "any"
100
- | "unknown"
101
- | "never";
102
- policy?: Policy;
103
- apiVersions?: any[];
104
- clientDefaultValue?: any;
105
- value?: string;
106
- values?: EnumValue[];
107
- isFixed?: boolean;
108
- isNonExhaustive?: boolean;
109
- valueType?: Type;
110
- elementType?: Type;
111
- parents?: Type[];
112
- xmlMetadata?: XmlMetadata;
113
- format?: string;
114
- properties?: Property[];
115
- types?: Type[];
116
- coreTypeInfo?: "ErrorType" | "LroType";
117
- usage?: UsageFlags;
118
- alias?: string;
119
- aliasType?: string;
120
- discriminator?: string;
121
- discriminatorValue?: string;
122
- isPolymorphicBaseModel?: boolean;
123
- tcgcType?: SdkType;
124
- __raw?: TypespecType;
125
- nullable?: boolean;
126
- optional?: boolean;
127
- }
128
-
129
- export interface Client {
130
- name: string;
131
- description: string;
132
- parameters: Parameter[];
133
- operationGroups: OperationGroup[];
134
- url: string;
135
- apiVersions: any[];
136
- rlcClientName: string;
137
- subfolder?: string;
138
- rlcHelperDetails: HelperFunctionDetails;
139
- tcgcClient: SdkClientType<SdkHttpOperation>;
140
- }
141
-
142
- export type ParameterLocation =
143
- | "endpointPath"
144
- | "header"
145
- | "query"
146
- | "path"
147
- | "body"
148
- | "other";
149
-
150
- export interface Parameter {
151
- optional: boolean;
152
- description: string;
153
- clientName: string;
154
- inOverload: boolean;
155
- restApiName: string;
156
- location: ParameterLocation;
157
- type: Type;
158
- implementation: string;
159
- skipUrlEncoding?: boolean;
160
- clientDefaultValue?: string | null;
161
- in_docstring?: boolean;
162
- checkClientInput?: boolean;
163
- delimiter?: any;
164
- explode?: boolean;
165
- groupedBy?: any;
166
- inDocstring?: boolean;
167
- inOverriden?: boolean;
168
- isApiVersion?: boolean;
169
- format?: string;
170
- tcgcType?: SdkType;
171
- }
172
-
173
- export interface Response {
174
- headers: Header[];
175
- statusCodes: (number | "default")[];
176
- discriminator: string;
177
- type: Type;
178
- addedOn?: string;
179
- isBinaryPayload?: boolean;
180
- }
181
-
182
- export interface Operation {
183
- name: string;
184
- oriName?: string;
185
- description: string;
186
- summary: string;
187
- url: string;
188
- method: string;
189
- parameters: Parameter[];
190
- bodyParameter?: BodyParameter;
191
- responses: Response[];
192
- exceptions: Response[];
193
- groupName: string;
194
- discriminator: string;
195
- isOverload: boolean;
196
- overloads: any[];
197
- apiVersions: any[];
198
- itemName?: string;
199
- continuationTokenName?: string;
200
- addedOn?: string;
201
- rlcResponse?: OperationResponse;
202
- namespaceHierarchies: string[];
203
- lroMetadata?: LroOperationMetadata;
204
- }
205
-
206
- export interface LroOperationMetadata {
207
- finalStateVia?: string;
208
- finalResult?: Type;
209
- /** The path to the field in the 'finalEnvelopeResult' that contains the 'finalResult'. */
210
- finalResultPath?: string;
211
- }