@alloy-js/csharp 0.18.0-dev.23 → 0.18.0-dev.3

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 (160) hide show
  1. package/dist/src/components/Class.d.ts +26 -0
  2. package/dist/src/components/Class.d.ts.map +1 -0
  3. package/dist/src/components/{ClassDeclaration.js → Class.js} +38 -64
  4. package/dist/src/components/ClassMethod.d.ts +5 -26
  5. package/dist/src/components/ClassMethod.d.ts.map +1 -1
  6. package/dist/src/components/ClassMethod.js +9 -27
  7. package/dist/src/components/Enum.d.ts +15 -0
  8. package/dist/src/components/Enum.d.ts.map +1 -0
  9. package/dist/src/components/{EnumDeclaration.js → Enum.js} +5 -25
  10. package/dist/src/components/Parameters.d.ts +13 -0
  11. package/dist/src/components/Parameters.d.ts.map +1 -0
  12. package/dist/src/components/Parameters.js +34 -0
  13. package/dist/src/components/SourceFile.d.ts.map +1 -1
  14. package/dist/src/components/SourceFile.js +0 -1
  15. package/dist/src/components/index.d.ts +4 -13
  16. package/dist/src/components/index.d.ts.map +1 -1
  17. package/dist/src/components/index.js +5 -14
  18. package/dist/src/components/stc/index.d.ts +2 -2
  19. package/dist/src/components/stc/index.d.ts.map +1 -1
  20. package/dist/src/components/stc/index.js +2 -2
  21. package/dist/src/modifiers.d.ts +4 -10
  22. package/dist/src/modifiers.d.ts.map +1 -1
  23. package/dist/src/modifiers.js +32 -9
  24. package/dist/src/name-policy.d.ts +1 -1
  25. package/dist/src/name-policy.d.ts.map +1 -1
  26. package/dist/src/name-policy.js +0 -2
  27. package/dist/test/class-method.test.js +14 -37
  28. package/dist/test/class.test.d.ts +2 -0
  29. package/dist/test/class.test.d.ts.map +1 -0
  30. package/dist/test/class.test.js +298 -0
  31. package/dist/test/enum.test.js +12 -12
  32. package/dist/test/namespace.test.js +8 -8
  33. package/dist/test/projectdirectory.test.d.ts +2 -0
  34. package/dist/test/projectdirectory.test.d.ts.map +1 -0
  35. package/dist/test/{project-directory.test.js → projectdirectory.test.js} +8 -8
  36. package/dist/test/sourcefile.test.js +4 -4
  37. package/dist/test/using.test.js +9 -9
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +3 -4
  40. package/src/components/Class.tsx +149 -0
  41. package/src/components/ClassMethod.tsx +15 -54
  42. package/src/components/{EnumDeclaration.tsx → Enum.tsx} +6 -30
  43. package/src/components/Parameters.tsx +51 -0
  44. package/src/components/SourceFile.tsx +0 -1
  45. package/src/components/index.ts +4 -13
  46. package/src/components/stc/index.ts +2 -2
  47. package/src/modifiers.ts +42 -25
  48. package/src/name-policy.ts +0 -5
  49. package/temp/api.json +715 -5284
  50. package/test/class-method.test.tsx +14 -24
  51. package/test/class.test.tsx +292 -0
  52. package/test/enum.test.tsx +11 -11
  53. package/test/namespace.test.tsx +4 -4
  54. package/test/{project-directory.test.tsx → projectdirectory.test.tsx} +4 -4
  55. package/test/sourcefile.test.tsx +2 -2
  56. package/test/using.test.tsx +9 -9
  57. package/vitest.config.ts +0 -3
  58. package/dist/src/components/ClassDeclaration.d.ts +0 -74
  59. package/dist/src/components/ClassDeclaration.d.ts.map +0 -1
  60. package/dist/src/components/EnumDeclaration.d.ts +0 -34
  61. package/dist/src/components/EnumDeclaration.d.ts.map +0 -1
  62. package/dist/src/components/doc/comment.d.ts +0 -70
  63. package/dist/src/components/doc/comment.d.ts.map +0 -1
  64. package/dist/src/components/doc/comment.js +0 -88
  65. package/dist/src/components/doc/comment.test.d.ts +0 -2
  66. package/dist/src/components/doc/comment.test.d.ts.map +0 -1
  67. package/dist/src/components/doc/comment.test.js +0 -348
  68. package/dist/src/components/doc/from-markdown.d.ts +0 -6
  69. package/dist/src/components/doc/from-markdown.d.ts.map +0 -1
  70. package/dist/src/components/doc/from-markdown.js +0 -58
  71. package/dist/src/components/doc/from-markdown.test.d.ts +0 -2
  72. package/dist/src/components/doc/from-markdown.test.d.ts.map +0 -1
  73. package/dist/src/components/doc/from-markdown.test.js +0 -83
  74. package/dist/src/components/interface/declaration.d.ts +0 -47
  75. package/dist/src/components/interface/declaration.d.ts.map +0 -1
  76. package/dist/src/components/interface/declaration.js +0 -77
  77. package/dist/src/components/interface/declaration.test.d.ts +0 -2
  78. package/dist/src/components/interface/declaration.test.d.ts.map +0 -1
  79. package/dist/src/components/interface/declaration.test.js +0 -153
  80. package/dist/src/components/interface/method.d.ts +0 -32
  81. package/dist/src/components/interface/method.d.ts.map +0 -1
  82. package/dist/src/components/interface/method.js +0 -68
  83. package/dist/src/components/interface/method.test.d.ts +0 -2
  84. package/dist/src/components/interface/method.test.d.ts.map +0 -1
  85. package/dist/src/components/interface/method.test.js +0 -279
  86. package/dist/src/components/interface/property.d.ts +0 -38
  87. package/dist/src/components/interface/property.d.ts.map +0 -1
  88. package/dist/src/components/interface/property.js +0 -67
  89. package/dist/src/components/interface/property.test.d.ts +0 -2
  90. package/dist/src/components/interface/property.test.d.ts.map +0 -1
  91. package/dist/src/components/interface/property.test.js +0 -165
  92. package/dist/src/components/parameters/parameters.d.ts +0 -19
  93. package/dist/src/components/parameters/parameters.d.ts.map +0 -1
  94. package/dist/src/components/parameters/parameters.js +0 -43
  95. package/dist/src/components/property/property.d.ts +0 -62
  96. package/dist/src/components/property/property.d.ts.map +0 -1
  97. package/dist/src/components/property/property.js +0 -70
  98. package/dist/src/components/property/property.test.d.ts +0 -2
  99. package/dist/src/components/property/property.test.d.ts.map +0 -1
  100. package/dist/src/components/property/property.test.js +0 -218
  101. package/dist/src/components/record/declaration.d.ts +0 -35
  102. package/dist/src/components/record/declaration.d.ts.map +0 -1
  103. package/dist/src/components/record/declaration.js +0 -90
  104. package/dist/src/components/record/declaration.test.d.ts +0 -2
  105. package/dist/src/components/record/declaration.test.d.ts.map +0 -1
  106. package/dist/src/components/record/declaration.test.js +0 -94
  107. package/dist/src/components/type-parameters/type-parameter-constraints.d.ts +0 -8
  108. package/dist/src/components/type-parameters/type-parameter-constraints.d.ts.map +0 -1
  109. package/dist/src/components/type-parameters/type-parameter-constraints.js +0 -44
  110. package/dist/src/components/type-parameters/type-parameter-constraints.test.d.ts +0 -2
  111. package/dist/src/components/type-parameters/type-parameter-constraints.test.d.ts.map +0 -1
  112. package/dist/src/components/type-parameters/type-parameter-constraints.test.js +0 -67
  113. package/dist/src/components/type-parameters/type-parameter.d.ts +0 -20
  114. package/dist/src/components/type-parameters/type-parameter.d.ts.map +0 -1
  115. package/dist/src/components/type-parameters/type-parameter.js +0 -22
  116. package/dist/src/components/type-parameters/type-parameters.d.ts +0 -17
  117. package/dist/src/components/type-parameters/type-parameters.d.ts.map +0 -1
  118. package/dist/src/components/type-parameters/type-parameters.js +0 -54
  119. package/dist/src/components/type-parameters/type-parameters.test.d.ts +0 -2
  120. package/dist/src/components/type-parameters/type-parameters.test.d.ts.map +0 -1
  121. package/dist/src/components/type-parameters/type-parameters.test.js +0 -48
  122. package/dist/src/components/var/declaration.d.ts +0 -35
  123. package/dist/src/components/var/declaration.d.ts.map +0 -1
  124. package/dist/src/components/var/declaration.js +0 -40
  125. package/dist/src/components/var/declaration.test.d.ts +0 -2
  126. package/dist/src/components/var/declaration.test.d.ts.map +0 -1
  127. package/dist/src/components/var/declaration.test.js +0 -73
  128. package/dist/test/class-declaration.test.d.ts +0 -2
  129. package/dist/test/class-declaration.test.d.ts.map +0 -1
  130. package/dist/test/class-declaration.test.js +0 -463
  131. package/dist/test/project-directory.test.d.ts +0 -2
  132. package/dist/test/project-directory.test.d.ts.map +0 -1
  133. package/dist/test/vitest.setup.d.ts +0 -2
  134. package/dist/test/vitest.setup.d.ts.map +0 -1
  135. package/dist/test/vitest.setup.js +0 -1
  136. package/src/components/ClassDeclaration.tsx +0 -213
  137. package/src/components/doc/comment.test.tsx +0 -337
  138. package/src/components/doc/comment.tsx +0 -152
  139. package/src/components/doc/from-markdown.test.tsx +0 -103
  140. package/src/components/doc/from-markdown.tsx +0 -58
  141. package/src/components/interface/declaration.test.tsx +0 -143
  142. package/src/components/interface/declaration.tsx +0 -105
  143. package/src/components/interface/method.test.tsx +0 -278
  144. package/src/components/interface/method.tsx +0 -102
  145. package/src/components/interface/property.test.tsx +0 -144
  146. package/src/components/interface/property.tsx +0 -107
  147. package/src/components/parameters/parameters.tsx +0 -74
  148. package/src/components/property/property.test.tsx +0 -188
  149. package/src/components/property/property.tsx +0 -152
  150. package/src/components/record/declaration.test.tsx +0 -73
  151. package/src/components/record/declaration.tsx +0 -109
  152. package/src/components/type-parameters/type-parameter-constraints.test.tsx +0 -93
  153. package/src/components/type-parameters/type-parameter-constraints.tsx +0 -46
  154. package/src/components/type-parameters/type-parameter.tsx +0 -35
  155. package/src/components/type-parameters/type-parameters.test.tsx +0 -46
  156. package/src/components/type-parameters/type-parameters.tsx +0 -63
  157. package/src/components/var/declaration.test.tsx +0 -59
  158. package/src/components/var/declaration.tsx +0 -47
  159. package/test/class-declaration.test.tsx +0 -418
  160. package/test/vitest.setup.ts +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnumDeclaration.d.ts","sourceRoot":"","sources":["../../../src/components/EnumDeclaration.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACL,eAAe,EAGhB,MAAM,iBAAiB,CAAC;AAOzB,MAAM,WAAW,oBAAqB,SAAQ,eAAe;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,iBAgC1D;AAGD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;CACtB;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,iBAmBhD"}
