@typespec/http-server-csharp 0.58.0-alpha.1 → 0.58.0-alpha.10-dev.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 (63) 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/{attributes.d.ts → lib/attributes.d.ts} +1 -1
  7. package/dist/src/lib/attributes.d.ts.map +1 -0
  8. package/dist/src/{attributes.js → lib/attributes.js} +48 -4
  9. package/dist/src/{attributes.js.map → lib/attributes.js.map} +1 -1
  10. package/dist/src/{boilerplate.d.ts → lib/boilerplate.d.ts} +2 -0
  11. package/dist/src/lib/boilerplate.d.ts.map +1 -0
  12. package/dist/src/{boilerplate.js → lib/boilerplate.js} +101 -36
  13. package/dist/src/lib/boilerplate.js.map +1 -0
  14. package/dist/src/lib/index.d.ts.map +1 -0
  15. package/dist/src/lib/index.js.map +1 -0
  16. package/dist/src/{interfaces.d.ts → lib/interfaces.d.ts} +10 -0
  17. package/dist/src/lib/interfaces.d.ts.map +1 -0
  18. package/dist/src/{interfaces.js → lib/interfaces.js} +7 -3
  19. package/dist/src/lib/interfaces.js.map +1 -0
  20. package/dist/src/{lib.d.ts → lib/lib.d.ts} +25 -1
  21. package/dist/src/lib/lib.d.ts.map +1 -0
  22. package/dist/src/{lib.js → lib/lib.js} +31 -0
  23. package/dist/src/lib/lib.js.map +1 -0
  24. package/dist/src/lib/scaffolding.d.ts +20 -0
  25. package/dist/src/lib/scaffolding.d.ts.map +1 -0
  26. package/dist/src/lib/scaffolding.js +388 -0
  27. package/dist/src/lib/scaffolding.js.map +1 -0
  28. package/dist/src/lib/service.d.ts.map +1 -0
  29. package/dist/src/{service.js → lib/service.js} +584 -125
  30. package/dist/src/lib/service.js.map +1 -0
  31. package/dist/src/lib/testing/index.d.ts.map +1 -0
  32. package/dist/src/{testing → lib/testing}/index.js +1 -0
  33. package/dist/src/lib/testing/index.js.map +1 -0
  34. package/dist/src/lib/type-helpers.d.ts.map +1 -0
  35. package/dist/src/lib/type-helpers.js.map +1 -0
  36. package/dist/src/{utils.d.ts → lib/utils.d.ts} +3 -3
  37. package/dist/src/lib/utils.d.ts.map +1 -0
  38. package/dist/src/{utils.js → lib/utils.js} +67 -50
  39. package/dist/src/lib/utils.js.map +1 -0
  40. package/package.json +32 -23
  41. package/dist/src/attributes.d.ts.map +0 -1
  42. package/dist/src/boilerplate.d.ts.map +0 -1
  43. package/dist/src/boilerplate.js.map +0 -1
  44. package/dist/src/index.d.ts.map +0 -1
  45. package/dist/src/index.js.map +0 -1
  46. package/dist/src/interfaces.d.ts.map +0 -1
  47. package/dist/src/interfaces.js.map +0 -1
  48. package/dist/src/lib.d.ts.map +0 -1
  49. package/dist/src/lib.js.map +0 -1
  50. package/dist/src/service.d.ts.map +0 -1
  51. package/dist/src/service.js.map +0 -1
  52. package/dist/src/testing/index.d.ts.map +0 -1
  53. package/dist/src/testing/index.js.map +0 -1
  54. package/dist/src/type-helpers.d.ts.map +0 -1
  55. package/dist/src/type-helpers.js.map +0 -1
  56. package/dist/src/utils.d.ts.map +0 -1
  57. package/dist/src/utils.js.map +0 -1
  58. /package/dist/src/{index.d.ts → lib/index.d.ts} +0 -0
  59. /package/dist/src/{index.js → lib/index.js} +0 -0
  60. /package/dist/src/{service.d.ts → lib/service.d.ts} +0 -0
  61. /package/dist/src/{testing → lib/testing}/index.d.ts +0 -0
  62. /package/dist/src/{type-helpers.d.ts → lib/type-helpers.d.ts} +0 -0
  63. /package/dist/src/{type-helpers.js → lib/type-helpers.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/lib/interfaces.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,20 @@ 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": {
9
15
  readonly default: import("@typespec/compiler").CallableMessage<["identifier", "location"]>;
10
16
  };
