@typespec/http-server-csharp 0.58.0-alpha.8-dev.2 → 0.58.0-alpha.8

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 (64) hide show
  1. package/cmd/hscs.js +2 -0
  2. package/dist/src/cli/cli.d.ts +2 -0
  3. package/dist/src/cli/cli.d.ts.map +1 -0
  4. package/dist/src/cli/cli.js +124 -0
  5. package/dist/src/cli/cli.js.map +1 -0
  6. package/dist/src/lib/attributes.d.ts.map +1 -0
  7. package/dist/src/lib/attributes.js.map +1 -0
  8. package/dist/src/{boilerplate.d.ts → lib/boilerplate.d.ts} +2 -0
  9. package/dist/src/lib/boilerplate.d.ts.map +1 -0
  10. package/dist/src/{boilerplate.js → lib/boilerplate.js} +101 -36
  11. package/dist/src/lib/boilerplate.js.map +1 -0
  12. package/dist/src/lib/index.d.ts.map +1 -0
  13. package/dist/src/lib/index.js.map +1 -0
  14. package/dist/src/{interfaces.d.ts → lib/interfaces.d.ts} +2 -0
  15. package/dist/src/lib/interfaces.d.ts.map +1 -0
  16. package/dist/src/{interfaces.js → lib/interfaces.js} +3 -1
  17. package/dist/src/lib/interfaces.js.map +1 -0
  18. package/dist/src/{lib.d.ts → lib/lib.d.ts} +6 -0
  19. package/dist/src/lib/lib.d.ts.map +1 -0
  20. package/dist/src/{lib.js → lib/lib.js} +19 -0
  21. package/dist/src/lib/lib.js.map +1 -0
  22. package/dist/src/lib/scaffolding.d.ts +20 -0
  23. package/dist/src/lib/scaffolding.d.ts.map +1 -0
  24. package/dist/src/lib/scaffolding.js +388 -0
  25. package/dist/src/lib/scaffolding.js.map +1 -0
  26. package/dist/src/lib/service.d.ts.map +1 -0
  27. package/dist/src/{service.js → lib/service.js} +78 -18
  28. package/dist/src/lib/service.js.map +1 -0
  29. package/dist/src/lib/testing/index.d.ts.map +1 -0
  30. package/dist/src/{testing → lib/testing}/index.js +1 -0
  31. package/dist/src/lib/testing/index.js.map +1 -0
  32. package/dist/src/lib/type-helpers.d.ts.map +1 -0
  33. package/dist/src/lib/type-helpers.js.map +1 -0
  34. package/dist/src/lib/utils.d.ts.map +1 -0
  35. package/dist/src/lib/utils.js.map +1 -0
  36. package/package.json +30 -21
  37. package/dist/src/attributes.d.ts.map +0 -1
  38. package/dist/src/attributes.js.map +0 -1
  39. package/dist/src/boilerplate.d.ts.map +0 -1
  40. package/dist/src/boilerplate.js.map +0 -1
  41. package/dist/src/index.d.ts.map +0 -1
  42. package/dist/src/index.js.map +0 -1
  43. package/dist/src/interfaces.d.ts.map +0 -1
  44. package/dist/src/interfaces.js.map +0 -1
  45. package/dist/src/lib.d.ts.map +0 -1
  46. package/dist/src/lib.js.map +0 -1
  47. package/dist/src/service.d.ts.map +0 -1
  48. package/dist/src/service.js.map +0 -1
  49. package/dist/src/testing/index.d.ts.map +0 -1
  50. package/dist/src/testing/index.js.map +0 -1
  51. package/dist/src/type-helpers.d.ts.map +0 -1
  52. package/dist/src/type-helpers.js.map +0 -1
  53. package/dist/src/utils.d.ts.map +0 -1
  54. package/dist/src/utils.js.map +0 -1
  55. /package/dist/src/{attributes.d.ts → lib/attributes.d.ts} +0 -0
  56. /package/dist/src/{attributes.js → lib/attributes.js} +0 -0
  57. /package/dist/src/{index.d.ts → lib/index.d.ts} +0 -0
  58. /package/dist/src/{index.js → lib/index.js} +0 -0
  59. /package/dist/src/{service.d.ts → lib/service.d.ts} +0 -0
  60. /package/dist/src/{testing → lib/testing}/index.d.ts +0 -0
  61. /package/dist/src/{type-helpers.d.ts → lib/type-helpers.d.ts} +0 -0
  62. /package/dist/src/{type-helpers.js → lib/type-helpers.js} +0 -0
  63. /package/dist/src/{utils.d.ts → lib/utils.d.ts} +0 -0
  64. /package/dist/src/{utils.js → lib/utils.js} +0 -0
