@formspec/build 0.1.0-alpha.5 → 0.1.0-alpha.51
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/LICENSE +21 -0
- package/README.md +238 -93
- package/dist/analyzer/class-analyzer.d.ts +135 -0
- package/dist/analyzer/class-analyzer.d.ts.map +1 -0
- package/dist/analyzer/jsdoc-constraints.d.ts +53 -0
- package/dist/analyzer/jsdoc-constraints.d.ts.map +1 -0
- package/dist/analyzer/program.d.ts +97 -0
- package/dist/analyzer/program.d.ts.map +1 -0
- package/dist/analyzer/tsdoc-parser.d.ts +124 -0
- package/dist/analyzer/tsdoc-parser.d.ts.map +1 -0
- package/dist/browser.cjs +2212 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.ts +74 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +2167 -0
- package/dist/browser.js.map +1 -0
- package/dist/build-alpha.d.ts +2408 -0
- package/dist/build-beta.d.ts +2408 -0
- package/dist/build-internal.d.ts +2408 -0
- package/dist/build.d.ts +2209 -151
- package/dist/canonicalize/chain-dsl-canonicalizer.d.ts +22 -0
- package/dist/canonicalize/chain-dsl-canonicalizer.d.ts.map +1 -0
- package/dist/canonicalize/index.d.ts +8 -0
- package/dist/canonicalize/index.d.ts.map +1 -0
- package/dist/canonicalize/tsdoc-canonicalizer.d.ts +38 -0
- package/dist/canonicalize/tsdoc-canonicalizer.d.ts.map +1 -0
- package/dist/cli.cjs +7111 -0
- package/dist/cli.cjs.map +1 -0
- package/dist/cli.js +7070 -103
- package/dist/cli.js.map +1 -1
- package/dist/extensions/index.d.ts +8 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/registry.d.ts +142 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/resolve-custom-type.d.ts +37 -0
- package/dist/extensions/resolve-custom-type.d.ts.map +1 -0
- package/dist/extensions/symbol-registry.d.ts +33 -0
- package/dist/extensions/symbol-registry.d.ts.map +1 -0
- package/dist/extensions/ts-type-utils.d.ts +40 -0
- package/dist/extensions/ts-type-utils.d.ts.map +1 -0
- package/dist/generators/class-schema.d.ts +392 -0
- package/dist/generators/class-schema.d.ts.map +1 -0
- package/dist/generators/discovered-schema.d.ts +152 -0
- package/dist/generators/discovered-schema.d.ts.map +1 -0
- package/dist/generators/method-schema.d.ts +72 -0
- package/dist/generators/method-schema.d.ts.map +1 -0
- package/dist/generators/mixed-authoring.d.ts +52 -0
- package/dist/generators/mixed-authoring.d.ts.map +1 -0
- package/dist/index.cjs +6786 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +51 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6751 -107
- package/dist/index.js.map +1 -1
- package/dist/internals.cjs +5736 -0
- package/dist/internals.cjs.map +1 -0
- package/dist/internals.d.ts +32 -0
- package/dist/internals.d.ts.map +1 -0
- package/dist/internals.js +5706 -0
- package/dist/internals.js.map +1 -0
- package/dist/json-schema/generator.d.ts +32 -6
- package/dist/json-schema/generator.d.ts.map +1 -1
- package/dist/json-schema/ir-generator.d.ts +149 -0
- package/dist/json-schema/ir-generator.d.ts.map +1 -0
- package/dist/json-schema/schema.d.ts +23 -0
- package/dist/json-schema/schema.d.ts.map +1 -0
- package/dist/json-schema/types.d.ts +76 -2
- package/dist/json-schema/types.d.ts.map +1 -1
- package/dist/metadata/collision-guards.d.ts +3 -0
- package/dist/metadata/collision-guards.d.ts.map +1 -0
- package/dist/metadata/index.d.ts +7 -0
- package/dist/metadata/index.d.ts.map +1 -0
- package/dist/metadata/policy.d.ts +12 -0
- package/dist/metadata/policy.d.ts.map +1 -0
- package/dist/metadata/resolve.d.ts +21 -0
- package/dist/metadata/resolve.d.ts.map +1 -0
- package/dist/static-build.d.ts +61 -0
- package/dist/static-build.d.ts.map +1 -0
- package/dist/ui-schema/generator.d.ts +18 -2
- package/dist/ui-schema/generator.d.ts.map +1 -1
- package/dist/ui-schema/ir-generator.d.ts +54 -0
- package/dist/ui-schema/ir-generator.d.ts.map +1 -0
- package/dist/ui-schema/schema.d.ts +429 -0
- package/dist/ui-schema/schema.d.ts.map +1 -0
- package/dist/ui-schema/types.d.ts +179 -35
- package/dist/ui-schema/types.d.ts.map +1 -1
- package/dist/validate/constraint-validator.d.ts +85 -0
- package/dist/validate/constraint-validator.d.ts.map +1 -0
- package/dist/validate/index.d.ts +9 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/package.json +30 -11
- package/dist/__tests__/cli.test.d.ts +0 -2
- package/dist/__tests__/cli.test.d.ts.map +0 -1
- package/dist/__tests__/cli.test.js +0 -178
- package/dist/__tests__/cli.test.js.map +0 -1
- package/dist/__tests__/edge-cases.test.d.ts +0 -7
- package/dist/__tests__/edge-cases.test.d.ts.map +0 -1
- package/dist/__tests__/edge-cases.test.js +0 -217
- package/dist/__tests__/edge-cases.test.js.map +0 -1
- package/dist/__tests__/generator.test.d.ts +0 -2
- package/dist/__tests__/generator.test.d.ts.map +0 -1
- package/dist/__tests__/generator.test.js +0 -234
- package/dist/__tests__/generator.test.js.map +0 -1
- package/dist/__tests__/integration.test.d.ts +0 -8
- package/dist/__tests__/integration.test.d.ts.map +0 -1
- package/dist/__tests__/integration.test.js +0 -163
- package/dist/__tests__/integration.test.js.map +0 -1
- package/dist/__tests__/write-schemas.test.d.ts +0 -2
- package/dist/__tests__/write-schemas.test.d.ts.map +0 -1
- package/dist/__tests__/write-schemas.test.js +0 -196
- package/dist/__tests__/write-schemas.test.js.map +0 -1
- package/dist/json-schema/generator.js +0 -167
- package/dist/json-schema/generator.js.map +0 -1
- package/dist/json-schema/types.js +0 -7
- package/dist/json-schema/types.js.map +0 -1
- package/dist/ui-schema/generator.js +0 -150
- package/dist/ui-schema/generator.js.map +0 -1
- package/dist/ui-schema/types.js +0 -8
- package/dist/ui-schema/types.js.map +0 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonicalizer that translates chain DSL `FormSpec` objects into the
|
|
3
|
+
* canonical FormIR intermediate representation.
|
|
4
|
+
*
|
|
5
|
+
* This module maps the runtime objects produced by `@formspec/dsl` builder
|
|
6
|
+
* functions (`field.*`, `group`, `when`, `formspec`) into the IR that all
|
|
7
|
+
* downstream phases (validation, JSON Schema generation, UI Schema generation)
|
|
8
|
+
* consume.
|
|
9
|
+
*/
|
|
10
|
+
import type { FormElement, FormSpec, MetadataPolicyInput } from "@formspec/core";
|
|
11
|
+
import type { FormIR } from "@formspec/core/internals";
|
|
12
|
+
/**
|
|
13
|
+
* Translates a chain DSL `FormSpec` into the canonical `FormIR`.
|
|
14
|
+
*
|
|
15
|
+
* @param form - A form specification created via `formspec(...)` from `@formspec/dsl`
|
|
16
|
+
* @returns The canonical intermediate representation
|
|
17
|
+
*/
|
|
18
|
+
export interface CanonicalizeChainDSLOptions {
|
|
19
|
+
readonly metadata?: MetadataPolicyInput;
|
|
20
|
+
}
|
|
21
|
+
export declare function canonicalizeChainDSL(form: FormSpec<readonly FormElement[]>, options?: CanonicalizeChainDSLOptions): FormIR;
|
|
22
|
+
//# sourceMappingURL=chain-dsl-canonicalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain-dsl-canonicalizer.d.ts","sourceRoot":"","sources":["../../src/canonicalize/chain-dsl-canonicalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EASV,WAAW,EACX,QAAQ,EAMR,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAYV,MAAM,EAaP,MAAM,0BAA0B,CAAC;AA4ClC;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CACzC;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,QAAQ,CAAC,SAAS,WAAW,EAAE,CAAC,EACtC,OAAO,CAAC,EAAE,2BAA2B,GACpC,MAAM,CAoBR"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonicalization layer — converts authoring surface output to canonical IR.
|
|
3
|
+
*
|
|
4
|
+
* @packageDocumentation
|
|
5
|
+
*/
|
|
6
|
+
export { canonicalizeChainDSL } from "./chain-dsl-canonicalizer.js";
|
|
7
|
+
export { canonicalizeTSDoc, type TSDocSource } from "./tsdoc-canonicalizer.js";
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/canonicalize/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TSDoc canonicalizer — assembles an {@link IRClassAnalysis} into a canonical
|
|
3
|
+
* {@link FormIR}, applying layout metadata from `@Group` and `@ShowWhen`
|
|
4
|
+
* TSDoc tags.
|
|
5
|
+
*
|
|
6
|
+
* The analysis functions in `class-analyzer.ts` produce `FieldNode[]`,
|
|
7
|
+
* `fieldLayouts`, and `typeRegistry` directly. This canonicalizer uses
|
|
8
|
+
* the layout metadata to wrap fields in `GroupLayoutNode` and
|
|
9
|
+
* `ConditionalLayoutNode` elements.
|
|
10
|
+
*/
|
|
11
|
+
import type { FormIR } from "@formspec/core/internals";
|
|
12
|
+
import type { IRClassAnalysis } from "../analyzer/class-analyzer.js";
|
|
13
|
+
import type { MetadataPolicyInput } from "@formspec/core";
|
|
14
|
+
/**
|
|
15
|
+
* Source-level metadata for provenance tracking.
|
|
16
|
+
*/
|
|
17
|
+
export interface TSDocSource {
|
|
18
|
+
/** Absolute path to the source file. */
|
|
19
|
+
readonly file: string;
|
|
20
|
+
}
|
|
21
|
+
export interface CanonicalizeTSDocOptions {
|
|
22
|
+
readonly metadata?: MetadataPolicyInput;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Wraps an {@link IRClassAnalysis} (from `analyzeClassToIR`,
|
|
26
|
+
* `analyzeInterfaceToIR`, or `analyzeTypeAliasToIR`) into a canonical
|
|
27
|
+
* {@link FormIR}.
|
|
28
|
+
*
|
|
29
|
+
* Fields with `@Group` TSDoc tags are grouped into `GroupLayoutNode` elements.
|
|
30
|
+
* Fields with `@ShowWhen` TSDoc tags are wrapped in `ConditionalLayoutNode` elements.
|
|
31
|
+
* When both are present, the conditional wraps the field inside the group.
|
|
32
|
+
*
|
|
33
|
+
* @param analysis - IR analysis result (fields are already FieldNode[])
|
|
34
|
+
* @param source - Optional source file metadata for provenance
|
|
35
|
+
* @returns The canonical FormIR
|
|
36
|
+
*/
|
|
37
|
+
export declare function canonicalizeTSDoc(analysis: IRClassAnalysis, source?: TSDocSource, options?: CanonicalizeTSDocOptions): FormIR;
|
|
38
|
+
//# sourceMappingURL=tsdoc-canonicalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsdoc-canonicalizer.d.ts","sourceRoot":"","sources":["../../src/canonicalize/tsdoc-canonicalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,+BAA+B,CAAC;AAE1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CACzC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,EACzB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,wBAAwB,GACjC,MAAM,CA8BR"}
|