@formspec/build 0.1.0-alpha.22 → 0.1.0-alpha.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/README.md +9 -4
  2. package/dist/analyzer/class-analyzer.d.ts +1 -1
  3. package/dist/analyzer/class-analyzer.d.ts.map +1 -1
  4. package/dist/analyzer/jsdoc-constraints.d.ts +1 -1
  5. package/dist/analyzer/jsdoc-constraints.d.ts.map +1 -1
  6. package/dist/analyzer/tsdoc-parser.d.ts +1 -1
  7. package/dist/analyzer/tsdoc-parser.d.ts.map +1 -1
  8. package/dist/browser.cjs +5 -4
  9. package/dist/browser.cjs.map +1 -1
  10. package/dist/browser.js +4 -3
  11. package/dist/browser.js.map +1 -1
  12. package/dist/build-alpha.d.ts +836 -0
  13. package/dist/build-beta.d.ts +836 -0
  14. package/dist/build-internal.d.ts +836 -0
  15. package/dist/build.d.ts +157 -538
  16. package/dist/canonicalize/chain-dsl-canonicalizer.d.ts +2 -1
  17. package/dist/canonicalize/chain-dsl-canonicalizer.d.ts.map +1 -1
  18. package/dist/canonicalize/tsdoc-canonicalizer.d.ts +1 -1
  19. package/dist/canonicalize/tsdoc-canonicalizer.d.ts.map +1 -1
  20. package/dist/cli.cjs +85 -126
  21. package/dist/cli.cjs.map +1 -1
  22. package/dist/cli.js +76 -116
  23. package/dist/cli.js.map +1 -1
  24. package/dist/generators/class-schema.d.ts +20 -3
  25. package/dist/generators/class-schema.d.ts.map +1 -1
  26. package/dist/generators/mixed-authoring.d.ts +3 -2
  27. package/dist/generators/mixed-authoring.d.ts.map +1 -1
  28. package/dist/index.cjs +82 -127
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.d.ts +4 -12
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +76 -101
  33. package/dist/index.js.map +1 -1
  34. package/dist/internals.cjs +80 -15
  35. package/dist/internals.cjs.map +1 -1
  36. package/dist/internals.d.ts +2 -1
  37. package/dist/internals.d.ts.map +1 -1
  38. package/dist/internals.js +73 -7
  39. package/dist/internals.js.map +1 -1
  40. package/dist/json-schema/generator.d.ts +8 -4
  41. package/dist/json-schema/generator.d.ts.map +1 -1
  42. package/dist/json-schema/ir-generator.d.ts +4 -4
  43. package/dist/json-schema/ir-generator.d.ts.map +1 -1
  44. package/dist/json-schema/schema.d.ts +2 -2
  45. package/dist/json-schema/types.d.ts +6 -6
  46. package/dist/ui-schema/ir-generator.d.ts +1 -1
  47. package/dist/ui-schema/ir-generator.d.ts.map +1 -1
  48. package/dist/ui-schema/schema.d.ts +28 -28
  49. package/dist/ui-schema/types.d.ts +152 -3
  50. package/dist/ui-schema/types.d.ts.map +1 -1
  51. package/dist/validate/constraint-validator.d.ts +1 -1
  52. package/dist/validate/constraint-validator.d.ts.map +1 -1
  53. package/package.json +8 -8
  54. package/dist/__tests__/alias-chain-propagation.test.d.ts +0 -9
  55. package/dist/__tests__/alias-chain-propagation.test.d.ts.map +0 -1
  56. package/dist/__tests__/chain-dsl-canonicalizer.test.d.ts +0 -2
  57. package/dist/__tests__/chain-dsl-canonicalizer.test.d.ts.map +0 -1
  58. package/dist/__tests__/class-schema.test.d.ts +0 -2
  59. package/dist/__tests__/class-schema.test.d.ts.map +0 -1
  60. package/dist/__tests__/cli.test.d.ts +0 -2
  61. package/dist/__tests__/cli.test.d.ts.map +0 -1
  62. package/dist/__tests__/constraint-validator.test.d.ts +0 -2
  63. package/dist/__tests__/constraint-validator.test.d.ts.map +0 -1
  64. package/dist/__tests__/date-extension.integration.test.d.ts +0 -2
  65. package/dist/__tests__/date-extension.integration.test.d.ts.map +0 -1
  66. package/dist/__tests__/edge-cases.test.d.ts +0 -7
  67. package/dist/__tests__/edge-cases.test.d.ts.map +0 -1
  68. package/dist/__tests__/extension-api.test.d.ts +0 -2
  69. package/dist/__tests__/extension-api.test.d.ts.map +0 -1
  70. package/dist/__tests__/extension-runtime.integration.test.d.ts +0 -2
  71. package/dist/__tests__/extension-runtime.integration.test.d.ts.map +0 -1
  72. package/dist/__tests__/fixtures/alias-chains.d.ts +0 -37
  73. package/dist/__tests__/fixtures/alias-chains.d.ts.map +0 -1
  74. package/dist/__tests__/fixtures/class-schema-regressions.d.ts +0 -86
  75. package/dist/__tests__/fixtures/class-schema-regressions.d.ts.map +0 -1
  76. package/dist/__tests__/fixtures/edge-cases.d.ts +0 -132
  77. package/dist/__tests__/fixtures/edge-cases.d.ts.map +0 -1
  78. package/dist/__tests__/fixtures/example-a-builtins.d.ts +0 -31
  79. package/dist/__tests__/fixtures/example-a-builtins.d.ts.map +0 -1
  80. package/dist/__tests__/fixtures/example-date-extension.d.ts +0 -12
  81. package/dist/__tests__/fixtures/example-date-extension.d.ts.map +0 -1
  82. package/dist/__tests__/fixtures/example-interface-types.d.ts +0 -107
  83. package/dist/__tests__/fixtures/example-interface-types.d.ts.map +0 -1
  84. package/dist/__tests__/fixtures/example-numeric-extension.d.ts +0 -20
  85. package/dist/__tests__/fixtures/example-numeric-extension.d.ts.map +0 -1
  86. package/dist/__tests__/fixtures/extension-forms.d.ts +0 -7
  87. package/dist/__tests__/fixtures/extension-forms.d.ts.map +0 -1
  88. package/dist/__tests__/fixtures/mixed-authoring-shipping-address.d.ts +0 -31
  89. package/dist/__tests__/fixtures/mixed-authoring-shipping-address.d.ts.map +0 -1
  90. package/dist/__tests__/fixtures/named-primitive-aliases.d.ts +0 -15
  91. package/dist/__tests__/fixtures/named-primitive-aliases.d.ts.map +0 -1
  92. package/dist/__tests__/fixtures/nested-array-path-constraints.d.ts +0 -14
  93. package/dist/__tests__/fixtures/nested-array-path-constraints.d.ts.map +0 -1
  94. package/dist/__tests__/fixtures/sample-forms.d.ts +0 -65
  95. package/dist/__tests__/fixtures/sample-forms.d.ts.map +0 -1
  96. package/dist/__tests__/generate-schemas.test.d.ts +0 -2
  97. package/dist/__tests__/generate-schemas.test.d.ts.map +0 -1
  98. package/dist/__tests__/generator.test.d.ts +0 -2
  99. package/dist/__tests__/generator.test.d.ts.map +0 -1
  100. package/dist/__tests__/guards.test.d.ts +0 -2
  101. package/dist/__tests__/guards.test.d.ts.map +0 -1
  102. package/dist/__tests__/integration.test.d.ts +0 -8
  103. package/dist/__tests__/integration.test.d.ts.map +0 -1
  104. package/dist/__tests__/ir-analyzer.test.d.ts +0 -11
  105. package/dist/__tests__/ir-analyzer.test.d.ts.map +0 -1
  106. package/dist/__tests__/ir-jsdoc-constraints.test.d.ts +0 -12
  107. package/dist/__tests__/ir-jsdoc-constraints.test.d.ts.map +0 -1
  108. package/dist/__tests__/ir-json-schema-generator.test.d.ts +0 -11
  109. package/dist/__tests__/ir-json-schema-generator.test.d.ts.map +0 -1
  110. package/dist/__tests__/ir-ui-schema-generator.test.d.ts +0 -2
  111. package/dist/__tests__/ir-ui-schema-generator.test.d.ts.map +0 -1
  112. package/dist/__tests__/mixed-authoring.test.d.ts +0 -2
  113. package/dist/__tests__/mixed-authoring.test.d.ts.map +0 -1
  114. package/dist/__tests__/numeric-extension.integration.test.d.ts +0 -2
  115. package/dist/__tests__/numeric-extension.integration.test.d.ts.map +0 -1
  116. package/dist/__tests__/parity/fixtures/address/chain-dsl.d.ts +0 -9
  117. package/dist/__tests__/parity/fixtures/address/chain-dsl.d.ts.map +0 -1
  118. package/dist/__tests__/parity/fixtures/address/expected-ir.d.ts +0 -9
  119. package/dist/__tests__/parity/fixtures/address/expected-ir.d.ts.map +0 -1
  120. package/dist/__tests__/parity/fixtures/address/tsdoc.d.ts +0 -19
  121. package/dist/__tests__/parity/fixtures/address/tsdoc.d.ts.map +0 -1
  122. package/dist/__tests__/parity/fixtures/plan-status/chain-dsl.d.ts +0 -19
  123. package/dist/__tests__/parity/fixtures/plan-status/chain-dsl.d.ts.map +0 -1
  124. package/dist/__tests__/parity/fixtures/plan-status/expected-ir.d.ts +0 -6
  125. package/dist/__tests__/parity/fixtures/plan-status/expected-ir.d.ts.map +0 -1
  126. package/dist/__tests__/parity/fixtures/plan-status/tsdoc.d.ts +0 -17
  127. package/dist/__tests__/parity/fixtures/plan-status/tsdoc.d.ts.map +0 -1
  128. package/dist/__tests__/parity/fixtures/product-config/chain-dsl.d.ts +0 -13
  129. package/dist/__tests__/parity/fixtures/product-config/chain-dsl.d.ts.map +0 -1
  130. package/dist/__tests__/parity/fixtures/product-config/expected-ir.d.ts +0 -9
  131. package/dist/__tests__/parity/fixtures/product-config/expected-ir.d.ts.map +0 -1
  132. package/dist/__tests__/parity/fixtures/product-config/tsdoc.d.ts +0 -28
  133. package/dist/__tests__/parity/fixtures/product-config/tsdoc.d.ts.map +0 -1
  134. package/dist/__tests__/parity/fixtures/usd-cents/chain-dsl.d.ts +0 -9
  135. package/dist/__tests__/parity/fixtures/usd-cents/chain-dsl.d.ts.map +0 -1
  136. package/dist/__tests__/parity/fixtures/usd-cents/expected-ir.d.ts +0 -6
  137. package/dist/__tests__/parity/fixtures/usd-cents/expected-ir.d.ts.map +0 -1
  138. package/dist/__tests__/parity/fixtures/usd-cents/tsdoc.d.ts +0 -19
  139. package/dist/__tests__/parity/fixtures/usd-cents/tsdoc.d.ts.map +0 -1
  140. package/dist/__tests__/parity/fixtures/user-registration/chain-dsl.d.ts +0 -12
  141. package/dist/__tests__/parity/fixtures/user-registration/chain-dsl.d.ts.map +0 -1
  142. package/dist/__tests__/parity/fixtures/user-registration/expected-ir.d.ts +0 -9
  143. package/dist/__tests__/parity/fixtures/user-registration/expected-ir.d.ts.map +0 -1
  144. package/dist/__tests__/parity/fixtures/user-registration/tsdoc.d.ts +0 -19
  145. package/dist/__tests__/parity/fixtures/user-registration/tsdoc.d.ts.map +0 -1
  146. package/dist/__tests__/parity/parity.test.d.ts +0 -18
  147. package/dist/__tests__/parity/parity.test.d.ts.map +0 -1
  148. package/dist/__tests__/parity/utils.d.ts +0 -152
  149. package/dist/__tests__/parity/utils.d.ts.map +0 -1
  150. package/dist/__tests__/path-target-parser.test.d.ts +0 -9
  151. package/dist/__tests__/path-target-parser.test.d.ts.map +0 -1
  152. package/dist/__tests__/write-schemas.test.d.ts +0 -2
  153. package/dist/__tests__/write-schemas.test.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-schemas.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/generate-schemas.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=generator.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/generator.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=guards.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guards.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/guards.test.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- /**
2
- * Integration tests verifying the full FormSpec flow.
3
- *
4
- * These tests verify that forms defined using the DSL compile correctly
5
- * to JSON Schema and UI Schema, and that the type inference is accurate.
6
- */
7
- export {};
8
- //# sourceMappingURL=integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/integration.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Tests for the IR analysis pipeline.
3
- *
4
- * Verifies that `analyzeClassToIR`, `analyzeInterfaceToIR`, and
5
- * `analyzeTypeAliasToIR` produce canonical IR nodes (FieldNode,
6
- * TypeNode, ConstraintNode, AnnotationNode) directly.
7
- *
8
- * @see packages/core/src/types/ir.ts for IR type definitions
9
- */
10
- export {};
11
- //# sourceMappingURL=ir-analyzer.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ir-analyzer.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ir-analyzer.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Tests for JSDoc constraint and annotation extraction to IR nodes.
3
- *
4
- * Verifies that {@link extractJSDocConstraintNodes} produces
5
- * {@link ConstraintNode} and {@link extractJSDocAnnotationNodes} produces
6
- * {@link AnnotationNode} directly.
7
- *
8
- * @see packages/core/src/types/ir.ts for IR type definitions
9
- * @see packages/core/src/types/constraint-definitions.ts for BUILTIN_CONSTRAINT_DEFINITIONS
10
- */
11
- export {};
12
- //# sourceMappingURL=ir-jsdoc-constraints.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ir-jsdoc-constraints.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ir-jsdoc-constraints.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Tests for `generateJsonSchemaFromIR`.
3
- *
4
- * All tests use hand-constructed FormIR objects and assert against expected
5
- * JSON Schema 2020-12 output per design doc 003. Tests do NOT compare against
6
- * the legacy `generateJsonSchema` function.
7
- *
8
- * @see scratch/design/003-json-schema-vocabulary.md
9
- */
10
- export {};
11
- //# sourceMappingURL=ir-json-schema-generator.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ir-json-schema-generator.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ir-json-schema-generator.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=ir-ui-schema-generator.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ir-ui-schema-generator.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/ir-ui-schema-generator.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=mixed-authoring.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mixed-authoring.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/mixed-authoring.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=numeric-extension.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"numeric-extension.integration.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/numeric-extension.integration.test.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- /**
2
- * Parity fixture — address — chain DSL definition.
3
- *
4
- * A simple address form with string fields for street, city, and postal code.
5
- * No constraints or annotations so the provenance-free IR can be compared
6
- * directly with the TSDoc equivalent.
7
- */
8
- export declare const addressForm: import("@formspec/core").FormSpec<readonly [import("@formspec/core").TextField<"street">, import("@formspec/core").TextField<"city">, import("@formspec/core").TextField<"postalCode">, import("@formspec/core").TextField<"country">]>;
9
- //# sourceMappingURL=chain-dsl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-dsl.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/address/chain-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,eAAO,MAAM,WAAW,yOAKvB,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Parity fixture — address — expected provenance-free IR.
3
- *
4
- * This is the canonical shape both the chain DSL and TSDoc surfaces must
5
- * produce (after provenance stripping) for the address form.
6
- */
7
- import type { ProvenanceFreeFormIR } from "../../utils.js";
8
- export declare const expectedIR: ProvenanceFreeFormIR;
9
- //# sourceMappingURL=expected-ir.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expected-ir.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/address/expected-ir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,oBAsCxB,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Parity fixture — address — TSDoc class definition.
3
- *
4
- * Equivalent form definition using a TypeScript class.
5
- * Must produce the same provenance-free IR as the chain DSL fixture.
6
- *
7
- * Field mapping:
8
- * street: string (required) → field.text("street", { required: true })
9
- * city: string (required) → field.text("city", { required: true })
10
- * postalCode: string (required) → field.text("postalCode", { required: true })
11
- * country: string (optional) → field.text("country")
12
- */
13
- export declare class AddressForm {
14
- street: string;
15
- city: string;
16
- postalCode: string;
17
- country?: string;
18
- }
19
- //# sourceMappingURL=tsdoc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tsdoc.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/address/tsdoc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,qBAAa,WAAW;IACtB,MAAM,EAAG,MAAM,CAAC;IAChB,IAAI,EAAG,MAAM,CAAC;IACd,UAAU,EAAG,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Parity fixture — plan-status — chain DSL definition.
3
- *
4
- * Covers the shared static enum surface:
5
- * - field-level display name
6
- * - labeled enum members via object options
7
- * - required enum field
8
- */
9
- export declare const planStatusForm: import("@formspec/core").FormSpec<readonly [import("@formspec/core").StaticEnumField<"status", readonly [{
10
- readonly id: "active";
11
- readonly label: "Active";
12
- }, {
13
- readonly id: "paused";
14
- readonly label: "Paused";
15
- }, {
16
- readonly id: "cancelled";
17
- readonly label: "Cancelled";
18
- }]>]>;
19
- //# sourceMappingURL=chain-dsl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-dsl.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/plan-status/chain-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,cAAc;;;;;;;;;KAa1B,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Parity fixture — plan-status — expected provenance-free IR.
3
- */
4
- import type { ProvenanceFreeFormIR } from "../../utils.js";
5
- export declare const expectedIR: ProvenanceFreeFormIR;
6
- //# sourceMappingURL=expected-ir.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expected-ir.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/plan-status/expected-ir.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,oBA2BxB,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Parity fixture — plan-status — TSDoc class definition.
3
- *
4
- * This stays on the shared static surface. The TSDoc field carries the same
5
- * field-level label and member labels that the chain DSL expresses via
6
- * `field.enum(..., [{ id, label }], { label })`.
7
- */
8
- export declare class SubscriptionForm {
9
- /**
10
- * @displayName Plan Status
11
- * @displayName :active Active
12
- * @displayName :paused Paused
13
- * @displayName :cancelled Cancelled
14
- */
15
- status: "active" | "paused" | "cancelled";
16
- }
17
- //# sourceMappingURL=tsdoc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tsdoc.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/plan-status/tsdoc.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,qBAAa,gBAAgB;IAC3B;;;;;OAKG;IACH,MAAM,EAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;CAC5C"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Parity fixture — product-config — chain DSL definition.
3
- *
4
- * A product configuration form with a nested object field for pricing.
5
- * Uses field.objectWithConfig() to create an inline ObjectTypeNode — matching
6
- * the anonymous inline object type used in the TSDoc fixture.
7
- *
8
- * Named classes/interfaces in the TSDoc fixture would produce a ReferenceTypeNode
9
- * via the type registry, which would diverge from the chain DSL inline object.
10
- * Both surfaces therefore use anonymous inline objects for the nested type.
11
- */
12
- export declare const productConfigForm: import("@formspec/core").FormSpec<readonly [import("@formspec/core").TextField<"sku">, import("@formspec/core").TextField<"name">, import("@formspec/core").BooleanField<"available">, import("@formspec/core").ObjectField<"pricing", readonly [import("@formspec/core").NumberField<"basePrice">, import("@formspec/core").TextField<"currency">]>]>;
13
- //# sourceMappingURL=chain-dsl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-dsl.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/product-config/chain-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,iBAAiB,wVAU7B,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Parity fixture — product-config — expected provenance-free IR.
3
- *
4
- * This is the canonical shape both the chain DSL and TSDoc surfaces must
5
- * produce (after provenance stripping) for the product-config form.
6
- */
7
- import type { ProvenanceFreeFormIR } from "../../utils.js";
8
- export declare const expectedIR: ProvenanceFreeFormIR;
9
- //# sourceMappingURL=expected-ir.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expected-ir.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/product-config/expected-ir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,oBAyDxB,CAAC"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Parity fixture — product-config — TSDoc class definition.
3
- *
4
- * Equivalent form definition using a TypeScript class.
5
- * Must produce the same provenance-free IR as the chain DSL fixture.
6
- *
7
- * The `pricing` field uses an anonymous inline object type so the TSDoc
8
- * canonicalizer produces an inline ObjectTypeNode (not a ReferenceTypeNode).
9
- * A named class or interface would be placed in the type registry and produce
10
- * a ReferenceTypeNode, which would diverge from the chain DSL output.
11
- *
12
- * Field mapping:
13
- * sku: string (required) → field.text("sku", { required: true })
14
- * name: string (required) → field.text("name", { required: true })
15
- * available: boolean (optional) → field.boolean("available")
16
- * pricing.basePrice: number (required) → field.number("basePrice", { required: true })
17
- * pricing.currency: string (required) → field.text("currency", { required: true })
18
- */
19
- export declare class ProductConfigForm {
20
- sku: string;
21
- name: string;
22
- available?: boolean;
23
- pricing: {
24
- basePrice: number;
25
- currency: string;
26
- };
27
- }
28
- //# sourceMappingURL=tsdoc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tsdoc.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/product-config/tsdoc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,qBAAa,iBAAiB;IAC5B,GAAG,EAAG,MAAM,CAAC;IACb,IAAI,EAAG,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAG;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Parity fixture — usd-cents — chain DSL definition.
3
- *
4
- * Mirrors the effective numeric semantics of the TSDoc alias chain:
5
- * - integer-valued number fields via `multipleOf: 1`
6
- * - inherited minimum bounds resolved into the final field constraints
7
- */
8
- export declare const usdCentsForm: import("@formspec/core").FormSpec<readonly [import("@formspec/core").NumberField<"unitPrice">, import("@formspec/core").NumberField<"quantity">]>;
9
- //# sourceMappingURL=chain-dsl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-dsl.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/usd-cents/chain-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,eAAO,MAAM,YAAY,mJAWxB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Parity fixture — usd-cents — expected provenance-free IR.
3
- */
4
- import type { ProvenanceFreeFormIR } from "../../utils.js";
5
- export declare const expectedIR: ProvenanceFreeFormIR;
6
- //# sourceMappingURL=expected-ir.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expected-ir.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/usd-cents/expected-ir.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,oBAgDxB,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Parity fixture — usd-cents — TSDoc class definition.
3
- *
4
- * The alias chain exercises the same shared static semantics as the chain DSL:
5
- * integer-valued fields represented as numbers plus `@multipleOf 1`, with
6
- * per-alias minimum bounds flowing to the final field.
7
- */
8
- /** @multipleOf 1 */
9
- type Integer = number;
10
- /** @minimum 0 */
11
- type USDCents = Integer;
12
- /** @minimum 1 */
13
- type Quantity = Integer;
14
- export declare class LineItemForm {
15
- unitPrice: USDCents;
16
- quantity: Quantity;
17
- }
18
- export {};
19
- //# sourceMappingURL=tsdoc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tsdoc.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/usd-cents/tsdoc.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,oBAAoB;AACpB,KAAK,OAAO,GAAG,MAAM,CAAC;AAEtB,iBAAiB;AACjB,KAAK,QAAQ,GAAG,OAAO,CAAC;AAExB,iBAAiB;AACjB,KAAK,QAAQ,GAAG,OAAO,CAAC;AAExB,qBAAa,YAAY;IACvB,SAAS,EAAG,QAAQ,CAAC;IACrB,QAAQ,EAAG,QAAQ,CAAC;CACrB"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Parity fixture — user-registration — chain DSL definition.
3
- *
4
- * A user registration form with a mix of text, boolean, and enum fields.
5
- * No constraints or annotations so the provenance-free IR can be compared
6
- * directly with the TSDoc equivalent.
7
- *
8
- * Uses plain string enum options to match the string literal union type
9
- * produced by the TSDoc surface.
10
- */
11
- export declare const userRegistrationForm: import("@formspec/core").FormSpec<readonly [import("@formspec/core").TextField<"email">, import("@formspec/core").TextField<"username">, import("@formspec/core").BooleanField<"agreedToTerms">, import("@formspec/core").StaticEnumField<"accountType", readonly ["personal", "business", "enterprise"]>]>;
12
- //# sourceMappingURL=chain-dsl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain-dsl.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/user-registration/chain-dsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,eAAO,MAAM,oBAAoB,6SAKhC,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Parity fixture — user-registration — expected provenance-free IR.
3
- *
4
- * This is the canonical shape both the chain DSL and TSDoc surfaces must
5
- * produce (after provenance stripping) for the user-registration form.
6
- */
7
- import type { ProvenanceFreeFormIR } from "../../utils.js";
8
- export declare const expectedIR: ProvenanceFreeFormIR;
9
- //# sourceMappingURL=expected-ir.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expected-ir.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/user-registration/expected-ir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,oBAyCxB,CAAC"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Parity fixture — user-registration — TSDoc class definition.
3
- *
4
- * Equivalent form definition using a TypeScript class.
5
- * Must produce the same provenance-free IR as the chain DSL fixture.
6
- *
7
- * Field mapping:
8
- * email: string (required) → field.text("email", { required: true })
9
- * username: string (required) → field.text("username", { required: true })
10
- * agreedToTerms: boolean (required) → field.boolean("agreedToTerms", { required: true })
11
- * accountType: "personal" | "business" | "enterprise" (req) → field.enum("accountType", [...] as const, { required: true })
12
- */
13
- export declare class UserRegistrationForm {
14
- email: string;
15
- username: string;
16
- agreedToTerms: boolean;
17
- accountType: "personal" | "business" | "enterprise";
18
- }
19
- //# sourceMappingURL=tsdoc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tsdoc.d.ts","sourceRoot":"","sources":["../../../../../src/__tests__/parity/fixtures/user-registration/tsdoc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,qBAAa,oBAAoB;IAC/B,KAAK,EAAG,MAAM,CAAC;IACf,QAAQ,EAAG,MAAM,CAAC;IAClB,aAAa,EAAG,OAAO,CAAC;IACxB,WAAW,EAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;CACtD"}
@@ -1,18 +0,0 @@
1
- /**
2
- * Parity tests.
3
- *
4
- * Proves that both authoring surfaces (chain DSL and TSDoc/class annotations)
5
- * produce identical intermediate representations (IR) for equivalent shared
6
- * form constructs, modulo provenance metadata.
7
- *
8
- * TSDoc-only helper types that the chain DSL cannot express directly, such as
9
- * constrained primitive aliases, are normalized to their effective field
10
- * semantics before parity comparison.
11
- *
12
- * Three-test pattern per fixture:
13
- * 1. Chain DSL → IR matches expected IR
14
- * 2. TSDoc class → IR matches expected IR
15
- * 3. Chain DSL IR === TSDoc IR (modulo provenance)
16
- */
17
- export {};
18
- //# sourceMappingURL=parity.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parity.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/parity/parity.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG"}
@@ -1,152 +0,0 @@
1
- /**
2
- * Parity testing utilities.
3
- *
4
- * Provides:
5
- * - `ProvenanceFree<T>` — type-level mapper that strips `provenance` fields from IR nodes
6
- * - `stripProvenance(ir)` — runtime equivalent for `FormIR`
7
- * - `compareIR(a, b)` — structured IR comparison after stripping provenance
8
- * - narrow parity normalization for TSDoc-only helper types the chain DSL
9
- * cannot express directly
10
- *
11
- * `ProvenanceFree<T>` is implemented as explicit per-type mapped interfaces
12
- * rather than a generic deep-recursive mapped type. This keeps the type
13
- * system's structural guarantees intact: if an IR node gains or loses a
14
- * field, the provenance-free variants here will fail to compile, catching
15
- * shape regressions at type-check time.
16
- */
17
- import type { FormIR, FormIRElement, PrimitiveTypeNode, EnumMember, DynamicTypeNode, CustomTypeNode, NumericConstraintNode, LengthConstraintNode, PatternConstraintNode, ArrayCardinalityConstraintNode, EnumMemberConstraintNode, ConstConstraintNode, CustomConstraintNode, DisplayNameAnnotationNode, DescriptionAnnotationNode, RemarksAnnotationNode, FormatAnnotationNode, PlaceholderAnnotationNode, DefaultValueAnnotationNode, DeprecatedAnnotationNode, FormatHintAnnotationNode, CustomAnnotationNode, JsonValue } from "@formspec/core";
18
- /** Primitive type node has no `provenance` field — pass through unchanged. */
19
- export type ProvenanceFreePrimitiveTypeNode = PrimitiveTypeNode;
20
- /** Enum member has no `provenance` field. */
21
- export type ProvenanceFreeEnumMember = EnumMember;
22
- /** Enum type node has no `provenance` field. */
23
- export interface ProvenanceFreeEnumTypeNode {
24
- readonly kind: "enum";
25
- readonly members: readonly ProvenanceFreeEnumMember[];
26
- }
27
- /** Array type node — items type is recursively provenance-free. */
28
- export interface ProvenanceFreeArrayTypeNode {
29
- readonly kind: "array";
30
- readonly items: ProvenanceFreeTypeNode;
31
- }
32
- /** Object property with `provenance` stripped and nested types recursively mapped. */
33
- export interface ProvenanceFreeObjectProperty {
34
- readonly name: string;
35
- readonly type: ProvenanceFreeTypeNode;
36
- readonly optional: boolean;
37
- readonly constraints: readonly ProvenanceFreeConstraintNode[];
38
- readonly annotations: readonly ProvenanceFreeAnnotationNode[];
39
- }
40
- /** Object type node — properties are recursively provenance-free. */
41
- export interface ProvenanceFreeObjectTypeNode {
42
- readonly kind: "object";
43
- readonly properties: readonly ProvenanceFreeObjectProperty[];
44
- readonly additionalProperties: boolean;
45
- }
46
- /** Record type node — valueType is recursively provenance-free. */
47
- export interface ProvenanceFreeRecordTypeNode {
48
- readonly kind: "record";
49
- readonly valueType: ProvenanceFreeTypeNode;
50
- }
51
- /** Union type node — members are recursively provenance-free. */
52
- export interface ProvenanceFreeUnionTypeNode {
53
- readonly kind: "union";
54
- readonly members: readonly ProvenanceFreeTypeNode[];
55
- }
56
- /** Reference type node — type arguments are recursively provenance-free. */
57
- export interface ProvenanceFreeReferenceTypeNode {
58
- readonly kind: "reference";
59
- readonly name: string;
60
- readonly typeArguments: readonly ProvenanceFreeTypeNode[];
61
- }
62
- /** Dynamic type node has no `provenance` field — pass through unchanged. */
63
- export type ProvenanceFreeDynamicTypeNode = DynamicTypeNode;
64
- /** Custom type node has no `provenance` field — pass through unchanged. */
65
- export type ProvenanceFreeCustomTypeNode = CustomTypeNode;
66
- /** Union of all provenance-free type node variants. */
67
- export type ProvenanceFreeTypeNode = ProvenanceFreePrimitiveTypeNode | ProvenanceFreeEnumTypeNode | ProvenanceFreeArrayTypeNode | ProvenanceFreeObjectTypeNode | ProvenanceFreeRecordTypeNode | ProvenanceFreeUnionTypeNode | ProvenanceFreeReferenceTypeNode | ProvenanceFreeDynamicTypeNode | ProvenanceFreeCustomTypeNode;
68
- export type ProvenanceFreeNumericConstraintNode = Omit<NumericConstraintNode, "provenance">;
69
- export type ProvenanceFreeLengthConstraintNode = Omit<LengthConstraintNode, "provenance">;
70
- export type ProvenanceFreePatternConstraintNode = Omit<PatternConstraintNode, "provenance">;
71
- export type ProvenanceFreeArrayCardinalityConstraintNode = Omit<ArrayCardinalityConstraintNode, "provenance">;
72
- export type ProvenanceFreeEnumMemberConstraintNode = Omit<EnumMemberConstraintNode, "provenance">;
73
- export type ProvenanceFreeConstConstraintNode = Omit<ConstConstraintNode, "provenance">;
74
- export type ProvenanceFreeCustomConstraintNode = Omit<CustomConstraintNode, "provenance">;
75
- export type ProvenanceFreeConstraintNode = ProvenanceFreeNumericConstraintNode | ProvenanceFreeLengthConstraintNode | ProvenanceFreePatternConstraintNode | ProvenanceFreeArrayCardinalityConstraintNode | ProvenanceFreeEnumMemberConstraintNode | ProvenanceFreeConstConstraintNode | ProvenanceFreeCustomConstraintNode;
76
- export type ProvenanceFreeDisplayNameAnnotationNode = Omit<DisplayNameAnnotationNode, "provenance">;
77
- export type ProvenanceFreeDescriptionAnnotationNode = Omit<DescriptionAnnotationNode, "provenance">;
78
- export type ProvenanceFreeFormatAnnotationNode = Omit<FormatAnnotationNode, "provenance">;
79
- export type ProvenanceFreePlaceholderAnnotationNode = Omit<PlaceholderAnnotationNode, "provenance">;
80
- export type ProvenanceFreeDefaultValueAnnotationNode = Omit<DefaultValueAnnotationNode, "provenance">;
81
- export type ProvenanceFreeDeprecatedAnnotationNode = Omit<DeprecatedAnnotationNode, "provenance">;
82
- export type ProvenanceFreeFormatHintAnnotationNode = Omit<FormatHintAnnotationNode, "provenance">;
83
- export type ProvenanceFreeRemarksAnnotationNode = Omit<RemarksAnnotationNode, "provenance">;
84
- export type ProvenanceFreeCustomAnnotationNode = Omit<CustomAnnotationNode, "provenance">;
85
- export type ProvenanceFreeAnnotationNode = ProvenanceFreeDisplayNameAnnotationNode | ProvenanceFreeDescriptionAnnotationNode | ProvenanceFreeRemarksAnnotationNode | ProvenanceFreeFormatAnnotationNode | ProvenanceFreePlaceholderAnnotationNode | ProvenanceFreeDefaultValueAnnotationNode | ProvenanceFreeDeprecatedAnnotationNode | ProvenanceFreeFormatHintAnnotationNode | ProvenanceFreeCustomAnnotationNode;
86
- /** Field node with `provenance` and `mergeHistory` stripped; nested structures recursively mapped. */
87
- export interface ProvenanceFreeFieldNode {
88
- readonly kind: "field";
89
- readonly name: string;
90
- readonly type: ProvenanceFreeTypeNode;
91
- readonly required: boolean;
92
- readonly constraints: readonly ProvenanceFreeConstraintNode[];
93
- readonly annotations: readonly ProvenanceFreeAnnotationNode[];
94
- }
95
- /** Group layout node with `provenance` stripped; elements are recursively mapped. */
96
- export interface ProvenanceFreeGroupLayoutNode {
97
- readonly kind: "group";
98
- readonly label: string;
99
- readonly elements: readonly ProvenanceFreeFormIRElement[];
100
- }
101
- /** Conditional layout node with `provenance` stripped. */
102
- export interface ProvenanceFreeConditionalLayoutNode {
103
- readonly kind: "conditional";
104
- readonly fieldName: string;
105
- readonly value: JsonValue;
106
- readonly elements: readonly ProvenanceFreeFormIRElement[];
107
- }
108
- /** Union of all provenance-free IR element types. */
109
- export type ProvenanceFreeFormIRElement = ProvenanceFreeFieldNode | ProvenanceFreeGroupLayoutNode | ProvenanceFreeConditionalLayoutNode;
110
- /** TypeDefinition with `provenance` stripped. */
111
- export interface ProvenanceFreeTypeDefinition {
112
- readonly name: string;
113
- readonly type: ProvenanceFreeTypeNode;
114
- readonly constraints?: readonly ProvenanceFreeConstraintNode[];
115
- readonly annotations?: readonly ProvenanceFreeAnnotationNode[];
116
- }
117
- /** The top-level `FormIR` with all `provenance` fields stripped. */
118
- export interface ProvenanceFreeFormIR {
119
- readonly kind: "form-ir";
120
- readonly irVersion: string;
121
- readonly elements: readonly ProvenanceFreeFormIRElement[];
122
- readonly typeRegistry: Record<string, ProvenanceFreeTypeDefinition>;
123
- }
124
- /**
125
- * A structured description of a single difference between two IR trees.
126
- * Path uses dot notation for object properties and `[n]` for array indices.
127
- */
128
- export interface IRDifference {
129
- /** JSONPath-like string describing where the difference is located. */
130
- readonly path: string;
131
- readonly expected: unknown;
132
- readonly actual: unknown;
133
- }
134
- /**
135
- * Strips all `provenance` (and `mergeHistory`) fields from a `FormIRElement`,
136
- * returning a `ProvenanceFreeFormIRElement`.
137
- */
138
- export declare function stripProvenanceFromElement(element: FormIRElement): ProvenanceFreeFormIRElement;
139
- /**
140
- * Strips all `provenance` and `mergeHistory` fields from a complete `FormIR`,
141
- * returning a `ProvenanceFreeFormIR` suitable for structural comparison.
142
- */
143
- export declare function stripProvenance(ir: FormIR): ProvenanceFreeFormIR;
144
- /**
145
- * Compares two `FormIR` objects structurally after stripping provenance.
146
- *
147
- * Returns an empty array when the IRs are identical modulo provenance.
148
- * Returns one `IRDifference` per divergence found, with a JSONPath-like
149
- * path string indicating where the difference occurs.
150
- */
151
- export declare function compareIR(a: FormIR, b: FormIR): IRDifference[];
152
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/__tests__/parity/utils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Unit tests for path-target extraction in TSDoc constraint tags.
3
- *
4
- * Covers both the low-level `extractPathTarget` helper and integration
5
- * via `parseTSDocTags` to confirm that ConstraintNode objects carry the
6
- * parsed `path` field when a `:identifier` prefix is present.
7
- */
8
- export {};
9
- //# sourceMappingURL=path-target-parser.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"path-target-parser.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/path-target-parser.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=write-schemas.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write-schemas.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/write-schemas.test.ts"],"names":[],"mappings":""}