@powerlines/plugin-alloy 0.16.0 → 0.16.2
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/dist/builtin-file-CXkreb3b.mjs +43 -0
- package/dist/builtin-file-D0xcKRt6.cjs +49 -0
- package/dist/builtin-file-Detj4VKO.d.cts +34 -0
- package/dist/builtin-file-Df3B4vGB.d.mts +34 -0
- package/dist/capnp-6EjloHj4.mjs +265 -0
- package/dist/capnp-BHeTs4Ea.d.mts +86 -0
- package/dist/capnp-CirEkAHB.d.cts +86 -0
- package/dist/capnp-DOzEf2mj.cjs +362 -0
- package/dist/{_virtual/rolldown_runtime.cjs → chunk-BwyOHTjC.cjs} +12 -2
- package/dist/components-BrkXdHq-.d.mts +141 -0
- package/dist/components-CH68f_ve.mjs +1 -0
- package/dist/components-CO0xjM8H.mjs +1 -0
- package/dist/components-CnI3Y57d.mjs +1 -0
- package/dist/components-Cvpo9IEL.cjs +0 -0
- package/dist/components-DTkri-mp.cjs +0 -0
- package/dist/components-DkVeQ5Yn.d.cts +141 -0
- package/dist/components-Gg416Czx.cjs +0 -0
- package/dist/components-ZbItRNLr.cjs +0 -0
- package/dist/components-vTvc6Xgc.mjs +1 -0
- package/dist/context-B1Z2ZRAI.d.cts +32 -0
- package/dist/context-BwQLwanm.d.mts +1680 -0
- package/dist/context-CWt70HA3.d.cts +1680 -0
- package/dist/context-DkLnFNZm.cjs +60 -0
- package/dist/context-eP3fitqj.mjs +36 -0
- package/dist/context-x-0aNytc.d.mts +32 -0
- package/dist/contexts-BtxvYUPj.cjs +0 -0
- package/dist/contexts-Dy4nfIoL.mjs +1 -0
- package/dist/contexts-DzdhIC7G.cjs +0 -0
- package/dist/contexts-Q1YIygoz.mjs +1 -0
- package/dist/core/components/index.cjs +8 -6
- package/dist/core/components/index.d.cts +6 -3
- package/dist/core/components/index.d.mts +6 -3
- package/dist/core/components/index.mjs +5 -3
- package/dist/core/components/output.cjs +3 -39
- package/dist/core/components/output.d.cts +2 -17
- package/dist/core/components/output.d.mts +2 -17
- package/dist/core/components/output.mjs +2 -37
- package/dist/core/components/single-line-comment.cjs +2 -21
- package/dist/core/components/single-line-comment.d.cts +3 -21
- package/dist/core/components/single-line-comment.d.mts +3 -21
- package/dist/core/components/single-line-comment.mjs +1 -19
- package/dist/core/components/source-file.cjs +2 -57
- package/dist/core/components/source-file.d.cts +3 -30
- package/dist/core/components/source-file.d.mts +3 -30
- package/dist/core/components/source-file.mjs +1 -54
- package/dist/core/contexts/context.cjs +5 -39
- package/dist/core/contexts/context.d.cts +2 -31
- package/dist/core/contexts/context.d.mts +2 -31
- package/dist/core/contexts/context.mjs +1 -34
- package/dist/core/contexts/index.cjs +15 -14
- package/dist/core/contexts/index.d.cts +5 -2
- package/dist/core/contexts/index.d.mts +5 -2
- package/dist/core/contexts/index.mjs +3 -2
- package/dist/core/contexts/reflection.cjs +9 -67
- package/dist/core/contexts/reflection.d.cts +3 -50
- package/dist/core/contexts/reflection.d.mts +3 -50
- package/dist/core/contexts/reflection.mjs +1 -58
- package/dist/core/index.cjs +22 -22
- package/dist/core/index.d.cts +9 -7
- package/dist/core/index.d.mts +9 -7
- package/dist/core/index.mjs +7 -7
- package/dist/create-builtin-CtBhQRxS.d.mts +15 -0
- package/dist/create-builtin-DgYGwEYD.cjs +24 -0
- package/dist/create-builtin-Dug1rcMQ.mjs +18 -0
- package/dist/create-builtin-SArMbh0-.d.cts +15 -0
- package/dist/dynamic-import-statement-AUDLZGFa.d.cts +32 -0
- package/dist/dynamic-import-statement-BFl4j9Ex.cjs +30 -0
- package/dist/dynamic-import-statement-BjiwPuJ3.d.mts +32 -0
- package/dist/dynamic-import-statement-DYl1f5Mj.mjs +24 -0
- package/dist/entry-file-CQwIaayx.d.mts +27 -0
- package/dist/entry-file-CTYBU7Lg.mjs +37 -0
- package/dist/entry-file-Cq3bZzix.d.cts +27 -0
- package/dist/entry-file-l3ZhaFTI.cjs +44 -0
- package/dist/helpers/capnp.cjs +19 -274
- package/dist/helpers/capnp.d.cts +2 -85
- package/dist/helpers/capnp.d.mts +2 -85
- package/dist/helpers/capnp.mjs +2 -255
- package/dist/helpers/create-builtin.cjs +2 -18
- package/dist/helpers/create-builtin.d.cts +1 -14
- package/dist/helpers/create-builtin.d.mts +1 -14
- package/dist/helpers/create-builtin.mjs +1 -16
- package/dist/helpers/index.cjs +24 -23
- package/dist/helpers/index.d.cts +5 -4
- package/dist/helpers/index.d.mts +5 -4
- package/dist/helpers/index.mjs +5 -4
- package/dist/helpers/refkey.cjs +2 -15
- package/dist/helpers/refkey.d.cts +1 -12
- package/dist/helpers/refkey.d.mts +1 -12
- package/dist/helpers/refkey.mjs +1 -13
- package/dist/helpers/typescript.cjs +3 -45
- package/dist/helpers/typescript.d.cts +1 -22
- package/dist/helpers/typescript.d.mts +1 -22
- package/dist/helpers/typescript.mjs +2 -43
- package/dist/index-Blaks7l8.d.cts +1 -0
- package/dist/index-CuheJfs-.d.mts +1 -0
- package/dist/index-CwSIy_W-.d.cts +1 -0
- package/dist/index-D7UbuJwP.d.mts +1 -0
- package/dist/index-D9XihFV1.d.mts +1 -0
- package/dist/index-DdxxIAKU.d.cts +1 -0
- package/dist/index-DrK1_jKY.d.mts +1 -0
- package/dist/index-DrZ2Dh-H.d.cts +1 -0
- package/dist/index-DztUdPP_.d.mts +1 -0
- package/dist/index-lQ_hGQ08.d.cts +1 -0
- package/dist/index.cjs +22 -10
- package/dist/index.d.cts +2 -2
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +44 -3
- package/dist/markdown/components/index.cjs +12 -7
- package/dist/markdown/components/index.d.cts +7 -2
- package/dist/markdown/components/index.d.mts +7 -2
- package/dist/markdown/components/index.mjs +7 -2
- package/dist/markdown/components/markdown-file.cjs +6 -117
- package/dist/markdown/components/markdown-file.d.cts +4 -22
- package/dist/markdown/components/markdown-file.d.mts +4 -22
- package/dist/markdown/components/markdown-file.mjs +4 -114
- package/dist/markdown/components/markdown-table.cjs +5 -100
- package/dist/markdown/components/markdown-table.d.cts +4 -26
- package/dist/markdown/components/markdown-table.d.mts +4 -26
- package/dist/markdown/components/markdown-table.mjs +2 -96
- package/dist/markdown/contexts/index.cjs +6 -5
- package/dist/markdown/contexts/index.d.cts +2 -1
- package/dist/markdown/contexts/index.d.mts +2 -1
- package/dist/markdown/contexts/index.mjs +2 -1
- package/dist/markdown/contexts/markdown-table.cjs +5 -36
- package/dist/markdown/contexts/markdown-table.d.cts +1 -36
- package/dist/markdown/contexts/markdown-table.d.mts +1 -36
- package/dist/markdown/contexts/markdown-table.mjs +1 -31
- package/dist/markdown/index.cjs +17 -14
- package/dist/markdown/index.d.cts +8 -5
- package/dist/markdown/index.d.mts +8 -5
- package/dist/markdown/index.mjs +8 -5
- package/dist/markdown-file-CTMTrgdr.mjs +116 -0
- package/dist/markdown-file-CuMvfKbi.d.cts +23 -0
- package/dist/markdown-file-DBpOheYg.d.mts +23 -0
- package/dist/markdown-file-GXj9nWQs.cjs +128 -0
- package/dist/markdown-table-AO9Jtw-o.mjs +98 -0
- package/dist/markdown-table-Biapn9k9.cjs +57 -0
- package/dist/markdown-table-CpnCpTp1.d.cts +27 -0
- package/dist/markdown-table-DFnnh_px.d.cts +37 -0
- package/dist/markdown-table-DKL6g91k.d.mts +37 -0
- package/dist/markdown-table-DaYAMMk6.mjs +33 -0
- package/dist/markdown-table-DcG6ScWX.d.mts +27 -0
- package/dist/markdown-table-d1cy0JP3.cjs +116 -0
- package/dist/output-BC2u6xsn.d.cts +18 -0
- package/dist/output-C_BQEAMU.d.mts +18 -0
- package/dist/output-CiQCsyui.cjs +45 -0
- package/dist/output-eQ8RcTrP.mjs +39 -0
- package/dist/plugin-85Hf9k78.mjs +1 -0
- package/dist/plugin-CofWgH_d.cjs +0 -0
- package/dist/plugin-DcrJBDQ2.d.mts +39 -0
- package/dist/plugin-K4ViA72J.d.cts +39 -0
- package/dist/record-expression-B0NGcmBj.mjs +11 -0
- package/dist/record-expression-P1BTu_7B.d.mts +12 -0
- package/dist/record-expression-j-3eBufn.cjs +17 -0
- package/dist/record-expression-rZuoLQWG.d.cts +12 -0
- package/dist/refkey-BRtVxqGW.d.mts +13 -0
- package/dist/refkey-BUzulmmj.cjs +21 -0
- package/dist/refkey-CSq-Ftvf.mjs +15 -0
- package/dist/refkey-DpAkQ3Cu.d.cts +13 -0
- package/dist/reflection-B9zOZEdi.d.mts +51 -0
- package/dist/reflection-BYeP2t8p.d.cts +51 -0
- package/dist/reflection-CKhynTvI.cjs +108 -0
- package/dist/reflection-srixNcX2.mjs +60 -0
- package/dist/single-line-comment-C9Fz5mkM.mjs +21 -0
- package/dist/single-line-comment-DSAVQ0tl.d.cts +22 -0
- package/dist/single-line-comment-DSz_BbMx.d.mts +22 -0
- package/dist/single-line-comment-_ZglDv1k.cjs +27 -0
- package/dist/source-file-B8OyOWg8.d.mts +31 -0
- package/dist/source-file-DKnFKRGJ.cjs +63 -0
- package/dist/source-file-Db1Wu_yq.mjs +56 -0
- package/dist/source-file-Dr2h8MVw.d.cts +31 -0
- package/dist/tsdoc-BT-2pTD3.d.mts +152 -0
- package/dist/tsdoc-BpykLfnB.cjs +576 -0
- package/dist/tsdoc-CWCdJ1Uj.mjs +456 -0
- package/dist/tsdoc-C_2VzSk_.d.cts +152 -0
- package/dist/tsdoc-reflection-BIWxEkBI.mjs +170 -0
- package/dist/tsdoc-reflection-D4QfeAYE.d.cts +18 -0
- package/dist/tsdoc-reflection-Dr_Nf1ht.cjs +188 -0
- package/dist/tsdoc-reflection-qXh3a1WV.d.mts +18 -0
- package/dist/types/components.cjs +1 -0
- package/dist/types/components.d.cts +2 -141
- package/dist/types/components.d.mts +2 -141
- package/dist/types/components.mjs +2 -0
- package/dist/types/index.cjs +2 -0
- package/dist/types/index.d.cts +3 -2
- package/dist/types/index.d.mts +3 -2
- package/dist/types/index.mjs +3 -0
- package/dist/types/plugin.cjs +1 -0
- package/dist/types/plugin.d.cts +2 -40
- package/dist/types/plugin.d.mts +2 -40
- package/dist/types/plugin.mjs +2 -0
- package/dist/typescript/components/builtin-file.cjs +8 -43
- package/dist/typescript/components/builtin-file.d.cts +6 -33
- package/dist/typescript/components/builtin-file.d.mts +6 -33
- package/dist/typescript/components/builtin-file.mjs +7 -41
- package/dist/typescript/components/dynamic-import-statement.cjs +2 -24
- package/dist/typescript/components/dynamic-import-statement.d.cts +1 -31
- package/dist/typescript/components/dynamic-import-statement.d.mts +1 -31
- package/dist/typescript/components/dynamic-import-statement.mjs +1 -22
- package/dist/typescript/components/entry-file.cjs +6 -38
- package/dist/typescript/components/entry-file.d.cts +5 -26
- package/dist/typescript/components/entry-file.d.mts +5 -26
- package/dist/typescript/components/entry-file.mjs +5 -35
- package/dist/typescript/components/index.cjs +49 -43
- package/dist/typescript/components/index.d.cts +13 -9
- package/dist/typescript/components/index.d.mts +13 -9
- package/dist/typescript/components/index.mjs +15 -9
- package/dist/typescript/components/record-expression.cjs +2 -11
- package/dist/typescript/components/record-expression.d.cts +1 -11
- package/dist/typescript/components/record-expression.d.mts +1 -11
- package/dist/typescript/components/record-expression.mjs +1 -9
- package/dist/typescript/components/tsdoc-reflection.cjs +8 -172
- package/dist/typescript/components/tsdoc-reflection.d.cts +4 -17
- package/dist/typescript/components/tsdoc-reflection.d.mts +4 -17
- package/dist/typescript/components/tsdoc-reflection.mjs +5 -168
- package/dist/typescript/components/tsdoc.cjs +23 -475
- package/dist/typescript/components/tsdoc.d.cts +3 -151
- package/dist/typescript/components/tsdoc.d.mts +3 -151
- package/dist/typescript/components/tsdoc.mjs +3 -454
- package/dist/typescript/components/typescript-file.cjs +7 -192
- package/dist/typescript/components/typescript-file.d.cts +4 -46
- package/dist/typescript/components/typescript-file.d.mts +4 -46
- package/dist/typescript/components/typescript-file.mjs +4 -188
- package/dist/typescript/components/typescript-interface.cjs +8 -67
- package/dist/typescript/components/typescript-interface.d.cts +3 -23
- package/dist/typescript/components/typescript-interface.d.mts +3 -23
- package/dist/typescript/components/typescript-interface.mjs +6 -64
- package/dist/typescript/components/typescript-object.cjs +8 -124
- package/dist/typescript/components/typescript-object.d.cts +3 -24
- package/dist/typescript/components/typescript-object.d.mts +3 -24
- package/dist/typescript/components/typescript-object.mjs +6 -121
- package/dist/typescript/index.cjs +49 -44
- package/dist/typescript/index.d.cts +13 -10
- package/dist/typescript/index.d.mts +13 -10
- package/dist/typescript/index.mjs +15 -10
- package/dist/typescript-BIiCTw8m.d.mts +23 -0
- package/dist/typescript-NNuOlVjo.mjs +45 -0
- package/dist/typescript-VTSR_IQG.cjs +51 -0
- package/dist/typescript-YczHz9BQ.d.cts +23 -0
- package/dist/typescript-file-B2iQamR6.d.cts +47 -0
- package/dist/typescript-file-CCNXO3vl.d.mts +47 -0
- package/dist/typescript-file-DLbLtnFd.cjs +208 -0
- package/dist/typescript-file-hcvsHaDV.mjs +190 -0
- package/dist/typescript-interface-BM02EN5E.mjs +66 -0
- package/dist/typescript-interface-Cu5yH1iH.d.mts +24 -0
- package/dist/typescript-interface-cuXGu4c4.cjs +78 -0
- package/dist/typescript-interface-vmxe6DFQ.d.cts +24 -0
- package/dist/typescript-object-Bk0AnSSQ.mjs +123 -0
- package/dist/typescript-object-Bsfy6ZF0.cjs +135 -0
- package/dist/typescript-object-CYLHqec2.d.cts +25 -0
- package/dist/typescript-object-DlbiBCmI.d.mts +25 -0
- package/dist/{deepkit/src/utilities.mjs → utilities-C6eipB1q.mjs} +1 -1
- package/dist/{deepkit/src/utilities.cjs → utilities-CiKb35hs.cjs} +25 -5
- package/dist/vendor/index.cjs +630 -15
- package/package.json +5 -5
- package/dist/_virtual/rolldown_runtime.mjs +0 -29
- package/dist/powerlines/src/lib/utilities/file-header.cjs +0 -13
- package/dist/powerlines/src/lib/utilities/file-header.mjs +0 -12
- package/dist/powerlines/src/types/babel.d.mts +0 -2
- package/dist/powerlines/src/types/build.d.cts +0 -145
- package/dist/powerlines/src/types/build.d.mts +0 -145
- package/dist/powerlines/src/types/commands.d.cts +0 -8
- package/dist/powerlines/src/types/commands.d.mts +0 -9
- package/dist/powerlines/src/types/config.d.cts +0 -369
- package/dist/powerlines/src/types/config.d.mts +0 -369
- package/dist/powerlines/src/types/context.d.cts +0 -362
- package/dist/powerlines/src/types/context.d.mts +0 -364
- package/dist/powerlines/src/types/fs.d.cts +0 -458
- package/dist/powerlines/src/types/fs.d.mts +0 -458
- package/dist/powerlines/src/types/hooks.d.mts +0 -2
- package/dist/powerlines/src/types/plugin.d.cts +0 -231
- package/dist/powerlines/src/types/plugin.d.mts +0 -231
- package/dist/powerlines/src/types/resolved.d.cts +0 -81
- package/dist/powerlines/src/types/resolved.d.mts +0 -81
- package/dist/powerlines/src/types/tsconfig.d.cts +0 -69
- package/dist/powerlines/src/types/tsconfig.d.mts +0 -69
- package/dist/vendor/index.mjs +0 -11
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { d as TSDocModule } from "./tsdoc-CWCdJ1Uj.mjs";
|
|
2
|
+
import { n as TypescriptFileHeader, r as TypescriptFileHeaderImports, t as TypescriptFile } from "./typescript-file-hcvsHaDV.mjs";
|
|
3
|
+
import { createComponent, mergeProps } from "@alloy-js/core/jsx-runtime";
|
|
4
|
+
import { splitProps } from "@powerlines/plugin-alloy/vendor";
|
|
5
|
+
|
|
6
|
+
//#region src/typescript/components/builtin-file.tsx
|
|
7
|
+
/**
|
|
8
|
+
* A base component representing a Powerlines generated Typescript source file.
|
|
9
|
+
*
|
|
10
|
+
* @param props - The properties for the source file.
|
|
11
|
+
* @returns The rendered source file component.
|
|
12
|
+
*/
|
|
13
|
+
function BuiltinFile(props) {
|
|
14
|
+
const [{ children, imports, id, description, tsx }, rest] = splitProps(props, [
|
|
15
|
+
"children",
|
|
16
|
+
"imports",
|
|
17
|
+
"id",
|
|
18
|
+
"description",
|
|
19
|
+
"tsx"
|
|
20
|
+
]);
|
|
21
|
+
return createComponent(TypescriptFile, mergeProps({
|
|
22
|
+
get header() {
|
|
23
|
+
return createComponent(TypescriptFileHeader, {
|
|
24
|
+
get header() {
|
|
25
|
+
return createComponent(TSDocModule, {
|
|
26
|
+
name: id,
|
|
27
|
+
children: description
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
get children() {
|
|
31
|
+
return createComponent(TypescriptFileHeaderImports, { imports });
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
},
|
|
35
|
+
meta: { builtin: { id } }
|
|
36
|
+
}, rest, {
|
|
37
|
+
path: `${id}${tsx ? ".tsx" : ".ts"}`,
|
|
38
|
+
children
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
//#endregion
|
|
43
|
+
export { BuiltinFile as t };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const require_chunk = require('./chunk-BwyOHTjC.cjs');
|
|
2
|
+
const require_tsdoc = require('./tsdoc-BpykLfnB.cjs');
|
|
3
|
+
const require_typescript_file = require('./typescript-file-DLbLtnFd.cjs');
|
|
4
|
+
let __alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
5
|
+
let __powerlines_plugin_alloy_vendor = require("@powerlines/plugin-alloy/vendor");
|
|
6
|
+
|
|
7
|
+
//#region src/typescript/components/builtin-file.tsx
|
|
8
|
+
/**
|
|
9
|
+
* A base component representing a Powerlines generated Typescript source file.
|
|
10
|
+
*
|
|
11
|
+
* @param props - The properties for the source file.
|
|
12
|
+
* @returns The rendered source file component.
|
|
13
|
+
*/
|
|
14
|
+
function BuiltinFile(props) {
|
|
15
|
+
const [{ children, imports, id, description, tsx }, rest] = (0, __powerlines_plugin_alloy_vendor.splitProps)(props, [
|
|
16
|
+
"children",
|
|
17
|
+
"imports",
|
|
18
|
+
"id",
|
|
19
|
+
"description",
|
|
20
|
+
"tsx"
|
|
21
|
+
]);
|
|
22
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(require_typescript_file.TypescriptFile, (0, __alloy_js_core_jsx_runtime.mergeProps)({
|
|
23
|
+
get header() {
|
|
24
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(require_typescript_file.TypescriptFileHeader, {
|
|
25
|
+
get header() {
|
|
26
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(require_tsdoc.TSDocModule, {
|
|
27
|
+
name: id,
|
|
28
|
+
children: description
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
get children() {
|
|
32
|
+
return (0, __alloy_js_core_jsx_runtime.createComponent)(require_typescript_file.TypescriptFileHeaderImports, { imports });
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
meta: { builtin: { id } }
|
|
37
|
+
}, rest, {
|
|
38
|
+
path: `${id}${tsx ? ".tsx" : ".ts"}`,
|
|
39
|
+
children
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
Object.defineProperty(exports, 'BuiltinFile', {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () {
|
|
47
|
+
return BuiltinFile;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { h as TSDocModuleProps } from "./tsdoc-C_2VzSk_.cjs";
|
|
2
|
+
import { o as TypescriptFileProps } from "./typescript-file-B2iQamR6.cjs";
|
|
3
|
+
import * as _alloy_js_core12 from "@alloy-js/core";
|
|
4
|
+
|
|
5
|
+
//#region src/typescript/components/builtin-file.d.ts
|
|
6
|
+
type BuiltinFileProps = Omit<TypescriptFileProps, "path"> & Omit<TSDocModuleProps, "name"> & {
|
|
7
|
+
/**
|
|
8
|
+
* The runtime module identifier.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* This value will be included after the \`storm:\` prefix in the import statement.
|
|
12
|
+
*/
|
|
13
|
+
id: string;
|
|
14
|
+
/**
|
|
15
|
+
* The description for the builtin module.
|
|
16
|
+
*/
|
|
17
|
+
description?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the file is a TSX file.
|
|
20
|
+
*
|
|
21
|
+
* @defaultValue false
|
|
22
|
+
*/
|
|
23
|
+
tsx?: boolean;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* A base component representing a Powerlines generated Typescript source file.
|
|
27
|
+
*
|
|
28
|
+
* @param props - The properties for the source file.
|
|
29
|
+
* @returns The rendered source file component.
|
|
30
|
+
*/
|
|
31
|
+
declare function BuiltinFile(props: BuiltinFileProps): _alloy_js_core12.Children;
|
|
32
|
+
declare type __ΩBuiltinFileProps = any[];
|
|
33
|
+
//#endregion
|
|
34
|
+
export { BuiltinFileProps as n, __ΩBuiltinFileProps as r, BuiltinFile as t };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { h as TSDocModuleProps } from "./tsdoc-BT-2pTD3.mjs";
|
|
2
|
+
import { o as TypescriptFileProps } from "./typescript-file-CCNXO3vl.mjs";
|
|
3
|
+
import * as _alloy_js_core16 from "@alloy-js/core";
|
|
4
|
+
|
|
5
|
+
//#region src/typescript/components/builtin-file.d.ts
|
|
6
|
+
type BuiltinFileProps = Omit<TypescriptFileProps, "path"> & Omit<TSDocModuleProps, "name"> & {
|
|
7
|
+
/**
|
|
8
|
+
* The runtime module identifier.
|
|
9
|
+
*
|
|
10
|
+
* @remarks
|
|
11
|
+
* This value will be included after the \`storm:\` prefix in the import statement.
|
|
12
|
+
*/
|
|
13
|
+
id: string;
|
|
14
|
+
/**
|
|
15
|
+
* The description for the builtin module.
|
|
16
|
+
*/
|
|
17
|
+
description?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the file is a TSX file.
|
|
20
|
+
*
|
|
21
|
+
* @defaultValue false
|
|
22
|
+
*/
|
|
23
|
+
tsx?: boolean;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* A base component representing a Powerlines generated Typescript source file.
|
|
27
|
+
*
|
|
28
|
+
* @param props - The properties for the source file.
|
|
29
|
+
* @returns The rendered source file component.
|
|
30
|
+
*/
|
|
31
|
+
declare function BuiltinFile(props: BuiltinFileProps): _alloy_js_core16.Children;
|
|
32
|
+
declare type __ΩBuiltinFileProps = any[];
|
|
33
|
+
//#endregion
|
|
34
|
+
export { BuiltinFileProps as n, __ΩBuiltinFileProps as r, BuiltinFile as t };
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import { n as kindToName, t as getUnionTypes } from "./utilities-C6eipB1q.mjs";
|
|
2
|
+
import defu from "defu";
|
|
3
|
+
import { getUniqueBy } from "@stryke/helpers/get-unique";
|
|
4
|
+
import { isNull } from "@stryke/type-checks/is-null";
|
|
5
|
+
import { isString } from "@stryke/type-checks/is-string";
|
|
6
|
+
import { isUndefined } from "@stryke/type-checks/is-undefined";
|
|
7
|
+
import { camelCase } from "@stryke/string-format/camel-case";
|
|
8
|
+
import { titleCase } from "@stryke/string-format/title-case";
|
|
9
|
+
import { capnpc } from "@stryke/capnp/compile";
|
|
10
|
+
import { resolveOptions } from "@stryke/capnp/helpers";
|
|
11
|
+
import { toArray } from "@stryke/convert/to-array";
|
|
12
|
+
import { StormJSON } from "@stryke/json";
|
|
13
|
+
import { joinPaths } from "@stryke/path/join";
|
|
14
|
+
import { getWords } from "@stryke/string-format/get-words";
|
|
15
|
+
import { pascalCase } from "@stryke/string-format/pascal-case";
|
|
16
|
+
import { isBigInt } from "@stryke/type-checks/is-bigint";
|
|
17
|
+
import { isNumber } from "@stryke/type-checks/is-number";
|
|
18
|
+
import { Buffer } from "node:buffer";
|
|
19
|
+
import { exec } from "node:child_process";
|
|
20
|
+
import { promisify } from "node:util";
|
|
21
|
+
|
|
22
|
+
//#region ../powerlines/src/lib/utilities/file-header.ts
|
|
23
|
+
function getBaseFileHeader(context) {
|
|
24
|
+
return `
|
|
25
|
+
// Generated with ${titleCase(context.config.framework)}
|
|
26
|
+
// Note: Do not edit this file manually - it will be overwritten automatically
|
|
27
|
+
`;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/helpers/capnp.ts
|
|
32
|
+
/**
|
|
33
|
+
* Compiles a Cap'n Proto schema into TypeScript definitions.
|
|
34
|
+
*
|
|
35
|
+
* @param context - The context containing the project and workspace information.
|
|
36
|
+
* @param options - The options for compiling the schema.
|
|
37
|
+
* @returns A promise that resolves to the compiled schema.
|
|
38
|
+
*/
|
|
39
|
+
async function compile(context, options = {}) {
|
|
40
|
+
const opts = defu(options, {
|
|
41
|
+
ts: true,
|
|
42
|
+
js: false,
|
|
43
|
+
dts: false,
|
|
44
|
+
schemas: joinPaths(context.artifactsPath, "schemas"),
|
|
45
|
+
tsconfig: context.tsconfig,
|
|
46
|
+
projectRoot: context.config.projectRoot,
|
|
47
|
+
workspaceRoot: context.workspaceConfig.workspaceRoot,
|
|
48
|
+
tty: true
|
|
49
|
+
});
|
|
50
|
+
const resolvedOptions = await resolveOptions(opts);
|
|
51
|
+
if (!resolvedOptions) throw new Error(`✖ No Cap'n Proto schema files found in the specified source paths: ${toArray(opts.schemas).join(", ")}.`);
|
|
52
|
+
return capnpc(resolvedOptions);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Converts any {@link ReflectionProperty} or {@link ReflectionParameter}'s value to string representation.
|
|
56
|
+
*
|
|
57
|
+
* @param property - The {@link ReflectionProperty} or {@link ReflectionParameter} containing the value to stringify.
|
|
58
|
+
* @param value - The value to stringify.
|
|
59
|
+
* @returns A string representation of the value.
|
|
60
|
+
*/
|
|
61
|
+
function stringifyCapnpDefaultValue(property, value) {
|
|
62
|
+
return stringifyCapnpValue(property.type, value ?? property.getDefaultValue());
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Converts any {@link Type}'s actual value to string representation.
|
|
66
|
+
*
|
|
67
|
+
* @param type - The {@link Type} of the value to stringify.
|
|
68
|
+
* @param value - The value to stringify.
|
|
69
|
+
* @returns A string representation of the value.
|
|
70
|
+
*/
|
|
71
|
+
function stringifyCapnpValue(type, value) {
|
|
72
|
+
return type.kind === ReflectionKind.string || type.kind === ReflectionKind.literal && isString(type.literal) ? `"${String(value)}"` : type.kind === ReflectionKind.enum ? `${camelCase(String(value))}` : type.kind === ReflectionKind.array ? StormJSON.stringify(value) : type.kind === ReflectionKind.object || type.kind === ReflectionKind.objectLiteral ? StormJSON.stringify(value).replaceAll("{", "(").replaceAll("}", ")") : String(value);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Converts a ReflectionProperty's default value to a Cap'n Proto schema string representation.
|
|
76
|
+
*
|
|
77
|
+
* @param type - The TypeEnum to evaluate.
|
|
78
|
+
* @returns A string representation of the property.
|
|
79
|
+
*/
|
|
80
|
+
function getCapnpEnumTypes(type) {
|
|
81
|
+
if (type.kind !== ReflectionKind.enum) return null;
|
|
82
|
+
const unique = getUniqueBy(type.values.filter((value) => !isUndefined(value) && !isNull(value)), (enumMember) => isString(enumMember) ? "Text" : "Float32");
|
|
83
|
+
if (unique.length === 0) return null;
|
|
84
|
+
return unique[0] && isString(unique[0]) ? "Text" : "Float32";
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Determines if a Type is a `Void` type in a Cap'n Proto schema.
|
|
88
|
+
*
|
|
89
|
+
* @param type - The Type to check.
|
|
90
|
+
* @returns True if the Type is a `Void` type, false otherwise.
|
|
91
|
+
*/
|
|
92
|
+
function isVoidType(type) {
|
|
93
|
+
return type.kind === ReflectionKind.void || type.kind === ReflectionKind.never || type.kind === ReflectionKind.null || type.kind === ReflectionKind.undefined || type.kind === ReflectionKind.symbol;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Converts a {@link TypeUnion} to an array of its underlying Cap'n Proto primitive type representation.
|
|
97
|
+
*
|
|
98
|
+
* @param type - The {@link TypeUnion} to convert.
|
|
99
|
+
* @returns A string representation of the Cap'n Proto primitive type.
|
|
100
|
+
*/
|
|
101
|
+
function getCapnpUnionTypes(type) {
|
|
102
|
+
return getUnionTypes(type);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Converts a {@link TypeUnion} to an array of its underlying Cap'n Proto primitive type representation.
|
|
106
|
+
*
|
|
107
|
+
* @param type - The {@link TypeUnion} to convert.
|
|
108
|
+
* @returns An array of Cap'n Proto primitive types.
|
|
109
|
+
*/
|
|
110
|
+
function isCapnpStringUnion(type) {
|
|
111
|
+
return getCapnpUnionTypes(type).some((member) => member.kind === ReflectionKind.string);
|
|
112
|
+
}
|
|
113
|
+
const LARGE_BUFFER = 1024 * 1e6;
|
|
114
|
+
const execAsync = promisify(exec);
|
|
115
|
+
async function generateCapnpId() {
|
|
116
|
+
const { stdout } = await execAsync("capnp id", {
|
|
117
|
+
windowsHide: true,
|
|
118
|
+
maxBuffer: LARGE_BUFFER,
|
|
119
|
+
killSignal: "SIGTERM"
|
|
120
|
+
});
|
|
121
|
+
return stdout;
|
|
122
|
+
}
|
|
123
|
+
async function generateCapnp(context, reflection, options) {
|
|
124
|
+
return `${(await generateCapnpId()).trim()};
|
|
125
|
+
${getBaseFileHeader(context).replace(/^\r*\n*/g, "").replaceAll("//", "#")}
|
|
126
|
+
${reflection.getMethods().length === 0 ? generateCapnpStruct(reflection, options) : generateCapnpInterface(reflection, options)}
|
|
127
|
+
`.trim();
|
|
128
|
+
}
|
|
129
|
+
function generateCapnpStruct(reflection, options = {}) {
|
|
130
|
+
const structName = options?.name || reflection.getTitle() || reflection.getClassName() || reflection.getName();
|
|
131
|
+
return `${generateCapnpEnums(reflection)}struct ${pascalCase(structName)} {
|
|
132
|
+
# Struct definition for ${titleCase(structName)}.
|
|
133
|
+
|
|
134
|
+
${generateCapnpSchema(reflection, options)}
|
|
135
|
+
}
|
|
136
|
+
`;
|
|
137
|
+
}
|
|
138
|
+
function generateCapnpInterface(reflection, options = {}) {
|
|
139
|
+
const interfaceName = options?.name || reflection.getTitle() || reflection.getClassName() || reflection.getName();
|
|
140
|
+
return `${generateCapnpEnums(reflection)}interface ${pascalCase(interfaceName)} {
|
|
141
|
+
# Interface definition for ${titleCase(interfaceName)}.
|
|
142
|
+
|
|
143
|
+
${generateCapnpSchema(reflection, options)}
|
|
144
|
+
}
|
|
145
|
+
`;
|
|
146
|
+
}
|
|
147
|
+
function formatEnumName(name) {
|
|
148
|
+
return pascalCase(`${name}_Type`);
|
|
149
|
+
}
|
|
150
|
+
function generateCapnpEnums(reflection) {
|
|
151
|
+
const enums = reflection.getProperties().filter((prop) => !prop.isIgnored() && (prop.type.kind === ReflectionKind.enum || prop.type.kind === ReflectionKind.union && getCapnpUnionTypes(prop.type).filter((type) => type.kind === ReflectionKind.literal && (isString(type.literal) || isNumber(type.literal))).length === 1)).sort((a, b) => a.isReadonly() && b.isReadonly() || !a.isReadonly() && !b.isReadonly() ? b.getNameAsString().localeCompare(a.getNameAsString()) : a.isReadonly() ? 1 : -1);
|
|
152
|
+
if (enums.length === 0) return "";
|
|
153
|
+
return `${enums.map((enumeration) => generateCapnpEnumSchema(enumeration.type, formatEnumName(enumeration.getNameAsString()))).join("\n\n")}
|
|
154
|
+
|
|
155
|
+
`;
|
|
156
|
+
}
|
|
157
|
+
function generateCapnpSchema(reflection, options = {}) {
|
|
158
|
+
let index = 0;
|
|
159
|
+
const indexCounter = options?.indexCounter ?? (() => index++);
|
|
160
|
+
return `${reflection.getProperties().filter((prop) => !prop.isIgnored()).sort((a, b) => a.isReadonly() && b.isReadonly() || !a.isReadonly() && !b.isReadonly() ? b.getNameAsString().localeCompare(a.getNameAsString()) : a.isReadonly() ? 1 : -1).map((prop) => generateCapnpPropertySchema(prop, indexCounter)).join(" \n\n ")}${reflection.getMethods().filter((methods) => !methods.isIgnored()).sort((a, b) => a.isReadonly() && b.isReadonly() || !a.isReadonly() && !b.isReadonly() ? String(b.getName()).localeCompare(String(a.getName())) : a.isReadonly() ? 1 : -1).map((methods) => generateCapnpMethodSchema(methods, indexCounter)).join(" \n\n ")}${reflection.getProperties().some((prop) => prop.type.kind === ReflectionKind.class && prop.type.classType === Map) ? `
|
|
161
|
+
struct Map(Key, Value) {
|
|
162
|
+
entries @0 :List(Entry);
|
|
163
|
+
|
|
164
|
+
struct Entry {
|
|
165
|
+
key @0 :Key;
|
|
166
|
+
value @1 :Value;
|
|
167
|
+
}
|
|
168
|
+
}` : ""}${reflection.getProperties().some((prop) => prop.type.kind === ReflectionKind.class && prop.type.classType === Date) ? `
|
|
169
|
+
struct Date {
|
|
170
|
+
# A standard Gregorian calendar date.
|
|
171
|
+
|
|
172
|
+
year @0 :Int16;
|
|
173
|
+
# The year - Must include the century.
|
|
174
|
+
# Negative value indicates BC.
|
|
175
|
+
|
|
176
|
+
month @1 :UInt8; # The month, 1-12
|
|
177
|
+
|
|
178
|
+
day @2 :UInt8; # The day of the month, 1-30
|
|
179
|
+
|
|
180
|
+
hour @3 :UInt8; # The hour of the day, 0-23
|
|
181
|
+
|
|
182
|
+
minute @4 :UInt8; # The minute of the hour, 0-59
|
|
183
|
+
|
|
184
|
+
second @5 :UInt8; # The second of the minute, 0-59
|
|
185
|
+
|
|
186
|
+
millisecond @6 :UInt16; # Milliseconds of the second, 0-999
|
|
187
|
+
}` : ""}`;
|
|
188
|
+
}
|
|
189
|
+
function generateCapnpMethodSchema(reflection, indexCounter) {
|
|
190
|
+
const methodName = reflection.getTitle() || typeof reflection.getName() === "string" ? String(reflection.getName()) : "";
|
|
191
|
+
if (!methodName) throw new Error(`Cannot generate Cap'n Proto schema for method without a name - Parent interface: ${reflection.reflectionClass.getName()}`);
|
|
192
|
+
return `${camelCase(methodName)} @${indexCounter()} (${reflection.getParameters().map((param) => {
|
|
193
|
+
return `${camelCase(param.getName())} :${generateCapnpPrimitive(param.getType())}${param.hasDefault() ? ` = ${stringifyCapnpDefaultValue(param)}` : ""}`;
|
|
194
|
+
}).join(", ")})${isVoidType(reflection.getReturnType()) ? "" : ` -> (${kindToName(reflection.getReturnType().kind)}: ${generateCapnpPrimitive(reflection.getReturnType())})`}; # ${(reflection.getDescription() || `The ${titleCase(reflection.reflectionClass.getTitle() || reflection.reflectionClass.getName())} interface ${titleCase(methodName)} method.`).replaceAll("\n", ". ")}`;
|
|
195
|
+
}
|
|
196
|
+
function generateCapnpPropertyComment(reflection) {
|
|
197
|
+
const result = getWords(reflection.getDescription() || `A schema property for ${titleCase(reflection.getTitle() || reflection.getNameAsString())} field.`, { relaxed: true }).reduce((ret, word) => {
|
|
198
|
+
let length = ret.length;
|
|
199
|
+
if (ret.includes("\n")) length = ret.substring(ret.lastIndexOf("\n") + 1).length;
|
|
200
|
+
const current = word.trim();
|
|
201
|
+
if (length + current.length > 60) ret += `\n\t# ${current}`;
|
|
202
|
+
else ret += ` ${current}`;
|
|
203
|
+
return ret;
|
|
204
|
+
}, "").trim();
|
|
205
|
+
if (result.length > 0) return `\t# ${result}`;
|
|
206
|
+
return "";
|
|
207
|
+
}
|
|
208
|
+
function generateCapnpPropertySchema(reflection, indexCounter) {
|
|
209
|
+
if (reflection.type.kind === ReflectionKind.union) if (getCapnpUnionTypes(reflection.type).length === 0) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Void;
|
|
210
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
211
|
+
else if (getCapnpUnionTypes(reflection.type).filter((type) => type.kind === ReflectionKind.literal && (isString(type.literal) || isNumber(type.literal))).length === 1) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :${formatEnumName(reflection.getNameAsString())}${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
212
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
213
|
+
else return `${camelCase(reflection.getNameAsString())} :union {
|
|
214
|
+
${getCapnpUnionTypes(reflection.type).map((type) => ` ${kindToName(type.kind)} @${indexCounter()} :${generateCapnpPrimitive(type)};`).join("\n")}
|
|
215
|
+
}
|
|
216
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
217
|
+
else if (reflection.type.kind === ReflectionKind.array) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :List(${generateCapnpPrimitive(reflection.getSubType())})${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
218
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
219
|
+
else if (reflection.type.kind === ReflectionKind.class) if (reflection.type.classType === Map) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Map(${!reflection.type.typeArguments || reflection.type.typeArguments.length === 0 || !reflection.type.typeArguments[0] ? "Data" : generateCapnpPrimitive(reflection.type.typeArguments[0])}, ${!reflection.type.typeArguments || reflection.type.typeArguments.length < 2 || !reflection.type.typeArguments[1] ? "Data" : generateCapnpPrimitive(reflection.type.typeArguments[1])})${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
220
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
221
|
+
else if (reflection.type.classType === Date) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Data${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
222
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
223
|
+
else if (reflection.type.classType === Buffer) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Data${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
224
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
225
|
+
else if (reflection.type.classType === ArrayBuffer) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Data${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
226
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
227
|
+
else return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :${pascalCase(reflection.type.typeName || getClassName(reflection.type.classType))}${generateCapnpStruct(reflection.reflectionClass, { name: pascalCase(reflection.type.typeName || getClassName(reflection.type.classType)) })}${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
228
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
229
|
+
else if (reflection.type.kind === ReflectionKind.objectLiteral) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :${pascalCase(reflection.type.typeName || memberNameToString(reflection.getNameAsString()))}${generateCapnpStruct(reflection.reflectionClass, { name: pascalCase(reflection.type.typeName || memberNameToString(reflection.getNameAsString())) })}${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
230
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
231
|
+
else if (reflection.type.kind === ReflectionKind.enum) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :${pascalCase(reflection.getNameAsString())}${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
232
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
233
|
+
return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :${generateCapnpPrimitive(reflection.getType())}${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
234
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
235
|
+
}
|
|
236
|
+
function generateCapnpEnumSchema(type, name) {
|
|
237
|
+
if (type.kind === ReflectionKind.union) return generateCapnpEnumSchema({
|
|
238
|
+
kind: ReflectionKind.enum,
|
|
239
|
+
indexType: type,
|
|
240
|
+
enum: type.types.reduce((ret, type$1) => {
|
|
241
|
+
if (isString(type$1.literal) || isNumber(type$1.literal)) ret[camelCase(String(type$1.literal))] = type$1.literal;
|
|
242
|
+
return ret;
|
|
243
|
+
}, {}),
|
|
244
|
+
values: getCapnpUnionTypes(type).filter((type$1) => type$1.kind === ReflectionKind.literal && (isString(type$1.literal) || isNumber(type$1.literal))).map((type$1) => type$1.literal)
|
|
245
|
+
}, name);
|
|
246
|
+
let index = 0;
|
|
247
|
+
const indexCounter = () => index++;
|
|
248
|
+
const enumType = getCapnpEnumTypes(type);
|
|
249
|
+
if (!enumType) return "";
|
|
250
|
+
return `enum ${pascalCase(name)} {
|
|
251
|
+
${type.enum && Object.entries(type.enum).length > 0 ? Object.entries(type.enum).filter(([, value]) => value !== null && value !== void 0).map(([key]) => ` ${camelCase(key)} @${indexCounter()};`).join("\n") : type.values.filter((value) => value !== null && value !== void 0).map((value) => `${enumType === "Text" && value ? camelCase(String(value)) : `${type.typeName ? `${camelCase(type.typeName)}_` : ""}${value || ""}`} @${indexCounter()};`).join("\n")}
|
|
252
|
+
}`;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Generates a string representation of Cap'n Proto primitive types from a Deepkit Type.
|
|
256
|
+
*
|
|
257
|
+
* @param type - The Deepkit Type to convert.
|
|
258
|
+
* @returns A string representation of the Cap'n Proto primitive type.
|
|
259
|
+
*/
|
|
260
|
+
function generateCapnpPrimitive(type) {
|
|
261
|
+
return type.kind === ReflectionKind.never || type.kind === ReflectionKind.void || type.kind === ReflectionKind.null || type.kind === ReflectionKind.undefined || type.kind === ReflectionKind.symbol ? "Void" : type.kind === ReflectionKind.class && type.classType === Date ? "Date" : type.kind === ReflectionKind.class && type.classType === Set ? `List(${type.typeArguments && type.typeArguments[0] ? generateCapnpPrimitive(type.typeArguments[0]) : "Data"})` : type.kind === ReflectionKind.bigint ? "UInt64" : type.kind === ReflectionKind.number ? "Float64" : type.kind === ReflectionKind.string || type.kind === ReflectionKind.regexp ? "Text" : type.kind === ReflectionKind.boolean ? "Bool" : type.kind === ReflectionKind.literal ? isNumber(type.literal) ? "Float64" : isBigInt(type.literal) ? "UInt64" : isString(type.literal) ? "Text" : typeof type.literal === "boolean" ? "Bool" : "Data" : "Data";
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
//#endregion
|
|
265
|
+
export { generateCapnpId as a, generateCapnpPrimitive as c, getCapnpEnumTypes as d, getCapnpUnionTypes as f, stringifyCapnpValue as g, stringifyCapnpDefaultValue as h, generateCapnpEnumSchema as i, generateCapnpSchema as l, isVoidType as m, compile as n, generateCapnpInterface as o, isCapnpStringUnion as p, generateCapnp as r, generateCapnpMethodSchema as s, LARGE_BUFFER as t, generateCapnpStruct as u };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { n as PluginContext, t as Context } from "./context-BwQLwanm.mjs";
|
|
2
|
+
import { CapnpcOptions, CapnpcResult } from "@stryke/capnp/types";
|
|
3
|
+
|
|
4
|
+
//#region src/helpers/capnp.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Compiles a Cap'n Proto schema into TypeScript definitions.
|
|
8
|
+
*
|
|
9
|
+
* @param context - The context containing the project and workspace information.
|
|
10
|
+
* @param options - The options for compiling the schema.
|
|
11
|
+
* @returns A promise that resolves to the compiled schema.
|
|
12
|
+
*/
|
|
13
|
+
declare function compile(context: Context, options?: Partial<CapnpcOptions>): Promise<CapnpcResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Converts any {@link ReflectionProperty} or {@link ReflectionParameter}'s value to string representation.
|
|
16
|
+
*
|
|
17
|
+
* @param property - The {@link ReflectionProperty} or {@link ReflectionParameter} containing the value to stringify.
|
|
18
|
+
* @param value - The value to stringify.
|
|
19
|
+
* @returns A string representation of the value.
|
|
20
|
+
*/
|
|
21
|
+
declare function stringifyCapnpDefaultValue(property: ReflectionProperty | ReflectionParameter, value?: any): string;
|
|
22
|
+
/**
|
|
23
|
+
* Converts any {@link Type}'s actual value to string representation.
|
|
24
|
+
*
|
|
25
|
+
* @param type - The {@link Type} of the value to stringify.
|
|
26
|
+
* @param value - The value to stringify.
|
|
27
|
+
* @returns A string representation of the value.
|
|
28
|
+
*/
|
|
29
|
+
declare function stringifyCapnpValue(type: Type, value: any): string;
|
|
30
|
+
/**
|
|
31
|
+
* Converts a ReflectionProperty's default value to a Cap'n Proto schema string representation.
|
|
32
|
+
*
|
|
33
|
+
* @param type - The TypeEnum to evaluate.
|
|
34
|
+
* @returns A string representation of the property.
|
|
35
|
+
*/
|
|
36
|
+
declare function getCapnpEnumTypes(type: Type): "Text" | "Float32" | null;
|
|
37
|
+
/**
|
|
38
|
+
* Determines if a Type is a `Void` type in a Cap'n Proto schema.
|
|
39
|
+
*
|
|
40
|
+
* @param type - The Type to check.
|
|
41
|
+
* @returns True if the Type is a `Void` type, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
declare function isVoidType(type: Type): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Converts a {@link TypeUnion} to an array of its underlying Cap'n Proto primitive type representation.
|
|
46
|
+
*
|
|
47
|
+
* @param type - The {@link TypeUnion} to convert.
|
|
48
|
+
* @returns A string representation of the Cap'n Proto primitive type.
|
|
49
|
+
*/
|
|
50
|
+
declare function getCapnpUnionTypes(type: Type): Type[];
|
|
51
|
+
/**
|
|
52
|
+
* Converts a {@link TypeUnion} to an array of its underlying Cap'n Proto primitive type representation.
|
|
53
|
+
*
|
|
54
|
+
* @param type - The {@link TypeUnion} to convert.
|
|
55
|
+
* @returns An array of Cap'n Proto primitive types.
|
|
56
|
+
*/
|
|
57
|
+
declare function isCapnpStringUnion(type: Type): boolean;
|
|
58
|
+
declare const LARGE_BUFFER: number;
|
|
59
|
+
type IOType = "overlapped" | "pipe" | "ignore" | "inherit";
|
|
60
|
+
type StdioOptions = IOType | Array<IOType | "ipc" | number | null | undefined>;
|
|
61
|
+
declare function generateCapnpId(): Promise<string>;
|
|
62
|
+
interface GenerateCapnpOptions {
|
|
63
|
+
name?: string;
|
|
64
|
+
}
|
|
65
|
+
declare function generateCapnp(context: PluginContext, reflection: ReflectionClass<any>, options: GenerateCapnpOptions): Promise<string>;
|
|
66
|
+
interface GenerateCapnpStructOptions extends GenerateCapnpOptions {
|
|
67
|
+
indexCounter?: () => number;
|
|
68
|
+
}
|
|
69
|
+
declare function generateCapnpStruct(reflection: ReflectionClass<any>, options?: GenerateCapnpStructOptions): string;
|
|
70
|
+
declare function generateCapnpInterface(reflection: ReflectionClass<any>, options?: GenerateCapnpStructOptions): string;
|
|
71
|
+
declare function generateCapnpSchema(reflection: ReflectionClass<any>, options?: GenerateCapnpStructOptions): string;
|
|
72
|
+
declare function generateCapnpMethodSchema(reflection: ReflectionMethod, indexCounter: () => number): string;
|
|
73
|
+
declare function generateCapnpEnumSchema(type: TypeEnum | TypeUnion, name: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Generates a string representation of Cap'n Proto primitive types from a Deepkit Type.
|
|
76
|
+
*
|
|
77
|
+
* @param type - The Deepkit Type to convert.
|
|
78
|
+
* @returns A string representation of the Cap'n Proto primitive type.
|
|
79
|
+
*/
|
|
80
|
+
declare function generateCapnpPrimitive(type: Type): string;
|
|
81
|
+
declare type __ΩIOType = any[];
|
|
82
|
+
declare type __ΩStdioOptions = any[];
|
|
83
|
+
declare type __ΩGenerateCapnpOptions = any[];
|
|
84
|
+
declare type __ΩGenerateCapnpStructOptions = any[];
|
|
85
|
+
//#endregion
|
|
86
|
+
export { stringifyCapnpDefaultValue as C, isVoidType as S, generateCapnpSchema as _, StdioOptions as a, getCapnpUnionTypes as b, __ΩIOType as c, generateCapnp as d, generateCapnpEnumSchema as f, generateCapnpPrimitive as g, generateCapnpMethodSchema as h, LARGE_BUFFER as i, __ΩStdioOptions as l, generateCapnpInterface as m, GenerateCapnpStructOptions as n, __ΩGenerateCapnpOptions as o, generateCapnpId as p, IOType as r, __ΩGenerateCapnpStructOptions as s, GenerateCapnpOptions as t, compile as u, generateCapnpStruct as v, stringifyCapnpValue as w, isCapnpStringUnion as x, getCapnpEnumTypes as y };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { n as PluginContext, t as Context } from "./context-CWt70HA3.cjs";
|
|
2
|
+
import { CapnpcOptions, CapnpcResult } from "@stryke/capnp/types";
|
|
3
|
+
|
|
4
|
+
//#region src/helpers/capnp.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Compiles a Cap'n Proto schema into TypeScript definitions.
|
|
8
|
+
*
|
|
9
|
+
* @param context - The context containing the project and workspace information.
|
|
10
|
+
* @param options - The options for compiling the schema.
|
|
11
|
+
* @returns A promise that resolves to the compiled schema.
|
|
12
|
+
*/
|
|
13
|
+
declare function compile(context: Context, options?: Partial<CapnpcOptions>): Promise<CapnpcResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Converts any {@link ReflectionProperty} or {@link ReflectionParameter}'s value to string representation.
|
|
16
|
+
*
|
|
17
|
+
* @param property - The {@link ReflectionProperty} or {@link ReflectionParameter} containing the value to stringify.
|
|
18
|
+
* @param value - The value to stringify.
|
|
19
|
+
* @returns A string representation of the value.
|
|
20
|
+
*/
|
|
21
|
+
declare function stringifyCapnpDefaultValue(property: ReflectionProperty | ReflectionParameter, value?: any): string;
|
|
22
|
+
/**
|
|
23
|
+
* Converts any {@link Type}'s actual value to string representation.
|
|
24
|
+
*
|
|
25
|
+
* @param type - The {@link Type} of the value to stringify.
|
|
26
|
+
* @param value - The value to stringify.
|
|
27
|
+
* @returns A string representation of the value.
|
|
28
|
+
*/
|
|
29
|
+
declare function stringifyCapnpValue(type: Type, value: any): string;
|
|
30
|
+
/**
|
|
31
|
+
* Converts a ReflectionProperty's default value to a Cap'n Proto schema string representation.
|
|
32
|
+
*
|
|
33
|
+
* @param type - The TypeEnum to evaluate.
|
|
34
|
+
* @returns A string representation of the property.
|
|
35
|
+
*/
|
|
36
|
+
declare function getCapnpEnumTypes(type: Type): "Text" | "Float32" | null;
|
|
37
|
+
/**
|
|
38
|
+
* Determines if a Type is a `Void` type in a Cap'n Proto schema.
|
|
39
|
+
*
|
|
40
|
+
* @param type - The Type to check.
|
|
41
|
+
* @returns True if the Type is a `Void` type, false otherwise.
|
|
42
|
+
*/
|
|
43
|
+
declare function isVoidType(type: Type): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Converts a {@link TypeUnion} to an array of its underlying Cap'n Proto primitive type representation.
|
|
46
|
+
*
|
|
47
|
+
* @param type - The {@link TypeUnion} to convert.
|
|
48
|
+
* @returns A string representation of the Cap'n Proto primitive type.
|
|
49
|
+
*/
|
|
50
|
+
declare function getCapnpUnionTypes(type: Type): Type[];
|
|
51
|
+
/**
|
|
52
|
+
* Converts a {@link TypeUnion} to an array of its underlying Cap'n Proto primitive type representation.
|
|
53
|
+
*
|
|
54
|
+
* @param type - The {@link TypeUnion} to convert.
|
|
55
|
+
* @returns An array of Cap'n Proto primitive types.
|
|
56
|
+
*/
|
|
57
|
+
declare function isCapnpStringUnion(type: Type): boolean;
|
|
58
|
+
declare const LARGE_BUFFER: number;
|
|
59
|
+
type IOType = "overlapped" | "pipe" | "ignore" | "inherit";
|
|
60
|
+
type StdioOptions = IOType | Array<IOType | "ipc" | number | null | undefined>;
|
|
61
|
+
declare function generateCapnpId(): Promise<string>;
|
|
62
|
+
interface GenerateCapnpOptions {
|
|
63
|
+
name?: string;
|
|
64
|
+
}
|
|
65
|
+
declare function generateCapnp(context: PluginContext, reflection: ReflectionClass<any>, options: GenerateCapnpOptions): Promise<string>;
|
|
66
|
+
interface GenerateCapnpStructOptions extends GenerateCapnpOptions {
|
|
67
|
+
indexCounter?: () => number;
|
|
68
|
+
}
|
|
69
|
+
declare function generateCapnpStruct(reflection: ReflectionClass<any>, options?: GenerateCapnpStructOptions): string;
|
|
70
|
+
declare function generateCapnpInterface(reflection: ReflectionClass<any>, options?: GenerateCapnpStructOptions): string;
|
|
71
|
+
declare function generateCapnpSchema(reflection: ReflectionClass<any>, options?: GenerateCapnpStructOptions): string;
|
|
72
|
+
declare function generateCapnpMethodSchema(reflection: ReflectionMethod, indexCounter: () => number): string;
|
|
73
|
+
declare function generateCapnpEnumSchema(type: TypeEnum | TypeUnion, name: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Generates a string representation of Cap'n Proto primitive types from a Deepkit Type.
|
|
76
|
+
*
|
|
77
|
+
* @param type - The Deepkit Type to convert.
|
|
78
|
+
* @returns A string representation of the Cap'n Proto primitive type.
|
|
79
|
+
*/
|
|
80
|
+
declare function generateCapnpPrimitive(type: Type): string;
|
|
81
|
+
declare type __ΩIOType = any[];
|
|
82
|
+
declare type __ΩStdioOptions = any[];
|
|
83
|
+
declare type __ΩGenerateCapnpOptions = any[];
|
|
84
|
+
declare type __ΩGenerateCapnpStructOptions = any[];
|
|
85
|
+
//#endregion
|
|
86
|
+
export { stringifyCapnpDefaultValue as C, isVoidType as S, generateCapnpSchema as _, StdioOptions as a, getCapnpUnionTypes as b, __ΩIOType as c, generateCapnp as d, generateCapnpEnumSchema as f, generateCapnpPrimitive as g, generateCapnpMethodSchema as h, LARGE_BUFFER as i, __ΩStdioOptions as l, generateCapnpInterface as m, GenerateCapnpStructOptions as n, __ΩGenerateCapnpOptions as o, generateCapnpId as p, IOType as r, __ΩGenerateCapnpStructOptions as s, GenerateCapnpOptions as t, compile as u, generateCapnpStruct as v, stringifyCapnpValue as w, isCapnpStringUnion as x, getCapnpEnumTypes as y };
|