@powerlines/plugin-alloy 0.18.50 → 0.18.52

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 (152) hide show
  1. package/dist/core/components/index.cjs +7 -0
  2. package/dist/core/components/index.d.cts +4 -0
  3. package/dist/core/components/index.d.mts +4 -0
  4. package/dist/core/components/index.mjs +5 -0
  5. package/dist/core/components/output.cjs +2 -2
  6. package/dist/core/components/output.d.cts +23 -0
  7. package/dist/core/components/output.d.mts +23 -0
  8. package/dist/core/components/output.mjs +4 -4
  9. package/dist/core/components/single-line-comment.cjs +22 -0
  10. package/dist/core/components/single-line-comment.d.cts +22 -0
  11. package/dist/core/components/single-line-comment.d.mts +22 -0
  12. package/dist/core/components/single-line-comment.mjs +21 -0
  13. package/dist/core/components/source-file.cjs +64 -0
  14. package/dist/core/components/source-file.d.cts +32 -0
  15. package/dist/core/components/source-file.d.mts +32 -0
  16. package/dist/core/components/source-file.mjs +62 -0
  17. package/dist/core/contexts/context.cjs +50 -1
  18. package/dist/core/contexts/context.d.cts +71 -0
  19. package/dist/core/contexts/context.d.mts +71 -0
  20. package/dist/core/contexts/context.mjs +46 -2
  21. package/dist/core/contexts/index.cjs +17 -0
  22. package/dist/core/contexts/index.d.cts +3 -0
  23. package/dist/core/contexts/index.d.mts +3 -0
  24. package/dist/core/contexts/index.mjs +4 -0
  25. package/dist/core/contexts/reflection.cjs +68 -0
  26. package/dist/core/contexts/reflection.d.cts +52 -0
  27. package/dist/core/contexts/reflection.d.mts +52 -0
  28. package/dist/core/contexts/reflection.mjs +60 -0
  29. package/dist/core/index.cjs +25 -0
  30. package/dist/core/index.d.cts +7 -0
  31. package/dist/core/index.d.mts +8 -0
  32. package/dist/core/index.mjs +9 -0
  33. package/dist/helpers/capnp.cjs +276 -0
  34. package/dist/helpers/capnp.d.cts +87 -0
  35. package/dist/helpers/capnp.d.mts +87 -0
  36. package/dist/helpers/capnp.mjs +259 -0
  37. package/dist/helpers/create-builtin.cjs +19 -0
  38. package/dist/helpers/create-builtin.d.cts +15 -0
  39. package/dist/helpers/create-builtin.d.mts +15 -0
  40. package/dist/helpers/create-builtin.mjs +18 -0
  41. package/dist/helpers/index.cjs +24 -0
  42. package/dist/helpers/index.d.cts +5 -0
  43. package/dist/helpers/index.d.mts +5 -0
  44. package/dist/helpers/index.mjs +6 -0
  45. package/dist/helpers/refkey.cjs +16 -0
  46. package/dist/helpers/refkey.d.cts +13 -0
  47. package/dist/helpers/refkey.d.mts +13 -0
  48. package/dist/helpers/refkey.mjs +15 -0
  49. package/dist/helpers/typescript.cjs +46 -0
  50. package/dist/helpers/typescript.d.cts +25 -0
  51. package/dist/helpers/typescript.d.mts +25 -0
  52. package/dist/helpers/typescript.mjs +45 -0
  53. package/dist/index.cjs +2 -2
  54. package/dist/markdown/components/index.cjs +8 -0
  55. package/dist/markdown/components/index.d.cts +3 -0
  56. package/dist/markdown/components/index.d.mts +3 -0
  57. package/dist/markdown/components/index.mjs +4 -0
  58. package/dist/markdown/components/markdown-file.cjs +116 -0
  59. package/dist/markdown/components/markdown-file.d.cts +23 -0
  60. package/dist/markdown/components/markdown-file.d.mts +23 -0
  61. package/dist/markdown/components/markdown-file.mjs +114 -0
  62. package/dist/markdown/components/markdown-table.cjs +101 -0
  63. package/dist/markdown/components/markdown-table.d.cts +27 -0
  64. package/dist/markdown/components/markdown-table.d.mts +27 -0
  65. package/dist/markdown/components/markdown-table.mjs +98 -0
  66. package/dist/markdown/contexts/index.cjs +6 -0
  67. package/dist/markdown/contexts/index.d.cts +2 -0
  68. package/dist/markdown/contexts/index.d.mts +2 -0
  69. package/dist/markdown/contexts/index.mjs +3 -0
  70. package/dist/markdown/contexts/markdown-table.cjs +37 -0
  71. package/dist/markdown/contexts/markdown-table.d.cts +37 -0
  72. package/dist/markdown/contexts/markdown-table.d.mts +37 -0
  73. package/dist/markdown/contexts/markdown-table.mjs +33 -0
  74. package/dist/markdown/index.cjs +15 -0
  75. package/dist/markdown/index.d.cts +4 -0
  76. package/dist/markdown/index.d.mts +6 -0
  77. package/dist/markdown/index.mjs +7 -0
  78. package/dist/powerlines/src/types/api.d.cts +3 -3
  79. package/dist/powerlines/src/types/api.d.mts +3 -3
  80. package/dist/powerlines/src/types/build.d.cts +10 -10
  81. package/dist/powerlines/src/types/build.d.mts +10 -10
  82. package/dist/powerlines/src/types/commands.d.cts +1 -1
  83. package/dist/powerlines/src/types/commands.d.mts +1 -1
  84. package/dist/powerlines/src/types/config.d.cts +2 -2
  85. package/dist/powerlines/src/types/config.d.mts +2 -2
  86. package/dist/powerlines/src/types/context.d.cts +5 -5
  87. package/dist/powerlines/src/types/context.d.mts +5 -5
  88. package/dist/powerlines/src/types/hooks.d.cts +1 -1
  89. package/dist/powerlines/src/types/hooks.d.mts +1 -1
  90. package/dist/powerlines/src/types/plugin.d.cts +5 -5
  91. package/dist/powerlines/src/types/plugin.d.mts +5 -5
  92. package/dist/powerlines/src/types/resolved.d.cts +1 -1
  93. package/dist/powerlines/src/types/resolved.d.mts +1 -1
  94. package/dist/powerlines/src/types/unplugin.d.cts +1 -1
  95. package/dist/powerlines/src/types/unplugin.d.mts +1 -1
  96. package/dist/types/components.cjs +0 -0
  97. package/dist/types/components.d.cts +142 -0
  98. package/dist/types/components.d.mts +142 -0
  99. package/dist/types/components.mjs +1 -0
  100. package/dist/types/index.cjs +0 -0
  101. package/dist/types/index.d.cts +3 -0
  102. package/dist/types/index.d.mts +3 -0
  103. package/dist/types/index.mjs +1 -0
  104. package/dist/types/plugin.cjs +0 -0
  105. package/dist/types/plugin.d.cts +9 -1
  106. package/dist/types/plugin.d.mts +9 -1
  107. package/dist/types/plugin.mjs +1 -0
  108. package/dist/typescript/components/builtin-file.cjs +62 -0
  109. package/dist/typescript/components/builtin-file.d.cts +34 -0
  110. package/dist/typescript/components/builtin-file.d.mts +34 -0
  111. package/dist/typescript/components/builtin-file.mjs +61 -0
  112. package/dist/typescript/components/dynamic-import-statement.cjs +25 -0
  113. package/dist/typescript/components/dynamic-import-statement.d.cts +32 -0
  114. package/dist/typescript/components/dynamic-import-statement.d.mts +32 -0
  115. package/dist/typescript/components/dynamic-import-statement.mjs +24 -0
  116. package/dist/typescript/components/entry-file.cjs +41 -0
  117. package/dist/typescript/components/entry-file.d.cts +27 -0
  118. package/dist/typescript/components/entry-file.d.mts +27 -0
  119. package/dist/typescript/components/entry-file.mjs +39 -0
  120. package/dist/typescript/components/index.cjs +44 -0
  121. package/dist/typescript/components/index.d.cts +10 -0
  122. package/dist/typescript/components/index.d.mts +10 -0
  123. package/dist/typescript/components/index.mjs +11 -0
  124. package/dist/typescript/components/record-expression.cjs +12 -0
  125. package/dist/typescript/components/record-expression.d.cts +12 -0
  126. package/dist/typescript/components/record-expression.d.mts +12 -0
  127. package/dist/typescript/components/record-expression.mjs +11 -0
  128. package/dist/typescript/components/tsdoc-reflection.cjs +177 -0
  129. package/dist/typescript/components/tsdoc-reflection.d.cts +18 -0
  130. package/dist/typescript/components/tsdoc-reflection.d.mts +18 -0
  131. package/dist/typescript/components/tsdoc-reflection.mjs +174 -0
  132. package/dist/typescript/components/tsdoc.cjs +481 -0
  133. package/dist/typescript/components/tsdoc.d.cts +163 -0
  134. package/dist/typescript/components/tsdoc.d.mts +163 -0
  135. package/dist/typescript/components/tsdoc.mjs +461 -0
  136. package/dist/typescript/components/typescript-file.cjs +216 -0
  137. package/dist/typescript/components/typescript-file.d.cts +49 -0
  138. package/dist/typescript/components/typescript-file.d.mts +49 -0
  139. package/dist/typescript/components/typescript-file.mjs +213 -0
  140. package/dist/typescript/components/typescript-interface.cjs +69 -0
  141. package/dist/typescript/components/typescript-interface.d.cts +25 -0
  142. package/dist/typescript/components/typescript-interface.d.mts +25 -0
  143. package/dist/typescript/components/typescript-interface.mjs +67 -0
  144. package/dist/typescript/components/typescript-object.cjs +125 -0
  145. package/dist/typescript/components/typescript-object.d.cts +26 -0
  146. package/dist/typescript/components/typescript-object.d.mts +26 -0
  147. package/dist/typescript/components/typescript-object.mjs +123 -0
  148. package/dist/typescript/index.cjs +45 -0
  149. package/dist/typescript/index.d.cts +11 -0
  150. package/dist/typescript/index.d.mts +11 -0
  151. package/dist/typescript/index.mjs +12 -0
  152. package/package.json +5 -5
