@azure-tools/typespec-ts 0.46.1-alpha.20251201.1 → 0.47.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 (66) hide show
  1. package/CHANGELOG.md +15 -3
  2. package/LICENSE +21 -0
  3. package/dist/src/framework/hooks/sdkTypes.d.ts +7 -1
  4. package/dist/src/framework/hooks/sdkTypes.d.ts.map +1 -1
  5. package/dist/src/framework/hooks/sdkTypes.js +59 -1
  6. package/dist/src/framework/hooks/sdkTypes.js.map +1 -1
  7. package/dist/src/lib.d.ts +19 -1
  8. package/dist/src/lib.d.ts.map +1 -1
  9. package/dist/src/lib.js +12 -0
  10. package/dist/src/lib.js.map +1 -1
  11. package/dist/src/modular/buildClassicalClient.d.ts.map +1 -1
  12. package/dist/src/modular/buildClassicalClient.js +84 -6
  13. package/dist/src/modular/buildClassicalClient.js.map +1 -1
  14. package/dist/src/modular/emitModels.d.ts.map +1 -1
  15. package/dist/src/modular/emitModels.js +57 -14
  16. package/dist/src/modular/emitModels.js.map +1 -1
  17. package/dist/src/modular/emitSamples.d.ts.map +1 -1
  18. package/dist/src/modular/emitSamples.js +52 -25
  19. package/dist/src/modular/emitSamples.js.map +1 -1
  20. package/dist/src/modular/helpers/operationHelpers.d.ts +5 -4
  21. package/dist/src/modular/helpers/operationHelpers.d.ts.map +1 -1
  22. package/dist/src/modular/helpers/operationHelpers.js +113 -23
  23. package/dist/src/modular/helpers/operationHelpers.js.map +1 -1
  24. package/dist/src/modular/helpers/typeHelpers.d.ts +3 -1
  25. package/dist/src/modular/helpers/typeHelpers.d.ts.map +1 -1
  26. package/dist/src/modular/helpers/typeHelpers.js +7 -3
  27. package/dist/src/modular/helpers/typeHelpers.js.map +1 -1
  28. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts +4 -2
  29. package/dist/src/modular/serialization/buildDeserializerFunction.d.ts.map +1 -1
  30. package/dist/src/modular/serialization/buildDeserializerFunction.js +60 -17
  31. package/dist/src/modular/serialization/buildDeserializerFunction.js.map +1 -1
  32. package/dist/src/modular/serialization/buildSerializerFunction.d.ts +4 -2
  33. package/dist/src/modular/serialization/buildSerializerFunction.d.ts.map +1 -1
  34. package/dist/src/modular/serialization/buildSerializerFunction.js +61 -19
  35. package/dist/src/modular/serialization/buildSerializerFunction.js.map +1 -1
  36. package/dist/src/modular/serialization/serializeUtils.d.ts +11 -0
  37. package/dist/src/modular/serialization/serializeUtils.d.ts.map +1 -1
  38. package/dist/src/modular/serialization/serializeUtils.js +15 -0
  39. package/dist/src/modular/serialization/serializeUtils.js.map +1 -1
  40. package/dist/src/modular/static-helpers-metadata.d.ts +5 -0
  41. package/dist/src/modular/static-helpers-metadata.d.ts.map +1 -1
  42. package/dist/src/modular/static-helpers-metadata.js +5 -0
  43. package/dist/src/modular/static-helpers-metadata.js.map +1 -1
  44. package/dist/src/utils/namespaceUtils.d.ts.map +1 -1
  45. package/dist/src/utils/namespaceUtils.js +19 -4
  46. package/dist/src/utils/namespaceUtils.js.map +1 -1
  47. package/dist/src/utils/operationUtil.d.ts +1 -0
  48. package/dist/src/utils/operationUtil.d.ts.map +1 -1
  49. package/dist/src/utils/operationUtil.js +26 -0
  50. package/dist/src/utils/operationUtil.js.map +1 -1
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +7 -11
  53. package/src/framework/hooks/sdkTypes.ts +102 -2
  54. package/src/lib.ts +12 -0
  55. package/src/modular/buildClassicalClient.ts +116 -6
  56. package/src/modular/emitModels.ts +72 -19
  57. package/src/modular/emitSamples.ts +85 -20
  58. package/src/modular/helpers/operationHelpers.ts +151 -41
  59. package/src/modular/helpers/typeHelpers.ts +19 -3
  60. package/src/modular/serialization/buildDeserializerFunction.ts +87 -35
  61. package/src/modular/serialization/buildSerializerFunction.ts +86 -36
  62. package/src/modular/serialization/serializeUtils.ts +37 -0
  63. package/src/modular/static-helpers-metadata.ts +5 -0
  64. package/src/utils/namespaceUtils.ts +19 -3
  65. package/src/utils/operationUtil.ts +35 -0
  66. package/static/static-helpers/serialization/check-prop-undefined.ts +17 -0
