@azure-tools/typespec-ts 0.30.1 → 0.31.0-alpha.20240723.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 (184) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/src/contextManager.d.ts +4 -0
  3. package/dist/src/contextManager.d.ts.map +1 -1
  4. package/dist/src/contextManager.js.map +1 -1
  5. package/dist/src/framework/declaration.d.ts +9 -0
  6. package/dist/src/framework/declaration.d.ts.map +1 -0
  7. package/dist/src/framework/declaration.js +28 -0
  8. package/dist/src/framework/declaration.js.map +1 -0
  9. package/dist/src/framework/hooks/binder.d.ts +25 -0
  10. package/dist/src/framework/hooks/binder.d.ts.map +1 -0
  11. package/dist/src/framework/hooks/binder.js +168 -0
  12. package/dist/src/framework/hooks/binder.js.map +1 -0
  13. package/dist/src/framework/hooks/sdkTypes.d.ts +12 -0
  14. package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -0
  15. package/dist/src/framework/hooks/sdkTypes.js +67 -0
  16. package/dist/src/framework/hooks/sdkTypes.js.map +1 -0
  17. package/dist/src/framework/reference.d.ts +2 -0
  18. package/dist/src/framework/reference.d.ts.map +1 -0
  19. package/dist/src/framework/reference.js +8 -0
  20. package/dist/src/framework/reference.js.map +1 -0
  21. package/dist/src/framework/refkey.d.ts +7 -0
  22. package/dist/src/framework/refkey.d.ts.map +1 -0
  23. package/dist/src/framework/refkey.js +22 -0
  24. package/dist/src/framework/refkey.js.map +1 -0
  25. package/dist/src/framework/sample.d.ts +2 -0
  26. package/dist/src/framework/sample.d.ts.map +1 -0
  27. package/dist/src/framework/sample.js +71 -0
  28. package/dist/src/framework/sample.js.map +1 -0
  29. package/dist/src/framework/utils/tsmorph-helpers.d.ts +2 -0
  30. package/dist/src/framework/utils/tsmorph-helpers.d.ts.map +1 -0
  31. package/dist/src/framework/utils/tsmorph-helpers.js +2 -0
  32. package/dist/src/framework/utils/tsmorph-helpers.js.map +1 -0
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +7 -8
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/lib.d.ts +10 -1
  37. package/dist/src/lib.d.ts.map +1 -1
  38. package/dist/src/lib.js +6 -0
  39. package/dist/src/lib.js.map +1 -1
  40. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  41. package/dist/src/modular/buildClassicalClient.js +6 -5
  42. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  43. package/dist/src/modular/buildClientContext.d.ts.map +1 -1
  44. package/dist/src/modular/buildClientContext.js +8 -4
  45. package/dist/src/modular/buildClientContext.js.map +1 -1
  46. package/dist/src/modular/buildCodeModel.d.ts.map +1 -1
  47. package/dist/src/modular/buildCodeModel.js +22 -11
  48. package/dist/src/modular/buildCodeModel.js.map +1 -1
  49. package/dist/src/modular/buildOperations.d.ts +1 -2
  50. package/dist/src/modular/buildOperations.d.ts.map +1 -1
  51. package/dist/src/modular/buildOperations.js +3 -9
  52. package/dist/src/modular/buildOperations.js.map +1 -1
  53. package/dist/src/modular/buildRootIndex.js +1 -1
  54. package/dist/src/modular/buildRootIndex.js.map +1 -1
  55. package/dist/src/modular/buildSerializeUtils.d.ts.map +1 -1
  56. package/dist/src/modular/buildSerializeUtils.js +2 -1
  57. package/dist/src/modular/buildSerializeUtils.js.map +1 -1
  58. package/dist/src/modular/helpers/clientHelpers.d.ts +4 -0
  59. package/dist/src/modular/helpers/clientHelpers.d.ts.map +1 -1
  60. package/dist/src/modular/helpers/clientHelpers.js +15 -1
  61. package/dist/src/modular/helpers/clientHelpers.js.map +1 -1
  62. package/dist/src/modular/helpers/namingHelpers.d.ts +1 -0
  63. package/dist/src/modular/helpers/namingHelpers.d.ts.map +1 -1
  64. package/dist/src/modular/helpers/namingHelpers.js +3 -1
  65. package/dist/src/modular/helpers/namingHelpers.js.map +1 -1
  66. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  67. package/dist/src/modular/helpers/operationHelpers.js +60 -40
  68. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  69. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  70. package/dist/src/modular/helpers/typeHelpers.js +6 -1
  71. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  72. package/dist/src/modular/modularCodeModel.d.ts +2 -0
  73. package/dist/src/modular/modularCodeModel.d.ts.map +1 -1
  74. package/dist/src/transform/transformApiVersionInfo.d.ts.map +1 -1
  75. package/dist/src/transform/transformApiVersionInfo.js +3 -5
  76. package/dist/src/transform/transformApiVersionInfo.js.map +1 -1
  77. package/dist/src/transform/transformHelperFunctionDetails.d.ts.map +1 -1
  78. package/dist/src/transform/transformHelperFunctionDetails.js +7 -10
  79. package/dist/src/transform/transformHelperFunctionDetails.js.map +1 -1
  80. package/dist/src/transform/transformParameters.d.ts.map +1 -1
  81. package/dist/src/transform/transformParameters.js +5 -7
  82. package/dist/src/transform/transformParameters.js.map +1 -1
  83. package/dist/src/transform/transformPaths.d.ts.map +1 -1
  84. package/dist/src/transform/transformPaths.js +4 -6
  85. package/dist/src/transform/transformPaths.js.map +1 -1
  86. package/dist/src/transform/transformResponses.d.ts.map +1 -1
  87. package/dist/src/transform/transformResponses.js +70 -16
  88. package/dist/src/transform/transformResponses.js.map +1 -1
  89. package/dist/src/transform/transformSchemas.d.ts.map +1 -1
  90. package/dist/src/transform/transformSchemas.js +5 -6
  91. package/dist/src/transform/transformSchemas.js.map +1 -1
  92. package/dist/src/transform/transformTelemetryInfo.d.ts.map +1 -1
  93. package/dist/src/transform/transformTelemetryInfo.js +3 -6
  94. package/dist/src/transform/transformTelemetryInfo.js.map +1 -1
  95. package/dist/src/transform/transfromRLCOptions.d.ts.map +1 -1
  96. package/dist/src/transform/transfromRLCOptions.js +5 -6
  97. package/dist/src/transform/transfromRLCOptions.js.map +1 -1
  98. package/dist/src/utils/modelUtils.d.ts +3 -3
  99. package/dist/src/utils/modelUtils.d.ts.map +1 -1
  100. package/dist/src/utils/modelUtils.js +42 -24
  101. package/dist/src/utils/modelUtils.js.map +1 -1
  102. package/dist/src/utils/operationUtil.d.ts +2 -2
  103. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  104. package/dist/src/utils/operationUtil.js +5 -7
  105. package/dist/src/utils/operationUtil.js.map +1 -1
  106. package/dist/tsconfig.tsbuildinfo +1 -1
  107. package/package.json +23 -23
  108. package/src/contextManager.ts +4 -0
  109. package/src/framework/declaration.ts +100 -0
  110. package/src/framework/hooks/binder.ts +259 -0
  111. package/src/framework/hooks/sdkTypes.ts +101 -0
  112. package/src/framework/reference.ts +9 -0
  113. package/src/framework/refkey.ts +28 -0
  114. package/src/framework/sample.ts +92 -0
  115. package/src/framework/utils/tsmorph-helpers.ts +0 -0
  116. package/src/index.ts +8 -10
  117. package/src/lib.ts +6 -0
  118. package/src/modular/buildClassicalClient.ts +11 -4
  119. package/src/modular/buildClientContext.ts +11 -5
  120. package/src/modular/buildCodeModel.ts +25 -21
  121. package/src/modular/buildOperations.ts +13 -41
  122. package/src/modular/buildRootIndex.ts +1 -1
  123. package/src/modular/buildSerializeUtils.ts +2 -1
  124. package/src/modular/helpers/clientHelpers.ts +25 -1
  125. package/src/modular/helpers/namingHelpers.ts +4 -1
  126. package/src/modular/helpers/operationHelpers.ts +86 -45
  127. package/src/modular/helpers/typeHelpers.ts +6 -1
  128. package/src/modular/modularCodeModel.ts +2 -0
  129. package/src/transform/transformApiVersionInfo.ts +3 -6
  130. package/src/transform/transformHelperFunctionDetails.ts +9 -9
  131. package/src/transform/transformParameters.ts +5 -6
  132. package/src/transform/transformPaths.ts +5 -9
  133. package/src/transform/transformResponses.ts +92 -19
  134. package/src/transform/transformSchemas.ts +6 -5
  135. package/src/transform/transformTelemetryInfo.ts +3 -5
  136. package/src/transform/transfromRLCOptions.ts +5 -10
  137. package/src/utils/modelUtils.ts +49 -39
  138. package/src/utils/operationUtil.ts +6 -12
  139. package/dist/src/modular/serialization/collectionUtils.d.ts +0 -3
  140. package/dist/src/modular/serialization/collectionUtils.d.ts.map +0 -1
  141. package/dist/src/modular/serialization/collectionUtils.js +0 -17
  142. package/dist/src/modular/serialization/collectionUtils.js.map +0 -1
  143. package/dist/src/modular/serialization/index.d.ts +0 -5
  144. package/dist/src/modular/serialization/index.d.ts.map +0 -1
  145. package/dist/src/modular/serialization/index.js +0 -155
  146. package/dist/src/modular/serialization/index.js.map +0 -1
  147. package/dist/src/modular/serialization/operationHelpers.d.ts +0 -37
  148. package/dist/src/modular/serialization/operationHelpers.d.ts.map +0 -1
  149. package/dist/src/modular/serialization/operationHelpers.js +0 -457
  150. package/dist/src/modular/serialization/operationHelpers.js.map +0 -1
  151. package/dist/src/modular/serialization/serializeArray.d.ts +0 -5
  152. package/dist/src/modular/serialization/serializeArray.d.ts.map +0 -1
  153. package/dist/src/modular/serialization/serializeArray.js +0 -33
  154. package/dist/src/modular/serialization/serializeArray.js.map +0 -1
  155. package/dist/src/modular/serialization/serializeDateTime.d.ts +0 -4
  156. package/dist/src/modular/serialization/serializeDateTime.d.ts.map +0 -1
  157. package/dist/src/modular/serialization/serializeDateTime.js +0 -19
  158. package/dist/src/modular/serialization/serializeDateTime.js.map +0 -1
  159. package/dist/src/modular/serialization/serializeHeaders.d.ts +0 -7
  160. package/dist/src/modular/serialization/serializeHeaders.d.ts.map +0 -1
  161. package/dist/src/modular/serialization/serializeHeaders.js +0 -44
  162. package/dist/src/modular/serialization/serializeHeaders.js.map +0 -1
  163. package/dist/src/modular/serialization/serializers.d.ts +0 -17
  164. package/dist/src/modular/serialization/serializers.d.ts.map +0 -1
  165. package/dist/src/modular/serialization/serializers.js +0 -175
  166. package/dist/src/modular/serialization/serializers.js.map +0 -1
  167. package/dist/src/modular/serialization/util.d.ts +0 -27
  168. package/dist/src/modular/serialization/util.d.ts.map +0 -1
  169. package/dist/src/modular/serialization/util.js +0 -115
  170. package/dist/src/modular/serialization/util.js.map +0 -1
  171. package/dist/src/reify/index.d.ts +0 -12
  172. package/dist/src/reify/index.d.ts.map +0 -1
  173. package/dist/src/reify/index.js +0 -22
  174. package/dist/src/reify/index.js.map +0 -1
  175. package/src/modular/serialization/collectionUtils.ts +0 -20
  176. package/src/modular/serialization/index.ts +0 -267
  177. package/src/modular/serialization/operationHelpers.ts +0 -659
  178. package/src/modular/serialization/serializeArray.ts +0 -51
  179. package/src/modular/serialization/serializeDateTime.ts +0 -22
  180. package/src/modular/serialization/serializeHeaders.ts +0 -64
  181. package/src/modular/serialization/serializers.ts +0 -304
  182. package/src/modular/serialization/util.ts +0 -171
  183. package/src/modular/static/karma.conf.cjs +0 -120
  184. package/src/reify/index.ts +0 -41
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../../../src/modular/serialization/serializers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAEL,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,OAAO,EACP,YAAY,EACb,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAoB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGlE,OAAO,EAKL,aAAa,EACb,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAKnB,MAAM,WAAW,oBAAoB,CACnC,QAAQ,SAAS,OAAO,GAAG,oBAAoB;IAE/C,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,UAAU,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CACxE;AAMD,wBAAgB,aAAa,CAAC,QAAQ,SAAS,OAAO,GAAG,oBAAoB,EAC3E,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACtC,gBAAgB,CAqBlB;AAgHD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,oBAAoB,CAAC,YAAY,CAAC,GAC1C,MAAM,CAkBR;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,CAAC,YAAY,CAAC,GAC1C,MAAM,CAkCR;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,oBAAoB,CAAC,WAAW,CAAC,GACzC,MAAM,CA8BR"}
@@ -1,175 +0,0 @@
1
- import { getDiscriminator, UsageFlags } from "@typespec/compiler";
2
- import _ from "lodash";
3
- import * as Reify from "../../reify/index.js";
4
- import { getEncodingFormat, getParameterTypePropertyName, getReturnTypePropertyName, isDefined } from "./util.js";
5
- import { serializeHeader } from "./serializeHeaders.js";
6
- import { serializeArray } from "./serializeArray.js";
7
- import { serializeDatetime } from "./serializeDateTime.js";
8
- const placeholder = (_) => {
9
- return '(()=>{throw Error("Not implemented.")})()';
10
- };
11
- export function serializeType(options) {
12
- var _a, _b;
13
- const { functionType, serializerMap, type, valueExpr } = options;
14
- const modularTypeName = type.name;
15
- const serializerMetadata = isDefined(modularTypeName) && (serializerMap === null || serializerMap === void 0 ? void 0 : serializerMap[modularTypeName]);
16
- if (serializerMetadata) {
17
- const functionName = functionType === UsageFlags.Input
18
- ? serializerMetadata === null || serializerMetadata === void 0 ? void 0 : serializerMetadata.serializerFunctionName
19
- : serializerMetadata === null || serializerMetadata === void 0 ? void 0 : serializerMetadata.deserializerFunctionName;
20
- return `${functionName !== null && functionName !== void 0 ? functionName : (functionType === UsageFlags.Input
21
- ? "MISSING_SERIALIZER"
22
- : "MISSING_DESERIALIZER")}((${valueExpr}))`;
23
- }
24
- return (_b = (_a = getSerializeHandler(type.kind)) === null || _a === void 0 ? void 0 : _a(options)) !== null && _b !== void 0 ? _b : valueExpr;
25
- }
26
- function getSerializeHandler(kind) {
27
- const handlers = {
28
- array: serializeArray,
29
- bytes: serializeByteArray,
30
- enumvalue: (options) => serializeType({ ...options, type: options.type.valueType }),
31
- model: serializeModelPropertiesInline,
32
- offsetDateTime: serializeDatetime,
33
- plainDate: ({ valueExpr }) => `(${valueExpr}).toDateString()`,
34
- plainTime: ({ valueExpr }) => `(${valueExpr}).toTimeString()`,
35
- property: serializeModelProperty,
36
- // TODO: This is the function that emits the body of a function meant to serialize a type union.
37
- // It's implemented as a switch statement. This is fine for a function body. However,
38
- // `getSerializeHandler` is designed to always return something that can go in expression
39
- // position. We may or may not decide to emit a function to serialize anonymous unions using the
40
- // TCGC generated name as its identifier. If we don't, a copy of this function will need to be
41
- // adapted to expression position (e.g. nested ternary statements). As it stands, this function
42
- // should never actually be dispatched, and should be removed if we find it to be unnecessary.
43
- union: serializeUnionInline,
44
- utcDateTime: serializeDatetime,
45
- duration: placeholder,
46
- tuple: placeholder,
47
- dict: placeholder,
48
- credential: placeholder,
49
- endpoint: placeholder,
50
- method: placeholder,
51
- query: placeholder,
52
- path: placeholder,
53
- body: placeholder,
54
- header: serializeHeader
55
- };
56
- const handler = handlers[kind];
57
- return handler;
58
- }
59
- function serializeByteArray(options) {
60
- const { functionType, type, valueExpr, importCallback } = options;
61
- if (type.encode === "binary") {
62
- return valueExpr;
63
- }
64
- const format = getEncodingFormat(functionType, type);
65
- const args = [valueExpr, `"${format}"`].join(", ");
66
- if (functionType === UsageFlags.Input) {
67
- importCallback("coreUtil", "uint8ArrayToString");
68
- return `uint8ArrayToString(${args})`;
69
- }
70
- importCallback("coreUtil", "stringToUint8Array");
71
- return `(typeof (${valueExpr}) === 'string')
72
- ? (stringToUint8Array(${args}))
73
- : (${valueExpr})`;
74
- }
75
- export function serializeModelPropertiesInline(options) {
76
- const { dpgContext, functionType, type, valueExpr } = options;
77
- const props = type.properties.filter((p) => p.kind === "property");
78
- const serializedParents = type.baseModel
79
- ? `...(${serializeType({ ...options, type: type.baseModel })})`
80
- : undefined;
81
- const serializedProps = props.map((prop) => {
82
- const id = getParameterTypePropertyName(dpgContext, functionType, prop);
83
- return serializeModelProperty({
84
- ...options,
85
- type: prop,
86
- valueExpr: `${valueExpr}["${id}"]`
87
- });
88
- });
89
- const body = [`...(${valueExpr})`, serializedParents, ...serializedProps]
90
- .filter(isDefined)
91
- .join(",\n");
92
- return `{${body}}`;
93
- }
94
- export function serializeUnionInline(options) {
95
- var _a;
96
- const { dpgContext, type, valueExpr } = options;
97
- const discriminator = (_a = getDiscriminator(dpgContext.program, type.__raw)) === null || _a === void 0 ? void 0 : _a.propertyName;
98
- if (!discriminator) {
99
- return placeholder();
100
- }
101
- const baseType = type.values.find((v) => v.kind !== "constant");
102
- const variants = type.values.filter((v) => v !== baseType);
103
- // TODO: Used to catch corner cases during testing. Remove this before shipping.
104
- variants
105
- .filter((v) => v.kind !== "constant")
106
- .forEach((v) => {
107
- throw Error(`TODO: Handle non-constant non-base variant of union ${type.name} ` +
108
- `with type name ${v.name} and kind ${v.kind}`);
109
- });
110
- const cases = variants
111
- .map((variant) => {
112
- `${variant.value}: ${serializeType({
113
- ...options,
114
- type: variant
115
- })}`;
116
- })
117
- .join(",\n");
118
- // TODO: Non-discriminated unions have UB at the moment, as opposed to having good messaging that
119
- // they're not supported
120
- return `({${cases}})[(${valueExpr})["${discriminator}"]] ?? (${serializeType({
121
- ...options,
122
- type: baseType
123
- })})`;
124
- }
125
- export function serializeEnumFunctionBody(options) {
126
- const { type, valueExpr } = options;
127
- const defaultBody = [{ kind: "return", value: valueExpr }];
128
- const cases = _(type.values)
129
- .map((value) => {
130
- const variantId = `${type.name}.${value.name}`;
131
- const variantBody = [
132
- {
133
- kind: "return",
134
- value: serializeType({ ...options, type: value.valueType })
135
- }
136
- ];
137
- return [variantId, variantBody];
138
- })
139
- .concat([[undefined, defaultBody]])
140
- .reduce((acc, [id, body]) => {
141
- var _a;
142
- const ids = (_a = acc.get(body)) !== null && _a !== void 0 ? _a : new Set();
143
- ids.add(id);
144
- acc.set(body, ids);
145
- return acc;
146
- }, new Map());
147
- const functionBody = {
148
- kind: "switch return",
149
- expr: valueExpr,
150
- cases
151
- };
152
- return Reify.reifySwitchReturn(functionBody);
153
- }
154
- function serializeModelProperty(options) {
155
- const { type, valueExpr } = options;
156
- const propDecl = getPropertyDeclaration(options);
157
- return type.optional
158
- ? `...((${valueExpr}) === undefined ? {} : {${propDecl}})`
159
- : `${propDecl}`;
160
- }
161
- function getPropertyDeclaration(options) {
162
- const { dpgContext, functionType, type } = options;
163
- const id = getReturnTypePropertyName(dpgContext, functionType, type);
164
- const propInitializer = getPropertyInitializer(options);
165
- return `"${id}": (${propInitializer})`;
166
- }
167
- function getPropertyInitializer(options) {
168
- const { type } = options;
169
- const propSerializer = serializeType({
170
- ...options,
171
- type: { ...type.type, nullable: false, optional: false }
172
- });
173
- return propSerializer;
174
- }
175
- //# sourceMappingURL=serializers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serializers.js","sourceRoot":"","sources":["../../../../src/modular/serialization/serializers.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,SAAS,EAGV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAa3D,MAAM,WAAW,GAAG,CAAI,CAAK,EAAE,EAAE;IAC/B,OAAO,2CAA2C,CAAC;AACrD,CAAC,CAAC;AAEF,MAAM,UAAU,aAAa,CAC3B,OAAuC;;IAEvC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACjE,MAAM,eAAe,GAAI,IAA0B,CAAC,IAAI,CAAC;IACzD,MAAM,kBAAkB,GACtB,SAAS,CAAC,eAAe,CAAC,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,eAAe,CAAC,CAAA,CAAC;IAEjE,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,YAAY,GAChB,YAAY,KAAK,UAAU,CAAC,KAAK;YAC/B,CAAC,CAAC,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,sBAAsB;YAC5C,CAAC,CAAC,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,wBAAwB,CAAC;QAEnD,OAAO,GACL,YAAY,aAAZ,YAAY,cAAZ,YAAY,GACZ,CAAC,YAAY,KAAK,UAAU,CAAC,KAAK;YAChC,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,sBAAsB,CAC5B,KAAK,SAAS,IAAI,CAAC;IACrB,CAAC;IAED,OAAO,MAAA,MAAA,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,0CAAG,OAAO,CAAC,mCAAI,SAAS,CAAC;AAChE,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAsB;IAmDtB,MAAM,QAAQ,GAAwB;QACpC,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CACrB,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7D,KAAK,EAAE,8BAA8B;QACrC,cAAc,EAAE,iBAAiB;QACjC,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS,kBAAkB;QAC7D,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,IAAI,SAAS,kBAAkB;QAC7D,QAAQ,EAAE,sBAAsB;QAChC,gGAAgG;QAChG,qFAAqF;QACrF,yFAAyF;QACzF,gGAAgG;QAChG,8FAA8F;QAC9F,+FAA+F;QAC/F,8FAA8F;QAC9F,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,iBAAiB;QAE9B,QAAQ,EAAE,WAAW;QACrB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,WAAW;QAEvB,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,eAAe;KACxB,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,OAAc,CAAC;AACxB,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA0D;IAE1D,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAElE,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,YAAY,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;QACtC,cAAc,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACjD,OAAO,sBAAsB,IAAI,GAAG,CAAC;IACvC,CAAC;IACD,cAAc,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACjD,OAAO,YAAY,SAAS;8BACA,IAAI;WACvB,SAAS,GAAG,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,OAA2C;IAE3C,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS;QACtC,CAAC,CAAC,OAAO,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG;QAC/D,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,EAAE,GAAG,4BAA4B,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;QACxE,OAAO,sBAAsB,CAAC;YAC5B,GAAG,OAAO;YACV,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,GAAG,SAAS,KAAK,EAAE,IAAI;SACnC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,OAAO,SAAS,GAAG,EAAE,iBAAiB,EAAE,GAAG,eAAe,CAAC;SACtE,MAAM,CAAC,SAAS,CAAC;SACjB,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,OAAO,IAAI,IAAI,GAAG,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAA2C;;IAE3C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,aAAa,GAAG,MAAA,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,KAAM,CAAC,0CACnE,YAAY,CAAC;IACjB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,WAAW,EAAE,CAAC;IACvB,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAE,CAAC;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CACD,CAAC;IACvB,gFAAgF;IAChF,QAAQ;SACL,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;SACpC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,MAAM,KAAK,CACT,uDAAuD,IAAI,CAAC,IAAI,GAAG;YACjE,kBAAkB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,IAAI,EAAE,CAChD,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,MAAM,KAAK,GAAG,QAAQ;SACnB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,GAAG,OAAO,CAAC,KAAK,KAAK,aAAa,CAAC;YACjC,GAAG,OAAO;YACV,IAAI,EAAE,OAAO;SACd,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;SACD,IAAI,CAAC,KAAK,CAAC,CAAC;IACf,iGAAiG;IACjG,wBAAwB;IACxB,OAAO,KAAK,KAAK,OAAO,SAAS,MAAM,aAAa,WAAW,aAAa,CAAC;QAC3E,GAAG,OAAO;QACV,IAAI,EAAE,QAAQ;KACf,CAAC,GAAG,CAAC;AACR,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAA0C;IAE1C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,WAAW,GAAsB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACzB,GAAG,CAAC,CAAC,KAAK,EAA2C,EAAE;QACtD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,WAAW,GAA4B;YAC3C;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;aAC5D;SACF,CAAC;QACF,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;SAClC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;;QAC1B,MAAM,GAAG,GAAG,MAAA,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,IAAI,GAAG,EAAE,CAAC;QACvC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACZ,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAA8C,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAuB;QACvC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,SAAS;QACf,KAAK;KACN,CAAC;IAEF,OAAO,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAmD;IAEnD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAEpC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,IAAI,CAAC,QAAQ;QAClB,CAAC,CAAC,QAAQ,SAAS,2BAA2B,QAAQ,IAAI;QAC1D,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;AACpB,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAmD;IAEnD,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEnD,MAAM,EAAE,GAAG,yBAAyB,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAExD,OAAO,IAAI,EAAE,OAAO,eAAe,GAAG,CAAC;AACzC,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAmD;IAEnD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzB,MAAM,cAAc,GAAG,aAAa,CAAC;QACnC,GAAG,OAAO;QACV,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;KACzD,CAAC,CAAC;IAEH,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,27 +0,0 @@
1
- import { SdkEnumType, SdkModelPropertyType, SdkModelType, SdkType, SdkUnionType, UsageFlags as TCGCUsageFlags } from "@azure-tools/typespec-client-generator-core";
2
- import { UsageFlags } from "@typespec/compiler";
3
- import { SdkContext } from "../../utils/interfaces.js";
4
- type ModularTypeName = string;
5
- export type SerializeFunctionType = SdkModelType | SdkUnionType | SdkEnumType;
6
- export type SerializerMap = Record<ModularTypeName, SerializerMetadata>;
7
- export type SerializerOutput = string;
8
- interface SerializerMetadata {
9
- rlcTypeName?: string;
10
- rlcTypeAlias?: string;
11
- type: SerializeFunctionType;
12
- serializerFunctionName?: string;
13
- deserializerFunctionName?: string;
14
- }
15
- export declare function getEncodingFormat(functionType: UsageFlags, type: SdkType & {
16
- kind: "bytes";
17
- }): string;
18
- export declare function getModularTypeId<T extends SdkType>(type: T): string | undefined;
19
- export declare function getParameterTypePropertyName(dpgContext: SdkContext, functionType: UsageFlags, p: SdkModelPropertyType): string;
20
- export declare function getReturnTypePropertyName(dpgContext: SdkContext, functionType: UsageFlags, p: SdkModelPropertyType): string;
21
- export declare function getRLCTypeId(dpgContext: SdkContext, type: SdkType & {
22
- name?: string;
23
- }): string | undefined;
24
- export declare function getUsage(dpgContext: SdkContext, type: SdkType): TCGCUsageFlags;
25
- export declare function isDefined<T>(thing: T | undefined | null): thing is T;
26
- export {};
27
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/modular/serialization/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,OAAO,EACP,YAAY,EACZ,UAAU,IAAI,cAAc,EAC7B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AACxE,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAGD,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,UAAU,EACxB,IAAI,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,UAOlC;AAyED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,OAAO,EAChD,IAAI,EAAE,CAAC,GACN,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,UAAU,EACxB,CAAC,EAAE,oBAAoB,GACtB,MAAM,CAIR;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,UAAU,EACxB,CAAC,EAAE,oBAAoB,GACtB,MAAM,CAIR;AAED,wBAAgB,YAAY,CAC1B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,OAAO,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,sBAOlC;AAED,wBAAgB,QAAQ,CAEtB,UAAU,EAAE,UAAU,EAEtB,IAAI,EAAE,OAAO,GACZ,cAAc,CAMhB;AASD,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,IAAI,CAAC,CAEpE"}
@@ -1,115 +0,0 @@
1
- import { getLibraryName, getWireName, UsageFlags as TCGCUsageFlags } from "@azure-tools/typespec-client-generator-core";
2
- import { UsageFlags } from "@typespec/compiler";
3
- import { toPascalCase } from "../../utils/casingUtils.js";
4
- const supportedFormats = ["base64url", "base64", "byte"];
5
- export function getEncodingFormat(functionType, type) {
6
- var _a;
7
- if (functionType === UsageFlags.Output) {
8
- return type.encode;
9
- }
10
- return (_a = supportedFormats.find((format) => format === type.encode)) !== null && _a !== void 0 ? _a : "base64";
11
- }
12
- const dispatch = {
13
- string: (_) => "string",
14
- boolean: (_) => "boolean",
15
- bytes: (_) => "Uint8Array",
16
- model: (type) => type.name,
17
- union: (type) => type.name,
18
- enum: (type) => type.name,
19
- plainDate: (_) => "Date",
20
- plainTime: (_) => "Date",
21
- any: (_) => "any",
22
- numeric: (_) => "number",
23
- integer: (_) => "number",
24
- safeint: (_) => "number",
25
- int8: (_) => "number",
26
- int16: (_) => "number",
27
- int32: (_) => "number",
28
- int64: (_) => "number",
29
- uint8: (_) => "number",
30
- uint16: (_) => "number",
31
- uint32: (_) => "number",
32
- uint64: (_) => "number",
33
- float: (_) => "number",
34
- float32: (_) => "number",
35
- float64: (_) => "number",
36
- decimal: (_) => "number",
37
- decimal128: (_) => "number",
38
- password: (_) => "string",
39
- guid: (_) => "string",
40
- url: (_) => "string",
41
- uri: (_) => "string",
42
- ipAddress: (_) => "string",
43
- uuid: (_) => "string",
44
- ipV4Address: (_) => "string",
45
- ipV6Address: (_) => "string",
46
- eTag: (_) => "string",
47
- armId: (_) => "string",
48
- azureLocation: (_) => "string",
49
- utcDateTime: (_) => "Date",
50
- offsetDateTime: (_) => "Date",
51
- duration: (_) => "FIXME",
52
- array: (type) => {
53
- const valueTypeId = getModularTypeId(type.valueType);
54
- return valueTypeId ? `Array<${valueTypeId}>` : undefined;
55
- },
56
- tuple: (type) => {
57
- const elementIds = type.values.map(getModularTypeId);
58
- if (!type.values.length || elementIds.some((id) => !id)) {
59
- return;
60
- }
61
- return `[${elementIds.join(", ")}]`;
62
- },
63
- dict: (type) => {
64
- const keyId = getModularTypeId(type.keyType);
65
- const valueId = getModularTypeId(type.valueType);
66
- if (!keyId || !valueId) {
67
- return;
68
- }
69
- const valueType = valueId;
70
- return `Record<${keyId}, ${valueType}>`;
71
- },
72
- enumvalue: (_) => "FIXME",
73
- constant: (_) => "FIXME",
74
- credential: (_) => "FIXME",
75
- endpoint: (_) => "string",
76
- nullable: (_) => "null"
77
- };
78
- export function getModularTypeId(type) {
79
- const callback = dispatch[type.kind];
80
- return callback(type);
81
- }
82
- export function getParameterTypePropertyName(dpgContext, functionType, p) {
83
- return functionType === UsageFlags.Output
84
- ? getWireName(dpgContext, p.__raw)
85
- : getLibraryName(dpgContext, p.__raw);
86
- }
87
- export function getReturnTypePropertyName(dpgContext, functionType, p) {
88
- return functionType === UsageFlags.Output
89
- ? getLibraryName(dpgContext, p.__raw)
90
- : getWireName(dpgContext, p.__raw);
91
- }
92
- export function getRLCTypeId(dpgContext, type) {
93
- const modularTypeId = getModularTypeId(type);
94
- const usage = getUsage(dpgContext, type);
95
- const useOutputModel = usage & UsageFlags.Output && !(usage & UsageFlags.Input);
96
- return useOutputModel ? toPascalCase(`${modularTypeId} Rest`) : modularTypeId;
97
- }
98
- export function getUsage(
99
- // @ts-expect-error: To be removed with the below TODO
100
- dpgContext,
101
- // @ts-expect-error: Ditto
102
- type) {
103
- return toDpgUsageFlags(
104
- //TODO: Currently disregards usage when calculating whether or not to emit the function. This
105
- //doesn't affect client API surface.
106
- TCGCUsageFlags.Input | TCGCUsageFlags.Output);
107
- }
108
- function toDpgUsageFlags(usage) {
109
- return ((usage & TCGCUsageFlags.Input ? UsageFlags.Input : 0) |
110
- (usage & TCGCUsageFlags.Output ? UsageFlags.Output : 0));
111
- }
112
- export function isDefined(thing) {
113
- return typeof thing !== "undefined" && thing !== null;
114
- }
115
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/modular/serialization/util.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EAMX,UAAU,IAAI,cAAc,EAC7B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAgB1D,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzD,MAAM,UAAU,iBAAiB,CAC/B,YAAwB,EACxB,IAAiC;;IAEjC,IAAI,YAAY,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO,MAAA,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,mCAAI,QAAQ,CAAC;AAC/E,CAAC;AAED,MAAM,QAAQ,GAIV;IACF,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACvB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS;IACzB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;IAC1B,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;IAC1B,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;IACzB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM;IACxB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM;IACxB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;IACjB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACxB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACrB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACtB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACtB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACtB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACtB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACvB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACvB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACvB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACtB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACxB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IAC3B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACzB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACrB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACpB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACpB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IAC1B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACrB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IAC5B,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IAC5B,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACrB,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACtB,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IAC9B,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM;IAC1B,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM;IAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO;IACxB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,WAAW,CAAC,CAAC,CAAC,SAAS,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IACD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;QACb,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,OAAO,UAAU,KAAK,KAAK,SAAS,GAAG,CAAC;IAC1C,CAAC;IACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO;IACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO;IACxB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO;IAC1B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ;IACzB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM;CACxB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,IAAO;IAEP,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAoC,CAAC;IACxE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,UAAsB,EACtB,YAAwB,EACxB,CAAuB;IAEvB,OAAO,YAAY,KAAK,UAAU,CAAC,MAAM;QACvC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,KAAM,CAAC;QACnC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,KAAM,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAsB,EACtB,YAAwB,EACxB,CAAuB;IAEvB,OAAO,YAAY,KAAK,UAAU,CAAC,MAAM;QACvC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,KAAM,CAAC;QACtC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,KAAM,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,UAAsB,EACtB,IAAiC;IAEjC,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzC,MAAM,cAAc,GAClB,KAAK,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,aAAa,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,QAAQ;AACtB,sDAAsD;AACtD,UAAsB;AACtB,0BAA0B;AAC1B,IAAa;IAEb,OAAO,eAAe;IACpB,6FAA6F;IAC7F,oCAAoC;IACpC,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,CAC7C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAqB;IAC5C,OAAO,CACL,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAA2B;IACtD,OAAO,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC;AACxD,CAAC"}
@@ -1,12 +0,0 @@
1
- export type Statement = ReturnStatement;
2
- export interface ReturnStatement {
3
- kind: "return";
4
- value?: string;
5
- }
6
- export interface SwitchReturn {
7
- kind: "switch return";
8
- expr: string;
9
- cases: Map<Statement[], Set<string | undefined>>;
10
- }
11
- export declare function reifySwitchReturn(switchReturn: SwitchReturn): string;
12
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reify/index.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AAExC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CAClD;AAED,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAwBpE"}
@@ -1,22 +0,0 @@
1
- import _ from "lodash";
2
- export function reifySwitchReturn(switchReturn) {
3
- const [cases, defaultCase] = _([...switchReturn.cases])
4
- .groupBy(([__, ids]) => _(ids).some(_.isUndefined))
5
- .at(["false", "true[0]"])
6
- .value();
7
- const fallthroughCases = cases.map(([body, ids]) => [
8
- _(ids)
9
- .map((id) => `case ${id}:`)
10
- .join("\n"),
11
- body
12
- ]);
13
- const fallthroughCasesWithDefault = defaultCase
14
- ? fallthroughCases.concat(["default:", defaultCase])
15
- : fallthroughCases;
16
- return [
17
- `switch (${switchReturn.expr}) {`,
18
- ...fallthroughCasesWithDefault,
19
- "}"
20
- ].join("\n");
21
- }
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reify/index.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAgBvB,MAAM,UAAU,iBAAiB,CAAC,YAA0B;IAC1D,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;SACpD,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;SAClD,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SACxB,KAAK,EAGP,CAAC;IACF,MAAM,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAChC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAA+B,EAAE,CAAC;QAC5C,CAAC,CAAC,GAAG,CAAC;aACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC;QACb,IAAI;KACL,CACF,CAAC;IACF,MAAM,2BAA2B,GAAG,WAAW;QAC7C,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC,gBAAgB,CAAC;IACrB,OAAO;QACL,WAAW,YAAY,CAAC,IAAI,KAAK;QACjC,GAAG,2BAA2B;QAC9B,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -1,20 +0,0 @@
1
- import { CollectionFormat } from "@azure-tools/typespec-client-generator-core";
2
-
3
- export function getCollectionSeparator(
4
- collectionFormat?: CollectionFormat
5
- ): string {
6
- switch (collectionFormat) {
7
- case "csv":
8
- return ",";
9
- case "ssv":
10
- return " ";
11
- case "tsv":
12
- return "\t";
13
- case "pipes":
14
- return "|";
15
- case "multi":
16
- return "&";
17
- default:
18
- return ",";
19
- }
20
- }