@@ -0,0 +1,49 @@
1
+ import { ComponentProps, SourceFileHeaderProps, TypescriptFileImports } from "../../types/components.cjs";
2
+ import { SourceFileProps as SourceFileProps$1 } from "../../core/components/source-file.cjs";
3
+ import { Children } from "@alloy-js/core";
4
+ import { TSModuleScope } from "@alloy-js/typescript";
5
+
6
+ //#region src/typescript/components/typescript-file.d.ts
7
+ type TypescriptFileProps = Omit<SourceFileProps$1, "filetype"> & ComponentProps & {
8
+ hashbang?: Children | true;
9
+ header?: Children;
10
+ imports?: TypescriptFileImports;
11
+ builtinImports?: TypescriptFileImports;
12
+ export?: boolean | string;
13
+ tsx?: boolean;
14
+ };
15
+ /**
16
+ * A base component representing a Powerlines generated Typescript source file.
17
+ *
18
+ * @param props - The properties for the source file.
19
+ * @returns The rendered source file component.
20
+ */
21
+ declare function TypescriptFile(props: TypescriptFileProps): Children;
22
+ interface TypescriptFileHeaderProps extends SourceFileHeaderProps {
23
+ header?: Children;
24
+ hashbang?: Children | true;
25
+ }
26
+ /**
27
+ * Renders the header for a Powerlines Typescript source file.
28
+ *
29
+ * @param props - The properties for the source file header.
30
+ * @returns The rendered source file header.
31
+ */
32
+ declare function TypescriptFileHeader(props: TypescriptFileHeaderProps): Children;
33
+ interface TypescriptFileHeaderImportsProps extends SourceFileHeaderProps {
34
+ imports?: TypescriptFileImports;
35
+ builtinImports?: TypescriptFileImports;
36
+ scope?: TSModuleScope;
37
+ }
38
+ /**
39
+ * Renders the header for a Powerlines Typescript source file.
40
+ *
41
+ * @param props - The properties for the source file header.
42
+ * @returns The rendered source file header.
43
+ */
44
+ declare function TypescriptFileHeaderImports(props: TypescriptFileHeaderImportsProps): Children;
45
+ declare type __ΩTypescriptFileProps = any[];
46
+ declare type __ΩTypescriptFileHeaderProps = any[];
47
+ declare type __ΩTypescriptFileHeaderImportsProps = any[];
48
+ //#endregion
49
+ export { TypescriptFile, TypescriptFileHeader, TypescriptFileHeaderImports, TypescriptFileHeaderImportsProps, TypescriptFileHeaderProps, TypescriptFileProps, __ΩTypescriptFileHeaderImportsProps, __ΩTypescriptFileHeaderProps, __ΩTypescriptFileProps };
@@ -0,0 +1,49 @@
1
+ import { ComponentProps, SourceFileHeaderProps, TypescriptFileImports } from "../../types/components.mjs";
2
+ import { SourceFileProps as SourceFileProps$1 } from "../../core/components/source-file.mjs";
3
+ import { Children } from "@alloy-js/core";
4
+ import { TSModuleScope } from "@alloy-js/typescript";
5
+
6
+ //#region src/typescript/components/typescript-file.d.ts
7
+ type TypescriptFileProps = Omit<SourceFileProps$1, "filetype"> & ComponentProps & {
8
+ hashbang?: Children | true;
9
+ header?: Children;
10
+ imports?: TypescriptFileImports;
11
+ builtinImports?: TypescriptFileImports;
12
+ export?: boolean | string;
13
+ tsx?: boolean;
14
+ };
15
+ /**
16
+ * A base component representing a Powerlines generated Typescript source file.
17
+ *
18
+ * @param props - The properties for the source file.
19
+ * @returns The rendered source file component.
20
+ */
21
+ declare function TypescriptFile(props: TypescriptFileProps): Children;
22
+ interface TypescriptFileHeaderProps extends SourceFileHeaderProps {
23
+ header?: Children;
24
+ hashbang?: Children | true;
25
+ }
26
+ /**
27
+ * Renders the header for a Powerlines Typescript source file.
28
+ *
29
+ * @param props - The properties for the source file header.
30
+ * @returns The rendered source file header.
31
+ */
32
+ declare function TypescriptFileHeader(props: TypescriptFileHeaderProps): Children;
33
+ interface TypescriptFileHeaderImportsProps extends SourceFileHeaderProps {
34
+ imports?: TypescriptFileImports;
35
+ builtinImports?: TypescriptFileImports;
36
+ scope?: TSModuleScope;
37
+ }
38
+ /**
39
+ * Renders the header for a Powerlines Typescript source file.
40
+ *
41
+ * @param props - The properties for the source file header.
42
+ * @returns The rendered source file header.
43
+ */
44
+ declare function TypescriptFileHeaderImports(props: TypescriptFileHeaderImportsProps): Children;
45
+ declare type __ΩTypescriptFileProps = any[];
46
+ declare type __ΩTypescriptFileHeaderProps = any[];
47
+ declare type __ΩTypescriptFileHeaderImportsProps = any[];
48
+ //#endregion
49
+ export { TypescriptFile, TypescriptFileHeader, TypescriptFileHeaderImports, TypescriptFileHeaderImportsProps, TypescriptFileHeaderProps, TypescriptFileProps, __ΩTypescriptFileHeaderImportsProps, __ΩTypescriptFileHeaderProps, __ΩTypescriptFileProps };
@@ -0,0 +1,213 @@
1
+ import { usePowerlinesSafe } from "../../core/contexts/context.mjs";
2
+ import { SingleLineComment } from "../../core/components/single-line-comment.mjs";
3
+ import { SourceFile } from "../../core/components/source-file.mjs";
4
+ import { createComponent, createIntrinsic, memo, mergeProps } from "@alloy-js/core/jsx-runtime";
5
+ import { For, Scope, Show, SourceDirectoryContext, code, splitProps, useContext, useScope } from "@alloy-js/core";
6
+ import { appendPath } from "@stryke/path/append";
7
+ import { titleCase } from "@stryke/string-format/title-case";
8
+ import { isString } from "@stryke/type-checks/is-string";
9
+ import { ImportStatements, PackageContext, SourceFileContext as SourceFileContext$1, TSModuleScope, getSourceDirectoryData, useSourceFile } from "@alloy-js/typescript";
10
+ import { isBoolean } from "@stryke/type-checks/is-boolean";
11
+
12
+ //#region src/typescript/components/typescript-file.tsx
13
+ /**
14
+ * A base component representing a Powerlines generated Typescript source file.
15
+ *
16
+ * @param props - The properties for the source file.
17
+ * @returns The rendered source file component.
18
+ */
19
+ function TypescriptFile(props) {
20
+ const [{ children, path, imports, builtinImports, tsx, header, hashbang }, rest] = splitProps(props, [
21
+ "children",
22
+ "path",
23
+ "imports",
24
+ "builtinImports",
25
+ "tsx",
26
+ "header",
27
+ "hashbang"
28
+ ]);
29
+ const directoryContext = useContext(SourceDirectoryContext);
30
+ const sdData = getSourceDirectoryData(directoryContext);
31
+ const modulePath = appendPath(path, directoryContext.path);
32
+ const scope = new TSModuleScope(modulePath, useScope());
33
+ sdData.modules.add(scope);
34
+ const pkg = useContext(PackageContext);
35
+ if (pkg) pkg.scope.addModule(scope);
36
+ if (props.export) {
37
+ if (pkg) if (isBoolean(props.export)) pkg.scope.addExport(modulePath, scope);
38
+ else pkg.scope.addExport(props.export, scope);
39
+ }
40
+ return createComponent(SourceFileContext$1.Provider, {
41
+ value: { scope },
42
+ get children() {
43
+ return createComponent(Scope, {
44
+ value: scope,
45
+ get children() {
46
+ return createComponent(SourceFile, mergeProps(rest, {
47
+ path: modulePath,
48
+ get header() {
49
+ return header ?? createComponent(TypescriptFileHeader, {
50
+ hashbang,
51
+ get children() {
52
+ return createComponent(TypescriptFileHeaderImports, {
53
+ imports,
54
+ builtinImports,
55
+ scope
56
+ });
57
+ }
58
+ });
59
+ },
60
+ filetype: tsx ? "tsx" : "typescript",
61
+ children
62
+ }));
63
+ }
64
+ });
65
+ }
66
+ });
67
+ }
68
+ /**
69
+ * Renders the header for a Powerlines Typescript source file.
70
+ *
71
+ * @param props - The properties for the source file header.
72
+ * @returns The rendered source file header.
73
+ */
74
+ function TypescriptFileHeader(props) {
75
+ const { header, hashbang, disableEslint = true, disableBiome = true, disablePrettier = false, children } = props;
76
+ const context = usePowerlinesSafe();
77
+ return [
78
+ createComponent(Show, {
79
+ get when() {
80
+ return Boolean(hashbang);
81
+ },
82
+ get children() {
83
+ return [memo(() => hashbang === true ? code`#!/usr/bin/env ${context?.config.mode === "development" ? "-S NODE_OPTIONS=--enable-source-maps" : ""} node` : hashbang), createIntrinsic("hbr", {})];
84
+ }
85
+ }),
86
+ createComponent(Show, {
87
+ get when() {
88
+ return Boolean(header);
89
+ },
90
+ get children() {
91
+ return [header, createIntrinsic("hbr", {})];
92
+ }
93
+ }),
94
+ createIntrinsic("hbr", {}),
95
+ createComponent(Show, {
96
+ get when() {
97
+ return Boolean(disableEslint);
98
+ },
99
+ get children() {
100
+ return [createComponent(SingleLineComment, {
101
+ variant: "slash-star",
102
+ children: "eslint-disable"
103
+ }), createIntrinsic("hbr", {})];
104
+ }
105
+ }),
106
+ createComponent(Show, {
107
+ get when() {
108
+ return Boolean(disablePrettier);
109
+ },
110
+ get children() {
111
+ return [createComponent(SingleLineComment, {
112
+ variant: "slash-star",
113
+ children: "prettier-ignore"
114
+ }), createIntrinsic("hbr", {})];
115
+ }
116
+ }),
117
+ createComponent(Show, {
118
+ get when() {
119
+ return Boolean(disableBiome);
120
+ },
121
+ get children() {
122
+ return [createComponent(SingleLineComment, { children: "biome-ignore lint: disable" }), createIntrinsic("hbr", {})];
123
+ }
124
+ }),
125
+ createComponent(Show, {
126
+ get when() {
127
+ return Boolean(disableEslint) || Boolean(disablePrettier) || Boolean(disableBiome);
128
+ },
129
+ get children() {
130
+ return createIntrinsic("hbr", {});
131
+ }
132
+ }),
133
+ createComponent(Show, {
134
+ get when() {
135
+ return Boolean(children);
136
+ },
137
+ get children() {
138
+ return [children, createIntrinsic("hbr", {})];
139
+ }
140
+ }),
141
+ createComponent(SingleLineComment, { get children() {
142
+ return `Generated by ${titleCase(context?.config?.framework) || "Powerlines"}`;
143
+ } }),
144
+ createIntrinsic("hbr", {}),
145
+ createComponent(SingleLineComment, { children: code`NOTE: Do not edit this file manually - it will be overwritten automatically by the "prepare" command` }),
146
+ createIntrinsic("hbr", {})
147
+ ];
148
+ }
149
+ /**
150
+ * Renders the header for a Powerlines Typescript source file.
151
+ *
152
+ * @param props - The properties for the source file header.
153
+ * @returns The rendered source file header.
154
+ */
155
+ function TypescriptFileHeaderImports(props) {
156
+ const { imports, builtinImports } = props;
157
+ const context = usePowerlinesSafe();
158
+ const sourceFile = useSourceFile();
159
+ const scope = props.scope ?? sourceFile.scope;
160
+ return createComponent(Show, {
161
+ get when() {
162
+ return scope.importedModules.size > 0 || !!imports && Object.keys(imports).length > 0 || !!builtinImports && Object.keys(builtinImports).length > 0;
163
+ },
164
+ get children() {
165
+ return [
166
+ createComponent(Show, {
167
+ get when() {
168
+ return !!imports && Object.keys(imports).length > 0;
169
+ },
170
+ get children() {
171
+ return createComponent(For, {
172
+ get each() {
173
+ return Object.entries(imports ?? {});
174
+ },
175
+ hardline: true,
176
+ children: ([module, importItem]) => {
177
+ return [memo(() => code`import ${importItem === null ? "" : isString(importItem) ? importItem : ` ${importItem.filter((i) => !isString(i) && i.default).map((i) => i.alias ? i.alias : i.name).join(", ") + (importItem.filter((i) => !isString(i) && i.default).length > 0 && importItem.filter((i) => isString(i) || !i.default).length > 0 ? ", " : "") + (importItem.filter((i) => isString(i) || !i.default).length > 0 ? `{ ${importItem.map((i) => isString(i) ? i : i.alias ? `${i.name} as ${i.alias}` : i.name).join(", ")} }` : "")} `} from "${module}";`)];
178
+ }
179
+ });
180
+ }
181
+ }),
182
+ createComponent(Show, {
183
+ get when() {
184
+ return builtinImports && Object.keys(builtinImports).length > 0;
185
+ },
186
+ get children() {
187
+ return createComponent(For, {
188
+ get each() {
189
+ return Object.entries(builtinImports ?? {});
190
+ },
191
+ hardline: true,
192
+ children: ([module, importItem]) => code`import ${importItem === null ? "" : isString(importItem) ? importItem : ` ${importItem.filter((i) => !isString(i) && i.default).map((i) => i.alias ? i.alias : i.name).join(", ") + (importItem.filter((i) => !isString(i) && i.default).length > 0 && importItem.filter((i) => isString(i) || !i.default).length > 0 ? ", " : "") + (importItem.filter((i) => isString(i) || !i.default).length > 0 ? `{ ${importItem.map((i) => isString(i) ? i : i.alias ? `${i.name} as ${i.alias}` : i.name).join(", ")} }` : "")} `} from "${module.includes(":") ? module : `${context?.config?.output?.builtinPrefix || "powerlines"}:${module}`}";`
193
+ });
194
+ }
195
+ }),
196
+ createComponent(Show, {
197
+ get when() {
198
+ return scope.importedModules.size > 0;
199
+ },
200
+ get children() {
201
+ return createComponent(ImportStatements, { get records() {
202
+ return scope.importedModules;
203
+ } });
204
+ }
205
+ }),
206
+ createIntrinsic("hbr", {})
207
+ ];
208
+ }
209
+ });
210
+ }
211
+
212
+ //#endregion
213
+ export { TypescriptFile, TypescriptFileHeader, TypescriptFileHeaderImports };
@@ -0,0 +1,69 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_core_contexts_reflection = require('../../core/contexts/reflection.cjs');
3
+ const require_typescript_components_tsdoc_reflection = require('./tsdoc-reflection.cjs');
4
+ let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
5
+ let __alloy_js_core = require("@alloy-js/core");
6
+ let __powerlines_deepkit_vendor_type = require("@powerlines/deepkit/vendor/type");
7
+ let __stryke_string_format_pascal_case = require("@stryke/string-format/pascal-case");
8
+ let __stryke_type_checks_is_string = require("@stryke/type-checks/is-string");
9
+ let __alloy_js_typescript = require("@alloy-js/typescript");
10
+
11
+ //#region src/typescript/components/typescript-interface.tsx
12
+ /**
13
+ * Generates a TypeScript interface for the given reflection class.
14
+ */
15
+ function TypeScriptInterface(props) {
16
+ const [{ name, reflection }, rest] = (0, __alloy_js_core.splitProps)(props, ["name", "reflection"]);
17
+ const interfaceName = (0, __alloy_js_core.computed)(() => (0, __stryke_string_format_pascal_case.pascalCase)(((0, __stryke_type_checks_is_string.isString)(name) ? name : name.toString()) || reflection.getName()));
18
+ const properties = reflection.getProperties().filter((item) => !item.isIgnored()).sort((a, b) => a.isReadonly() && b.isReadonly() || !a.isReadonly() && !b.isReadonly() ? a.getNameAsString().localeCompare(b.getNameAsString()) : a.isReadonly() ? 1 : -1);
19
+ return (0, __alloy_js_core_jsx_runtime.createComponent)(require_core_contexts_reflection.ReflectionClassContext.Provider, {
20
+ value: { reflection },
21
+ get children() {
22
+ return [(0, __alloy_js_core_jsx_runtime.createComponent)(require_typescript_components_tsdoc_reflection.TSDocReflectionClass, {}), (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.InterfaceDeclaration, (0, __alloy_js_core_jsx_runtime.mergeProps)({
23
+ "export": true,
24
+ get name() {
25
+ return interfaceName.value;
26
+ }
27
+ }, rest, { get children() {
28
+ return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.For, {
29
+ each: properties,
30
+ doubleHardline: true,
31
+ semicolon: true,
32
+ children: (prop) => (0, __alloy_js_core_jsx_runtime.createComponent)(TypescriptInterfaceProperty, { property: prop })
33
+ });
34
+ } }))];
35
+ }
36
+ });
37
+ }
38
+ /**
39
+ * Generates a TypeScript interface property for the given reflection class.
40
+ */
41
+ function TypescriptInterfaceProperty(props) {
42
+ const [{ property }, rest] = (0, __alloy_js_core.splitProps)(props, ["property"]);
43
+ return (0, __alloy_js_core_jsx_runtime.createComponent)(require_core_contexts_reflection.ReflectionPropertyContext.Provider, {
44
+ value: property,
45
+ get children() {
46
+ return [(0, __alloy_js_core_jsx_runtime.createComponent)(require_typescript_components_tsdoc_reflection.TSDocReflectionProperty, {}), (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.InterfaceMember, (0, __alloy_js_core_jsx_runtime.mergeProps)({
47
+ get name() {
48
+ return property.getNameAsString();
49
+ },
50
+ get readonly() {
51
+ return property.isReadonly();
52
+ },
53
+ get optional() {
54
+ return property.isOptional();
55
+ },
56
+ get nullish() {
57
+ return property.isNullable();
58
+ },
59
+ get type() {
60
+ return (0, __powerlines_deepkit_vendor_type.stringifyType)(property.getType());
61
+ }
62
+ }, rest))];
63
+ }
64
+ });
65
+ }
66
+
67
+ //#endregion
68
+ exports.TypeScriptInterface = TypeScriptInterface;
69
+ exports.TypescriptInterfaceProperty = TypescriptInterfaceProperty;
@@ -0,0 +1,25 @@
1
+ import { ComponentProps } from "../../types/components.cjs";
2
+ import * as _alloy_js_core12 from "@alloy-js/core";
3
+ import { InterfaceDeclarationProps, InterfaceMemberProps } from "@alloy-js/typescript";
4
+ import { ReflectionClass, ReflectionProperty } from "@powerlines/deepkit/vendor/type";
5
+
6
+ //#region src/typescript/components/typescript-interface.d.ts
7
+ interface TypeScriptInterfaceProps<T extends Record<string, any> = Record<string, any>> extends InterfaceDeclarationProps, ComponentProps {
8
+ reflection: ReflectionClass<T>;
9
+ defaultValue?: Partial<T>;
10
+ }
11
+ interface TypescriptInterfacePropertyProps extends Omit<InterfaceMemberProps, "name">, ComponentProps {
12
+ property: ReflectionProperty;
13
+ }
14
+ /**
15
+ * Generates a TypeScript interface for the given reflection class.
16
+ */
17
+ declare function TypeScriptInterface<T extends Record<string, any> = Record<string, any>>(props: TypeScriptInterfaceProps<T>): _alloy_js_core12.Children;
18
+ /**
19
+ * Generates a TypeScript interface property for the given reflection class.
20
+ */
21
+ declare function TypescriptInterfaceProperty(props: TypescriptInterfacePropertyProps): _alloy_js_core12.Children;
22
+ declare type __ΩTypeScriptInterfaceProps = any[];
23
+ declare type __ΩTypescriptInterfacePropertyProps = any[];
24
+ //#endregion
25
+ export { TypeScriptInterface, TypeScriptInterfaceProps, TypescriptInterfaceProperty, TypescriptInterfacePropertyProps, __ΩTypeScriptInterfaceProps, __ΩTypescriptInterfacePropertyProps };
@@ -0,0 +1,25 @@
1
+ import { ComponentProps } from "../../types/components.mjs";
2
+ import * as _alloy_js_core13 from "@alloy-js/core";
3
+ import { ReflectionClass, ReflectionProperty } from "@powerlines/deepkit/vendor/type";
4
+ import { InterfaceDeclarationProps, InterfaceMemberProps } from "@alloy-js/typescript";
5
+
6
+ //#region src/typescript/components/typescript-interface.d.ts
7
+ interface TypeScriptInterfaceProps<T extends Record<string, any> = Record<string, any>> extends InterfaceDeclarationProps, ComponentProps {
8
+ reflection: ReflectionClass<T>;
9
+ defaultValue?: Partial<T>;
10
+ }
11
+ interface TypescriptInterfacePropertyProps extends Omit<InterfaceMemberProps, "name">, ComponentProps {
12
+ property: ReflectionProperty;
13
+ }
14
+ /**
15
+ * Generates a TypeScript interface for the given reflection class.
16
+ */
17
+ declare function TypeScriptInterface<T extends Record<string, any> = Record<string, any>>(props: TypeScriptInterfaceProps<T>): _alloy_js_core13.Children;
18
+ /**
19
+ * Generates a TypeScript interface property for the given reflection class.
20
+ */
21
+ declare function TypescriptInterfaceProperty(props: TypescriptInterfacePropertyProps): _alloy_js_core13.Children;
22
+ declare type __ΩTypeScriptInterfaceProps = any[];
23
+ declare type __ΩTypescriptInterfacePropertyProps = any[];
24
+ //#endregion
25
+ export { TypeScriptInterface, TypeScriptInterfaceProps, TypescriptInterfaceProperty, TypescriptInterfacePropertyProps, __ΩTypeScriptInterfaceProps, __ΩTypescriptInterfacePropertyProps };
@@ -0,0 +1,67 @@
1
+ import { ReflectionClassContext, ReflectionPropertyContext } from "../../core/contexts/reflection.mjs";
2
+ import { TSDocReflectionClass, TSDocReflectionProperty } from "./tsdoc-reflection.mjs";
3
+ import { createComponent, mergeProps } from "@alloy-js/core/jsx-runtime";
4
+ import { For, computed, splitProps } from "@alloy-js/core";
5
+ import { stringifyType } from "@powerlines/deepkit/vendor/type";
6
+ import { pascalCase } from "@stryke/string-format/pascal-case";
7
+ import { isString } from "@stryke/type-checks/is-string";
8
+ import { InterfaceDeclaration, InterfaceMember } from "@alloy-js/typescript";
9
+
10
+ //#region src/typescript/components/typescript-interface.tsx
11
+ /**
12
+ * Generates a TypeScript interface for the given reflection class.
13
+ */
14
+ function TypeScriptInterface(props) {
15
+ const [{ name, reflection }, rest] = splitProps(props, ["name", "reflection"]);
16
+ const interfaceName = computed(() => pascalCase((isString(name) ? name : name.toString()) || reflection.getName()));
17
+ const properties = reflection.getProperties().filter((item) => !item.isIgnored()).sort((a, b) => a.isReadonly() && b.isReadonly() || !a.isReadonly() && !b.isReadonly() ? a.getNameAsString().localeCompare(b.getNameAsString()) : a.isReadonly() ? 1 : -1);
18
+ return createComponent(ReflectionClassContext.Provider, {
19
+ value: { reflection },
20
+ get children() {
21
+ return [createComponent(TSDocReflectionClass, {}), createComponent(InterfaceDeclaration, mergeProps({
22
+ "export": true,
23
+ get name() {
24
+ return interfaceName.value;
25
+ }
26
+ }, rest, { get children() {
27
+ return createComponent(For, {
28
+ each: properties,
29
+ doubleHardline: true,
30
+ semicolon: true,
31
+ children: (prop) => createComponent(TypescriptInterfaceProperty, { property: prop })
32
+ });
33
+ } }))];
34
+ }
35
+ });
36
+ }
37
+ /**
38
+ * Generates a TypeScript interface property for the given reflection class.
39
+ */
40
+ function TypescriptInterfaceProperty(props) {
41
+ const [{ property }, rest] = splitProps(props, ["property"]);
42
+ return createComponent(ReflectionPropertyContext.Provider, {
43
+ value: property,
44
+ get children() {
45
+ return [createComponent(TSDocReflectionProperty, {}), createComponent(InterfaceMember, mergeProps({
46
+ get name() {
47
+ return property.getNameAsString();
48
+ },
49
+ get readonly() {
50
+ return property.isReadonly();
51
+ },
52
+ get optional() {
53
+ return property.isOptional();
54
+ },
55
+ get nullish() {
56
+ return property.isNullable();
57
+ },
58
+ get type() {
59
+ return stringifyType(property.getType());
60
+ }
61
+ }, rest))];
62
+ }
63
+ });
64
+ }
65
+
66
+ //#endregion
67
+ export { TypeScriptInterface, TypescriptInterfaceProperty };
@@ -0,0 +1,125 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_core_contexts_reflection = require('../../core/contexts/reflection.cjs');
3
+ const require_typescript_components_tsdoc_reflection = require('./tsdoc-reflection.cjs');
4
+ let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
5
+ let __alloy_js_core = require("@alloy-js/core");
6
+ let __powerlines_deepkit_utilities = require("@powerlines/deepkit/utilities");
7
+ let __stryke_string_format_camel_case = require("@stryke/string-format/camel-case");
8
+ let __stryke_string_format_pascal_case = require("@stryke/string-format/pascal-case");
9
+ let __stryke_type_checks_is_string = require("@stryke/type-checks/is-string");
10
+ let __stryke_type_checks_is_undefined = require("@stryke/type-checks/is-undefined");
11
+ let __alloy_js_typescript = require("@alloy-js/typescript");
12
+
13
+ //#region src/typescript/components/typescript-object.tsx
14
+ /**
15
+ * Generates a TypeScript object for the given reflection class.
16
+ */
17
+ function TypescriptObject(props) {
18
+ if (!props.reflection?.value) return null;
19
+ const objectName = (0, __alloy_js_core.computed)(() => (0, __stryke_string_format_camel_case.camelCase)(((0, __stryke_type_checks_is_string.isString)(props.name) ? props.name : props.name.toString()) || props.reflection.value.getName()));
20
+ const objectType = (0, __alloy_js_core.computed)(() => props.type || (0, __stryke_string_format_pascal_case.pascalCase)(props.reflection.value.getName()));
21
+ const properties = (0, __alloy_js_core.computed)(() => props.reflection.value.getProperties().filter((item) => !item.isIgnored() && !(0, __stryke_type_checks_is_undefined.isUndefined)(props.defaultValue?.value?.[item.getNameAsString()] ?? item.getAlias().reduce((ret, alias) => {
22
+ if ((0, __stryke_type_checks_is_undefined.isUndefined)(ret) && !(0, __stryke_type_checks_is_undefined.isUndefined)(props.defaultValue?.value?.[alias])) return props.defaultValue?.value?.[alias];
23
+ return ret;
24
+ }, void 0) ?? item.getDefaultValue())).sort((a, b) => a.isReadonly() && b.isReadonly() || !a.isReadonly() && !b.isReadonly() ? a.getNameAsString().localeCompare(b.getNameAsString()) : a.isReadonly() ? 1 : -1));
25
+ const TypeSymbolSlot = (0, __alloy_js_core.createSymbolSlot)();
26
+ const ValueTypeSymbolSlot = (0, __alloy_js_core.createSymbolSlot)();
27
+ const sym = (0, __alloy_js_typescript.createValueSymbol)(props.name, {
28
+ refkeys: props.refkey,
29
+ default: props.default,
30
+ export: props.export,
31
+ metadata: props.metadata,
32
+ tsFlags: props.nullish ? __alloy_js_typescript.TSSymbolFlags.Nullish : __alloy_js_typescript.TSSymbolFlags.None,
33
+ type: props.type ? TypeSymbolSlot.firstSymbol : void 0,
34
+ namePolicy: (0, __alloy_js_typescript.useTSNamePolicy)().for("variable")
35
+ });
36
+ if (!props.type) ValueTypeSymbolSlot.moveMembersTo(sym);
37
+ const keyword = props.var ? "var" : props.let ? "let" : "const";
38
+ const type = props.type ? (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.TypeRefContext, { get children() {
39
+ return [": ", (0, __alloy_js_core_jsx_runtime.createComponent)(TypeSymbolSlot, { get children() {
40
+ return props.type;
41
+ } })];
42
+ } }) : void 0;
43
+ return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
44
+ get when() {
45
+ return !!props.reflection.value;
46
+ },
47
+ get children() {
48
+ return (0, __alloy_js_core_jsx_runtime.createComponent)(require_core_contexts_reflection.ReflectionClassContext.Provider, {
49
+ get value() {
50
+ return {
51
+ reflection: props.reflection.value,
52
+ override: {
53
+ name: objectName.value,
54
+ type: objectType.value,
55
+ defaultValue: props.defaultValue?.value
56
+ }
57
+ };
58
+ },
59
+ get children() {
60
+ return [(0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Show, {
61
+ get when() {
62
+ return !!objectName.value && !!objectType.value;
63
+ },
64
+ get children() {
65
+ return [(0, __alloy_js_core_jsx_runtime.createComponent)(require_typescript_components_tsdoc_reflection.TSDocReflectionClass, {}), (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Declaration, {
66
+ symbol: sym,
67
+ get children() {
68
+ return [
69
+ (0, __alloy_js_core_jsx_runtime.memo)(() => props.export ? "export " : ""),
70
+ (0, __alloy_js_core_jsx_runtime.memo)(() => props.default ? "default " : ""),
71
+ keyword,
72
+ " ",
73
+ (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.Name, {}),
74
+ type,
75
+ " =",
76
+ " ",
77
+ (0, __alloy_js_core_jsx_runtime.createComponent)(ValueTypeSymbolSlot, { get children() {
78
+ return props.initializer ?? props.children ?? (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.ObjectExpression, { get children() {
79
+ return (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_core.For, {
80
+ get each() {
81
+ return properties.value ?? [];
82
+ },
83
+ comma: true,
84
+ doubleHardline: true,
85
+ children: (prop) => (0, __alloy_js_core_jsx_runtime.createComponent)(TypescriptObjectProperty, { property: prop })
86
+ });
87
+ } });
88
+ } })
89
+ ];
90
+ }
91
+ })];
92
+ }
93
+ }), (0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
94
+ }
95
+ });
96
+ }
97
+ });
98
+ }
99
+ /**
100
+ * Generates a TypeScript object property for the given reflection class.
101
+ */
102
+ function TypescriptObjectProperty(props) {
103
+ const [{ property }] = (0, __alloy_js_core.splitProps)(props, ["property"]);
104
+ return (0, __alloy_js_core_jsx_runtime.createComponent)(require_core_contexts_reflection.ReflectionPropertyContext.Provider, {
105
+ value: property,
106
+ get children() {
107
+ return [
108
+ (0, __alloy_js_core_jsx_runtime.createComponent)(require_typescript_components_tsdoc_reflection.TSDocReflectionProperty, {}),
109
+ (0, __alloy_js_core_jsx_runtime.createComponent)(__alloy_js_typescript.ObjectProperty, {
110
+ get name() {
111
+ return property.getNameAsString();
112
+ },
113
+ get value() {
114
+ return (0, __powerlines_deepkit_utilities.stringifyDefaultValue)(property);
115
+ }
116
+ }),
117
+ (0, __alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})
118
+ ];
119
+ }
120
+ });
121
+ }
122
+
123
+ //#endregion
124
+ exports.TypescriptObject = TypescriptObject;
125
+ exports.TypescriptObjectProperty = TypescriptObjectProperty;
@@ -0,0 +1,26 @@
1
+ import { ComponentProps } from "../../types/components.cjs";
2
+ import * as _alloy_js_core14 from "@alloy-js/core";
3
+ import { VarDeclarationProps } from "@alloy-js/typescript";
4
+ import { ReflectionClass, ReflectionProperty } from "@powerlines/deepkit/vendor/type";
5
+ import { ComputedRef } from "@vue/reactivity";
6
+
7
+ //#region src/typescript/components/typescript-object.d.ts
8
+ interface TypescriptObjectProps<T extends Record<string, any> = Record<string, any>> extends VarDeclarationProps {
9
+ reflection?: ComputedRef<ReflectionClass<T>>;
10
+ defaultValue?: ComputedRef<Partial<T> | undefined>;
11
+ }
12
+ interface TypescriptObjectPropertyProps extends ComponentProps {
13
+ property: ReflectionProperty;
14
+ }
15
+ /**
16
+ * Generates a TypeScript object for the given reflection class.
17
+ */
18
+ declare function TypescriptObject<T extends Record<string, any> = Record<string, any>>(props: TypescriptObjectProps<T>): _alloy_js_core14.Children;
19
+ /**
20
+ * Generates a TypeScript object property for the given reflection class.
21
+ */
22
+ declare function TypescriptObjectProperty(props: TypescriptObjectPropertyProps): _alloy_js_core14.Children;
23
+ declare type __ΩTypescriptObjectProps = any[];
24
+ declare type __ΩTypescriptObjectPropertyProps = any[];
25
+ //#endregion
26
+ export { TypescriptObject, TypescriptObjectProperty, TypescriptObjectPropertyProps, TypescriptObjectProps, __ΩTypescriptObjectPropertyProps, __ΩTypescriptObjectProps };