@typespec/http-client-csharp 0.1.9-alpha.20240730.2 → 0.1.9-alpha.20240731.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 (26) hide show
  1. package/dist/emitter/lib/client-model-builder.d.ts +0 -2
  2. package/dist/emitter/lib/client-model-builder.d.ts.map +1 -1
  3. package/dist/emitter/lib/client-model-builder.js +116 -162
  4. package/dist/emitter/lib/client-model-builder.js.map +1 -1
  5. package/dist/emitter/lib/converter.js +9 -4
  6. package/dist/emitter/lib/converter.js.map +1 -1
  7. package/dist/emitter/lib/operation.d.ts +5 -5
  8. package/dist/emitter/lib/operation.d.ts.map +1 -1
  9. package/dist/emitter/lib/operation.js +235 -245
  10. package/dist/emitter/lib/operation.js.map +1 -1
  11. package/dist/emitter/lib/service-authentication.d.ts +2 -2
  12. package/dist/emitter/lib/service-authentication.d.ts.map +1 -1
  13. package/dist/emitter/lib/service-authentication.js +74 -43
  14. package/dist/emitter/lib/service-authentication.js.map +1 -1
  15. package/dist/emitter/lib/utils.js.map +1 -1
  16. package/dist/generator/Microsoft.Generator.CSharp.ClientModel.StubLibrary.dll +0 -0
  17. package/dist/generator/Microsoft.Generator.CSharp.ClientModel.StubLibrary.pdb +0 -0
  18. package/dist/generator/Microsoft.Generator.CSharp.ClientModel.dll +0 -0
  19. package/dist/generator/Microsoft.Generator.CSharp.ClientModel.pdb +0 -0
  20. package/dist/generator/Microsoft.Generator.CSharp.Customization.dll +0 -0
  21. package/dist/generator/Microsoft.Generator.CSharp.Customization.pdb +0 -0
  22. package/dist/generator/Microsoft.Generator.CSharp.Input.dll +0 -0
  23. package/dist/generator/Microsoft.Generator.CSharp.Input.pdb +0 -0
  24. package/dist/generator/Microsoft.Generator.CSharp.dll +0 -0
  25. package/dist/generator/Microsoft.Generator.CSharp.pdb +0 -0
  26. package/package.json +1 -1
@@ -1,53 +1,84 @@
1
1
  // Copyright (c) Microsoft Corporation. All rights reserved.
2
2
  // Licensed under the MIT License. See License.txt in the project root for license information.
3
3
  import { Logger } from "./logger.js";