17
+ "anonymous-model": {
18
+ readonly default: import("@typespec/compiler").CallableMessage<["emittedName"]>;
19
+ };
11
20
  "missing-type-parent": {
12
21
  readonly default: import("@typespec/compiler").CallableMessage<["type", "name"]>;
13
22
  };
@@ -20,11 +29,17 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
20
29
  "invalid-intrinsic": {
21
30
  readonly default: import("@typespec/compiler").CallableMessage<["typeName"]>;
22
31
  };
32
+ "invalid-interpolation": {
33
+ readonly default: import("@typespec/compiler").CallableMessage<[]>;
34
+ };
23
35
  }, CSharpServiceEmitterOptions, never>;
24
- export declare const reportDiagnostic: <C extends "invalid-identifier" | "missing-type-parent" | "no-numeric" | "unrecognized-scalar" | "invalid-intrinsic", M extends keyof {
36
+ export declare const reportDiagnostic: <C extends "invalid-identifier" | "anonymous-model" | "missing-type-parent" | "no-numeric" | "unrecognized-scalar" | "invalid-intrinsic" | "invalid-interpolation", M extends keyof {
25
37
  "invalid-identifier": {
26
38
  readonly default: import("@typespec/compiler").CallableMessage<["identifier", "location"]>;
27
39
  };
40
+ "anonymous-model": {
41
+ readonly default: import("@typespec/compiler").CallableMessage<["emittedName"]>;
42
+ };
28
43
  "missing-type-parent": {
29
44
  readonly default: import("@typespec/compiler").CallableMessage<["type", "name"]>;
30
45
  };
@@ -37,10 +52,16 @@ export declare const reportDiagnostic: <C extends "invalid-identifier" | "missin
37
52
  "invalid-intrinsic": {
38
53
  readonly default: import("@typespec/compiler").CallableMessage<["typeName"]>;
39
54
  };
55
+ "invalid-interpolation": {
56
+ readonly default: import("@typespec/compiler").CallableMessage<[]>;
57
+ };
40
58
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
41
59
  "invalid-identifier": {
42
60
  readonly default: import("@typespec/compiler").CallableMessage<["identifier", "location"]>;
43
61
  };
62
+ "anonymous-model": {
63
+ readonly default: import("@typespec/compiler").CallableMessage<["emittedName"]>;
64
+ };
44
65
  "missing-type-parent": {
45
66
  readonly default: import("@typespec/compiler").CallableMessage<["type", "name"]>;
46
67
  };
@@ -53,6 +74,9 @@ export declare const reportDiagnostic: <C extends "invalid-identifier" | "missin
53
74
  "invalid-intrinsic": {
54
75
  readonly default: import("@typespec/compiler").CallableMessage<["typeName"]>;
55
76
  };
77
+ "invalid-interpolation": {
78
+ readonly default: import("@typespec/compiler").CallableMessage<[]>;
79
+ };
56
80
  }, C, M>) => void, createStateSymbol: (name: string) => symbol, getTracer: (program: import("@typespec/compiler").Program) => import("@typespec/compiler").Tracer;
57
81
  export type CSharpServiceLibrary = typeof $lib;
58
82
  //# sourceMappingURL=lib.d.ts.map
@@ -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
  };
@@ -27,6 +46,12 @@ export const $lib = createTypeSpecLibrary({
27
46
  default: paramMessage `Invalid identifier '${"identifier"}' in ${"location"}`,
28
47
  },
29
48
  },
