@typespec/http-server-csharp 0.58.0-alpha.2 → 0.58.0-alpha.20-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 (78) hide show
  1. package/README.md +69 -6
  2. package/cmd/hscs.js +2 -0
  3. package/dist/src/cli/cli.d.ts +2 -0
  4. package/dist/src/cli/cli.d.ts.map +1 -0
  5. package/dist/src/cli/cli.js +173 -0
  6. package/dist/src/cli/cli.js.map +1 -0
  7. package/dist/src/{attributes.d.ts → lib/attributes.d.ts} +1 -1
  8. package/dist/src/lib/attributes.d.ts.map +1 -0
  9. package/dist/src/{attributes.js → lib/attributes.js} +113 -35
  10. package/dist/src/lib/attributes.js.map +1 -0
  11. package/dist/src/lib/boilerplate.d.ts +6 -0
  12. package/dist/src/lib/boilerplate.d.ts.map +1 -0
  13. package/dist/src/{boilerplate.js → lib/boilerplate.js} +253 -66
  14. package/dist/src/lib/boilerplate.js.map +1 -0
  15. package/dist/src/lib/doc.d.ts +5 -0
  16. package/dist/src/lib/doc.d.ts.map +1 -0
  17. package/dist/src/lib/doc.js +237 -0
  18. package/dist/src/lib/doc.js.map +1 -0
  19. package/dist/src/lib/index.d.ts.map +1 -0
  20. package/dist/src/lib/index.js.map +1 -0
  21. package/dist/src/{interfaces.d.ts → lib/interfaces.d.ts} +58 -4
  22. package/dist/src/lib/interfaces.d.ts.map +1 -0
  23. package/dist/src/{interfaces.js → lib/interfaces.js} +100 -27
  24. package/dist/src/lib/interfaces.js.map +1 -0
  25. package/dist/src/{lib.d.ts → lib/lib.d.ts} +54 -1
  26. package/dist/src/lib/lib.d.ts.map +1 -0
  27. package/dist/src/lib/lib.js +146 -0
  28. package/dist/src/lib/lib.js.map +1 -0
  29. package/dist/src/lib/project.d.ts +5 -0
  30. package/dist/src/lib/project.d.ts.map +1 -0
  31. package/dist/src/lib/project.js +101 -0
  32. package/dist/src/lib/project.js.map +1 -0
  33. package/dist/src/lib/scaffolding.d.ts +22 -0
  34. package/dist/src/lib/scaffolding.d.ts.map +1 -0
  35. package/dist/src/lib/scaffolding.js +461 -0
  36. package/dist/src/lib/scaffolding.js.map +1 -0
  37. package/dist/src/lib/service.d.ts.map +1 -0
  38. package/dist/src/lib/service.js +1188 -0
  39. package/dist/src/lib/service.js.map +1 -0
  40. package/dist/src/lib/testing/index.d.ts.map +1 -0
  41. package/dist/src/{testing → lib/testing}/index.js +1 -0
  42. package/dist/src/lib/testing/index.js.map +1 -0
  43. package/dist/src/{type-helpers.d.ts → lib/type-helpers.d.ts} +5 -1
  44. package/dist/src/lib/type-helpers.d.ts.map +1 -0
  45. package/dist/src/{type-helpers.js → lib/type-helpers.js} +31 -0
  46. package/dist/src/lib/type-helpers.js.map +1 -0
  47. package/dist/src/lib/utils.d.ts +114 -0
  48. package/dist/src/lib/utils.d.ts.map +1 -0
  49. package/dist/src/lib/utils.js +1557 -0
  50. package/dist/src/lib/utils.js.map +1 -0
  51. package/package.json +49 -27
  52. package/dist/src/attributes.d.ts.map +0 -1
  53. package/dist/src/attributes.js.map +0 -1
  54. package/dist/src/boilerplate.d.ts +0 -4
  55. package/dist/src/boilerplate.d.ts.map +0 -1
  56. package/dist/src/boilerplate.js.map +0 -1
  57. package/dist/src/index.d.ts.map +0 -1
  58. package/dist/src/index.js.map +0 -1
  59. package/dist/src/interfaces.d.ts.map +0 -1
  60. package/dist/src/interfaces.js.map +0 -1
  61. package/dist/src/lib.d.ts.map +0 -1
  62. package/dist/src/lib.js +0 -60
  63. package/dist/src/lib.js.map +0 -1
  64. package/dist/src/service.d.ts.map +0 -1
  65. package/dist/src/service.js +0 -829
  66. package/dist/src/service.js.map +0 -1
  67. package/dist/src/testing/index.d.ts.map +0 -1
  68. package/dist/src/testing/index.js.map +0 -1
  69. package/dist/src/type-helpers.d.ts.map +0 -1
  70. package/dist/src/type-helpers.js.map +0 -1
  71. package/dist/src/utils.d.ts +0 -48
  72. package/dist/src/utils.d.ts.map +0 -1
  73. package/dist/src/utils.js +0 -628
  74. package/dist/src/utils.js.map +0 -1
  75. /package/dist/src/{index.d.ts → lib/index.d.ts} +0 -0
  76. /package/dist/src/{index.js → lib/index.js} +0 -0
  77. /package/dist/src/{service.d.ts → lib/service.d.ts} +0 -0
  78. /package/dist/src/{testing → lib/testing}/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAGpB,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,+BAA+B,EAAE,mBAI5C,CAAC"}