4
- export function processServiceAuthentication(authentication) {
5
- const auth = {};
6
- let scopes;
7
- for (const option of authentication.options) {
8
- for (const scheme of option.schemes) {
9
- switch (scheme.type) {
10
- case "apiKey":
11
- auth.ApiKey = { Name: scheme.name };
12
- break;
13
- case "oauth2":
14
- for (const flow of scheme.flows) {
15
- if (flow.scopes) {
16
- scopes ??= new Set();
17
- for (const scope of flow.scopes) {
18
- scopes.add(scope.value);
19
- }
20
- }
21
- }
22
- break;
23
- case "http":
24
- const schemeOrApiKeyPrefix = scheme.scheme;
25
- if (schemeOrApiKeyPrefix === "basic") {
26
- Logger.getInstance().warn(`{schemeOrApiKeyPrefix} auth method is currently not supported.`);
27
- }
28
- else if (schemeOrApiKeyPrefix === "bearer") {
29
- auth.ApiKey = {
30
- Name: "Authorization",
31
- Prefix: "Bearer",
4
+ export function processServiceAuthentication(sdkPackage) {
5
+ let authClientParameter = undefined;
6
+ for (const client of sdkPackage.clients) {
7
+ for (const parameter of client.initialization.properties) {
8
+ if (parameter.kind === "credential") {
9
+ authClientParameter = parameter;
10
+ break;
11
+ }
12
+ }
13
+ }
14
+ if (!authClientParameter) {
15
+ return undefined;
16
+ }
17
+ if (authClientParameter.type.kind === "credential") {
18
+ return processAuthType(authClientParameter.type);
19
+ }
20
+ const inputAuth = {};
21
+ for (const authType of authClientParameter.type.values) {
22
+ // TODO: TCGC might change to []SdkCredentialType
23
+ const auth = processAuthType(authType);
24
+ if (auth?.ApiKey) {
25
+ inputAuth.ApiKey = auth.ApiKey;
26
+ }
27
+ if (auth?.OAuth2) {
28
+ inputAuth.OAuth2 = auth.OAuth2;
29
+ }
30
+ }
31
+ return inputAuth;
32
+ }
33
+ function processAuthType(credentialType) {
34
+ const scheme = credentialType.scheme;
35
+ switch (scheme.type) {
36
+ case "apiKey":
37
+ return { ApiKey: { Name: scheme.name } };
38
+ case "oauth2":
39
+ return processOAuth2(scheme);
40
+ case "http":
41
+ {
42
+ const schemeOrApiKeyPrefix = scheme.scheme;
43
+ switch (schemeOrApiKeyPrefix) {
44
+ case "basic":
45
+ Logger.getInstance().warn(`${schemeOrApiKeyPrefix} auth method is currently not supported.`);
46
+ return undefined;
47
+ case "bearer":
48
+ return {
49
+ ApiKey: {
50
+ Name: "Authorization",
51
+ Prefix: "Bearer",
52
+ },
32
53
  };
33
- }
34
- else {
35
- auth.ApiKey = {
36
- Name: "Authorization",
37
- Prefix: schemeOrApiKeyPrefix,
54
+ default:
55
+ return {
56
+ ApiKey: {
57
+ Name: "Authorization",
58
+ Prefix: schemeOrApiKeyPrefix,
59
+ },
38
60
  };
39
- }
40
- break;
41
- default:
42
- throw new Error("Not supported authentication.");
61
+ }
43
62
  }
44
- }
63
+ break;
64
+ default:
65
+ throw new Error(`un-supported authentication scheme ${scheme.type}`);
45
66
  }
46
- if (scopes) {
47
- auth.OAuth2 = {
48
- Scopes: Array.from(scopes.values()),
49
- };
67
+ }
68
+ function processOAuth2(scheme) {
69
+ let scopes = undefined;
70
+ for (const flow of scheme.flows) {
71
+ if (flow.scopes) {
72
+ scopes ??= new Set();
73
+ for (const scope of flow.scopes) {
74
+ scopes.add(scope.value);
75
+ }
76
+ }
50
77
  }
51
- return auth;
78
+ return scopes
79
+ ? {
80
+ OAuth2: { Scopes: Array.from(scopes.values()) },
81
+ }
82
+ : undefined;
52
83
  }
53
84
  //# sourceMappingURL=service-authentication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-authentication.js","sourceRoot":"","sources":["../../../emitter/src/lib/service-authentication.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAM/F,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,4BAA4B,CAAC,cAA8B;IACzE,MAAM,IAAI,GAAG,EAAe,CAAC;IAC7B,IAAI,MAA+B,CAAC;IAEpC,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,QAAQ;oBACX,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAqB,CAAC;oBACvD,MAAM;gBACR,KAAK,QAAQ;oBACX,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBAChC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BAChB,MAAM,KAAK,IAAI,GAAG,EAAU,CAAC;4BAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gCAChC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;4BAC1B,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC3C,IAAI,oBAAoB,KAAK,OAAO,EAAE,CAAC;wBACrC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CACvB,gEAAgE,CACjE,CAAC;oBACJ,CAAC;yBAAM,IAAI,oBAAoB,KAAK,QAAQ,EAAE,CAAC;wBAC7C,IAAI,CAAC,MAAM,GAAG;4BACZ,IAAI,EAAE,eAAe;4BACrB,MAAM,EAAE,QAAQ;yBACE,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,GAAG;4BACZ,IAAI,EAAE,eAAe;4BACrB,MAAM,EAAE,oBAAoB;yBACV,CAAC;oBACvB,CAAC;oBACD,MAAM;gBACR;oBACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SACjB,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"service-authentication.js","sourceRoot":"","sources":["../../../emitter/src/lib/service-authentication.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../emitter/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,WAAW,GACZ,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAY;IAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAE,EAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAmB,EACnB,IAAoE;IAEpE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAa,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,UAAoB,EACpB,IAAY,EACZ,aAAqB;IAErB,MAAM,aAAa,GAAY,aAAa,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC;IAC9E,MAAM,SAAS,GAAc;QAC3B,IAAI,EAAE,QAAQ;KACf,CAAC;IACF,OAAO;QACL,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,aAAa;QAC5B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe,CAAC,MAAM;QAChC,YAAY,EAAE,KAAK;QACnB,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,2BAA2B,CAAC,QAAQ;QAC1C,YAAY,EACV,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAE;gBACC,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;aACH;YACrB,CAAC,CAAC,SAAS;KACE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../emitter/src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,WAAW,GACZ,MAAM,6CAA6C,CAAC;AAGrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAY;IAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAE,EAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,OAAmB,EACnB,IAAoE;IAEpE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,YAAY,KAAK,EAAE,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,IAAa,CAAC,CAAC;YACrD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,UAAoB,EACpB,IAAY,EACZ,aAAqB;IAErB,MAAM,aAAa,GAAY,aAAa,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC;IAC9E,MAAM,SAAS,GAAc;QAC3B,IAAI,EAAE,QAAQ;KACf,CAAC;IACF,OAAO;QACL,IAAI,EAAE,IAAI;QACV,aAAa,EAAE,aAAa;QAC5B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,eAAe,CAAC,MAAM;QAChC,YAAY,EAAE,KAAK;QACnB,mBAAmB,EAAE,KAAK;QAC1B,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,KAAK;QACtB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,2BAA2B,CAAC,QAAQ;QAC1C,YAAY,EACV,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAE;gBACC,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;aACH;YACrB,CAAC,CAAC,SAAS;KAChB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typespec/http-client-csharp",
3
- "version": "0.1.9-alpha.20240730.2",
3
+ "version": "0.1.9-alpha.20240731.1",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "The typespec library that can be used to generate C# models from a TypeSpec REST protocol binding",
6
6
  "homepage": "https://github.com/Microsoft/typespec",