package/cmd/hscs.js ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import "../dist/src/cli/cli.js";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/cli/cli.ts"],"names":[],"mappings":""}
@@ -0,0 +1,124 @@
1
+ /* eslint-disable no-console */
2
+ import { resolvePath, typespecVersion } from "@typespec/compiler";
3
+ import { spawn } from "cross-spawn";
4
+ import pc from "picocolors";
5
+ import yargs from "yargs";
6
+ import { hideBin } from "yargs/helpers";
7
+ async function main() {
8
+ console.log(`TypeSpec Http Server Emitter for C-Sharp v${typespecVersion}\n`);
9
+ await yargs(hideBin(process.argv))
10
+ .scriptName("hscs")
11
+ .help()
12
+ .strict()
13
+ .parserConfiguration({
14
+ "greedy-arrays": false,
15
+ "boolean-negation": false,
16
+ })
17
+ .command("scaffold [--use-swaggerui] <project-directory> <path-to-spec>", "Generate a complete project with mock implementation at the given project-directory for the given spec. This required dotnet 9: https://dotnet.microsoft.com/download.", (cmd) => {
18
+ return cmd
19
+ .option("use-swaggerui", {
20
+ description: "Include generated OpenAPI and a SwaggerUI endpoint in the service project. THIS OPTION REQUIRES '@typespec/openapi3' as a dependency of your typespec project.",
21
+ type: "boolean",
22
+ default: false,
23
+ })
24
+ .positional("project-directory", {
25
+ description: "Path to the directory where the project will be created.",
26
+ type: "string",
27
+ demandOption: true,
28
+ })
29
+ .positional("path-to-spec", {
30
+ description: "The path to the spec to generate a project for",
31
+ type: "string",
32
+ demandOption: true,
33
+ });
34
+ }, async (args) => {
35
+ const projectDir = resolvePath(process.cwd(), args["project-directory"]);
36
+ const pathToSpec = resolvePath(process.cwd(), args["path-to-spec"]);
37
+ const useSwagger = args["use-swaggerui"];
38
+ console.log(pc.bold("Generating new Project"));
39
+ let result = await runScriptAsync("dotnet", ["new", "web", "-o", projectDir, "--force"]);
40
+ if (result !== 0) {
41
+ console.log(pc.bold("Dotnet version 9 cli is required for scaffolding. Download here: https://dotnet.microsoft.com/download "));
42
+ return;
43
+ }
44
+ if (useSwagger) {
45
+ console.log(pc.bold("Adding OpenApi generation support"));
46
+ console.log(pc.green(`> dotnet add ${projectDir} package SwashBuckle.AspNetCore`));
47
+ result = await runScriptAsync("dotnet", [
48
+ "add",
49
+ projectDir,
50
+ "package",
51
+ "SwashBuckle.AspNetCore",
52
+ ]);
53
+ }
54
+ console.log(pc.bold("Compiling spec with mock implementations"));
55
+ const generatedTargetDir = resolvePath(process.cwd(), projectDir, "generated");
56
+ const generatedOpenApiDir = resolvePath(process.cwd(), projectDir, "openapi");
57
+ const compileArgs = [
58
+ "tsp",
59
+ "compile",
60
+ pathToSpec,
61
+ "--emit",
62
+ "@typespec/http-server-csharp",
63
+ "--option",
64
+ `@typespec/http-server-csharp.emitter-output-dir=${generatedTargetDir}`,
65
+ "--option",
66
+ "@typespec/http-server-csharp.emit-mocks=all",
67
+ ];
68
+ const swaggerArgs = [
69
+ "--emit",
70
+ "@typespec/openapi3",
71
+ "--option",
72
+ `@typespec/openapi3.emitter-output-dir=${generatedOpenApiDir}`,
73
+ "--option",
74
+ "@typespec/http-server-csharp.use-swaggerui=true",
75
+ ];
76
+ if (useSwagger)
77
+ compileArgs.push(...swaggerArgs);
78
+ result = await runScriptAsync("npx", compileArgs);
79
+ if (result === 0) {
80
+ console.log(pc.bold(`Your project was successfully created at "${projectDir}"`));
81
+ console.log(`You can build and start the project using 'dotnet run --project ${projectDir}'`);
82
+ }
83
+ else {
84
+ console.log(pc.bold("There were one or more errors"));
85
+ if (useSwagger) {
86
+ console.log("You must have @typespec/openapi3 as a dependency in your typespec project for use of SwaggerUI. ");
87
+ }
88
+ }
89
+ })
90
+ .version(typespecVersion)
91
+ .demandCommand(1, "You must use one of the supported commands.").argv;
92
+ }
93
+ function internalError(error) {
94
+ // NOTE: An expected error, like one thrown for bad input, shouldn't reach
95
+ // here, but be handled somewhere else. If we reach here, it should be
96
+ // considered a bug and therefore we should not suppress the stack trace as
97
+ // that risks losing it in the case of a bug that does not repro easily.
98
+ console.log(error);
99
+ }
100
+ function runScriptAsync(cmd, args) {
101
+ let resolver;
102
+ let rejecter;
103
+ const promise = new Promise((resolve, reject) => {
104
+ resolver = resolve;
105
+ rejecter = reject;
106
+ });
107
+ console.log(pc.green(`> ${cmd} ${args.join(" ")}`));
108
+ const proc = spawn(cmd, args);
109
+ proc.stdout?.on("data", (data) => console.log(pc.dim(data)));
110
+ proc.stderr?.on("data", (data) => {
111
+ console.error(data);
112
+ rejecter(data);
113
+ });
114
+ proc.on("close", (_, __) => {
115
+ resolver(proc.exitCode || 0);
116
+ });
117
+ return promise;
118
+ }
119
+ process.on("unhandledRejection", (error) => {
120
+ console.error("Unhandled promise rejection!");
121
+ internalError(error);
122
+ });
123
+ main().catch(internalError);
124
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../../../src/lib/attributes.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,OAAO,EACP,MAAM,EACN,IAAI,EAUL,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,SAAS,EASV,MAAM,iBAAiB,CAAC;AAIzB,eAAO,MAAM,aAAa,EAAE,MAA2B,CAAC;AAExD,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GAAG,aAAa,GAC3B,MAAM,GAAG,SAAS,CAGpB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,CAEjG;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,aAAa,EACnB,UAAU,CAAC,EAAE,MAAM,GAClB,SAAS,GAAG,SAAS,CAuDvB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE,CA0BxF;AAoDD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,aAAa,GAAG,MAAM,GAC3B,SAAS,GAAG,SAAS,CAgEvB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,aAAa,GAAG,MAAM,GAC3B,SAAS,GAAG,SAAS,CA8CvB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,aAAa,GAAG,MAAM,GAC3B,SAAS,GAAG,SAAS,CAgFvB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAyCvE;AAYD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,CAqC5F"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../../src/lib/attributes.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { AssetEmitter } from "@typespec/compiler/emitter-framework";
2
2
  import { LibrarySourceFile } from "./interfaces.js";