49
+ "anonymous-model": {
50
+ severity: "warning",
51
+ messages: {
52
+ default: paramMessage `Inline models use generated names in emitted code. Consider defining each model with an explicit name. This model will be named '${"emittedName"}' in emitted code`,
53
+ },
54
+ },
30
55
  "missing-type-parent": {
31
56
  severity: "warning",
32
57
  messages: {
@@ -51,6 +76,12 @@ export const $lib = createTypeSpecLibrary({
51
76
  default: paramMessage `Intrinsic type ${"typeName"} is not valid in this context. Please use a model, enum, union, scalar, or the unknown type`,
52
77
  },
53
78
  },
79
+ "invalid-interpolation": {
80
+ severity: "warning",
81
+ messages: {
82
+ default: paramMessage `StringTemplate types should only reference literal-valued constants, enum members, or literal-valued model properties. The interpolated value will not contain one or more referenced elements in generated code.`,
83
+ },
84
+ },
54
85
  },
55
86
  emitter: {
56
87
  options: EmitterOptionsSchema,
@@ -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"}
@@ -0,0 +1,388 @@
1
+ import { code } from "@typespec/compiler/emitter-framework";
2
+ import { GeneratedFileHeaderWithNullable } from "./boilerplate.js";
3
+ import { LibrarySourceFile } from "./interfaces.js";
4
+ export function getScaffoldingHelpers(emitter, useSwagger, openApiPath) {
5
+ const sourceFiles = [];
6
+ sourceFiles.push(new LibrarySourceFile({
7
+ filename: "IInitializer.cs",
8
+ emitter: emitter,
9
+ getContents: getInitializerInterface,
10
+ }), new LibrarySourceFile({
11
+ filename: "Initializer.cs",
12
+ emitter: emitter,
13
+ getContents: getInitializerImplementation,
14
+ }), new LibrarySourceFile({
15
+ filename: "Program.cs",
16
+ emitter: emitter,
17
+ getContents: () => getProjectStartup(useSwagger, openApiPath),
18
+ path: "../",
19
+ }));
20
+ return sourceFiles;
21
+ }
22
+ export function getBusinessLogicImplementations(emitter, registrations) {
23
+ const sourceFiles = [];
24
+ const mocks = [];
25
+ for (const [name, impl] of registrations) {
26
+ sourceFiles.push(new LibrarySourceFile({
27
+ filename: `${impl.className}.cs`,
28
+ emitter: emitter,
29
+ getContents: () => getBusinessLogicImplementation(name, impl),
30
+ path: "../mocks/",
31
+ }));
32
+ mocks.push(impl);
33
+ }
34
+ if (mocks.length > 0) {
35
+ sourceFiles.push(new LibrarySourceFile({
36
+ filename: "MockRegistration.cs",
37
+ emitter: emitter,
38
+ getContents: () => getMockRegistration(mocks),
39
+ path: "../mocks/",
40
+ }));
41
+ }
42
+ return sourceFiles;
43
+ }
44
+ function getBusinessLogicImplementation(iface, mock) {
45
+ const methods = [];
46
+ for (const method of mock.methods) {
47
+ const methodCode = method.instantiatedReturnType !== undefined
48
+ ? `return Task.FromResult(_initializer.Initialize<${method.instantiatedReturnType}>());`
49
+ : "return Task.CompletedTask;";
50
+ methods.push(` public ${method.returnType} ${method.methodName}( ${method.methodParams})
51
+ {
52
+ ${methodCode}
53
+ }`);
54
+ }
55
+ return `${GeneratedFileHeaderWithNullable}
56
+
57
+ using System;
58
+ using System.Net;
59
+ using System.Text.Json;
60
+ using System.Text.Json.Serialization;
61
+ using System.Threading.Tasks;
62
+ using Microsoft.AspNetCore.Mvc;${mock.methods.some((m) => m.methodParams.includes("MultipartReader")) ? `\nusing Microsoft.AspNetCore.WebUtilities;` : ""}
63
+ using ${mock.namespace}.Models;
64
+ using TypeSpec.Helpers;
65
+
66
+ namespace ${mock.namespace}
67
+ {
68
+ /// <summary>
69
+ /// This is a mock implementation of the business logic interface for
70
+ /// demonstration and early development. Feel free to overwrite this file.
71
+ /// Or replace it with another implementation, and register that implementation
72
+ /// in the dependency injection container
73
+ /// </summary>
74
+ /// <param name="initializer">The initializer class, registered with dependency injection</param>
75
+ public class ${mock.className} : ${mock.interfaceName}
76
+ {
77
+ public ${mock.className}(IInitializer initializer)
78
+ {
79
+ _initializer = initializer;
80
+ }
81
+
82
+ private IInitializer _initializer;
83
+
84
+ ${methods.join("\n\n")}
85
+ }
86
+ }
87
+ `;
88
+ }
89
+ function getMockRegistration(mocks) {
90
+ if (mocks.length < 1)
91
+ return "";
92
+ const cache = new Map();
93
+ return `${GeneratedFileHeaderWithNullable}
94
+
95
+ using Microsoft.AspNetCore.Http.Features;
96
+ ${mocks
97
+ .flatMap((m) => m.usings)
98
+ .filter((t) => {
99
+ const result = !cache.has(t);
100
+ cache.set(t, t);
101
+ return result;
102
+ })
103
+ .flatMap((e) => `using ${e};`)
104
+ .join("\n")}
105
+ using ${mocks[0].namespace};
106
+
107
+ namespace TypeSpec.Helpers
108
+ {
109
+ /// <summary>
110
+ /// Register Business Logic implementations. Replace with actual implementations when available.
111
+ /// </summary>
112
+ public static class MockRegistration
113
+ {
114
+ public static void Register(WebApplicationBuilder builder)
115
+ {
116
+ builder.Services.AddScoped<IJsonSerializationProvider, JsonSerializationProvider>();
117
+ // Used for mock implementation only. Remove once business logic interfaces are implemented.
118
+ builder.Services.AddSingleton<IDictionary<Type, object?>>(new Dictionary<Type, object?>());
119
+ builder.Services.AddScoped<IInitializer, Initializer>();
120
+ // Mock business logic implementations
121
+ ${mocks.flatMap((m) => ` builder.Services.AddScoped<${m.interfaceName}, ${m.className}>();`).join("\n")}
122
+ // Included for multipart/form-data support
123
+ builder.Services.Configure<FormOptions>(options =>
124
+ {
125
+ options.MemoryBufferThreshold = int.MaxValue;
126
+ options.MultipartBodyLengthLimit = int.MaxValue;
127
+ });
128
+ }
129
+ }
130
+ }`;
131
+ }
132
+ function getProjectStartup(useSwagger, openApiPath) {
133
+ return `${GeneratedFileHeaderWithNullable}
134
+
135
+ using TypeSpec.Helpers;
136
+
137
+ var builder = WebApplication.CreateBuilder(args);
138
+
139
+ // Add services to the container.
140
+ builder.Services.AddControllersWithViews();
141
+ builder.Services.AddEndpointsApiExplorer();
142
+ ${useSwagger ? "builder.Services.AddSwaggerGen();" : ""}
143
+ MockRegistration.Register(builder);
144
+
145
+ var app = builder.Build();
146
+
147
+ // Configure the HTTP request pipeline.
148
+ if (!app.Environment.IsDevelopment())
149
+ {
150
+ app.UseExceptionHandler("/Home/Error");
151
+ // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
152
+ app.UseHsts();
153
+ }
154
+ ${useSwagger
155
+ ? code `else
156
+ {
157
+ app.UseSwagger();
158
+ app.UseSwaggerUI( c=> {
159
+ c.DocumentTitle = "TypeSpec Generated OpenAPI Viewer";
160
+ c.SwaggerEndpoint("/openapi.yaml", "TypeSpec Generated OpenAPI Docs");
161
+ c.RoutePrefix = "swagger";
162
+ });
163
+ }\n`
164
+ : ""}
165
+
166
+ app.UseHttpsRedirection();
167
+ app.UseStaticFiles();
168
+ app.Use(async (context, next) =>
169
+ {
170
+ context.Request.EnableBuffering();
171
+ await next();
172
+ });
173
+ ${useSwagger
174
+ ? code `
175
+ app.MapGet("/openapi.yaml", async (HttpContext context) =>
176
+ {
177
+ var externalFilePath = "${openApiPath}"; // Full path to the file outside the project
178
+ if (!File.Exists(externalFilePath))
179
+ {
180
+ context.Response.StatusCode = StatusCodes.Status404NotFound;
181
+ await context.Response.WriteAsync("OpenAPI spec not found.");
182
+ return;
183
+ }
184
+ context.Response.ContentType = "application/json";
185
+ await context.Response.SendFileAsync(externalFilePath);
186
+ });\n`
187
+ : ""}
188
+
189
+ app.UseRouting();
190
+
191
+ app.UseAuthorization();
192
+
193
+
194
+ app.MapControllerRoute(
195
+ name: "default",
196
+ pattern: "{controller=Home}/{action=Index}/{id?}");
197
+
198
+
199
+ app.Run();`;
200
+ }
201
+ function getInitializerInterface() {
202
+ return `${GeneratedFileHeaderWithNullable}
203
+
204
+ namespace TypeSpec.Helpers
205
+ {
206
+ /// <summary>
207
+ /// Interface for object initialization in mocks
208
+ /// </summary>
209
+ public interface IInitializer
210
+ {
211
+ /// <summary>
212
+ /// Initialize an object fo the given type
213
+ /// </summary>
214
+ /// <param name="type"> The type to initialize</param>
215
+ /// <returns>An instance of the given type. Or null if initialization was impossible.</returns>
216
+ object? Initialize(System.Type type);
217
+
218
+ /// <summary>
219
+ /// Initialize an object of the given type
220
+ /// </summary>
221
+ /// <typeparam name="T">The type to initialize</typeparam>
222
+ /// <returns>An instance of the given type</returns>
223
+ T Initialize<T>() where T : class, new();
224
+ }
225
+ }
226
+ `;
227
+ }
228
+ function getInitializerImplementation() {
229
+ return `${GeneratedFileHeaderWithNullable}
230
+
231
+ namespace TypeSpec.Helpers
232
+ {
233
+ /// <summary>
234
+ /// Default initializer for mock implementations of business logic interfaces
235
+ /// </summary>
236
+ public class Initializer : IInitializer
237
+ {
238
+ /// <summary>
239
+ /// Instantiate the initializer. The cache *should* be instantiated using ASP.Net Core's dependency injection
240
+ /// </summary>
241
+ /// <param name="cache"></param>
242
+ public Initializer(IDictionary<Type, object?> cache)
243
+ {
244
+ Cache = cache;
245
+ }
246
+
247
+ internal virtual IDictionary<Type, object?> Cache { get; }
248
+
249
+ internal object? CacheAndReturn(Type type, object? instance)
250
+ {
251
+ Cache[type] = instance;
252
+ return instance;
253
+ }
254
+
255
+ /// <summary>
256
+ /// Initialize an object fo the given type
257
+ /// </summary>
258
+ /// <param name="type"> The type to initialize</param>
259
+ /// <returns>An instance of the given type. Or null if initialization was impossible.</returns>
260
+ public object? Initialize (Type type)
261
+ {
262
+ if (Cache.ContainsKey(type))
263
+ {
264
+ return Cache[type];
265
+ }
266
+ if (type == typeof(string))
267
+ {
268
+ return CacheAndReturn(type, string.Empty);
269
+ }
270
+ if (type == typeof(int))
271
+ {
272
+ return CacheAndReturn(type, 0);
273
+ }
274
+ if (type == typeof(long))
275
+ {
276
+ return CacheAndReturn(type, 0L);
277
+ }
278
+ if (type == typeof(float))
279
+ {
280
+ return CacheAndReturn(type, 0.0f);
281
+ }
282
+ if (type == typeof(double))
283
+ {
284
+ return CacheAndReturn(type, 0.0);
285
+ }
286
+ if (type == typeof(decimal))
287
+ {
288
+ return CacheAndReturn(type, 0.0m);
289
+ }
290
+ if (type == typeof(bool))
291
+ {
292
+ return CacheAndReturn(type, false);
293
+ }
294
+ if (type == typeof(byte))
295
+ {
296
+ return CacheAndReturn(type, (byte)0);
297
+ }
298
+ if (type == typeof(char))
299
+ {
300
+ return CacheAndReturn(type, (char)0);
301
+ }
302
+ if (type == typeof(short))
303
+ {
304
+ return CacheAndReturn(type, (short)0);
305
+ }
306
+ if (type == typeof(uint))
307
+ {
308
+ return CacheAndReturn(type, (uint)0);
309
+ }
310
+ if (type == typeof(ulong))
311
+ {
312
+ return CacheAndReturn(type, (ulong)0);
313
+ }
314
+ if (type == typeof(ushort))
315
+ {
316
+ return CacheAndReturn(type, (ushort)0);
317
+ }
318
+ if (type == typeof(sbyte))
319
+ {
320
+ return CacheAndReturn(type, (sbyte)0);
321
+ }
322
+ if (type == typeof(DateTime))
323
+ {
324
+ return CacheAndReturn(type, DateTime.UtcNow);
325
+ }
326
+ if (type == typeof(DateTimeOffset))
327
+ {
328
+ return CacheAndReturn(type, DateTimeOffset.UtcNow);
329
+ }
330
+ if ( type == typeof(TimeSpan))
331
+ {
332
+ return CacheAndReturn(type, TimeSpan.Zero);
333
+ }
334
+ if (type.IsArray)
335
+ {
336
+ var element = type.GetElementType();
337
+ if (element == null) return null;
338
+ return CacheAndReturn(type, Array.CreateInstance(element, 0));
339
+ }
340
+ if (type.IsClass)
341
+ {
342
+ return InitializeClass(type);
343
+ }
344
+ var genericType = Nullable.GetUnderlyingType(type);
345
+ if ( (genericType != null))
346
+ {
347
+ return Initialize(genericType);
348
+ }
349
+ return new object();
350
+ }
351
+
352
+ /// <summary>
353
+ /// Initialize an object of the given type
354
+ /// </summary>
355
+ /// <typeparam name="T">The type to initialize</typeparam>
356
+ /// <returns>An instance of the given type</returns>
357
+ public T Initialize<T>() where T: class, new()
358
+ {
359
+ var result = new T();
360
+ var initialized = InitializeClass(typeof(T), result);
361
+ return initialized as T ?? result;
362
+ }
363
+
364
+ private object? InitializeClass(Type type, object? instance = null)
365
+ {
366
+ if (Cache.ContainsKey(type))
367
+ {
368
+ instance = Cache[type];
369
+ return instance;
370
+ }
371
+
372
+ var result = instance == null ? Activator.CreateInstance(type) : instance;
373
+ foreach (var property in type.GetProperties())
374
+ {
375
+ if (property.CanWrite)
376
+ {
377
+ var propertyType = property.PropertyType;
378
+ property.SetValue(result, Initialize(propertyType));
379
+ }
380
+ }
381
+
382
+ return CacheAndReturn(type, result);
383
+ }
384
+ }
385
+ }
386
+ `;
387
+ }
388
+ //# sourceMappingURL=scaffolding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffolding.js","sourceRoot":"","sources":["../../../src/lib/scaffolding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EA0BZ,MAAM,oBAAoB,CAAC;AA+C5B,OAAO,EAAE,2BAA2B,EAAoB,MAAM,UAAU,CAAC;AA2BzE,wBAAsB,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,2BAA2B,CAAC,iBAgjD9E"}