@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.
- package/cmd/hscs.js +2 -0
- package/dist/src/cli/cli.d.ts +2 -0
- package/dist/src/cli/cli.d.ts.map +1 -0
- package/dist/src/cli/cli.js +124 -0
- package/dist/src/cli/cli.js.map +1 -0
- package/dist/src/{attributes.d.ts → lib/attributes.d.ts} +1 -1
- package/dist/src/lib/attributes.d.ts.map +1 -0
- package/dist/src/{attributes.js → lib/attributes.js} +48 -4
- package/dist/src/{attributes.js.map → lib/attributes.js.map} +1 -1
- package/dist/src/{boilerplate.d.ts → lib/boilerplate.d.ts} +2 -0
- package/dist/src/lib/boilerplate.d.ts.map +1 -0
- package/dist/src/{boilerplate.js → lib/boilerplate.js} +101 -36
- package/dist/src/lib/boilerplate.js.map +1 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js.map +1 -0
- package/dist/src/{interfaces.d.ts → lib/interfaces.d.ts} +10 -0
- package/dist/src/lib/interfaces.d.ts.map +1 -0
- package/dist/src/{interfaces.js → lib/interfaces.js} +7 -3
- package/dist/src/lib/interfaces.js.map +1 -0
- package/dist/src/{lib.d.ts → lib/lib.d.ts} +25 -1
- package/dist/src/lib/lib.d.ts.map +1 -0
- package/dist/src/{lib.js → lib/lib.js} +31 -0
- package/dist/src/lib/lib.js.map +1 -0
- package/dist/src/lib/scaffolding.d.ts +20 -0
- package/dist/src/lib/scaffolding.d.ts.map +1 -0
- package/dist/src/lib/scaffolding.js +388 -0
- package/dist/src/lib/scaffolding.js.map +1 -0
- package/dist/src/lib/service.d.ts.map +1 -0
- package/dist/src/{service.js → lib/service.js} +584 -125
- package/dist/src/lib/service.js.map +1 -0
- package/dist/src/lib/testing/index.d.ts.map +1 -0
- package/dist/src/{testing → lib/testing}/index.js +1 -0
- package/dist/src/lib/testing/index.js.map +1 -0
- package/dist/src/lib/type-helpers.d.ts.map +1 -0
- package/dist/src/lib/type-helpers.js.map +1 -0
- package/dist/src/{utils.d.ts → lib/utils.d.ts} +3 -3
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/{utils.js → lib/utils.js} +67 -50
- package/dist/src/lib/utils.js.map +1 -0
- package/package.json +32 -23
- package/dist/src/attributes.d.ts.map +0 -1
- package/dist/src/boilerplate.d.ts.map +0 -1
- package/dist/src/boilerplate.js.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/interfaces.d.ts.map +0 -1
- package/dist/src/interfaces.js.map +0 -1
- package/dist/src/lib.d.ts.map +0 -1
- package/dist/src/lib.js.map +0 -1
- package/dist/src/service.d.ts.map +0 -1
- package/dist/src/service.js.map +0 -1
- package/dist/src/testing/index.d.ts.map +0 -1
- package/dist/src/testing/index.js.map +0 -1
- package/dist/src/type-helpers.d.ts.map +0 -1
- package/dist/src/type-helpers.js.map +0 -1
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js.map +0 -1
- /package/dist/src/{index.d.ts → lib/index.d.ts} +0 -0
- /package/dist/src/{index.js → lib/index.js} +0 -0
- /package/dist/src/{service.d.ts → lib/service.d.ts} +0 -0
- /package/dist/src/{testing → lib/testing}/index.d.ts +0 -0
- /package/dist/src/{type-helpers.d.ts → lib/type-helpers.d.ts} +0 -0
- /package/dist/src/{type-helpers.js → lib/type-helpers.js} +0 -0
package/cmd/hscs.js
ADDED
|
@@ -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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"}
|
|
@@ -9,7 +9,7 @@ export declare function getFormatValue(program: Program, type: Scalar | ModelPro
|
|
|
9
9
|
* @param type The type to check
|
|
10
10
|
* @returns The attributes associated with the type, or none
|
|
11
11
|
*/
|
|
12
|
-
export declare function getEncodedNameAttribute(program: Program, type: ModelProperty): Attribute | undefined;
|
|
12
|
+
export declare function getEncodedNameAttribute(program: Program, type: ModelProperty, cSharpName?: string): Attribute | undefined;
|
|
13
13
|
/**
|
|
14
14
|
* Return the encoding attributes for model properties
|
|
15
15
|
* @param program The program being processed
|
|
@@ -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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getEncode, getFormat, getMaxItems, getMaxValue, getMaxValueExclusive, getMinItems, getMinValue, getMinValueExclusive, resolveEncodedName, } from "@typespec/compiler";
|
|
2
|
+
import { camelCase } from "change-case";
|
|
2
3
|
import { Attribute, AttributeType, BooleanValue, CSharpType, HelperNamespace, NumericValue, Parameter, RawValue, StringValue, } from "./interfaces.js";
|
|
3
4
|
import { getStringConstraint, isArrayType } from "./type-helpers.js";
|
|
4
5
|
import { getCSharpIdentifier, getCSharpTypeForScalar } from "./utils.js";
|
|
@@ -16,7 +17,7 @@ export function getFormatValue(program, type) {
|
|
|
16
17
|
* @param type The type to check
|
|
17
18
|
* @returns The attributes associated with the type, or none
|
|
18
19
|
*/
|
|
19
|
-
export function getEncodedNameAttribute(program, type) {
|
|
20
|
+
export function getEncodedNameAttribute(program, type, cSharpName) {
|
|
20
21
|
const encodedName = resolveEncodedName(program, type, "application/json");
|
|
21
22
|
if (encodedName !== type.name) {
|
|
22
23
|
const attr = new Attribute(new AttributeType({
|
|
@@ -36,6 +37,24 @@ export function getEncodedNameAttribute(program, type) {
|
|
|
36
37
|
}));
|
|
37
38
|
return attr;
|
|
38
39
|
}
|
|
40
|
+
if (cSharpName && type.name !== camelCase(cSharpName)) {
|
|
41
|
+
const attr = new Attribute(new AttributeType({
|
|
42
|
+
name: "JsonPropertyName",
|
|
43
|
+
namespace: JsonNamespace,
|
|
44
|
+
}), []);
|
|
45
|
+
attr.parameters.push(new Parameter({
|
|
46
|
+
name: "name",
|
|
47
|
+
value: new StringValue(type.name),
|
|
48
|
+
optional: false,
|
|
49
|
+
type: new CSharpType({
|
|
50
|
+
name: "string",
|
|
51
|
+
namespace: "System",
|
|
52
|
+
isBuiltIn: true,
|
|
53
|
+
isValueType: true,
|
|
54
|
+
}),
|
|
55
|
+
}));
|
|
56
|
+
return attr;
|
|
57
|
+
}
|
|
39
58
|
return undefined;
|
|
40
59
|
}
|
|
41
60
|
/**
|
|
@@ -289,10 +308,35 @@ export function getNumericConstraintAttribute(program, type) {
|
|
|
289
308
|
export function getSafeIntAttribute(type) {
|
|
290
309
|
if (type.name.toLowerCase() !== "safeint")
|
|
291
310
|
return undefined;
|
|
292
|
-
|
|
293
|
-
name:
|
|
311
|
+
const attr = new Attribute(new AttributeType({
|
|
312
|
+
name: `NumericConstraint<long>`,
|
|
294
313
|
namespace: HelperNamespace,
|
|
295
314
|
}), []);
|
|
315
|
+
attr.parameters.push(new Parameter({
|
|
316
|
+
name: "MinValue",
|
|
317
|
+
value: new NumericValue(-9007199254740991),
|
|
318
|
+
optional: true,
|
|
319
|
+
type: new CSharpType({
|
|
320
|
+
name: "long",
|
|
321
|
+
namespace: "System",
|
|
322
|
+
isBuiltIn: true,
|
|
323
|
+
isValueType: true,
|
|
324
|
+
isNullable: false,
|
|
325
|
+
}),
|
|
326
|
+
}));
|
|
327
|
+
attr.parameters.push(new Parameter({
|
|
328
|
+
name: "MaxValue",
|
|
329
|
+
value: new NumericValue(9007199254740991),
|
|
330
|
+
optional: true,
|
|
331
|
+
type: new CSharpType({
|
|
332
|
+
name: "long",
|
|
333
|
+
namespace: "System",
|
|
334
|
+
isBuiltIn: true,
|
|
335
|
+
isValueType: true,
|
|
336
|
+
isNullable: false,
|
|
337
|
+
}),
|
|
338
|
+
}));
|
|
339
|
+
return attr;
|
|
296
340
|
}
|
|
297
341
|
function getEnumAttribute(type, cSharpName) {
|
|
298
342
|
return new Attribute(new AttributeType({
|
|
@@ -312,7 +356,7 @@ export function getAttributes(program, type, cSharpName) {
|
|
|
312
356
|
const arrayAttr = getArrayConstraintAttribute(program, type);
|
|
313
357
|
const stringAttr = getStringConstraintAttribute(program, type);
|
|
314
358
|
const numberAttr = getNumericConstraintAttribute(program, type);
|
|
315
|
-
const name = getEncodedNameAttribute(program, type);
|
|
359
|
+
const name = getEncodedNameAttribute(program, type, cSharpName);
|
|
316
360
|
if (arrayAttr)
|
|
317
361
|
result.add(arrayAttr);
|
|
318
362
|
if (stringAttr)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/attributes.ts"],"names":[],"mappings":"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"}
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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"}
|
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import { Model } from "@typespec/compiler";
|
|
2
2
|
import { AssetEmitter, Context, EmittedSourceFile, EmitterOutput, Scope, SourceFile } from "@typespec/compiler/emitter-framework";
|
|
3
|
+
import { HttpStatusCodeRange } from "@typespec/http";
|
|
3
4
|
export declare const HelperNamespace: string;
|
|
4
5
|
export interface CSharpTypeMetadata {
|
|
5
6
|
name: string;
|
|
6
7
|
namespace?: string;
|
|
7
8
|
}
|
|
9
|
+
export interface ResponseInfo {
|
|
10
|
+
statusCode: number | HttpStatusCodeRange | "*";
|
|
11
|
+
csharpStatusCode: string;
|
|
12
|
+
resultType: CSharpType;
|
|
13
|
+
}
|
|
8
14
|
export declare class CSharpType implements CSharpTypeMetadata {
|
|
9
15
|
name: string;
|
|
10
16
|
namespace: string;
|
|
11
17
|
isBuiltIn: boolean;
|
|
12
18
|
isValueType: boolean;
|
|
19
|
+
isNullable: boolean;
|
|
13
20
|
constructor(input: {
|
|
14
21
|
name: string;
|
|
15
22
|
namespace: string;
|
|
16
23
|
isBuiltIn?: boolean;
|
|
17
24
|
isValueType?: boolean;
|
|
25
|
+
isNullable?: boolean;
|
|
18
26
|
});
|
|
19
27
|
isNamespaceInScope(scope?: Scope<string>, visited?: Set<Scope<string>>): boolean;
|
|
20
28
|
getTypeReference(scope?: Scope<string>): string;
|
|
@@ -121,9 +129,11 @@ export declare class LibrarySourceFile {
|
|
|
121
129
|
filename: string;
|
|
122
130
|
getContents: () => string;
|
|
123
131
|
emitter: AssetEmitter<string, Record<string, never>>;
|
|
132
|
+
path?: string;
|
|
124
133
|
});
|
|
125
134
|
filename: string;
|
|
126
135
|
source: SourceFile<string>;
|
|
127
136
|
emitted: EmittedSourceFile;
|
|
137
|
+
path: string;
|
|
128
138
|
}
|
|
129
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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"}
|
|
@@ -4,11 +4,13 @@ export class CSharpType {
|
|
|
4
4
|
namespace;
|
|
5
5
|
isBuiltIn;
|
|
6
6
|
isValueType;
|
|
7
|
+
isNullable;
|
|
7
8
|
constructor(input) {
|
|
8
9
|
this.name = input.name;
|
|
9
10
|
this.namespace = input.namespace;
|
|
10
11
|
this.isBuiltIn = input.isBuiltIn !== undefined ? input.isBuiltIn : input.namespace === "System";
|
|
11
12
|
this.isValueType = input.isValueType !== undefined ? input.isValueType : false;
|
|
13
|
+
this.isNullable = input.isNullable !== undefined ? input.isNullable : false;
|
|
12
14
|
}
|
|
13
15
|
isNamespaceInScope(scope, visited) {
|
|
14
16
|
if (this.isBuiltIn)
|
|
@@ -75,7 +77,7 @@ export class NumericValue extends CSharpValue {
|
|
|
75
77
|
this.value = value;
|
|
76
78
|
}
|
|
77
79
|
emitValue(scope) {
|
|
78
|
-
return `${this.value
|
|
80
|
+
return `${this.value ?? 0}`;
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
export class BooleanValue extends CSharpValue {
|
|
@@ -85,7 +87,7 @@ export class BooleanValue extends CSharpValue {
|
|
|
85
87
|
this.value = value;
|
|
86
88
|
}
|
|
87
89
|
emitValue(scope) {
|
|
88
|
-
return `${this.value}
|
|
90
|
+
return `${this.value}`;
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
export class NullValue extends CSharpValue {
|
|
@@ -208,8 +210,9 @@ export var NameCasingType;
|
|
|
208
210
|
})(NameCasingType || (NameCasingType = {}));
|
|
209
211
|
export class LibrarySourceFile {
|
|
210
212
|
constructor(params) {
|
|
213
|
+
this.path = params.path !== undefined ? params.path : "lib/";
|
|
211
214
|
this.filename = params.filename;
|
|
212
|
-
this.source = params.emitter.createSourceFile(
|
|
215
|
+
this.source = params.emitter.createSourceFile(`${this.path}/${this.filename}`);
|
|
213
216
|
this.emitted = {
|
|
214
217
|
path: this.source.path,
|
|
215
218
|
contents: params.getContents(),
|
|
@@ -218,5 +221,6 @@ export class LibrarySourceFile {
|
|
|
218
221
|
filename;
|
|
219
222
|
source;
|
|
220
223
|
emitted;
|
|
224
|
+
path;
|
|
221
225
|
}
|
|
222
226
|
//# sourceMappingURL=interfaces.js.map
|