3
+ export declare const GeneratedFileHeader = "// Generated by @typespec/http-server-csharp\n// <auto-generated />";
4
+ export declare const GeneratedFileHeaderWithNullable: string;
3
5
  export declare function getSerializationSourceFiles(emitter: AssetEmitter<string, Record<string, never>>): LibrarySourceFile[];
4
6
  //# sourceMappingURL=boilerplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boilerplate.d.ts","sourceRoot":"","sources":["../../../src/lib/boilerplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,mBAAmB,wEACV,CAAC;AACvB,eAAO,MAAM,+BAA+B,EAAE,MAE3B,CAAC;AAEpB,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GACnD,iBAAiB,EAAE,CA4DrB"}
@@ -1,4 +1,9 @@
1
1
  import { LibrarySourceFile } from "./interfaces.js";
2
+ export const GeneratedFileHeader = `// Generated by @typespec/http-server-csharp
3
+ // <auto-generated />`;
4
+ export const GeneratedFileHeaderWithNullable = `// Generated by @typespec/http-server-csharp
5
+ // <auto-generated />
6
+ #nullable enable`;
2
7
  export function getSerializationSourceFiles(emitter) {
3
8
  const sourceFiles = [];
4
9
  sourceFiles.push(new LibrarySourceFile({
@@ -37,14 +42,19 @@ export function getSerializationSourceFiles(emitter) {
37
42
  filename: "NumericArrayConstraintAttribute.cs",
38
43
  emitter: emitter,
39
44
  getContents: getNumericArrayConstraintConverter,
45
+ }), new LibrarySourceFile({
46
+ filename: "IJsonSerializationProvider.cs",
47
+ emitter: emitter,
48
+ getContents: getJsonProviderInterface,
49
+ }), new LibrarySourceFile({
50
+ filename: "JsonSerializationProvider.cs",
51
+ emitter: emitter,
52
+ getContents: getJsonProvider,
40
53
  }));
41
54
  return sourceFiles;
42
55
  }
43
56
  function getNumericConstraintConverter() {
44
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
45
- // Licensed under the MIT License.
46
- // <auto-generated />
47
- #nullable enable
57
+ return `${GeneratedFileHeaderWithNullable}
48
58
 
49
59
  using System.Numerics;
50
60
  using System.Text.Json;
@@ -144,10 +154,7 @@ function getNumericConstraintConverter() {
144
154
  }`;
145
155
  }
146
156
  function getStringConstraintConverter() {
147
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
148
- // Licensed under the MIT License.
149
- // <auto-generated />
150
- #nullable enable
157
+ return `${GeneratedFileHeaderWithNullable}
151
158
 
152
159
  using System.Text.Json;
153
160
  using System.Text.Json.Serialization;
@@ -268,10 +275,7 @@ function getStringConstraintConverter() {
268
275
  }`;
269
276
  }
270
277
  function getArrayConstraintConverter() {
271
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
272
- // Licensed under the MIT License.
273
- // <auto-generated />
274
- #nullable enable
278
+ return `${GeneratedFileHeaderWithNullable}
275
279
 
276
280
  using System.Text.Json;
277
281
  using System.Text.Json.Serialization;
@@ -383,10 +387,7 @@ function getArrayConstraintConverter() {
383
387
  }`;
384
388
  }
385
389
  function getNumericArrayConstraintConverter() {
386
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
387
- // Licensed under the MIT License.
388
- // <auto-generated />
389
- #nullable enable
390
+ return `${GeneratedFileHeaderWithNullable}
390
391
 
391
392
  using System.Numerics;
392
393
  using System.Text.Json;
@@ -420,10 +421,7 @@ public class NumericArrayConstraintAttribute<T> : ArrayConstraintAttribute<T> wh
420
421
  }`;
421
422
  }
422
423
  function getStringArrayConstraintConverter() {
423
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
424
- // Licensed under the MIT License.
425
- // <auto-generated />
426
- #nullable enable
424
+ return `${GeneratedFileHeaderWithNullable}
427
425
 
428
426
  using System.Text.Json;
429
427
  using System.Text.Json.Serialization;
@@ -454,10 +452,7 @@ public class StringArrayConstraintAttribute : ArrayConstraintAttribute<string>
454
452
  }`;
455
453
  }
456
454
  function getTimeSpanDurationConverter() {
457
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
458
- // Licensed under the MIT License.
459
- // <auto-generated />
460
- #nullable enable
455
+ return `${GeneratedFileHeaderWithNullable}
461
456
 
462
457
  using System.Text.Json;
463
458
  using System.Text.Json.Serialization;
@@ -489,10 +484,7 @@ function getTimeSpanDurationConverter() {
489
484
  `;
490
485
  }
491
486
  function getBase64UrlConverter() {
492
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
493
- // Licensed under the MIT License.
494
- // <auto-generated />
495
- #nullable enable
487
+ return `${GeneratedFileHeaderWithNullable}
496
488
 
497
489
  using System.Text.Json;
498
490
  using System.Text.Json.Serialization;
@@ -536,10 +528,7 @@ function getBase64UrlConverter() {
536
528
  `;
537
529
  }
538
530
  function getUnixEpochDateTimeConverter() {
539
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
540
- // Licensed under the MIT License.
541
- // <auto-generated />
542
- #nullable enable
531
+ return `${GeneratedFileHeaderWithNullable}
543
532
 
544
533
  using System.Text.Json;
545
534
  using System.Text.Json.Serialization;
@@ -569,10 +558,7 @@ function getUnixEpochDateTimeConverter() {
569
558
  `;
570
559
  }
571
560
  function getUnixEpochDateTimeOffsetConverter() {
572
- return `// Copyright (c) Microsoft Corporation. All rights reserved.
573
- // Licensed under the MIT License.
574
- // <auto-generated />
575
- #nullable enable
561
+ return `${GeneratedFileHeaderWithNullable}
576
562
 
577
563
  using System.Text.Json;
578
564
  using System.Text.Json.Serialization;
@@ -602,4 +588,83 @@ function getUnixEpochDateTimeOffsetConverter() {
602
588
  }
603
589
  `;
604
590
  }
591
+ function getJsonProviderInterface() {
592
+ return `${GeneratedFileHeaderWithNullable}
593
+
594
+ using System.Text.Json;
595
+ using System.Text.Json.Serialization;
596
+
597
+ namespace TypeSpec.Helpers
598
+ {
599
+ /// <summary>
600
+ /// Interface for Json serialization, suitable for providing a service in ASP.Net dependency injection
601
+ /// </summary>
602
+ public interface IJsonSerializationProvider
603
+ {
604
+ /// <summary>
605
+ /// Serialize an object to a JSON string
606
+ /// </summary>
607
+ /// <typeparam name="T">The type of the object</typeparam>
608
+ /// <param name="value">The object to serialize</param>
609
+ /// <returns>A string representing the serialized object</returns>
610
+ string Serialize<T>(T value);
611
+
612
+ /// <summary>
613
+ /// Create an object from a json string
614
+ /// </summary>
615
+ /// <typeparam name="T">The type of the object represented in the string</typeparam>
616
+ /// <param name="value">The strign to deserialize</param>
617
+ /// <returns>The deserialized object, or null</returns>
618
+ T? Deserialize<T>(string value);
619
+ }
620
+ }
621
+ `;
622
+ }
623
+ function getJsonProvider() {
624
+ return `${GeneratedFileHeaderWithNullable}
625
+
626
+ using System.Text.Json;
627
+ using System.Text.Json.Serialization;
628
+
629
+ namespace TypeSpec.Helpers
630
+ {
631
+ /// <summary>
632
+ /// Standard implementation of IJsonSerializationProvider
633
+ /// </summary>
634
+ public class JsonSerializationProvider : IJsonSerializationProvider
635
+ {
636
+ /// <summary>
637
+ /// The options to use for serialization
638
+ /// </summary>
639
+ public virtual JsonSerializerOptions Options { get; } = new JsonSerializerOptions
640
+ {
641
+ PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
642
+ DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull
643
+ };
644
+
645
+ /// <summary>
646
+ /// Create an object from a json string
647
+ /// </summary>
648
+ /// <typeparam name="T">The type of the object represented in the string</typeparam>
649
+ /// <param name="value">The strign to deserialize</param>
650
+ /// <returns>The deserialized object, or null</returns>
651
+ public virtual T? Deserialize<T>(string value)
652
+ {
653
+ return JsonSerializer.Deserialize<T>(value, Options);
654
+ }
655
+
656
+ /// <summary>
657
+ /// Serialize an object to a JSON string
658
+ /// </summary>
659
+ /// <typeparam name="T">The type of the object</typeparam>
660
+ /// <param name="value">The object to serialize</param>
661
+ /// <returns>A string representing the serialized object</returns>
662
+ public virtual string Serialize<T>(T value)
663
+ {
664
+ return JsonSerializer.Serialize(value, Options);
665
+ }
666
+ }
667
+ }
668
+ `;
669
+ }
605
670
  //# sourceMappingURL=boilerplate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boilerplate.js","sourceRoot":"","sources":["../../../src/lib/boilerplate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,4BAA4B,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,yBAAyB,CAAC;AAEnD,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -129,9 +129,11 @@ export declare class LibrarySourceFile {
129
129
  filename: string;
130
130
  getContents: () => string;
131
131
  emitter: AssetEmitter<string, Record<string, never>>;
132
+ path?: string;
132
133
  });
133
134
  filename: string;
134
135
  source: SourceFile<string>;
135
136
  emitted: EmittedSourceFile;
137
+ path: string;
136
138
  }
137
139
  //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/lib/interfaces.ts"],"names":[],"mappings":"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"}
@@ -210,8 +210,9 @@ export var NameCasingType;
210
210
  })(NameCasingType || (NameCasingType = {}));
211
211
  export class LibrarySourceFile {
212
212
  constructor(params) {
213
+ this.path = params.path !== undefined ? params.path : "lib/";
213
214
  this.filename = params.filename;
214
- this.source = params.emitter.createSourceFile(`lib/${this.filename}`);
215
+ this.source = params.emitter.createSourceFile(`${this.path}/${this.filename}`);
215
216
  this.emitted = {
216
217
  path: this.source.path,
217
218
  contents: params.getContents(),
@@ -220,5 +221,6 @@ export class LibrarySourceFile {
220
221
  filename;
221
222
  source;
222
223
  emitted;
224
+ path;
223
225
  }
224
226
  //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/lib/interfaces.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,12 @@ export interface CSharpServiceEmitterOptions {
3
3
  "skip-format"?: boolean;
4
4
  /** Choose which service artifacts to emit. Default is 'all'.*/
5
5
  "output-type"?: "models" | "all";
6
+ /** Emit mock implementations of business logic and setup code. Allows the service to respond to requests with mock responses.*/
7
+ "emit-mocks"?: "none" | "all";
8
+ /** Configure a Swagger UI endpoint in the development configuration. */
9
+ "use-swaggerui"?: boolean;
10
+ /** Use openapi at the given path for generating SwaggerUI endpoints. By default, this will be 'openapi/openapi.yaml' if the 'use-swaggerui' option is enabled. */
11
+ "openapi-path"?: string;
6
12
  }
7
13
  export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
8
14
  "invalid-identifier": {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/lib/lib.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,2BAA2B;IAC1C,yFAAyF;IACzF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,aAAa,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IACjC,gIAAgI;IAChI,YAAY,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9B,wEAAwE;IACxE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kKAAkK;IAClK,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA6CD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;sCAiDf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,iBAAiB,4BAAE,SAAS,wFAAS,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG,OAAO,IAAI,CAAC"}
@@ -15,6 +15,25 @@ const EmitterOptionsSchema = {
15
15
  default: "all",
16
16
  description: "Chooses which service artifacts to emit. choices include 'models' or 'all' artifacts.",
17
17
  },
18
+ "emit-mocks": {
19
+ type: "string",
20
+ enum: ["all", "none"],
21
+ nullable: true,
22
+ default: "none",
23
+ description: "Emits mock implementations of business logic, enabling the service to respond to requests before a real implementation is provided",
24
+ },
25
+ "use-swaggerui": {
26
+ type: "boolean",
27
+ nullable: true,
28
+ default: false,
29
+ description: "Configure a Swagger UI endpoint in the development configuration",
30
+ },
31
+ "openapi-path": {
32
+ type: "string",
33
+ nullable: true,
34
+ default: null,
35
+ description: "Use openapi at the given path for generating SwaggerUI endpoints. By default, this will be 'openapi/openapi.yaml' if the 'use-swaggerui' option is enabled. ",
36
+ },
18
37
  },
19
38
  required: [],
20
39
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../src/lib/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAezF,MAAM,oBAAoB,GAAgD;IACxE,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,aAAa,EAAE;YACb,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EACT,oGAAoG;SACvG;QACD,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;YACvB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;YACd,WAAW,EACT,uFAAuF;SAC1F;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;YACrB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,MAAM;YACf,WAAW,EACT,oIAAoI;SACvI;QACD,eAAe,EAAE;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,kEAAkE;SAChF;QACD,cAAc,EAAE;YACd,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;YACb,WAAW,EACT,8JAA8J;SACjK;KACF;IACD,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE;QACX,oBAAoB,EAAE;YACpB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,uBAAuB,YAAY,QAAQ,UAAU,EAAE;aAC7E;SACF;QACD,iBAAiB,EAAE;YACjB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,qIAAqI,aAAa,mBAAmB;aAC3L;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,uBAAuB,MAAM,IAAI,MAAM,GAAG;aAChE;SACF;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,SAAS,YAAY,sFAAsF,YAAY,yGAAyG;aACtP;SACF;QACD,qBAAqB,EAAE;YACrB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,eAAe,UAAU,iFAAiF;aAChI;SACF;QACD,mBAAmB,EAAE;YACnB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,kBAAkB,UAAU,8FAA8F;aAChJ;SACF;QACD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,oNAAoN;aAC1O;SACF;KACF;IACD,OAAO,EAAE;QACP,OAAO,EAAE,oBAAmE;KAC7E;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { AssetEmitter } from "@typespec/compiler/emitter-framework";
2
+ import { LibrarySourceFile } from "./interfaces.js";
3
+ export interface BusinessLogicImplementation {
4
+ namespace: string;
5
+ interfaceName: string;
6
+ usings: string[];
7
+ className: string;
8
+ methods: BusinessLogicMethod[];
9
+ }
10
+ export interface BusinessLogicMethod {
11
+ methodName: string;
12
+ methodParams: string;
13
+ returnType: string;
14
+ instantiatedReturnType?: string;
15
+ }
16
+ export type BusinessLogicRegistrations = Map<string, BusinessLogicImplementation>;
17
+ export type BusinessLogicRegistration = [string, BusinessLogicImplementation];
18
+ export declare function getScaffoldingHelpers(emitter: AssetEmitter<string, Record<string, never>>, useSwagger: boolean, openApiPath: string): LibrarySourceFile[];
19
+ export declare function getBusinessLogicImplementations(emitter: AssetEmitter<string, Record<string, never>>, registrations: BusinessLogicRegistrations): LibrarySourceFile[];
20
+ //# sourceMappingURL=scaffolding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffolding.d.ts","sourceRoot":"","sources":["../../../src/lib/scaffolding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAQ,MAAM,sCAAsC,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,MAAM,0BAA0B,GAAG,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;AAClF,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;AAE9E,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EACpD,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,MAAM,GAClB,iBAAiB,EAAE,CAqBrB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EACpD,aAAa,EAAE,0BAA0B,GACxC,iBAAiB,EAAE,CAyBrB"}