@typespec/http-client-csharp 1.0.0-alpha.20251111.2 → 1.0.0-alpha.20251112.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.
@@ -31,8 +31,8 @@ export function createModel(sdkContext) {
31
31
  const inputClients = fromSdkClients(sdkContext, rootClients, rootApiVersions);
32
32
  // TODO -- TCGC now does not have constants field in its sdkPackage, they might add it in the future.
33
33
  const constants = Array.from(sdkContext.__typeCache.constants.values());
34
- // Fix naming conflicts for constants and constant-derived enums
35
- fixConstantAndEnumNaming(models, constants);
34
+ // Fix naming conflicts for constants, enums, and models
35
+ fixNamingConflicts(models, constants);
36
36
  const clientModel = {
37
37
  // To ensure deterministic library name, customers would need to set the package-name property as the ordering of the namespaces could change
38
38
  // if the typespec is changed.
@@ -47,7 +47,7 @@ export function createModel(sdkContext) {
47
47
  return clientModel;
48
48
  }
49
49
  /**
50
- * Fixes naming conflicts for constants and enums.
50
+ * Fixes naming conflicts for constants, enums, and models.
51
51
  *
52
52
  * TODO - TCGC has two issues which come from the same root cause: the name determination algorithm based on the typespec node of the constant.
53
53
  * Typespec itself will always use the same node/Type instance for the same value constant, therefore a lot of names are not correct.
@@ -59,7 +59,7 @@ export function createModel(sdkContext) {
59
59
  * @param enums - Array of input enum types
60
60
  * @param constants - Array of input literal types (constants)
61
61
  */
62
- function fixConstantAndEnumNaming(models, constants) {
62
+ function fixNamingConflicts(models, constants) {
63
63
  // First, fix names for constants and constant-derived enums in model properties
64
64
  for (const model of models) {
65
65
  for (const property of model.properties) {
@@ -93,6 +93,22 @@ function fixConstantAndEnumNaming(models, constants) {
93
93
  constantNameMap.set(constant.name, 1);
94
94
  }
95
95
  }
96
+ // Third, handle duplicate model names within the same namespace
97
+ // This can occur when namespace option is specified and models from different
98
+ // source namespaces end up in the same target namespace
99
+ const modelNameMap = new Map();
100
+ for (const model of models) {
101
+ // Use namespace + name as the key to detect duplicates within the same namespace
102
+ const key = `${model.namespace}.${model.name}`;
103
+ const count = modelNameMap.get(key);
104
+ if (count) {
105
+ modelNameMap.set(key, count + 1);
106
+ model.name = `${model.name}${count}`;
107
+ }
108
+ else {
109
+ modelNameMap.set(key, 1);
110
+ }
111
+ }
96
112
  }
97
113
  function navigateModels(sdkContext) {
98
114
  for (const m of sdkContext.sdkPackage.models) {
@@ -1 +1 @@
1
- {"version":3,"file":"client-model-builder.js","sourceRoot":"","sources":["../../../../emitter/src/lib/client-model-builder.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AAIzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,UAAgC;IAC1D,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAEzC,uHAAuH;IACvH,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACrD,yHAAyH;IACzH,cAAc,CAAC,UAAU,CAAC,CAAC;IAE3B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG;QACtB,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAqB;QACjE,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAoB;KAChE,CAAC;IAEF,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,cAAc,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;IACvC,MAAM,eAAe,GACnB,kBAAkB,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAe,CAAC,CAAC,IAAI,EAAE;QACnE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAE9E,qGAAqG;IACrG,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAExE,gEAAgE;IAChE,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAc;QAC7B,6IAA6I;QAC7I,8BAA8B;QAC9B,IAAI,EAAE,wBAAwB,CAAC,UAAU,CAAE;QAC3C,WAAW,EAAE,eAAe;QAC5B,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,4BAA4B,CAAC,UAAU,EAAE,UAAU,CAAC;KAC3D,CAAC;IAEF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,wBAAwB,CAAC,MAAwB,EAAE,SAA6B;IACvF,gFAAgF;IAChF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;YAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC7B,8BAA8B;gBAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,yBAAyB,KAAK,EAAE,EAAE,CAAC;gBACzE,kDAAkD;gBAClD,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBACjC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,0EAA0E;IAC1E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9C,QAAQ,CAAC,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,UAAgC;IACtD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC7C,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5C,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"client-model-builder.js","sourceRoot":"","sources":["../../../../emitter/src/lib/client-model-builder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/http-client-csharp",
3
- "version": "1.0.0-alpha.20251111.2",
3
+ "version": "1.0.0-alpha.20251112.1",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec library for emitting Http Client libraries for C#.",
6
6
  "homepage": "https://typespec.io",