@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
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `@formspec/build` - Build tools for FormSpec
|
|
3
3
|
*
|
|
4
4
|
* This package provides generators to compile FormSpec forms into:
|
|
5
|
-
* - JSON Schema (for validation)
|
|
5
|
+
* - JSON Schema 2020-12 (for validation)
|
|
6
6
|
* - JSON Forms UI Schema (for rendering)
|
|
7
7
|
*
|
|
8
8
|
* @example
|
|
@@ -23,21 +23,56 @@
|
|
|
23
23
|
* @packageDocumentation
|
|
24
24
|
*/
|
|
25
25
|
import type { FormElement, FormSpec } from "@formspec/core";
|
|
26
|
-
import type
|
|
26
|
+
import { type GenerateJsonSchemaOptions } from "./json-schema/generator.js";
|
|
27
|
+
import { type GenerateUiSchemaOptions } from "./ui-schema/generator.js";
|
|
28
|
+
import { type JsonSchema2020 } from "./json-schema/ir-generator.js";
|
|
27
29
|
import type { UISchema } from "./ui-schema/types.js";
|
|
28
|
-
export type {
|
|
29
|
-
export type {
|
|
30
|
+
export type { JsonSchema2020 } from "./json-schema/ir-generator.js";
|
|
31
|
+
export type { GenerateJsonSchemaOptions } from "./json-schema/generator.js";
|
|
32
|
+
export type { GenerateUiSchemaOptions } from "./ui-schema/generator.js";
|
|
33
|
+
export type { BuiltinConstraintBroadeningRegistration, ConstraintTagRegistration, CustomAnnotationRegistration, CustomConstraintRegistration, CustomTypeRegistration, ExtensionDefinition, AnyField, ArrayField, BooleanField, Conditional, DynamicEnumField, DynamicSchemaField, EnumOption, EnumOptionValue, FormElement, FormSpec, Group, NumberField, ObjectField, StaticEnumField, TextField, } from "@formspec/core";
|
|
34
|
+
export type { JSONSchema7, JSONSchemaType, ExtendedJSONSchema7, FormSpecSchemaExtensions, } from "./json-schema/types.js";
|
|
35
|
+
export { createExtensionRegistry } from "./extensions/index.js";
|
|
36
|
+
export type { ExtensionRegistry, ExtensionTypeLookupResult, MutableExtensionRegistry, } from "./extensions/index.js";
|
|
37
|
+
export type { FormSpecConfig } from "@formspec/config";
|
|
38
|
+
export type { UISchema, UISchemaElement, UISchemaElementBase, UISchemaElementType, ControlElement, VerticalLayout, HorizontalLayout, GroupLayout, Categorization, Category, LabelElement, Rule, RuleEffect, RuleConditionSchema, SchemaBasedCondition, } from "./ui-schema/types.js";
|
|
39
|
+
export type { DetailedClassSchemasResult, DetailedSchemaGenerationTargetResult, DiscriminatorResolutionOptions, GenerateFromClassOptions, GenerateFromClassResult, GenerateSchemasOptions, GenerateSchemasBatchFromProgramOptions, GenerateSchemasBatchOptions, GenerateSchemasFromProgramOptions, SchemaGenerationTarget, StaticSchemaGenerationOptions, } from "./generators/class-schema.js";
|
|
40
|
+
export type { StaticBuildContext } from "./static-build.js";
|
|
41
|
+
export type { ValidateIROptions, ValidationDiagnostic, ValidationDiagnosticLocation, ValidationDiagnosticSeverity, ValidationResult, } from "./validate/index.js";
|
|
42
|
+
export type { DiscoveredTypeSchemas, GenerateSchemasFromDeclarationOptions, MetadataSourceDeclaration, GenerateSchemasFromParameterOptions, GenerateSchemasFromReturnTypeOptions, GenerateSchemasFromTypeOptions, ResolveDeclarationMetadataOptions, SchemaSourceDeclaration, } from "./generators/discovered-schema.js";
|
|
43
|
+
export type { BuildMixedAuthoringSchemasOptions, MixedAuthoringSchemas, } from "./generators/mixed-authoring.js";
|
|
44
|
+
export { jsonSchema7Schema } from "./json-schema/schema.js";
|
|
45
|
+
export { uiSchema as uiSchemaSchema } from "./ui-schema/schema.js";
|
|
30
46
|
export { generateJsonSchema } from "./json-schema/generator.js";
|
|
31
47
|
export { generateUiSchema } from "./ui-schema/generator.js";
|
|
48
|
+
export { generateSchemasBatch, generateSchemasBatchFromProgram, generateSchemasFromClass, } from "./generators/class-schema.js";
|
|
49
|
+
export { generateSchemas } from "./generators/class-schema.js";
|
|
50
|
+
export { generateSchemasFromProgram } from "./generators/class-schema.js";
|
|
51
|
+
export { generateSchemasDetailed, generateSchemasFromProgramDetailed, } from "./generators/class-schema.js";
|
|
52
|
+
export { createStaticBuildContext, createStaticBuildContextFromProgram, resolveModuleExport, resolveModuleExportDeclaration, } from "./static-build.js";
|
|
53
|
+
export { generateSchemasFromDeclaration, generateSchemasFromParameter, generateSchemasFromReturnType, generateSchemasFromType, resolveDeclarationMetadata, } from "./generators/discovered-schema.js";
|
|
54
|
+
export { buildMixedAuthoringSchemas } from "./generators/mixed-authoring.js";
|
|
32
55
|
/**
|
|
33
56
|
* Result of building form schemas.
|
|
57
|
+
*
|
|
58
|
+
* @public
|
|
34
59
|
*/
|
|
35
60
|
export interface BuildResult {
|
|
36
|
-
/** JSON Schema for validation */
|
|
37
|
-
readonly jsonSchema:
|
|
61
|
+
/** JSON Schema 2020-12 for validation */
|
|
62
|
+
readonly jsonSchema: JsonSchema2020;
|
|
38
63
|
/** JSON Forms UI Schema for rendering */
|
|
39
64
|
readonly uiSchema: UISchema;
|
|
40
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Options for building schemas from a FormSpec.
|
|
68
|
+
*
|
|
69
|
+
* Currently identical to `GenerateJsonSchemaOptions`. Defined separately so the
|
|
70
|
+
* Chain DSL surface can grow independently in the future if needed.
|
|
71
|
+
*
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
export interface BuildFormSchemasOptions extends GenerateJsonSchemaOptions, GenerateUiSchemaOptions {
|
|
75
|
+
}
|
|
41
76
|
/**
|
|
42
77
|
* Builds both JSON Schema and UI Schema from a FormSpec.
|
|
43
78
|
*
|
|
@@ -64,12 +99,16 @@ export interface BuildResult {
|
|
|
64
99
|
*
|
|
65
100
|
* @param form - The FormSpec to build schemas from
|
|
66
101
|
* @returns Object containing both jsonSchema and uiSchema
|
|
102
|
+
*
|
|
103
|
+
* @public
|
|
67
104
|
*/
|
|
68
|
-
export declare function buildFormSchemas<E extends readonly FormElement[]>(form: FormSpec<E
|
|
105
|
+
export declare function buildFormSchemas<E extends readonly FormElement[]>(form: FormSpec<E>, options?: BuildFormSchemasOptions): BuildResult;
|
|
69
106
|
/**
|
|
70
107
|
* Options for writing schemas to disk.
|
|
108
|
+
*
|
|
109
|
+
* @public
|
|
71
110
|
*/
|
|
72
|
-
export interface WriteSchemasOptions {
|
|
111
|
+
export interface WriteSchemasOptions extends GenerateJsonSchemaOptions {
|
|
73
112
|
/** Output directory for the schema files */
|
|
74
113
|
readonly outDir: string;
|
|
75
114
|
/** Base name for the output files (without extension). Defaults to "schema" */
|
|
@@ -79,6 +118,8 @@ export interface WriteSchemasOptions {
|
|
|
79
118
|
}
|
|
80
119
|
/**
|
|
81
120
|
* Result of writing schemas to disk.
|
|
121
|
+
*
|
|
122
|
+
* @public
|
|
82
123
|
*/
|
|
83
124
|
export interface WriteSchemasResult {
|
|
84
125
|
/** Path to the generated JSON Schema file */
|
|
@@ -114,6 +155,8 @@ export interface WriteSchemasResult {
|
|
|
114
155
|
* @param form - The FormSpec to build schemas from
|
|
115
156
|
* @param options - Output options (directory, file name, indentation)
|
|
116
157
|
* @returns Object containing paths to the generated files
|
|
158
|
+
*
|
|
159
|
+
* @public
|
|
117
160
|
*/
|
|
118
161
|
export declare function writeSchemas<E extends readonly FormElement[]>(form: FormSpec<E>, options: WriteSchemasOptions): WriteSchemasResult;
|
|
119
162
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|