@@ -2,5 +2,6 @@ import { createTestLibrary, findTestPackageRoot, } from "@typespec/compiler/test
2
2
  export const CSharpServiceEmitterTestLibrary = createTestLibrary({
3
3
  name: "@typespec/http-server-csharp",
4
4
  packageRoot: await findTestPackageRoot(import.meta.url),
5
+ jsFileFolder: "dist/src/lib",
5
6
  });
6
7
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/testing/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,+BAA+B,GAAwB,iBAAiB,CAAC;IACpF,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE,MAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACvD,YAAY,EAAE,cAAc;CAC7B,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
- import { IndeterminateEntity, ModelProperty, Program, Scalar, Type, Value } from "@typespec/compiler";
1
+ import { Enum, IndeterminateEntity, ModelProperty, Program, Scalar, Type, Value } from "@typespec/compiler";
2
+ import { CSharpType } from "./interfaces.js";
2
3
  /**
3
4
  * Utility function to determine if a given type is a record type
4
5
  * @param program The program to process
@@ -6,6 +7,9 @@ import { IndeterminateEntity, ModelProperty, Program, Scalar, Type, Value } from
6
7
  * @returns true if the type is a Record<T>, or false otherwise
7
8
  */
8
9
  export declare function getRecordType(program: Program, type: Type): Type | undefined;