@@ -1,70 +0,0 @@
1
- import { Children } from "@alloy-js/core";
2
- export interface DocCommentProps {
3
- children: Children;
4
- }
5
- export declare function DocComment(props: DocCommentProps): Children;
6
- export interface DocWhenProps {
7
- doc: Children | undefined;
8
- }
9
- /** Conditionally render the given doc in a <DocComment /> component and tail with a line */
10
- export declare function DocWhen(props: DocWhenProps): Children;
11
- export interface DocCommentTagProps {
12
- children: Children;
13
- }
14
- export declare function makeDocCommentTag(name: string): (props: DocCommentProps) => Children;
15
- export declare function makeInlineDocCommentTag(name: string): (props: DocCommentProps) => string;
16
- export declare const DocSummary: (props: DocCommentProps) => Children;
17
- export declare const DocCode: (props: DocCommentProps) => Children;
18
- export declare const DocC: (props: DocCommentProps) => string;
19
- export declare const DocExample: (props: DocCommentProps) => Children;
20
- export declare const DocException: (props: DocCommentProps) => Children;
21
- export interface DocIncludeProps {
22
- /** is the file name of an external XML file. The file name is interpreted relative to the file that contains the include tag. */
23
- file: string;
24
- /** is an XPath expression that selects some of the XML in the external XML file. */
25
- path?: string;
26
- }
27
- export declare const DocInclude: (props: DocIncludeProps) => string;
28
- export interface DocParamProps {
29
- name: string;
30
- children: Children;
31
- }
32
- export declare const DocParam: (props: DocParamProps) => Children;
33
- export interface DocTypeParamProps {
34
- name: string;
35
- children: Children;
36
- }
37
- export declare const DocTypeParam: (props: DocTypeParamProps) => Children;
38
- export declare const DocReturns: (props: DocCommentProps) => Children;
39
- export declare const DocRemarks: (props: DocCommentProps) => Children;
40
- export declare const DocValue: (props: DocCommentProps) => Children;
41
- export declare const DocPermission: (props: DocCommentProps) => Children;
42
- export declare const DocDescription: (props: DocCommentProps) => Children;
43
- export declare const DocPara: (props: DocCommentProps) => Children;
44
- export interface DocSeeProps {
45
- cref?: string;
46
- href?: string;
47
- langword?: string;
48
- children?: Children;
49
- }
50
- export declare const DocSee: (props: DocSeeProps) => Children;
51
- export interface DocSeeAlsoProps {
52
- cref?: string;
53
- href?: string;
54
- children?: Children;
55
- }
56
- export declare const DocSeeAlso: (props: DocSeeAlsoProps) => Children;
57
- export interface DocParamRefProps {
58
- name: string;
59
- }
60
- export declare const DocParamRef: (props: DocParamRefProps) => string;
61
- export interface DocTypeParamRefProps {
62
- name: string;
63
- }
64
- export declare const DocTypeParamRef: (props: DocTypeParamRefProps) => string;
65
- export interface DocListProps {
66
- type?: "bullet" | "number";
67
- items: Children[];
68
- }
69
- export declare function DocList(props: DocListProps): Children;
70
- //# sourceMappingURL=comment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../../../src/components/doc/comment.tsx"],"names":[],"mappings":"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"}
@@ -1,88 +0,0 @@
1
- import { createComponent as _$createComponent, createIntrinsic as _$createIntrinsic, memo as _$memo } from "@alloy-js/core/jsx-runtime";
2
- import { code, For, Indent, List, Prose, Show } from "@alloy-js/core";
3
- export function DocComment(props) {
4
- return ["/// ", _$createIntrinsic("align", {
5
- string: "/// ",
6
- get children() {
7
- return _$createComponent(List, {
8
- get children() {
9
- return props.children;
10
- }
11
- });
12
- }
13
- })];
14
- }
15
- /** Conditionally render the given doc in a <DocComment /> component and tail with a line */
16
- export function DocWhen(props) {
17
- return _$createComponent(Show, {
18
- get when() {
19
- return Boolean(props.doc);
20
- },
21
- get children() {
22
- return [_$createComponent(DocComment, {
23
- get children() {
24
- return props.doc;
25
- }
26
- }), _$createIntrinsic("hbr", {})];
27
- }
28
- });
29
- }
30
- export function makeDocCommentTag(name) {
31
- return function DocCommentTag(props) {
32
- return _$createComponent(Prose, {
33
- get children() {
34
- return code`
35
- <${name}>
36
- ${props.children}
37
- </${name}>`;
38
- }
39
- });
40
- };
41
- }
42
- export function makeInlineDocCommentTag(name) {
43
- return function DocCommentTag(props) {
44
- return `<${name}>${props.children}</${name}>`;
45
- };
46
- }
47
- export const DocSummary = makeDocCommentTag("summary");
48
- export const DocCode = makeDocCommentTag("code");
49
- export const DocC = makeInlineDocCommentTag("c");
50
- export const DocExample = makeDocCommentTag("example");
51
- export const DocException = makeDocCommentTag("exception");
52
- export const DocInclude = props => {
53
- return `<include file="${props.file}" path="${props.path}" />`;
54
- };
55
- export const DocParam = props => code`<param name="${props.name}">${props.children}</param>`;
56
- export const DocTypeParam = props => code`<typeparam name="${props.name}">${props.children}</typeparam>`;
57
- export const DocReturns = makeDocCommentTag("returns");
58
- export const DocRemarks = makeDocCommentTag("remarks");
59
- export const DocValue = makeDocCommentTag("value");
60
- export const DocPermission = makeDocCommentTag("permission");
61
- export const DocDescription = makeDocCommentTag("description");
62
- export const DocPara = makeDocCommentTag("para");
63
- export const DocSee = props => {
64
- const attributes = [props.cref ? `cref="${props.cref}"` : undefined, props.href ? `href="${props.href}"` : undefined, props.langword ? `langword="${props.langword}"` : undefined].filter(Boolean).join(" ");
65
- return code`<see ${attributes}${props.children ? code`>${props.children}</see>` : " />"}`;
66
- };
67
- export const DocSeeAlso = props => {
68
- const attributes = [props.cref ? `cref="${props.cref}"` : undefined, props.href ? `href="${props.href}"` : undefined].filter(Boolean).join(" ");
69
- return code`<seealso ${attributes}${props.children ? code`>${props.children}</seealso>` : " />"}`;
70
- };
71
- export const DocParamRef = props => `<paramref name="${props.name}" />`;
72
- export const DocTypeParamRef = props => `<typeparamref name="${props.name}" />`;
73
- export function DocList(props) {
74
- return _$createComponent(Prose, {
75
- get children() {
76
- return [_$memo(() => `<list type="${props.type ?? "bullet"}">`), _$createComponent(Indent, {
77
- get children() {
78
- return _$createComponent(For, {
79
- get each() {
80
- return props.items;
81
- },
82
- children: item => code`<item><description>${item}</description></item>`
83
- });
84
- }
85
- }), _$createIntrinsic("hbr", {}), `</list>`];
86
- }
87
- });
88
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=comment.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comment.test.d.ts","sourceRoot":"","sources":["../../../../src/components/doc/comment.test.tsx"],"names":[],"mappings":""}
@@ -1,348 +0,0 @@
1
- import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { describe, expect, it } from "vitest";
3
- import { DocC, DocCode, DocComment, DocDescription, DocExample, DocException, DocInclude, DocList, DocPara, DocParam, DocParamRef, DocPermission, DocRemarks, DocReturns, DocSee, DocSeeAlso, DocSummary, DocTypeParam, DocTypeParamRef, DocValue } from "./comment.js";
4
- it("define summary", () => {
5
- expect(_$createComponent(DocComment, {
6
- get children() {
7
- return _$createComponent(DocSummary, {
8
- children: "This is a sample doc comment"
9
- });
10
- }
11
- })).toRenderTo(`
12
- /// <summary>
13
- /// This is a sample doc comment
14
- /// </summary>
15
- `);
16
- });
17
- it("define code", () => {
18
- expect(_$createComponent(DocComment, {
19
- get children() {
20
- return _$createComponent(DocCode, {
21
- children: "code sample"
22
- });
23
- }
24
- })).toRenderTo(`
25
- /// <code>
26
- /// code sample
27
- /// </code>
28
- `);
29
- });
30
- it("define c", () => {
31
- expect(_$createComponent(DocComment, {
32
- get children() {
33
- return _$createComponent(DocC, {
34
- children: "inline code"
35
- });
36
- }
37
- })).toRenderTo(`
38
- /// <c>inline code</c>
39
- `);
40
- });
41
- it("define example", () => {
42
- expect(_$createComponent(DocComment, {
43
- get children() {
44
- return _$createComponent(DocExample, {
45
- children: "example usage"
46
- });
47
- }
48
- })).toRenderTo(`
49
- /// <example>
50
- /// example usage
51
- /// </example>
52
- `);
53
- });
54
- it("define exception", () => {
55
- expect(_$createComponent(DocComment, {
56
- get children() {
57
- return _$createComponent(DocException, {
58
- children: "exception info"
59
- });
60
- }
61
- })).toRenderTo(`
62
- /// <exception>
63
- /// exception info
64
- /// </exception>
65
- `);
66
- });
67
- it("define include", () => {
68
- expect(_$createComponent(DocComment, {
69
- get children() {
70
- return _$createComponent(DocInclude, {
71
- file: "external.xml",
72
- path: "/doc/summary"
73
- });
74
- }
75
- })).toRenderTo(`
76
- /// <include file="external.xml" path="/doc/summary" />
77
- `);
78
- });
79
- it("define param", () => {
80
- expect(_$createComponent(DocComment, {
81
- get children() {
82
- return _$createComponent(DocParam, {
83
- name: "x",
84
- children: "parameter x"
85
- });
86
- }
87
- })).toRenderTo(`
88
- /// <param name="x">parameter x</param>
89
- `);
90
- });
91
- it("define typeparam", () => {
92
- expect(_$createComponent(DocComment, {
93
- get children() {
94
- return _$createComponent(DocTypeParam, {
95
- name: "T",
96
- children: "type parameter T"
97
- });
98
- }
99
- })).toRenderTo(`
100
- /// <typeparam name="T">type parameter T</typeparam>
101
- `);
102
- });
103
- it("define returns", () => {
104
- expect(_$createComponent(DocComment, {
105
- get children() {
106
- return _$createComponent(DocReturns, {
107
- children: "return value"
108
- });
109
- }
110
- })).toRenderTo(`
111
- /// <returns>
112
- /// return value
113
- /// </returns>
114
- `);
115
- });
116
- it("define remarks", () => {
117
- expect(_$createComponent(DocComment, {
118
- get children() {
119
- return _$createComponent(DocRemarks, {
120
- children: "remarks here"
121
- });
122
- }
123
- })).toRenderTo(`
124
- /// <remarks>
125
- /// remarks here
126
- /// </remarks>
127
- `);
128
- });
129
- it("define value", () => {
130
- expect(_$createComponent(DocComment, {
131
- get children() {
132
- return _$createComponent(DocValue, {
133
- children: "property value"
134
- });
135
- }
136
- })).toRenderTo(`
137
- /// <value>
138
- /// property value
139
- /// </value>
140
- `);
141
- });
142
- it("define permission", () => {
143
- expect(_$createComponent(DocComment, {
144
- get children() {
145
- return _$createComponent(DocPermission, {
146
- children: "permission info"
147
- });
148
- }
149
- })).toRenderTo(`
150
- /// <permission>
151
- /// permission info
152
- /// </permission>
153
- `);
154
- });
155
- it("define list", () => {
156
- expect(_$createComponent(DocComment, {
157
- get children() {
158
- return _$createComponent(DocList, {
159
- type: "bullet",
160
- items: ["item 1", "item 2", "item 3"]
161
- });
162
- }
163
- })).toRenderTo(`
164
- /// <list type="bullet">
165
- /// <item><description>item 1</description></item>
166
- /// <item><description>item 2</description></item>
167
- /// <item><description>item 3</description></item>
168
- /// </list>
169
- `);
170
- });
171
- it("define description", () => {
172
- expect(_$createComponent(DocComment, {
173
- get children() {
174
- return _$createComponent(DocDescription, {
175
- children: "description content"
176
- });
177
- }
178
- })).toRenderTo(`
179
- /// <description>
180
- /// description content
181
- /// </description>
182
- `);
183
- });
184
- it("define para", () => {
185
- expect(_$createComponent(DocComment, {
186
- get children() {
187
- return _$createComponent(DocPara, {
188
- children: "paragraph content"
189
- });
190
- }
191
- })).toRenderTo(`
192
- /// <para>
193
- /// paragraph content
194
- /// </para>
195
- `);
196
- });
197
- describe("define see", () => {
198
- it("with cref", () => {
199
- expect(_$createComponent(DocComment, {
200
- get children() {
201
- return _$createComponent(DocSee, {
202
- cref: "T:MyType"
203
- });
204
- }
205
- })).toRenderTo(`
206
- /// <see cref="T:MyType" />
207
- `);
208
- });
209
- it("with href", () => {
210
- expect(_$createComponent(DocComment, {
211
- get children() {
212
- return _$createComponent(DocSee, {
213
- href: "https://github.com"
214
- });
215
- }
216
- })).toRenderTo(`
217
- /// <see href="https://github.com" />
218
- `);
219
- });
220
- it("with href and children", () => {
221
- expect(_$createComponent(DocComment, {
222
- get children() {
223
- return _$createComponent(DocSee, {
224
- href: "https://github.com",
225
- children: "GitHub"
226
- });
227
- }
228
- })).toRenderTo(`
229
- /// <see href="https://github.com">GitHub</see>
230
- `);
231
- });
232
- it("with langword", () => {
233
- expect(_$createComponent(DocComment, {
234
- get children() {
235
- return _$createComponent(DocSee, {
236
- langword: "keyword"
237
- });
238
- }
239
- })).toRenderTo(`
240
- /// <see langword="keyword" />
241
- `);
242
- });
243
- });
244
- describe("define seealso", () => {
245
- it("with cref", () => {
246
- expect(_$createComponent(DocComment, {
247
- get children() {
248
- return _$createComponent(DocSeeAlso, {
249
- cref: "T:OtherType"
250
- });
251
- }
252
- })).toRenderTo(`
253
- /// <seealso cref="T:OtherType" />
254
- `);
255
- });
256
- it("with href", () => {
257
- expect(_$createComponent(DocComment, {
258
- get children() {
259
- return _$createComponent(DocSeeAlso, {
260
- href: "https://github.com"
261
- });
262
- }
263
- })).toRenderTo(`
264
- /// <seealso href="https://github.com" />
265
- `);
266
- });
267
- it("with children", () => {
268
- expect(_$createComponent(DocComment, {
269
- get children() {
270
- return _$createComponent(DocSeeAlso, {
271
- cref: "T:OtherType",
272
- children: "OtherType"
273
- });
274
- }
275
- })).toRenderTo(`
276
- /// <seealso cref="T:OtherType">OtherType</seealso>
277
- `);
278
- });
279
- });
280
- it("define paramref", () => {
281
- expect(_$createComponent(DocComment, {
282
- get children() {
283
- return _$createComponent(DocParamRef, {
284
- name: "x"
285
- });
286
- }
287
- })).toRenderTo(`
288
- /// <paramref name="${"x"}" />
289
- `);
290
- });
291
- it("define typeparamref", () => {
292
- expect(_$createComponent(DocComment, {
293
- get children() {
294
- return _$createComponent(DocTypeParamRef, {
295
- name: "T"
296
- });
297
- }
298
- })).toRenderTo(`
299
- /// <typeparamref name="T" />
300
- `);
301
- });
302
- it("wrap long summary", () => {
303
- expect(_$createComponent(DocComment, {
304
- get children() {
305
- return _$createComponent(DocSummary, {
306
- children: "This is a very long sample doc comment that exceeds the typical line length limit and should be wrapped appropriately in the generated documentation."
307
- });
308
- }
309
- })).toRenderTo(`
310
- /// <summary>
311
- /// This is a very long sample doc comment that exceeds the typical line length limit
312
- /// and should be wrapped appropriately in the generated documentation.
313
- /// </summary>
314
- `);
315
- });
316
- it("combine multiple tags", () => {
317
- expect(_$createComponent(DocComment, {
318
- get children() {
319
- return [_$createComponent(DocSummary, {
320
- children: "This operator determines whether two Points have the same location."
321
- }), _$createComponent(DocParam, {
322
- name: "p1",
323
- children: "The first Point to be compared."
324
- }), _$createComponent(DocParam, {
325
- name: "p2",
326
- children: "The second Point to be compared."
327
- }), _$createComponent(DocReturns, {
328
- children: "True if the Points do not have the same location and the exact same type; otherwise, false."
329
- }), _$createComponent(DocSeeAlso, {
330
- cref: "Equals"
331
- }), _$createComponent(DocSeeAlso, {
332
- cref: "operator=="
333
- })];
334
- }
335
- })).toRenderTo(`
336
- /// <summary>
337
- /// This operator determines whether two Points have the same location.
338
- /// </summary>
339
- /// <param name="p1">The first Point to be compared.</param>
340
- /// <param name="p2">The second Point to be compared.</param>
341
- /// <returns>
342
- /// True if the Points do not have the same location and the exact same type; otherwise,
343
- /// false.
344
- /// </returns>
345
- /// <seealso cref="Equals" />
346
- /// <seealso cref="operator==" />
347
- `);
348
- });
@@ -1,6 +0,0 @@
1
- export interface DocFromMarkdownProps {
2
- markdown: string;
3
- }
4
- /** Convert markdown to a Csharp doc comment */
5
- export declare function DocFromMarkdown(props: DocFromMarkdownProps): import("@alloy-js/core/jsx-runtime").Children;
6
- //# sourceMappingURL=from-markdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"from-markdown.d.ts","sourceRoot":"","sources":["../../../../src/components/doc/from-markdown.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,iDAG1D"}
@@ -1,58 +0,0 @@
1
- import { memo as _$memo, createComponent as _$createComponent, createIntrinsic as _$createIntrinsic } from "@alloy-js/core/jsx-runtime";
2
- import { marked } from "marked";
3
- import { DocC, DocCode, DocList, DocSee } from "./comment.js";
4
- /** Convert markdown to a Csharp doc comment */
5
- export function DocFromMarkdown(props) {
6
- const tokens = marked.lexer(props.markdown);
7
- return renderTokens(tokens);
8
- }
9
- function renderTokens(tokens) {
10
- return [_$memo(() => tokens.map((token, index) => [_$createComponent(DocFromMarkedToken, {
11
- token: token
12
- }), _$memo(() => _$memo(() => !!(token.type === "paragraph" && index !== tokens.length - 1))() && _$createIntrinsic("br", {}))]))];
13
- }
14
- function DocFromMarkedToken(props) {
15
- const {
16
- token
17
- } = props;
18
- switch (token.type) {
19
- case "paragraph":
20
- return token.tokens ? renderTokens(token.tokens) : null;
21
- case "code":
22
- return _$createComponent(DocCode, {
23
- get children() {
24
- return token.text;
25
- }
26
- });
27
- case "codespan":
28
- return _$createComponent(DocC, {
29
- get children() {
30
- return token.text;
31
- }
32
- });
33
- case "list":
34
- return _$createComponent(DocList, {
35
- get type() {
36
- return token.ordered ? "number" : "bullet";
37
- },
38
- get items() {
39
- return token.items.map(x => [_$memo(() => renderTokens(x.tokens))]);
40
- }
41
- });
42
- case "link":
43
- return _$createComponent(DocSee, {
44
- get href() {
45
- return token.href;
46
- },
47
- get children() {
48
- return _$memo(() => !!token.tokens)() && renderTokens(token.tokens);
49
- }
50
- });
51
- case "strong":
52
- case "em":
53
- return token.text;
54
- case "text":
55
- default:
56
- return token.raw;
57
- }
58
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=from-markdown.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"from-markdown.test.d.ts","sourceRoot":"","sources":["../../../../src/components/doc/from-markdown.test.tsx"],"names":[],"mappings":""}
@@ -1,83 +0,0 @@
1
- import { createComponent as _$createComponent } from "@alloy-js/core/jsx-runtime";
2
- import { d } from "@alloy-js/core/testing";
3
- import { describe, expect, it } from "vitest";
4
- import { DocFromMarkdown } from "./from-markdown.js";
5
- it("convert code block to <code>", () => {
6
- expect(_$createComponent(DocFromMarkdown, {
7
- markdown: d`
8
- Some markdown with code
9
- \`\`\`csharp
10
- var foo = "bar";
11
- \`\`\`
12
- `
13
- })).toRenderTo(`
14
- Some markdown with code
15
- <code>
16
- var foo = "bar";
17
- </code>
18
- `);
19
- });
20
- it("convert inline code block to <c>", () => {
21
- expect(_$createComponent(DocFromMarkdown, {
22
- markdown: d`
23
- Some markdown with \`inline\` code
24
- `
25
- })).toRenderTo(`
26
- Some markdown with <c>inline</c> code
27
- `);
28
- });
29
- it("convert link to <see>", () => {
30
- expect(_$createComponent(DocFromMarkdown, {
31
- markdown: d`
32
- Some markdown with [link](https://example.com)
33
- `
34
- })).toRenderTo(`
35
- Some markdown with <see href="https://example.com">link</see>
36
- `);
37
- });
38
- it("convert bullet list to <list>", () => {
39
- expect(_$createComponent(DocFromMarkdown, {
40
- markdown: d`
41
- - Item 1
42
- - Item 2
43
- - Item 3
44
- `
45
- })).toRenderTo(`
46
- <list type="bullet">
47
- <item><description>Item 1</description></item>
48
- <item><description>Item 2</description></item>
49
- <item><description>Item 3</description></item>
50
- </list>
51
- `);
52
- });
53
- it("convert numbered list to <list>", () => {
54
- expect(_$createComponent(DocFromMarkdown, {
55
- markdown: d`
56
- 1. Item 1
57
- 2. Item 2
58
- 3. Item 3
59
- `
60
- })).toRenderTo(`
61
- <list type="number">
62
- <item><description>Item 1</description></item>
63
- <item><description>Item 2</description></item>
64
- <item><description>Item 3</description></item>
65
- </list>
66
- `);
67
- });
68
- describe("strip unsupported elements", () => {
69
- it("bold", () => {
70
- expect(_$createComponent(DocFromMarkdown, {
71
- markdown: d`
72
- Some markdown with **bold** text
73
- `
74
- })).toRenderTo(`Some markdown with bold text`);
75
- });
76
- it("italic", () => {
77
- expect(_$createComponent(DocFromMarkdown, {
78
- markdown: d`
79
- Some markdown with *italic* text
80
- `
81
- })).toRenderTo(`Some markdown with italic text`);
82
- });
83
- });