@@ -4,12 +4,12 @@ import { PagingHelpers, PollingHelpers, SerializationHelpers, UrlTemplateHelpers
4
4
  import { getNullableValidType, isSpreadBodyParameter, isTypeNullable } from "./typeHelpers.js";
5
5
  import { getClassicalLayerPrefix, getOperationName } from "./namingHelpers.js";
6
6
  import { getCollectionFormatHelper, hasCollectionFormatInfo, isBinaryPayload } from "../../utils/operationUtil.js";
7
- import { isNormalUnion, isSpecialHandledUnion } from "../serialization/serializeUtils.js";
7
+ import { getPropertyWithOverrides, isNormalUnion, isSpecialHandledUnion } from "../serialization/serializeUtils.js";
8
8
  import { getDocsFromDescription, getFixmeForMultilineDocs } from "./docsHelpers.js";
9
9
  import { AzurePollingDependencies } from "../external-dependencies.js";
10
10
  import { NameType, normalizeName } from "@azure-tools/rlc-common";
11
- import { buildModelDeserializer } from "../serialization/buildDeserializerFunction.js";
12
- import { buildModelSerializer } from "../serialization/buildSerializerFunction.js";
11
+ import { buildModelDeserializer, buildPropertyDeserializer } from "../serialization/buildDeserializerFunction.js";
12
+ import { buildModelSerializer, buildPropertySerializer } from "../serialization/buildSerializerFunction.js";
13
13
  import { refkey } from "../../framework/refkey.js";
14
14
  import { reportDiagnostic } from "../../lib.js";
15
15
  import { resolveReference } from "../../framework/reference.js";
@@ -19,6 +19,7 @@ import { isAzureCoreErrorType } from "../../utils/modelUtils.js";
19
19
  import { getTypeExpression, normalizeModelPropertyName } from "../type-expressions/get-type-expression.js";
20
20
  import { isHttpMetadata, isReadOnly } from "@azure-tools/typespec-client-generator-core";
21
21
  import { isMetadata } from "@typespec/http";
22
+ import { useContext } from "../../contextManager.js";
22
23
  export function getSendPrivateFunction(dpgContext, client, method, clientType) {
23
24
  const operation = method[1];
24
25
  const parameters = getOperationSignatureParameters(dpgContext, method, clientType);
@@ -127,7 +128,10 @@ export function getDeserializePrivateFunction(context, operation) {
127
128
  }
128
129
  if (deserializedType) {
129
130
  const contentTypes = (_f = operation.operation.responses[0]) === null || _f === void 0 ? void 0 : _f.contentTypes;
130
- const deserializeFunctionName = buildModelDeserializer(context, deserializedType, false, true);
131
+ const deserializeFunctionName = buildModelDeserializer(context, deserializedType, {
132
+ nameOnly: true,
133
+ skipDiscriminatedUnionSuffix: false
134
+ });
131
135
  if (deserializeFunctionName) {
132
136
  statements.push(`return ${deserializeFunctionName}(${deserializedRoot})`);
133
137
  }
@@ -159,7 +163,10 @@ function getExceptionDetails(context, operation) {
159
163
  continue;
160
164
  }
161
165
  const statusCode = exception.statusCodes;
162
- const deserializeFunctionName = buildModelDeserializer(context, exception.type, false, true);
166
+ const deserializeFunctionName = buildModelDeserializer(context, exception.type, {
167
+ nameOnly: true,
168
+ skipDiscriminatedUnionSuffix: false
169
+ });
163
170
  if (!deserializeFunctionName ||
164
171
  typeof deserializeFunctionName !== "string") {
165
172
  continue;
@@ -543,7 +550,10 @@ function buildBodyParameter(context, bodyParameter, optionalParamName = "options
543
550
  if (!bodyParameter || !bodyParameter.type) {
544
551
  return "";
545
552
  }
546
- const serializerFunctionName = buildModelSerializer(context, getNullableValidType(bodyParameter.type), false, true);
553
+ const serializerFunctionName = buildModelSerializer(context, getNullableValidType(bodyParameter.type), {
554
+ nameOnly: true,
555
+ skipDiscriminatedUnionSuffix: false
556
+ });
547
557
  const bodyParamName = normalizeName(bodyParameter.name, NameType.Parameter, true);
548
558
  const bodyNameExpression = bodyParameter.optional
549
559
  ? `${optionalParamName}["${bodyParamName}"]`
@@ -757,12 +767,39 @@ function getNullableCheck(name, type) {
757
767
  }
758
768
  return `${name} === null ? null :`;
759
769
  }
760
- export function getSerializationExpression(context, property, propertyPath) {
770
+ function getSerializationExpressionForFlatten(context, property, propertyPath) {
771
+ const serializeFunctionName = buildPropertySerializer(context, property, {
772
+ nameOnly: true,
773
+ skipDiscriminatedUnionSuffix: false
774
+ });
775
+ if (!serializeFunctionName) {
776
+ return property.optional ? `undefined` : `{}`;
777
+ }
778
+ const validProps = getAllProperties(context, property.type, getAllAncestors(property.type)).filter((p) => p.kind === "property" &&
779
+ !isReadOnly(p) &&
780
+ !isMetadata(context.program, p.__raw));
781
+ if (validProps.length === 0) {
782
+ return `undefined`;
783
+ }
784
+ const optionalPrefix = property.optional
785
+ ? `${resolveReference(SerializationHelpers.areAllPropsUndefined)}(${propertyPath}, [${validProps
786
+ .map((p) => `"${p.name}"`)
787
+ .join(", ")}]) ? undefined : `
788
+ : "";
789
+ return `${optionalPrefix}${serializeFunctionName}(${propertyPath})`;
790
+ }
791
+ export function getSerializationExpression(context, property, propertyPath, enableFlatten = true) {
792
+ if (property.flatten && enableFlatten) {
793
+ return getSerializationExpressionForFlatten(context, property, "item");
794
+ }
761
795
  const dot = propertyPath.endsWith("?") ? "." : "";
762
796
  const propertyPathWithDot = `${propertyPath ? `${propertyPath}${dot}` : `${dot}`}`;
763
797
  const nullOrUndefinedPrefix = getPropertySerializationPrefix(context, property, propertyPath);
764
798
  const propertyFullName = getPropertyFullName(context, property, propertyPathWithDot);
765
- const serializeFunctionName = buildModelSerializer(context, getNullableValidType(property.type), false, true);
799
+ const serializeFunctionName = buildModelSerializer(context, getNullableValidType(property.type), {
800
+ nameOnly: true,
801
+ skipDiscriminatedUnionSuffix: false
802
+ });
766
803
  if (serializeFunctionName) {
767
804
  return `${nullOrUndefinedPrefix}${serializeFunctionName}(${propertyFullName})`;
768
805
  }
@@ -773,7 +810,7 @@ export function getSerializationExpression(context, property, propertyPath) {
773
810
  return serializeRequestValue(context, property.type, propertyFullName, !property.optional, getEncodeForType(property.type), propertyPath === "" ? true : false);
774
811
  }
775
812
  }
776
- export function getRequestModelProperties(context, modelPropertyType, propertyPath = "body") {
813
+ export function getRequestModelProperties(context, modelPropertyType, propertyPath = "body", overrides, enableFlatten = true) {
777
814
  var _a;
778
815
  const props = [];
779
816
  const allParents = getAllAncestors(modelPropertyType);
@@ -781,16 +818,17 @@ export function getRequestModelProperties(context, modelPropertyType, propertyPa
781
818
  if (properties.length <= 0) {
782
819
  return [];
783
820
  }
784
- for (const property of properties) {
785
- if (property.kind === "property" && isReadOnly(property)) {
821
+ for (const prop of properties) {
822
+ if (prop.kind === "property" && isReadOnly(prop)) {
786
823
  continue;
787
824
  }
788
- if (isMetadata(context.program, property.__raw)) {
825
+ if (isMetadata(context.program, prop.__raw)) {
789
826
  continue;
790
827
  }
828
+ const property = getPropertyWithOverrides(prop, overrides);
791
829
  props.push([
792
830
  getPropertySerializedName(property),
793
- getSerializationExpression(context, property, propertyPath)
831
+ getSerializationExpression(context, property, propertyPath, enableFlatten)
794
832
  ]);
795
833
  }
796
834
  return props;
@@ -800,8 +838,8 @@ export function getRequestModelProperties(context, modelPropertyType, propertyPa
800
838
  * This function helps translating an HLC request to RLC request,
801
839
  * extracting properties from body and headers and building the RLC response object
802
840
  */
803
- export function getRequestModelMapping(context, modelPropertyType, propertyPath = "body") {
804
- return getRequestModelProperties(context, modelPropertyType, propertyPath).map(([name, value]) => `"${name}": ${value}`);
841
+ export function getRequestModelMapping(context, modelPropertyType, propertyPath = "body", overrides, enableFlatten = true) {
842
+ return getRequestModelProperties(context, modelPropertyType, propertyPath, overrides, enableFlatten).map(([name, value]) => `"${name}": ${value}`);
805
843
  }
806
844
  function getPropertySerializedName(property) {
807
845
  var _a, _b;
@@ -813,24 +851,40 @@ function getPropertySerializedName(property) {
813
851
  * This function helps translating an RLC response to an HLC response,
814
852
  * extracting properties from body and headers and building the HLC response object
815
853
  */
816
- export function getResponseMapping(context, type, propertyPath = "result.body") {
854
+ export function getResponseMapping(context, type, propertyPath = "result.body", overrides, enableFlatten = true) {
817
855
  const allParents = type.kind === "model" ? getAllAncestors(type) : [];
818
856
  const properties = type.kind === "model" ? getAllProperties(context, type, allParents) : [];
819
857
  const props = [];
820
- for (const property of properties) {
821
- if (isMetadata(context.program, property.__raw)) {
858
+ for (const prop of properties) {
859
+ if (isMetadata(context.program, prop.__raw)) {
822
860
  continue;
823
861
  }
862
+ const property = getPropertyWithOverrides(prop, overrides);
824
863
  const dot = propertyPath.endsWith("?") ? "." : "";
825
864
  const serializedName = getPropertySerializedName(property);
826
865
  const restValue = `${propertyPath ? `${propertyPath}${dot}` : `${dot}`}["${serializedName}"]`;
827
866
  const nullOrUndefinedPrefix = property.optional || isTypeNullable(property.type)
828
867
  ? `!${restValue}? ${restValue}: `
829
868
  : "";
830
- const deserializeFunctionName = buildModelDeserializer(context, getNullableValidType(property.type), false, true);
869
+ const flattenContext = useContext("sdkTypes").flattenProperties.get(property);
870
+ const isSupportedFlatten = flattenContext && enableFlatten;
871
+ const deserializeFunctionName = isSupportedFlatten
872
+ ? buildPropertyDeserializer(context, property, {
873
+ nameOnly: true,
874
+ skipDiscriminatedUnionSuffix: false
875
+ })
876
+ : buildModelDeserializer(context, getNullableValidType(property.type), {
877
+ nameOnly: true,
878
+ skipDiscriminatedUnionSuffix: false
879
+ });
831
880
  const propertyName = normalizeModelPropertyName(context, property);
832
881
  if (deserializeFunctionName) {
833
- props.push(`${propertyName}: ${nullOrUndefinedPrefix}${deserializeFunctionName}(${restValue})`);
882
+ if (isSupportedFlatten) {
883
+ props.push(`...${nullOrUndefinedPrefix}${deserializeFunctionName}(${restValue})`);
884
+ }
885
+ else {
886
+ props.push(`${propertyName}: ${nullOrUndefinedPrefix}${deserializeFunctionName}(${restValue})`);
887
+ }
834
888
  }
835
889
  else if (isAzureCoreErrorType(context.program, property.type.__raw)) {
836
890
  props.push(`${propertyName}: ${nullOrUndefinedPrefix}${restValue}`);
@@ -871,7 +925,10 @@ export function serializeRequestValue(context, type, clientValue, required, form
871
925
  const elementNullOrUndefinedPrefix = isTypeNullable(type.valueType) || getOptionalForType(type.valueType)
872
926
  ? "!p ? p : "
873
927
  : "";
874
- const serializeFunctionName = buildModelSerializer(context, getNullableValidType(type.valueType), false, true);
928
+ const serializeFunctionName = buildModelSerializer(context, getNullableValidType(type.valueType), {
929
+ nameOnly: true,
930
+ skipDiscriminatedUnionSuffix: false
931
+ });
875
932
  if (serializeFunctionName) {
876
933
  return `${prefix}.map((p: any) => { return ${elementNullOrUndefinedPrefix}${serializeFunctionName}(p)})`;
877
934
  }
@@ -947,7 +1004,10 @@ export function deserializeResponseValue(context, type, restValue, format) {
947
1004
  elementNullOrUndefinedPrefix = "!p ? p :";
948
1005
  }
949
1006
  const deserializeFunctionName = type.valueType
950
- ? buildModelDeserializer(context, getNullableValidType(type.valueType), false, true)
1007
+ ? buildModelDeserializer(context, getNullableValidType(type.valueType), {
1008
+ nameOnly: true,
1009
+ skipDiscriminatedUnionSuffix: false
1010
+ })
951
1011
  : undefined;
952
1012
  if (deserializeFunctionName) {
953
1013
  return `${prefix}.map((p: any) => { return ${elementNullOrUndefinedPrefix}${deserializeFunctionName}(p)})`;
@@ -963,6 +1023,33 @@ export function deserializeResponseValue(context, type, restValue, format) {
963
1023
  return restValue;
964
1024
  }
965
1025
  }
1026
+ case "dict": {
1027
+ const prefix = nullOrUndefinedPrefix + restValue;
1028
+ let elementNullOrUndefinedPrefix = "";
1029
+ if (type.valueType &&
1030
+ (isTypeNullable(type.valueType) || getOptionalForType(type.valueType))) {
1031
+ elementNullOrUndefinedPrefix = "!p ? p :";
1032
+ }
1033
+ const deserializeFunctionName = type.valueType
1034
+ ? buildModelDeserializer(context, getNullableValidType(type.valueType), {
1035
+ nameOnly: true,
1036
+ skipDiscriminatedUnionSuffix: false
1037
+ })
1038
+ : undefined;
1039
+ if (deserializeFunctionName) {
1040
+ return `Object.fromEntries(Object.entries(${prefix}).map(([k, p]: [string, any]) => [k, ${elementNullOrUndefinedPrefix}${deserializeFunctionName}(p)]))`;
1041
+ }
1042
+ else if (type.valueType &&
1043
+ isAzureCoreErrorType(context.program, type.valueType.__raw)) {
1044
+ return `Object.fromEntries(Object.entries(${prefix}).map(([k, p]: [string, any]) => [k, ${elementNullOrUndefinedPrefix}p]))`;
1045
+ }
1046
+ else if (type.valueType) {
1047
+ return `Object.fromEntries(Object.entries(${prefix}).map(([k, p]: [string, any]) => [k, ${elementNullOrUndefinedPrefix}${deserializeResponseValue(context, type.valueType, "p", getEncodeForType(type.valueType))}]))`;
1048
+ }
1049
+ else {
1050
+ return restValue;
1051
+ }
1052
+ }
966
1053
  case "bytes":
967
1054
  if (format !== "binary" && format !== "bytes") {
968
1055
  return `typeof ${restValue} === 'string'
@@ -976,7 +1063,10 @@ export function deserializeResponseValue(context, type, restValue, format) {
976
1063
  }
977
1064
  else if (isSpecialHandledUnion(type)) {
978
1065
  const deserializeFunctionName = type
979
- ? buildModelDeserializer(context, getNullableValidType(type), false, true)
1066
+ ? buildModelDeserializer(context, getNullableValidType(type), {
1067
+ nameOnly: true,
1068
+ skipDiscriminatedUnionSuffix: false
1069
+ })
980
1070
  : undefined;
981
1071
  if (deserializeFunctionName) {
982
1072
  return `${deserializeFunctionName}(${restValue})`;
@@ -1 +1 @@
1
- {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/operationHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { SdkBodyParameter, SdkCredentialParameter, SdkEndpointParameter, SdkMethodParameter, SdkModelType, SdkType } from "@azure-tools/typespec-client-generator-core";
2
+ import { ModelOverrideOptions } from "../serialization/serializeUtils.js";
3
+ import { SdkContext } from "../../utils/interfaces.js";
2
4
  export declare function getDirectSubtypes(type: SdkModelType): SdkModelType[];
3
5
  export declare function getAdditionalPropertiesType(type: SdkType | undefined): SdkType | undefined;
4
6
  export declare function isTypeNullable(type: SdkType): boolean;
@@ -10,7 +12,7 @@ export declare function isCredentialType(type: SdkEndpointParameter | SdkCredent
10
12
  * Builds a property name mapper between the serializedName and the name of the property.
11
13
  * Return empty map if the type is not a model.
12
14
  */
13
- export declare function buildPropertyNameMapper(model: SdkType): Map<string, string>;
15
+ export declare function buildPropertyNameMapper(context: SdkContext, model: SdkType, overrides?: ModelOverrideOptions): Map<string, string>;
14
16
  /**
15
17
  * Checks if the body parameter is a spread parameter.
16
18
  * @param body
@@ -1 +1 @@
1
- {"version":3,"file":"typeHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACR,MAAM,6CAA6C,CAAC;AAErD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,kBAQnD;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,OAAO,GAAG,SAAS,GACxB,OAAO,GAAG,SAAS,CAoBrB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,WAE3C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAK3D;AAwBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,oBAAoB,GAAG,sBAAsB,GAAG,kBAAkB,GACvE,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,uBAerD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,WAM3D"}
1
+ {"version":3,"file":"typeHelpers.d.ts","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,OAAO,EACR,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEL,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,kBAQnD;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,OAAO,GAAG,SAAS,GACxB,OAAO,GAAG,SAAS,CAoBrB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,WAE3C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAK3D;AAwBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,oBAAoB,GAAG,sBAAsB,GAAG,kBAAkB,GACvE,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,oBAAoB,uBAsBjC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,WAM3D"}
@@ -1,4 +1,6 @@
1
1
  import { NameType, normalizeName } from "@azure-tools/rlc-common";
2
+ import { getPropertyWithOverrides } from "../serialization/serializeUtils.js";
3
+ import { getAllAncestors, getAllProperties } from "./operationHelpers.js";
2
4
  export function getDirectSubtypes(type) {
3
5
  if (!type.discriminatedSubtypes) {
4
6
  return [];
@@ -62,16 +64,18 @@ export function isCredentialType(type) {
62
64
  * Builds a property name mapper between the serializedName and the name of the property.
63
65
  * Return empty map if the type is not a model.
64
66
  */
65
- export function buildPropertyNameMapper(model) {
67
+ export function buildPropertyNameMapper(context, model, overrides) {
66
68
  var _a;
67
69
  const mapper = new Map();
68
70
  if (model.kind !== "model") {
69
71
  return mapper;
70
72
  }
71
- for (const prop of model.properties) {
72
- if (prop.kind !== "property") {
73
+ const allProperties = getAllProperties(context, model, getAllAncestors(model));
74
+ for (const p of allProperties) {
75
+ if (p.kind !== "property") {
73
76
  continue;
74
77
  }
78
+ const prop = getPropertyWithOverrides(p, overrides);
75
79
  mapper.set(((_a = prop.serializationOptions.json) === null || _a === void 0 ? void 0 : _a.name) || prop.name, normalizeName(prop.name, NameType.Property));
76
80
  }
77
81
  return mapper;
@@ -1 +1 @@
1
- {"version":3,"file":"typeHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typeHelpers.js","sourceRoot":"","sources":["../../../../src/modular/helpers/typeHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { FunctionDeclarationStructure } from "ts-morph";
2
- import { SdkType } from "@azure-tools/typespec-client-generator-core";
2
+ import { SdkModelPropertyType, SdkType } from "@azure-tools/typespec-client-generator-core";
3
3
  import { SdkContext } from "../../utils/interfaces.js";
4
- export declare function buildModelDeserializer(context: SdkContext, type: SdkType, skipDiscriminatedUnion?: boolean, nameOnly?: boolean): FunctionDeclarationStructure | undefined | string;
4
+ import { ModelSerializeOptions } from "./serializeUtils.js";
5
+ export declare function buildPropertyDeserializer(context: SdkContext, property: SdkModelPropertyType, options?: ModelSerializeOptions): string | FunctionDeclarationStructure | undefined;
6
+ export declare function buildModelDeserializer(context: SdkContext, type: SdkType, options?: ModelSerializeOptions): FunctionDeclarationStructure | undefined | string;
5
7
  //# sourceMappingURL=buildDeserializerFunction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildDeserializerFunction.d.ts","sourceRoot":"","sources":["../../../../src/modular/serialization/buildDeserializerFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAiB,MAAM,UAAU,CAAC;AACvE,OAAO,EAIL,OAAO,EAGR,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA4BvD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,sBAAsB,UAAQ,EAC9B,QAAQ,GAAE,OAAe,GACxB,4BAA4B,GAAG,SAAS,GAAG,MAAM,CAmDnD"}
1
+ {"version":3,"file":"buildDeserializerFunction.d.ts","sourceRoot":"","sources":["../../../../src/modular/serialization/buildDeserializerFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAiB,MAAM,UAAU,CAAC;AACvE,OAAO,EAGL,oBAAoB,EAEpB,OAAO,EAGR,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAYvD,OAAO,EAIL,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAY7B,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,qBAGR,qDA0BF;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,qBAGR,GACA,4BAA4B,GAAG,SAAS,GAAG,MAAM,CAiDnD"}