10
+ export type EnumValueType = "string" | "int" | "double";
11
+ export declare function getDoubleType(): CSharpType;
12
+ export declare function getEnumType(en: Enum): EnumValueType | undefined;
9
13
  /**
10
14
  * Determines if the type is an array type
11
15
  * @param program The program to process
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/type-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,mBAAmB,EACnB,aAAa,EACb,OAAO,EACP,MAAM,EACN,IAAI,EACJ,KAAK,EAKN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAS5E;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAExD,wBAAgB,aAAa,eAO5B;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,IAAI,GAAG,aAAa,GAAG,SAAS,CAoB/D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,OAAO,CAMnF;AAED,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,aAAa,GAAG,MAAM,GAC3B,gBAAgB,GAAG,SAAS,CA0B9B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAErD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,mBAAmB,GACvC,OAAO,CAUT"}
@@ -1,4 +1,5 @@
1
1
  import { getMaxLength, getMinLength, getPattern, isArrayModelType, } from "@typespec/compiler";
2
+ import { CSharpType } from "./interfaces.js";
2
3
  /**
3
4
  * Utility function to determine if a given type is a record type
4
5
  * @param program The program to process
@@ -12,6 +13,36 @@ export function getRecordType(program, type) {
12
13
  return type.indexer.value;
13
14
  return undefined;
14
15
  }
16
+ export function getDoubleType() {
17
+ return new CSharpType({
18
+ name: "double",
19
+ namespace: "System",
20
+ isBuiltIn: true,
21
+ isValueType: true,
22
+ });
23
+ }
24
+ export function getEnumType(en) {
25
+ let result = undefined;
26
+ for (const [_, member] of en.members) {
27
+ if (member.value === undefined) {
28
+ return "string";
29
+ }
30
+ switch (typeof member.value) {
31
+ case "string":
32
+ return "string";
33
+ case "number":
34
+ const val = member.value?.toString();
35
+ if (val === undefined)
36
+ return undefined;
37
+ if (val.includes(".")) {
38
+ return "double";
39
+ }
40
+ if (result === undefined || result === "int")
41
+ result = "int";
42
+ }
43
+ }
44
+ return result;
45
+ }
15
46
  /**
16
47
  * Determines if the type is an array type
17
48
  * @param program The program to process
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-helpers.js","sourceRoot":"","sources":["../../../src/lib/type-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ import { AssetEmitter, Declaration, EmitterOutput, Scope } from "@typespec/asset-emitter";
2
+ import { IntrinsicScalarName, IntrinsicType, Model, ModelProperty, NumericLiteral, Program, Scalar, Type, Union, Value } from "@typespec/compiler";
3
+ import { HttpOperation, HttpOperationParameter, HttpOperationResponse, HttpStatusCodesEntry } from "@typespec/http";
4
+ import { HttpRequestParameterKind } from "@typespec/http/experimental/typekit";
5
+ import { Attribute, CSharpOperationParameter, CSharpType, CSharpValue, NameCasingType } from "./interfaces.js";
6
+ import { CSharpServiceEmitterOptions } from "./lib.js";
7
+ export declare function getCSharpTypeForScalar(program: Program, scalar: Scalar): CSharpType;
8
+ export declare const UnknownType: CSharpType;
9
+ export declare const RecordType: CSharpType;
10
+ export declare function getCSharpType(program: Program, type: Type, namespace?: string): {
11
+ type: CSharpType;
12
+ value?: CSharpValue;
13
+ } | undefined;
14
+ export declare function resolveReferenceFromScopes(targetDeclaration: Declaration<string>, declarationScopes: Scope<string>[], referenceScopes: Scope<string>[]): string | undefined;
15
+ export declare function coalesceTypes(program: Program, types: Type[], namespace?: string): {
16
+ type: CSharpType;
17
+ value?: CSharpValue;
18
+ };
19
+ export declare function getKnownType(program: Program, type: Type): CSharpType | undefined;
20
+ export declare function getCSharpTypeForIntrinsic(program: Program, type: IntrinsicType): {
21
+ type: CSharpType;
22
+ value?: CSharpValue;
23
+ } | undefined;
24
+ export type ExtendedIntrinsicScalarName = IntrinsicScalarName | "unixTimestamp32";
25
+ export declare function getCSharpTypeForStdScalars(program: Program, scalar: Scalar & {
26
+ name: ExtendedIntrinsicScalarName;
27
+ }): CSharpType;
28
+ export declare function isValueType(program: Program, type: Type): boolean;
29
+ export declare function formatComment(text: string, lineLength?: number, lineEnd?: string): string;
30
+ export declare function getCSharpIdentifier(name: string, context?: NameCasingType, checkReserved?: boolean): string;
31
+ export declare function ensureCSharpIdentifier(program: Program, target: Type, name: string, context?: NameCasingType): string;
32
+ export declare function getModelAttributes(program: Program, entity: Type, cSharpName?: string): Attribute[];
33
+ export declare function getModelDeclarationName(program: Program, model: Model, defaultSuffix: string): string;
34
+ export declare function getModelInstantiationName(program: Program, model: Model, name: string): string;
35
+ export declare class ModelInfo {
36
+ visited: Model[];
37
+ getAllProperties(program: Program, model: Model): ModelProperty[] | undefined;
38
+ filterAllProperties(program: Program, model: Model, filter: (p: ModelProperty) => boolean): ModelProperty | undefined;
39
+ }
40
+ export declare function getPropertySource(program: Program, property: ModelProperty): Model | undefined;
41
+ export declare function getSourceModel(program: Program, model: Model): Model | undefined;
42
+ export declare class HttpMetadata {
43
+ resolveLogicalResponseType(program: Program, response: HttpOperationResponse): Type;
44
+ }
45
+ export declare function getOperationAttributes(program: Program, entity: Type): Attribute[];
46
+ export declare function transformInvalidIdentifier(name: string): string;
47
+ export declare function getOperationVerbDecorator(operation: HttpOperation): string;
48
+ export declare function hasNonMetadataProperties(program: Program, model: Model): boolean;
49
+ export declare function ensureCleanDirectory(program: Program, targetPath: string): Promise<void>;
50
+ export declare function isValidCSharpIdentifier(identifier: string, isNamespace?: boolean): boolean;
51
+ export declare function replaceCSharpReservedWord(identifier: string, context?: NameCasingType): string;
52
+ export declare function getValidChar(target: string, position: number): string;
53
+ export declare function getCSharpStatusCode(entry: HttpStatusCodesEntry): string | undefined;
54
+ export declare function isEmptyResponseModel(program: Program, model: Type): boolean;
55
+ export declare function isContentTypeHeader(program: Program, parameter: ModelProperty): boolean;
56
+ export declare function isValidParameter(program: Program, parameter: ModelProperty): boolean;
57
+ /** Determine whether the given parameter is http metadata */
58
+ export declare function isHttpMetadata(program: Program, property: ModelProperty): boolean;
59
+ export declare function getBusinessLogicCallParameters(parameters: CSharpOperationParameter[]): EmitterOutput<string>;
60
+ export declare function getBusinessLogicDeclParameters(parameters: CSharpOperationParameter[]): EmitterOutput<string>;
61
+ export declare function getHttpDeclParameters(parameters: CSharpOperationParameter[]): EmitterOutput<string>;
62
+ export declare function getBusinessLogicCallParameter(param: CSharpOperationParameter): EmitterOutput<string>;
63
+ export declare function getBusinessLogicSignatureParameter(param: CSharpOperationParameter): EmitterOutput<string>;
64
+ export declare function getHttpSignatureParameter(param: CSharpOperationParameter): EmitterOutput<string>;
65
+ export declare function getHttpParameterDecorator(parameter: CSharpOperationParameter): EmitterOutput<string>;
66
+ export declare function getParameterKind(parameter: HttpOperationParameter): HttpRequestParameterKind;
67
+ export declare function canHaveDefault(program: Program, type: Type): boolean;
68
+ export interface EmittedTypeInfo {
69
+ typeReference: EmitterOutput<string>;
70
+ nullableType: boolean;
71
+ defaultValue?: string | boolean;
72
+ }
73
+ export declare class CSharpOperationHelpers {
74
+ #private;
75
+ constructor(inEmitter: AssetEmitter<string, CSharpServiceEmitterOptions>);
76
+ emitter: AssetEmitter<string, CSharpServiceEmitterOptions>;
77
+ getResponse(program: Program, operation: HttpOperation): CSharpType;
78
+ getParameters(program: Program, operation: HttpOperation): CSharpOperationParameter[];
79
+ getDefaultValue(program: Program, tsType: Type, defaultValue: Value | undefined): string | number | undefined;
80
+ getTypeInfo(program: Program, tsType: Type, modelProperty?: ModelProperty): EmittedTypeInfo;
81
+ getUnionInfo(program: Program, union: Union): EmittedTypeInfo;
82
+ }
83
+ export declare function getExplicitBodyParameters(program: Program, httpOperation: HttpOperation): CSharpOperationParameter[] | undefined;
84
+ export declare function findNumericType(type: NumericLiteral): [string, string];
85
+ export declare function isStringEnumType(program: Program, union: Union): boolean;
86
+ export declare function coalesceUnionTypes(program: Program, union: Union): CSharpType;
87
+ export declare function getNonNullableTsType(union: Union): {
88
+ type: Type;
89
+ nullable: boolean;
90
+ } | undefined;
91
+ export declare function coalesceTsTypes(program: Program, types: Type[]): [CSharpType, boolean];
92
+ export declare function isRecord(type: Type): boolean;
93
+ export declare function getFreePort(minPort: number, maxPort: number, tries?: number): Promise<number>;
94
+ export interface OpenApiConfig {
95
+ emitted: boolean;
96
+ outputDir?: string;
97
+ fileName?: any;
98
+ options?: Record<string, unknown> & {
99
+ "emitter-output-dir"?: string;
100
+ };
101
+ }
102
+ export declare function getOpenApiConfig(program: Program): Promise<OpenApiConfig>;
103
+ export declare function getStatusCode(program: Program, model: Model): {
104
+ name: string;
105
+ value: string;
106
+ requiresConstructorArgument: boolean;
107
+ } | {
108
+ value: string | number;
109
+ name?: undefined;
110
+ requiresConstructorArgument?: undefined;
111
+ } | undefined;
112
+ export declare function isByteType(type: Type): boolean;
113
+ export declare function getImports(scope?: Scope<string>, visited?: Set<Scope<string>>): string[];
114
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}