@powerlines/plugin-alloy 0.15.3 → 0.15.4
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/{chunk-CbDLau6x.cjs → _virtual/rolldown_runtime.cjs} +1 -6
- package/dist/_virtual/rolldown_runtime.mjs +31 -0
- package/dist/core/components/index.cjs +6 -8
- package/dist/core/components/index.d.cts +3 -6
- package/dist/core/components/index.d.mts +3 -6
- package/dist/core/components/index.mjs +3 -5
- package/dist/core/components/output.cjs +39 -3
- package/dist/core/components/output.d.cts +17 -2
- package/dist/core/components/output.d.mts +17 -2
- package/dist/core/components/output.mjs +37 -2
- package/dist/core/components/single-line-comment.cjs +21 -2
- package/dist/core/components/single-line-comment.d.cts +21 -3
- package/dist/core/components/single-line-comment.d.mts +21 -3
- package/dist/core/components/single-line-comment.mjs +19 -1
- package/dist/core/components/source-file.cjs +57 -2
- package/dist/core/components/source-file.d.cts +30 -3
- package/dist/core/components/source-file.d.mts +30 -3
- package/dist/core/components/source-file.mjs +54 -1
- package/dist/core/contexts/context.cjs +28 -4
- package/dist/core/contexts/context.d.cts +25 -2
- package/dist/core/contexts/context.d.mts +25 -2
- package/dist/core/contexts/context.mjs +24 -1
- package/dist/core/contexts/index.cjs +13 -14
- package/dist/core/contexts/index.d.cts +2 -5
- package/dist/core/contexts/index.d.mts +2 -5
- package/dist/core/contexts/index.mjs +2 -3
- package/dist/core/contexts/reflection.cjs +67 -9
- package/dist/core/contexts/reflection.d.cts +51 -3
- package/dist/core/contexts/reflection.d.mts +51 -3
- package/dist/core/contexts/reflection.mjs +58 -1
- package/dist/core/index.cjs +21 -22
- package/dist/core/index.d.cts +5 -10
- package/dist/core/index.d.mts +7 -10
- package/dist/core/index.mjs +7 -8
- package/dist/deepkit/src/vendor/type.d.cts +7 -0
- package/dist/deepkit/src/vendor/type.d.mts +7 -0
- package/dist/helpers/capnp.cjs +276 -19
- package/dist/helpers/capnp.d.cts +86 -2
- package/dist/helpers/capnp.d.mts +86 -2
- package/dist/helpers/capnp.mjs +257 -2
- package/dist/helpers/create-builtin.cjs +18 -2
- package/dist/helpers/create-builtin.d.cts +14 -1
- package/dist/helpers/create-builtin.d.mts +14 -1
- package/dist/helpers/create-builtin.mjs +16 -1
- package/dist/helpers/index.cjs +23 -25
- package/dist/helpers/index.d.cts +4 -6
- package/dist/helpers/index.d.mts +4 -6
- package/dist/helpers/index.mjs +4 -6
- package/dist/helpers/refkey.cjs +15 -2
- package/dist/helpers/refkey.d.cts +12 -1
- package/dist/helpers/refkey.d.mts +12 -1
- package/dist/helpers/refkey.mjs +13 -1
- package/dist/helpers/typescript.cjs +45 -3
- package/dist/helpers/typescript.d.cts +24 -1
- package/dist/helpers/typescript.d.mts +24 -1
- package/dist/helpers/typescript.mjs +43 -2
- package/dist/index.cjs +110 -125
- package/dist/index.d.cts +24 -34
- package/dist/index.d.mts +29 -34
- package/dist/index.mjs +31 -46
- package/dist/markdown/components/index.cjs +7 -12
- package/dist/markdown/components/index.d.cts +2 -7
- package/dist/markdown/components/index.d.mts +2 -7
- package/dist/markdown/components/index.mjs +2 -7
- package/dist/markdown/components/markdown-file.cjs +117 -6
- package/dist/markdown/components/markdown-file.d.cts +22 -4
- package/dist/markdown/components/markdown-file.d.mts +22 -4
- package/dist/markdown/components/markdown-file.mjs +114 -4
- package/dist/markdown/components/markdown-table.cjs +100 -5
- package/dist/markdown/components/markdown-table.d.cts +26 -4
- package/dist/markdown/components/markdown-table.d.mts +26 -4
- package/dist/markdown/components/markdown-table.mjs +96 -2
- package/dist/markdown/contexts/index.cjs +5 -6
- package/dist/markdown/contexts/index.d.cts +1 -2
- package/dist/markdown/contexts/index.d.mts +1 -2
- package/dist/markdown/contexts/index.mjs +1 -2
- package/dist/markdown/contexts/markdown-table.cjs +36 -5
- package/dist/markdown/contexts/markdown-table.d.cts +36 -1
- package/dist/markdown/contexts/markdown-table.d.mts +36 -1
- package/dist/markdown/contexts/markdown-table.mjs +31 -1
- package/dist/markdown/index.cjs +14 -18
- package/dist/markdown/index.d.cts +3 -9
- package/dist/markdown/index.d.mts +5 -9
- package/dist/markdown/index.mjs +5 -9
- package/dist/powerlines/src/types/babel.d.mts +2 -0
- package/dist/powerlines/src/types/build.d.cts +145 -0
- package/dist/powerlines/src/types/build.d.mts +145 -0
- package/dist/powerlines/src/types/commands.d.cts +8 -0
- package/dist/powerlines/src/types/commands.d.mts +9 -0
- package/dist/powerlines/src/types/config.d.cts +357 -0
- package/dist/powerlines/src/types/config.d.mts +357 -0
- package/dist/powerlines/src/types/context.d.cts +362 -0
- package/dist/powerlines/src/types/context.d.mts +364 -0
- package/dist/powerlines/src/types/fs.d.cts +458 -0
- package/dist/powerlines/src/types/fs.d.mts +458 -0
- package/dist/powerlines/src/types/hooks.d.mts +2 -0
- package/dist/powerlines/src/types/plugin.d.cts +231 -0
- package/dist/powerlines/src/types/plugin.d.mts +231 -0
- package/dist/powerlines/src/types/resolved.d.cts +81 -0
- package/dist/powerlines/src/types/resolved.d.mts +81 -0
- package/dist/powerlines/src/types/tsconfig.d.cts +69 -0
- package/dist/powerlines/src/types/tsconfig.d.mts +69 -0
- package/dist/types/components.cjs +0 -1
- package/dist/types/components.d.cts +142 -2
- package/dist/types/components.d.mts +142 -2
- package/dist/types/components.mjs +0 -2
- package/dist/types/index.cjs +0 -3
- package/dist/types/index.d.cts +2 -4
- package/dist/types/index.d.mts +2 -4
- package/dist/types/index.mjs +0 -4
- package/dist/types/plugin.cjs +0 -1
- package/dist/types/plugin.d.cts +41 -2
- package/dist/types/plugin.d.mts +41 -2
- package/dist/types/plugin.mjs +0 -2
- package/dist/typescript/components/builtin-file.cjs +43 -8
- package/dist/typescript/components/builtin-file.d.cts +33 -6
- package/dist/typescript/components/builtin-file.d.mts +33 -6
- package/dist/typescript/components/builtin-file.mjs +41 -7
- package/dist/typescript/components/dynamic-import-statement.cjs +24 -2
- package/dist/typescript/components/dynamic-import-statement.d.cts +31 -1
- package/dist/typescript/components/dynamic-import-statement.d.mts +31 -1
- package/dist/typescript/components/dynamic-import-statement.mjs +22 -1
- package/dist/typescript/components/entry-file.cjs +38 -6
- package/dist/typescript/components/entry-file.d.cts +26 -5
- package/dist/typescript/components/entry-file.d.mts +26 -5
- package/dist/typescript/components/entry-file.mjs +35 -5
- package/dist/typescript/components/index.cjs +43 -49
- package/dist/typescript/components/index.d.cts +9 -13
- package/dist/typescript/components/index.d.mts +9 -13
- package/dist/typescript/components/index.mjs +9 -15
- package/dist/typescript/components/record-expression.cjs +11 -2
- package/dist/typescript/components/record-expression.d.cts +11 -1
- package/dist/typescript/components/record-expression.d.mts +11 -1
- package/dist/typescript/components/record-expression.mjs +9 -1
- package/dist/typescript/components/tsdoc-reflection.cjs +172 -8
- package/dist/typescript/components/tsdoc-reflection.d.cts +17 -4
- package/dist/typescript/components/tsdoc-reflection.d.mts +17 -4
- package/dist/typescript/components/tsdoc-reflection.mjs +168 -5
- package/dist/typescript/components/tsdoc.cjs +475 -23
- package/dist/typescript/components/tsdoc.d.cts +151 -3
- package/dist/typescript/components/tsdoc.d.mts +151 -3
- package/dist/typescript/components/tsdoc.mjs +454 -3
- package/dist/typescript/components/typescript-file.cjs +192 -7
- package/dist/typescript/components/typescript-file.d.cts +46 -4
- package/dist/typescript/components/typescript-file.d.mts +46 -4
- package/dist/typescript/components/typescript-file.mjs +188 -4
- package/dist/typescript/components/typescript-interface.cjs +68 -8
- package/dist/typescript/components/typescript-interface.d.cts +24 -3
- package/dist/typescript/components/typescript-interface.d.mts +24 -3
- package/dist/typescript/components/typescript-interface.mjs +65 -6
- package/dist/typescript/components/typescript-object.cjs +124 -8
- package/dist/typescript/components/typescript-object.d.cts +25 -3
- package/dist/typescript/components/typescript-object.d.mts +25 -3
- package/dist/typescript/components/typescript-object.mjs +121 -6
- package/dist/typescript/index.cjs +44 -50
- package/dist/typescript/index.d.cts +9 -14
- package/dist/typescript/index.d.mts +10 -14
- package/dist/typescript/index.mjs +10 -16
- package/package.json +6 -8
- package/dist/builtin-file-BDc5-4_L.mjs +0 -43
- package/dist/builtin-file-BxePApb0.d.mts +0 -34
- package/dist/builtin-file-Cey2cJy9.cjs +0 -49
- package/dist/builtin-file-Cq1ooVDk.d.cts +0 -34
- package/dist/capnp-8yVLwAox.cjs +0 -364
- package/dist/capnp-C5d2Z3gP.d.cts +0 -87
- package/dist/capnp-CNythuSw.mjs +0 -267
- package/dist/capnp-DkidugOV.d.mts +0 -87
- package/dist/components-BOkkDhM9.cjs +0 -0
- package/dist/components-BXrpeD8J.cjs +0 -0
- package/dist/components-C3qpgLKV.mjs +0 -1
- package/dist/components-C8Qs2PB0.d.cts +0 -142
- package/dist/components-CBtEhH9k.mjs +0 -1
- package/dist/components-Cj5gaIV0.cjs +0 -0
- package/dist/components-HMVhsFQl.mjs +0 -1
- package/dist/components-I0ydtjfW.cjs +0 -0
- package/dist/components-ajocJcib.mjs +0 -1
- package/dist/components-ixU_ICbr.d.mts +0 -142
- package/dist/context-BApo1nhP.d.mts +0 -26
- package/dist/context-BDGjT3c-.d.cts +0 -26
- package/dist/context-BIduC1bB.cjs +0 -44
- package/dist/context-BsDdxy5g.d.cts +0 -1668
- package/dist/context-Cx38_mgI.mjs +0 -26
- package/dist/context-DXy7MPku.d.mts +0 -1668
- package/dist/contexts-BSRk0whx.cjs +0 -0
- package/dist/contexts-X44bRyOp.mjs +0 -1
- package/dist/contexts-XuEdvZdE.mjs +0 -1
- package/dist/contexts-uXFW3CIa.cjs +0 -0
- package/dist/core-B57eQAue.mjs +0 -1
- package/dist/core-DzEmU6tL.cjs +0 -0
- package/dist/create-builtin-Bpswa0ZT.d.cts +0 -15
- package/dist/create-builtin-CP9mN5P-.mjs +0 -18
- package/dist/create-builtin-_3GNADDt.cjs +0 -24
- package/dist/create-builtin-wEbNOWNw.d.mts +0 -15
- package/dist/dynamic-import-statement-CWK5I_yt.mjs +0 -24
- package/dist/dynamic-import-statement-D6f1SnIf.d.mts +0 -32
- package/dist/dynamic-import-statement-DVGp5Cvq.cjs +0 -30
- package/dist/dynamic-import-statement-Dk3bSR8x.d.cts +0 -32
- package/dist/entry-file-B5YXZbGV.d.cts +0 -27
- package/dist/entry-file-DijEelFv.cjs +0 -44
- package/dist/entry-file-DtjJPVZY.mjs +0 -37
- package/dist/entry-file-HWtqk30Z.d.mts +0 -27
- package/dist/helpers-BrA1Dy07.mjs +0 -1
- package/dist/helpers-Cten3PJk.cjs +0 -0
- package/dist/index-BINnViIh.d.mts +0 -1
- package/dist/index-BJ8-FA6N.d.cts +0 -1
- package/dist/index-BRJ_6A42.d.mts +0 -1
- package/dist/index-BXpMZvwA.d.cts +0 -1
- package/dist/index-Bi0Yc4v2.d.cts +0 -1
- package/dist/index-BrGZHEgX.d.mts +0 -1
- package/dist/index-BwFl_eS0.d.mts +0 -1
- package/dist/index-C1ihAKnV.d.cts +0 -1
- package/dist/index-CLTQPxoD.d.mts +0 -1
- package/dist/index-CoUVmp_Q.d.mts +0 -1
- package/dist/index-D1aKd2tO.d.cts +0 -1
- package/dist/index-D4d_pZLu.d.cts +0 -1
- package/dist/index-DBGd4WeR.d.mts +0 -1
- package/dist/index-DdxxIAKU.d.cts +0 -1
- package/dist/index-Deol7ZWO.d.mts +0 -1
- package/dist/index-DpEKQcoR.d.cts +0 -1
- package/dist/index-DrZ2Dh-H.d.cts +0 -1
- package/dist/index-MEuojd-r.d.cts +0 -1
- package/dist/index-bHnO4ZKt.d.mts +0 -1
- package/dist/index-lIMqGGJz.d.mts +0 -1
- package/dist/markdown-BTQE0AI9.cjs +0 -0
- package/dist/markdown-DMddlO1y.mjs +0 -1
- package/dist/markdown-file-BVSRcpXO.cjs +0 -128
- package/dist/markdown-file-CKkjaqpP.d.mts +0 -23
- package/dist/markdown-file-Clh5iU1_.mjs +0 -116
- package/dist/markdown-file-EKqcnqeE.d.cts +0 -23
- package/dist/markdown-table-2qP_4eLk.mjs +0 -33
- package/dist/markdown-table-83GdY7ag.d.mts +0 -27
- package/dist/markdown-table-B40X-Kp1.cjs +0 -116
- package/dist/markdown-table-BIRzgtYb.d.cts +0 -27
- package/dist/markdown-table-BOWM26Kb.cjs +0 -57
- package/dist/markdown-table-CZMEY6IR.d.cts +0 -37
- package/dist/markdown-table-D-YnljE7.mjs +0 -98
- package/dist/markdown-table-kFQoqKQt.d.mts +0 -37
- package/dist/output-BlHZS50Y.cjs +0 -45
- package/dist/output-C2C9L6Ho.d.cts +0 -18
- package/dist/output-CNnPjQlW.mjs +0 -39
- package/dist/output-Di6Elv89.d.mts +0 -18
- package/dist/plugin-DU0K2-Om.mjs +0 -1
- package/dist/plugin-DfBq0RfU.d.cts +0 -40
- package/dist/plugin-Fx-uJ4It.cjs +0 -0
- package/dist/plugin-LknisCLa.d.mts +0 -40
- package/dist/record-expression-BOCZ9iqR.d.mts +0 -12
- package/dist/record-expression-DM_zSqE_.d.cts +0 -12
- package/dist/record-expression-DNVzCKgo.cjs +0 -17
- package/dist/record-expression-DxS_DiPc.mjs +0 -11
- package/dist/refkey-B0XSqdGY.d.mts +0 -13
- package/dist/refkey-B6A9kh_u.cjs +0 -21
- package/dist/refkey-CP7MJMac.d.cts +0 -13
- package/dist/refkey-CV0mIj0Y.mjs +0 -15
- package/dist/reflection-BSbFFYZO.cjs +0 -108
- package/dist/reflection-CBMQ1FQo.mjs +0 -60
- package/dist/reflection-CL_Lrq2o.d.cts +0 -52
- package/dist/reflection-DLJST1Z7.d.mts +0 -52
- package/dist/single-line-comment-BhEed2Bl.d.cts +0 -22
- package/dist/single-line-comment-Biwa95Py.mjs +0 -21
- package/dist/single-line-comment-CH3Apcm8.d.mts +0 -22
- package/dist/single-line-comment-DvU69OGj.cjs +0 -27
- package/dist/source-file-BNEo0iAE.d.mts +0 -31
- package/dist/source-file-BOgnPw2P.d.cts +0 -31
- package/dist/source-file-DK_nFwAK.cjs +0 -63
- package/dist/source-file-Dna2E0ro.mjs +0 -56
- package/dist/tsdoc-B0TNs3dK.cjs +0 -576
- package/dist/tsdoc-CK6J_ap5.d.cts +0 -152
- package/dist/tsdoc-QH5nHvck.d.mts +0 -152
- package/dist/tsdoc-XXdq_9iS.mjs +0 -456
- package/dist/tsdoc-reflection-BizVi_gn.cjs +0 -188
- package/dist/tsdoc-reflection-DllAx-qb.d.cts +0 -18
- package/dist/tsdoc-reflection-DtWdO7Hk.d.mts +0 -18
- package/dist/tsdoc-reflection-IWtPMJjw.mjs +0 -170
- package/dist/types-BBEDEYnP.cjs +0 -0
- package/dist/types-BWlfXHs2.mjs +0 -1
- package/dist/typescript-45caIUPa.mjs +0 -1
- package/dist/typescript-BrZsJqvc.mjs +0 -45
- package/dist/typescript-CXP7Oa6_.d.cts +0 -25
- package/dist/typescript-DG1-qdBQ.d.mts +0 -25
- package/dist/typescript-DV5akLQO.cjs +0 -0
- package/dist/typescript-DcqKlMoH.cjs +0 -51
- package/dist/typescript-file-BDXTfhtE.d.cts +0 -47
- package/dist/typescript-file-BljeGTrz.d.mts +0 -47
- package/dist/typescript-file-CLL-ELi0.mjs +0 -190
- package/dist/typescript-file-HsAUWnQY.cjs +0 -208
- package/dist/typescript-interface-CTt8ULTa.d.mts +0 -25
- package/dist/typescript-interface-DwHJ9in_.cjs +0 -79
- package/dist/typescript-interface-FVDsEsu0.mjs +0 -67
- package/dist/typescript-interface-raVgIJpX.d.cts +0 -25
- package/dist/typescript-object-D8MHeFId.cjs +0 -135
- package/dist/typescript-object-Db0fqsDb.d.cts +0 -26
- package/dist/typescript-object-Ju07nQg9.mjs +0 -123
- package/dist/typescript-object-USS-Xx2b.d.mts +0 -26
- package/dist/utilities-CnaPrauh.mjs +0 -109
- package/dist/utilities-llRqOC4l.cjs +0 -133
package/dist/helpers/capnp.mjs
CHANGED
|
@@ -1,4 +1,259 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import {
|
|
1
|
+
import { getUnionTypes, kindToName } from "@powerlines/deepkit/utilities";
|
|
2
|
+
import { isUndefined } from "@stryke/type-checks/is-undefined";
|
|
3
|
+
import { titleCase } from "@stryke/string-format/title-case";
|
|
4
|
+
import { isString } from "@stryke/type-checks/is-string";
|
|
5
|
+
import defu from "defu";
|
|
6
|
+
import { ReflectionKind, memberNameToString } from "@powerlines/deepkit/vendor/type";
|
|
7
|
+
import { pascalCase } from "@stryke/string-format/pascal-case";
|
|
8
|
+
import { camelCase } from "@stryke/string-format/camel-case";
|
|
9
|
+
import { getClassName } from "@powerlines/deepkit/vendor/core";
|
|
10
|
+
import { capnpc } from "@stryke/capnp/compile";
|
|
11
|
+
import { resolveOptions } from "@stryke/capnp/helpers";
|
|
12
|
+
import { toArray } from "@stryke/convert/to-array";
|
|
13
|
+
import { getUniqueBy } from "@stryke/helpers/get-unique";
|
|
14
|
+
import { StormJSON } from "@stryke/json";
|
|
15
|
+
import { joinPaths } from "@stryke/path/join";
|
|
16
|
+
import { getWords } from "@stryke/string-format/get-words";
|
|
17
|
+
import { isBigInt } from "@stryke/type-checks/is-bigint";
|
|
18
|
+
import { isNull } from "@stryke/type-checks/is-null";
|
|
19
|
+
import { isNumber } from "@stryke/type-checks/is-number";
|
|
20
|
+
import { Buffer } from "node:buffer";
|
|
21
|
+
import { exec } from "node:child_process";
|
|
22
|
+
import { promisify } from "node:util";
|
|
23
|
+
import { getBaseFileHeader } from "powerlines/lib/utilities/file-header";
|
|
3
24
|
|
|
25
|
+
//#region src/helpers/capnp.ts
|
|
26
|
+
/**
|
|
27
|
+
* Compiles a Cap'n Proto schema into TypeScript definitions.
|
|
28
|
+
*
|
|
29
|
+
* @param context - The context containing the project and workspace information.
|
|
30
|
+
* @param options - The options for compiling the schema.
|
|
31
|
+
* @returns A promise that resolves to the compiled schema.
|
|
32
|
+
*/
|
|
33
|
+
async function compile(context, options = {}) {
|
|
34
|
+
const opts = defu(options, {
|
|
35
|
+
ts: true,
|
|
36
|
+
js: false,
|
|
37
|
+
dts: false,
|
|
38
|
+
schemas: joinPaths(context.artifactsPath, "schemas"),
|
|
39
|
+
tsconfig: context.tsconfig,
|
|
40
|
+
projectRoot: context.config.projectRoot,
|
|
41
|
+
workspaceRoot: context.workspaceConfig.workspaceRoot,
|
|
42
|
+
tty: true
|
|
43
|
+
});
|
|
44
|
+
const resolvedOptions = await resolveOptions(opts);
|
|
45
|
+
if (!resolvedOptions) throw new Error(`✖ No Cap'n Proto schema files found in the specified source paths: ${toArray(opts.schemas).join(", ")}.`);
|
|
46
|
+
return capnpc(resolvedOptions);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Converts any {@link ReflectionProperty} or {@link ReflectionParameter}'s value to string representation.
|
|
50
|
+
*
|
|
51
|
+
* @param property - The {@link ReflectionProperty} or {@link ReflectionParameter} containing the value to stringify.
|
|
52
|
+
* @param value - The value to stringify.
|
|
53
|
+
* @returns A string representation of the value.
|
|
54
|
+
*/
|
|
55
|
+
function stringifyCapnpDefaultValue(property, value) {
|
|
56
|
+
return stringifyCapnpValue(property.type, value ?? property.getDefaultValue());
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Converts any {@link Type}'s actual value to string representation.
|
|
60
|
+
*
|
|
61
|
+
* @param type - The {@link Type} of the value to stringify.
|
|
62
|
+
* @param value - The value to stringify.
|
|
63
|
+
* @returns A string representation of the value.
|
|
64
|
+
*/
|
|
65
|
+
function stringifyCapnpValue(type, value) {
|
|
66
|
+
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);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Converts a ReflectionProperty's default value to a Cap'n Proto schema string representation.
|
|
70
|
+
*
|
|
71
|
+
* @param type - The TypeEnum to evaluate.
|
|
72
|
+
* @returns A string representation of the property.
|
|
73
|
+
*/
|
|
74
|
+
function getCapnpEnumTypes(type) {
|
|
75
|
+
if (type.kind !== ReflectionKind.enum) return null;
|
|
76
|
+
const unique = getUniqueBy(type.values.filter((value) => !isUndefined(value) && !isNull(value)), (enumMember) => isString(enumMember) ? "Text" : "Float32");
|
|
77
|
+
if (unique.length === 0) return null;
|
|
78
|
+
return unique[0] && isString(unique[0]) ? "Text" : "Float32";
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Determines if a Type is a `Void` type in a Cap'n Proto schema.
|
|
82
|
+
*
|
|
83
|
+
* @param type - The Type to check.
|
|
84
|
+
* @returns True if the Type is a `Void` type, false otherwise.
|
|
85
|
+
*/
|
|
86
|
+
function isVoidType(type) {
|
|
87
|
+
return type.kind === ReflectionKind.void || type.kind === ReflectionKind.never || type.kind === ReflectionKind.null || type.kind === ReflectionKind.undefined || type.kind === ReflectionKind.symbol;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Converts a {@link TypeUnion} to an array of its underlying Cap'n Proto primitive type representation.
|
|
91
|
+
*
|
|
92
|
+
* @param type - The {@link TypeUnion} to convert.
|
|
93
|
+
* @returns A string representation of the Cap'n Proto primitive type.
|
|
94
|
+
*/
|
|
95
|
+
function getCapnpUnionTypes(type) {
|
|
96
|
+
return getUnionTypes(type);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Converts a {@link TypeUnion} to an array of its underlying Cap'n Proto primitive type representation.
|
|
100
|
+
*
|
|
101
|
+
* @param type - The {@link TypeUnion} to convert.
|
|
102
|
+
* @returns An array of Cap'n Proto primitive types.
|
|
103
|
+
*/
|
|
104
|
+
function isCapnpStringUnion(type) {
|
|
105
|
+
return getCapnpUnionTypes(type).some((member) => member.kind === ReflectionKind.string);
|
|
106
|
+
}
|
|
107
|
+
const LARGE_BUFFER = 1024 * 1e6;
|
|
108
|
+
const execAsync = promisify(exec);
|
|
109
|
+
async function generateCapnpId() {
|
|
110
|
+
const { stdout } = await execAsync("capnp id", {
|
|
111
|
+
windowsHide: true,
|
|
112
|
+
maxBuffer: LARGE_BUFFER,
|
|
113
|
+
killSignal: "SIGTERM"
|
|
114
|
+
});
|
|
115
|
+
return stdout;
|
|
116
|
+
}
|
|
117
|
+
async function generateCapnp(context, reflection, options) {
|
|
118
|
+
return `${(await generateCapnpId()).trim()};
|
|
119
|
+
${getBaseFileHeader(context).replace(/^\r*\n*/g, "").replaceAll("//", "#")}
|
|
120
|
+
${reflection.getMethods().length === 0 ? generateCapnpStruct(reflection, options) : generateCapnpInterface(reflection, options)}
|
|
121
|
+
`.trim();
|
|
122
|
+
}
|
|
123
|
+
function generateCapnpStruct(reflection, options = {}) {
|
|
124
|
+
const structName = options?.name || reflection.getTitle() || reflection.getClassName() || reflection.getName();
|
|
125
|
+
return `${generateCapnpEnums(reflection)}struct ${pascalCase(structName)} {
|
|
126
|
+
# Struct definition for ${titleCase(structName)}.
|
|
127
|
+
|
|
128
|
+
${generateCapnpSchema(reflection, options)}
|
|
129
|
+
}
|
|
130
|
+
`;
|
|
131
|
+
}
|
|
132
|
+
function generateCapnpInterface(reflection, options = {}) {
|
|
133
|
+
const interfaceName = options?.name || reflection.getTitle() || reflection.getClassName() || reflection.getName();
|
|
134
|
+
return `${generateCapnpEnums(reflection)}interface ${pascalCase(interfaceName)} {
|
|
135
|
+
# Interface definition for ${titleCase(interfaceName)}.
|
|
136
|
+
|
|
137
|
+
${generateCapnpSchema(reflection, options)}
|
|
138
|
+
}
|
|
139
|
+
`;
|
|
140
|
+
}
|
|
141
|
+
function formatEnumName(name) {
|
|
142
|
+
return pascalCase(`${name}_Type`);
|
|
143
|
+
}
|
|
144
|
+
function generateCapnpEnums(reflection) {
|
|
145
|
+
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);
|
|
146
|
+
if (enums.length === 0) return "";
|
|
147
|
+
return `${enums.map((enumeration) => generateCapnpEnumSchema(enumeration.type, formatEnumName(enumeration.getNameAsString()))).join("\n\n")}
|
|
148
|
+
|
|
149
|
+
`;
|
|
150
|
+
}
|
|
151
|
+
function generateCapnpSchema(reflection, options = {}) {
|
|
152
|
+
let index = 0;
|
|
153
|
+
const indexCounter = options?.indexCounter ?? (() => index++);
|
|
154
|
+
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) ? `
|
|
155
|
+
struct Map(Key, Value) {
|
|
156
|
+
entries @0 :List(Entry);
|
|
157
|
+
|
|
158
|
+
struct Entry {
|
|
159
|
+
key @0 :Key;
|
|
160
|
+
value @1 :Value;
|
|
161
|
+
}
|
|
162
|
+
}` : ""}${reflection.getProperties().some((prop) => prop.type.kind === ReflectionKind.class && prop.type.classType === Date) ? `
|
|
163
|
+
struct Date {
|
|
164
|
+
# A standard Gregorian calendar date.
|
|
165
|
+
|
|
166
|
+
year @0 :Int16;
|
|
167
|
+
# The year - Must include the century.
|
|
168
|
+
# Negative value indicates BC.
|
|
169
|
+
|
|
170
|
+
month @1 :UInt8; # The month, 1-12
|
|
171
|
+
|
|
172
|
+
day @2 :UInt8; # The day of the month, 1-30
|
|
173
|
+
|
|
174
|
+
hour @3 :UInt8; # The hour of the day, 0-23
|
|
175
|
+
|
|
176
|
+
minute @4 :UInt8; # The minute of the hour, 0-59
|
|
177
|
+
|
|
178
|
+
second @5 :UInt8; # The second of the minute, 0-59
|
|
179
|
+
|
|
180
|
+
millisecond @6 :UInt16; # Milliseconds of the second, 0-999
|
|
181
|
+
}` : ""}`;
|
|
182
|
+
}
|
|
183
|
+
function generateCapnpMethodSchema(reflection, indexCounter) {
|
|
184
|
+
const methodName = reflection.getTitle() || typeof reflection.getName() === "string" ? String(reflection.getName()) : "";
|
|
185
|
+
if (!methodName) throw new Error(`Cannot generate Cap'n Proto schema for method without a name - Parent interface: ${reflection.reflectionClass.getName()}`);
|
|
186
|
+
return `${camelCase(methodName)} @${indexCounter()} (${reflection.getParameters().map((param) => {
|
|
187
|
+
return `${camelCase(param.getName())} :${generateCapnpPrimitive(param.getType())}${param.hasDefault() ? ` = ${stringifyCapnpDefaultValue(param)}` : ""}`;
|
|
188
|
+
}).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", ". ")}`;
|
|
189
|
+
}
|
|
190
|
+
function generateCapnpPropertyComment(reflection) {
|
|
191
|
+
const result = getWords(reflection.getDescription() || `A schema property for ${titleCase(reflection.getTitle() || reflection.getNameAsString())} field.`, { relaxed: true }).reduce((ret, word) => {
|
|
192
|
+
let length = ret.length;
|
|
193
|
+
if (ret.includes("\n")) length = ret.substring(ret.lastIndexOf("\n") + 1).length;
|
|
194
|
+
const current = word.trim();
|
|
195
|
+
if (length + current.length > 60) ret += `\n\t# ${current}`;
|
|
196
|
+
else ret += ` ${current}`;
|
|
197
|
+
return ret;
|
|
198
|
+
}, "").trim();
|
|
199
|
+
if (result.length > 0) return `\t# ${result}`;
|
|
200
|
+
return "";
|
|
201
|
+
}
|
|
202
|
+
function generateCapnpPropertySchema(reflection, indexCounter) {
|
|
203
|
+
if (reflection.type.kind === ReflectionKind.union) if (getCapnpUnionTypes(reflection.type).length === 0) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Void;
|
|
204
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
205
|
+
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)}` : ""};
|
|
206
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
207
|
+
else return `${camelCase(reflection.getNameAsString())} :union {
|
|
208
|
+
${getCapnpUnionTypes(reflection.type).map((type) => ` ${kindToName(type.kind)} @${indexCounter()} :${generateCapnpPrimitive(type)};`).join("\n")}
|
|
209
|
+
}
|
|
210
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
211
|
+
else if (reflection.type.kind === ReflectionKind.array) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :List(${generateCapnpPrimitive(reflection.getSubType())})${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
212
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
213
|
+
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)}` : ""};
|
|
214
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
215
|
+
else if (reflection.type.classType === Date) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Data${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
216
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
217
|
+
else if (reflection.type.classType === Buffer) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Data${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
218
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
219
|
+
else if (reflection.type.classType === ArrayBuffer) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :Data${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
220
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
221
|
+
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)}` : ""};
|
|
222
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
223
|
+
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)}` : ""};
|
|
224
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
225
|
+
else if (reflection.type.kind === ReflectionKind.enum) return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :${pascalCase(reflection.getNameAsString())}${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
226
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
227
|
+
return `${camelCase(reflection.getNameAsString())} @${indexCounter()} :${generateCapnpPrimitive(reflection.getType())}${reflection.hasDefault() ? ` = ${stringifyCapnpDefaultValue(reflection)}` : ""};
|
|
228
|
+
${generateCapnpPropertyComment(reflection)}`;
|
|
229
|
+
}
|
|
230
|
+
function generateCapnpEnumSchema(type, name) {
|
|
231
|
+
if (type.kind === ReflectionKind.union) return generateCapnpEnumSchema({
|
|
232
|
+
kind: ReflectionKind.enum,
|
|
233
|
+
indexType: type,
|
|
234
|
+
enum: type.types.reduce((ret, type$1) => {
|
|
235
|
+
if (isString(type$1.literal) || isNumber(type$1.literal)) ret[camelCase(String(type$1.literal))] = type$1.literal;
|
|
236
|
+
return ret;
|
|
237
|
+
}, {}),
|
|
238
|
+
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)
|
|
239
|
+
}, name);
|
|
240
|
+
let index = 0;
|
|
241
|
+
const indexCounter = () => index++;
|
|
242
|
+
const enumType = getCapnpEnumTypes(type);
|
|
243
|
+
if (!enumType) return "";
|
|
244
|
+
return `enum ${pascalCase(name)} {
|
|
245
|
+
${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")}
|
|
246
|
+
}`;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Generates a string representation of Cap'n Proto primitive types from a Deepkit Type.
|
|
250
|
+
*
|
|
251
|
+
* @param type - The Deepkit Type to convert.
|
|
252
|
+
* @returns A string representation of the Cap'n Proto primitive type.
|
|
253
|
+
*/
|
|
254
|
+
function generateCapnpPrimitive(type) {
|
|
255
|
+
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";
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
//#endregion
|
|
4
259
|
export { LARGE_BUFFER, compile, generateCapnp, generateCapnpEnumSchema, generateCapnpId, generateCapnpInterface, generateCapnpMethodSchema, generateCapnpPrimitive, generateCapnpSchema, generateCapnpStruct, getCapnpEnumTypes, getCapnpUnionTypes, isCapnpStringUnion, isVoidType, stringifyCapnpDefaultValue, stringifyCapnpValue };
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let __alloy_js_typescript = require("@alloy-js/typescript");
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
//#region src/helpers/create-builtin.ts
|
|
5
|
+
/**
|
|
6
|
+
* Creates a built-in representation of a package based on the provided descriptor.
|
|
7
|
+
*
|
|
8
|
+
* @param options - Properties to define the package, excluding the 'builtin' flag which is set to true.
|
|
9
|
+
* @returns An object containing reference keys for the package and a symbol creator function.
|
|
10
|
+
*/
|
|
11
|
+
function createBuiltin(options) {
|
|
12
|
+
return (0, __alloy_js_typescript.createPackage)({
|
|
13
|
+
...options,
|
|
14
|
+
builtin: true
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
exports.createBuiltin = createBuiltin;
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SymbolCreator } from "@alloy-js/core";
|
|
2
|
+
import { CreatePackageProps, PackageDescriptor, PackageRefkeys } from "@alloy-js/typescript";
|
|
3
|
+
|
|
4
|
+
//#region src/helpers/create-builtin.d.ts
|
|
5
|
+
type CreateBuiltinOptions<T extends PackageDescriptor> = Omit<CreatePackageProps<T>, "builtin">;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a built-in representation of a package based on the provided descriptor.
|
|
8
|
+
*
|
|
9
|
+
* @param options - Properties to define the package, excluding the 'builtin' flag which is set to true.
|
|
10
|
+
* @returns An object containing reference keys for the package and a symbol creator function.
|
|
11
|
+
*/
|
|
12
|
+
declare function createBuiltin<const T extends PackageDescriptor>(options: CreateBuiltinOptions<T>): PackageRefkeys<T> & SymbolCreator;
|
|
13
|
+
declare type __ΩCreateBuiltinOptions = any[];
|
|
14
|
+
//#endregion
|
|
2
15
|
export { CreateBuiltinOptions, __ΩCreateBuiltinOptions, createBuiltin };
|
|
@@ -1,2 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SymbolCreator } from "@alloy-js/core";
|
|
2
|
+
import { CreatePackageProps, PackageDescriptor, PackageRefkeys } from "@alloy-js/typescript";
|
|
3
|
+
|
|
4
|
+
//#region src/helpers/create-builtin.d.ts
|
|
5
|
+
type CreateBuiltinOptions<T extends PackageDescriptor> = Omit<CreatePackageProps<T>, "builtin">;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a built-in representation of a package based on the provided descriptor.
|
|
8
|
+
*
|
|
9
|
+
* @param options - Properties to define the package, excluding the 'builtin' flag which is set to true.
|
|
10
|
+
* @returns An object containing reference keys for the package and a symbol creator function.
|
|
11
|
+
*/
|
|
12
|
+
declare function createBuiltin<const T extends PackageDescriptor>(options: CreateBuiltinOptions<T>): PackageRefkeys<T> & SymbolCreator;
|
|
13
|
+
declare type __ΩCreateBuiltinOptions = any[];
|
|
14
|
+
//#endregion
|
|
2
15
|
export { CreateBuiltinOptions, __ΩCreateBuiltinOptions, createBuiltin };
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createPackage } from "@alloy-js/typescript";
|
|
2
2
|
|
|
3
|
+
//#region src/helpers/create-builtin.ts
|
|
4
|
+
/**
|
|
5
|
+
* Creates a built-in representation of a package based on the provided descriptor.
|
|
6
|
+
*
|
|
7
|
+
* @param options - Properties to define the package, excluding the 'builtin' flag which is set to true.
|
|
8
|
+
* @returns An object containing reference keys for the package and a symbol creator function.
|
|
9
|
+
*/
|
|
10
|
+
function createBuiltin(options) {
|
|
11
|
+
return createPackage({
|
|
12
|
+
...options,
|
|
13
|
+
builtin: true
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
3
18
|
export { createBuiltin };
|
package/dist/helpers/index.cjs
CHANGED
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
require('
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const require_create_builtin = require('../create-builtin-_3GNADDt.cjs');
|
|
6
|
-
require('../helpers-Cten3PJk.cjs');
|
|
1
|
+
const require_helpers_typescript = require('./typescript.cjs');
|
|
2
|
+
const require_helpers_refkey = require('./refkey.cjs');
|
|
3
|
+
const require_helpers_capnp = require('./capnp.cjs');
|
|
4
|
+
const require_helpers_create_builtin = require('./create-builtin.cjs');
|
|
7
5
|
|
|
8
|
-
exports.LARGE_BUFFER =
|
|
9
|
-
exports.compile =
|
|
10
|
-
exports.createBuiltin =
|
|
11
|
-
exports.generateCapnp =
|
|
12
|
-
exports.generateCapnpEnumSchema =
|
|
13
|
-
exports.generateCapnpId =
|
|
14
|
-
exports.generateCapnpInterface =
|
|
15
|
-
exports.generateCapnpMethodSchema =
|
|
16
|
-
exports.generateCapnpPrimitive =
|
|
17
|
-
exports.generateCapnpSchema =
|
|
18
|
-
exports.generateCapnpStruct =
|
|
19
|
-
exports.generateTypeScriptObject =
|
|
20
|
-
exports.getCapnpEnumTypes =
|
|
21
|
-
exports.getCapnpUnionTypes =
|
|
22
|
-
exports.isCapnpStringUnion =
|
|
23
|
-
exports.isVoidType =
|
|
24
|
-
exports.refkey =
|
|
25
|
-
exports.stringifyCapnpDefaultValue =
|
|
26
|
-
exports.stringifyCapnpValue =
|
|
6
|
+
exports.LARGE_BUFFER = require_helpers_capnp.LARGE_BUFFER;
|
|
7
|
+
exports.compile = require_helpers_capnp.compile;
|
|
8
|
+
exports.createBuiltin = require_helpers_create_builtin.createBuiltin;
|
|
9
|
+
exports.generateCapnp = require_helpers_capnp.generateCapnp;
|
|
10
|
+
exports.generateCapnpEnumSchema = require_helpers_capnp.generateCapnpEnumSchema;
|
|
11
|
+
exports.generateCapnpId = require_helpers_capnp.generateCapnpId;
|
|
12
|
+
exports.generateCapnpInterface = require_helpers_capnp.generateCapnpInterface;
|
|
13
|
+
exports.generateCapnpMethodSchema = require_helpers_capnp.generateCapnpMethodSchema;
|
|
14
|
+
exports.generateCapnpPrimitive = require_helpers_capnp.generateCapnpPrimitive;
|
|
15
|
+
exports.generateCapnpSchema = require_helpers_capnp.generateCapnpSchema;
|
|
16
|
+
exports.generateCapnpStruct = require_helpers_capnp.generateCapnpStruct;
|
|
17
|
+
exports.generateTypeScriptObject = require_helpers_typescript.generateTypeScriptObject;
|
|
18
|
+
exports.getCapnpEnumTypes = require_helpers_capnp.getCapnpEnumTypes;
|
|
19
|
+
exports.getCapnpUnionTypes = require_helpers_capnp.getCapnpUnionTypes;
|
|
20
|
+
exports.isCapnpStringUnion = require_helpers_capnp.isCapnpStringUnion;
|
|
21
|
+
exports.isVoidType = require_helpers_capnp.isVoidType;
|
|
22
|
+
exports.refkey = require_helpers_refkey.refkey;
|
|
23
|
+
exports.stringifyCapnpDefaultValue = require_helpers_capnp.stringifyCapnpDefaultValue;
|
|
24
|
+
exports.stringifyCapnpValue = require_helpers_capnp.stringifyCapnpValue;
|
package/dist/helpers/index.d.cts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { a as generateTypeScriptObject, i as __ΩGenerateTypeScriptObjectOptions, n as GenerateTypeScriptObjectOptions, r as __ΩGenerateTypeScriptInterfaceOptions, t as GenerateTypeScriptInterfaceOptions } from "../typescript-CXP7Oa6_.cjs";
|
|
6
|
-
import "../index-C1ihAKnV.cjs";
|
|
1
|
+
import { GenerateCapnpOptions, GenerateCapnpStructOptions, IOType, LARGE_BUFFER, StdioOptions, __ΩGenerateCapnpOptions, __ΩGenerateCapnpStructOptions, __ΩIOType, __ΩStdioOptions, compile, generateCapnp, generateCapnpEnumSchema, generateCapnpId, generateCapnpInterface, generateCapnpMethodSchema, generateCapnpPrimitive, generateCapnpSchema, generateCapnpStruct, getCapnpEnumTypes, getCapnpUnionTypes, isCapnpStringUnion, isVoidType, stringifyCapnpDefaultValue, stringifyCapnpValue } from "./capnp.cjs";
|
|
2
|
+
import { CreateBuiltinOptions, __ΩCreateBuiltinOptions, createBuiltin } from "./create-builtin.cjs";
|
|
3
|
+
import { refkey } from "./refkey.cjs";
|
|
4
|
+
import { GenerateTypeScriptInterfaceOptions, GenerateTypeScriptObjectOptions, __ΩGenerateTypeScriptInterfaceOptions, __ΩGenerateTypeScriptObjectOptions, generateTypeScriptObject } from "./typescript.cjs";
|
|
7
5
|
export { CreateBuiltinOptions, GenerateCapnpOptions, GenerateCapnpStructOptions, GenerateTypeScriptInterfaceOptions, GenerateTypeScriptObjectOptions, IOType, LARGE_BUFFER, StdioOptions, __ΩCreateBuiltinOptions, __ΩGenerateCapnpOptions, __ΩGenerateCapnpStructOptions, __ΩGenerateTypeScriptInterfaceOptions, __ΩGenerateTypeScriptObjectOptions, __ΩIOType, __ΩStdioOptions, compile, createBuiltin, generateCapnp, generateCapnpEnumSchema, generateCapnpId, generateCapnpInterface, generateCapnpMethodSchema, generateCapnpPrimitive, generateCapnpSchema, generateCapnpStruct, generateTypeScriptObject, getCapnpEnumTypes, getCapnpUnionTypes, isCapnpStringUnion, isVoidType, refkey, stringifyCapnpDefaultValue, stringifyCapnpValue };
|
package/dist/helpers/index.d.mts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { a as generateTypeScriptObject, i as __ΩGenerateTypeScriptObjectOptions, n as GenerateTypeScriptObjectOptions, r as __ΩGenerateTypeScriptInterfaceOptions, t as GenerateTypeScriptInterfaceOptions } from "../typescript-DG1-qdBQ.mjs";
|
|
6
|
-
import "../index-BwFl_eS0.mjs";
|
|
1
|
+
import { GenerateCapnpOptions, GenerateCapnpStructOptions, IOType, LARGE_BUFFER, StdioOptions, __ΩGenerateCapnpOptions, __ΩGenerateCapnpStructOptions, __ΩIOType, __ΩStdioOptions, compile, generateCapnp, generateCapnpEnumSchema, generateCapnpId, generateCapnpInterface, generateCapnpMethodSchema, generateCapnpPrimitive, generateCapnpSchema, generateCapnpStruct, getCapnpEnumTypes, getCapnpUnionTypes, isCapnpStringUnion, isVoidType, stringifyCapnpDefaultValue, stringifyCapnpValue } from "./capnp.mjs";
|
|
2
|
+
import { CreateBuiltinOptions, __ΩCreateBuiltinOptions, createBuiltin } from "./create-builtin.mjs";
|
|
3
|
+
import { refkey } from "./refkey.mjs";
|
|
4
|
+
import { GenerateTypeScriptInterfaceOptions, GenerateTypeScriptObjectOptions, __ΩGenerateTypeScriptInterfaceOptions, __ΩGenerateTypeScriptObjectOptions, generateTypeScriptObject } from "./typescript.mjs";
|
|
7
5
|
export { CreateBuiltinOptions, GenerateCapnpOptions, GenerateCapnpStructOptions, GenerateTypeScriptInterfaceOptions, GenerateTypeScriptObjectOptions, IOType, LARGE_BUFFER, StdioOptions, __ΩCreateBuiltinOptions, __ΩGenerateCapnpOptions, __ΩGenerateCapnpStructOptions, __ΩGenerateTypeScriptInterfaceOptions, __ΩGenerateTypeScriptObjectOptions, __ΩIOType, __ΩStdioOptions, compile, createBuiltin, generateCapnp, generateCapnpEnumSchema, generateCapnpId, generateCapnpInterface, generateCapnpMethodSchema, generateCapnpPrimitive, generateCapnpSchema, generateCapnpStruct, generateTypeScriptObject, getCapnpEnumTypes, getCapnpUnionTypes, isCapnpStringUnion, isVoidType, refkey, stringifyCapnpDefaultValue, stringifyCapnpValue };
|
package/dist/helpers/index.mjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import "
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { t as createBuiltin } from "../create-builtin-CP9mN5P-.mjs";
|
|
6
|
-
import "../helpers-BrA1Dy07.mjs";
|
|
1
|
+
import { generateTypeScriptObject } from "./typescript.mjs";
|
|
2
|
+
import { refkey } from "./refkey.mjs";
|
|
3
|
+
import { LARGE_BUFFER, compile, generateCapnp, generateCapnpEnumSchema, generateCapnpId, generateCapnpInterface, generateCapnpMethodSchema, generateCapnpPrimitive, generateCapnpSchema, generateCapnpStruct, getCapnpEnumTypes, getCapnpUnionTypes, isCapnpStringUnion, isVoidType, stringifyCapnpDefaultValue, stringifyCapnpValue } from "./capnp.mjs";
|
|
4
|
+
import { createBuiltin } from "./create-builtin.mjs";
|
|
7
5
|
|
|
8
6
|
export { LARGE_BUFFER, compile, createBuiltin, generateCapnp, generateCapnpEnumSchema, generateCapnpId, generateCapnpInterface, generateCapnpMethodSchema, generateCapnpPrimitive, generateCapnpSchema, generateCapnpStruct, generateTypeScriptObject, getCapnpEnumTypes, getCapnpUnionTypes, isCapnpStringUnion, isVoidType, refkey, stringifyCapnpDefaultValue, stringifyCapnpValue };
|
package/dist/helpers/refkey.cjs
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let __alloy_js_core = require("@alloy-js/core");
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
//#region src/helpers/refkey.ts
|
|
5
|
+
/**
|
|
6
|
+
* Create a refkey for the provided arguments. Passing no arguments returns a fresh refkey that is guaranteed to be unique. Otherwise, the arguments passed will be used to create a refkey for those values. Providing the same arguments will always return the same refkey.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Values are compared using the SameValueZero algorithm, which considers objects the same if they are reference identical, and primitives the same if they are the same value, with the exception of `NaN`, which is always considered equal to other `NaN` values, and `-0`, which is considered identical to `+0`
|
|
10
|
+
*/
|
|
11
|
+
function refkey(...args) {
|
|
12
|
+
return (0, __alloy_js_core.refkey)("powerlines", ...args);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
exports.refkey = refkey;
|
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Refkey } from "@alloy-js/core";
|
|
2
|
+
|
|
3
|
+
//#region src/helpers/refkey.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create a refkey for the provided arguments. Passing no arguments returns a fresh refkey that is guaranteed to be unique. Otherwise, the arguments passed will be used to create a refkey for those values. Providing the same arguments will always return the same refkey.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Values are compared using the SameValueZero algorithm, which considers objects the same if they are reference identical, and primitives the same if they are the same value, with the exception of `NaN`, which is always considered equal to other `NaN` values, and `-0`, which is considered identical to `+0`
|
|
10
|
+
*/
|
|
11
|
+
declare function refkey(...args: unknown[]): Refkey;
|
|
12
|
+
//#endregion
|
|
2
13
|
export { refkey };
|
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Refkey } from "@alloy-js/core";
|
|
2
|
+
|
|
3
|
+
//#region src/helpers/refkey.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Create a refkey for the provided arguments. Passing no arguments returns a fresh refkey that is guaranteed to be unique. Otherwise, the arguments passed will be used to create a refkey for those values. Providing the same arguments will always return the same refkey.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* Values are compared using the SameValueZero algorithm, which considers objects the same if they are reference identical, and primitives the same if they are the same value, with the exception of `NaN`, which is always considered equal to other `NaN` values, and `-0`, which is considered identical to `+0`
|
|
10
|
+
*/
|
|
11
|
+
declare function refkey(...args: unknown[]): Refkey;
|
|
12
|
+
//#endregion
|
|
2
13
|
export { refkey };
|
package/dist/helpers/refkey.mjs
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { refkey as refkey$1 } from "@alloy-js/core";
|
|
2
2
|
|
|
3
|
+
//#region src/helpers/refkey.ts
|
|
4
|
+
/**
|
|
5
|
+
* Create a refkey for the provided arguments. Passing no arguments returns a fresh refkey that is guaranteed to be unique. Otherwise, the arguments passed will be used to create a refkey for those values. Providing the same arguments will always return the same refkey.
|
|
6
|
+
*
|
|
7
|
+
* @remarks
|
|
8
|
+
* Values are compared using the SameValueZero algorithm, which considers objects the same if they are reference identical, and primitives the same if they are the same value, with the exception of `NaN`, which is always considered equal to other `NaN` values, and `-0`, which is considered identical to `+0`
|
|
9
|
+
*/
|
|
10
|
+
function refkey(...args) {
|
|
11
|
+
return refkey$1("powerlines", ...args);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
3
15
|
export { refkey };
|
|
@@ -1,4 +1,46 @@
|
|
|
1
|
-
require('../
|
|
2
|
-
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let __powerlines_deepkit_utilities = require("@powerlines/deepkit/utilities");
|
|
3
|
+
let __stryke_type_checks_is_undefined = require("@stryke/type-checks/is-undefined");
|
|
4
|
+
let __stryke_string_format_title_case = require("@stryke/string-format/title-case");
|
|
5
|
+
let __stryke_string_format_camel_case = require("@stryke/string-format/camel-case");
|
|
3
6
|
|
|
4
|
-
|
|
7
|
+
//#region src/helpers/typescript.ts
|
|
8
|
+
/**
|
|
9
|
+
* Generates a TypeScript object for the given reflection class.
|
|
10
|
+
*
|
|
11
|
+
* @param reflection - The reflection class to generate the object for.
|
|
12
|
+
* @param options - Options for generating the object.
|
|
13
|
+
* @returns A string containing the TypeScript object definition.
|
|
14
|
+
*/
|
|
15
|
+
function generateTypeScriptObject(reflection, options = {}) {
|
|
16
|
+
if (!reflection) return "";
|
|
17
|
+
return `
|
|
18
|
+
/**
|
|
19
|
+
* ${reflection.getDescription() || `${(0, __stryke_string_format_title_case.titleCase)(options.overrideName || reflection.getClassName() || reflection.getName())} object instance`}.
|
|
20
|
+
*/
|
|
21
|
+
export const ${(0, __stryke_string_format_camel_case.camelCase)(options.overrideName || reflection.getName())}${options.overrideExtends !== false && (options.overrideExtends || reflection.getSuperReflectionClass()?.getName()) ? `: ${options.overrideExtends || reflection.getSuperReflectionClass()?.getName()}` : ""} = {
|
|
22
|
+
${reflection.getProperties().filter((item) => !item.isIgnored() && !(0, __stryke_type_checks_is_undefined.isUndefined)(options.defaultValues?.[item.getNameAsString()] ?? item.getAlias().reduce((ret, alias) => {
|
|
23
|
+
if ((0, __stryke_type_checks_is_undefined.isUndefined)(ret) && !(0, __stryke_type_checks_is_undefined.isUndefined)(options.defaultValues?.[alias])) return options.defaultValues?.[alias];
|
|
24
|
+
return ret;
|
|
25
|
+
}, void 0) ?? item.getDefaultValue())).sort((a, b) => a.isReadonly() && b.isReadonly() || !a.isReadonly() && !b.isReadonly() ? a.getNameAsString().localeCompare(b.getNameAsString()) : a.isReadonly() ? 1 : -1).map((item) => ` /**
|
|
26
|
+
* ${item.getDescription() || item.getTitle() || (0, __stryke_string_format_title_case.titleCase)(item.getNameAsString())}
|
|
27
|
+
*
|
|
28
|
+
* @title ${item.getTitle() || (0, __stryke_string_format_title_case.titleCase)(item.getNameAsString())}${item.getAlias().length ? `
|
|
29
|
+
${item.getAlias().map((alias) => ` * @alias ${alias}`).join("\n")}` : ""}${item.getDomain() ? `
|
|
30
|
+
* @domain ${item.getDomain()}` : ""}${item.getPermission().length ? `
|
|
31
|
+
${item.getPermission().map((permission) => ` * @permission ${permission}`).join("\n")}` : ""}${item.isInternal() ? `
|
|
32
|
+
* @internal` : ""}${item.isReadonly() ? `
|
|
33
|
+
* @readonly` : ""}${item.isIgnored() ? `
|
|
34
|
+
* @ignored` : ""}${item.isHidden() ? `
|
|
35
|
+
* @hidden` : ""}
|
|
36
|
+
*/
|
|
37
|
+
${item.getNameAsString()}: ${(0, __powerlines_deepkit_utilities.stringifyValue)(item.getType(), options.defaultValues?.[item.getNameAsString()] ?? item.getAlias().reduce((ret, alias) => {
|
|
38
|
+
if ((0, __stryke_type_checks_is_undefined.isUndefined)(ret) && !(0, __stryke_type_checks_is_undefined.isUndefined)(options.defaultValues?.[alias])) return options.defaultValues?.[alias];
|
|
39
|
+
return ret;
|
|
40
|
+
}, void 0) ?? item.getDefaultValue())}`).join(", \n")}
|
|
41
|
+
};
|
|
42
|
+
`;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
exports.generateTypeScriptObject = generateTypeScriptObject;
|
|
@@ -1,2 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type_d_exports } from "../deepkit/src/vendor/type.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/helpers/typescript.d.ts
|
|
4
|
+
interface GenerateTypeScriptInterfaceOptions<T> {
|
|
5
|
+
overrideName?: string;
|
|
6
|
+
overrideExtends?: string | false;
|
|
7
|
+
defaultValues?: Partial<T>;
|
|
8
|
+
}
|
|
9
|
+
interface GenerateTypeScriptObjectOptions<T> {
|
|
10
|
+
overrideName?: string;
|
|
11
|
+
overrideExtends?: string | false;
|
|
12
|
+
defaultValues?: Partial<T>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Generates a TypeScript object for the given reflection class.
|
|
16
|
+
*
|
|
17
|
+
* @param reflection - The reflection class to generate the object for.
|
|
18
|
+
* @param options - Options for generating the object.
|
|
19
|
+
* @returns A string containing the TypeScript object definition.
|
|
20
|
+
*/
|
|
21
|
+
declare function generateTypeScriptObject<T extends Record<string, any>>(reflection: type_d_exports.ReflectionClass<T>, options?: GenerateTypeScriptObjectOptions<T>): string;
|
|
22
|
+
declare type __ΩGenerateTypeScriptInterfaceOptions = any[];
|
|
23
|
+
declare type __ΩGenerateTypeScriptObjectOptions = any[];
|
|
24
|
+
//#endregion
|
|
2
25
|
export { GenerateTypeScriptInterfaceOptions, GenerateTypeScriptObjectOptions, __ΩGenerateTypeScriptInterfaceOptions, __ΩGenerateTypeScriptObjectOptions, generateTypeScriptObject };
|
|
@@ -1,2 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type_d_exports } from "../deepkit/src/vendor/type.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/helpers/typescript.d.ts
|
|
4
|
+
interface GenerateTypeScriptInterfaceOptions<T> {
|
|
5
|
+
overrideName?: string;
|
|
6
|
+
overrideExtends?: string | false;
|
|
7
|
+
defaultValues?: Partial<T>;
|
|
8
|
+
}
|
|
9
|
+
interface GenerateTypeScriptObjectOptions<T> {
|
|
10
|
+
overrideName?: string;
|
|
11
|
+
overrideExtends?: string | false;
|
|
12
|
+
defaultValues?: Partial<T>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Generates a TypeScript object for the given reflection class.
|
|
16
|
+
*
|
|
17
|
+
* @param reflection - The reflection class to generate the object for.
|
|
18
|
+
* @param options - Options for generating the object.
|
|
19
|
+
* @returns A string containing the TypeScript object definition.
|
|
20
|
+
*/
|
|
21
|
+
declare function generateTypeScriptObject<T extends Record<string, any>>(reflection: type_d_exports.ReflectionClass<T>, options?: GenerateTypeScriptObjectOptions<T>): string;
|
|
22
|
+
declare type __ΩGenerateTypeScriptInterfaceOptions = any[];
|
|
23
|
+
declare type __ΩGenerateTypeScriptObjectOptions = any[];
|
|
24
|
+
//#endregion
|
|
2
25
|
export { GenerateTypeScriptInterfaceOptions, GenerateTypeScriptObjectOptions, __ΩGenerateTypeScriptInterfaceOptions, __ΩGenerateTypeScriptObjectOptions, generateTypeScriptObject };
|