@formspec/build 0.1.0-alpha.24 → 0.1.0-alpha.27
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/analyzer/program.d.ts +12 -0
- package/dist/analyzer/program.d.ts.map +1 -1
- package/dist/browser.cjs.map +1 -1
- package/dist/browser.d.ts +1 -0
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js.map +1 -1
- package/dist/build-alpha.d.ts +167 -22
- package/dist/build-beta.d.ts +167 -22
- package/dist/build-internal.d.ts +167 -22
- package/dist/build.d.ts +239 -21
- package/dist/cli.cjs +118 -6
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.js +117 -6
- package/dist/cli.js.map +1 -1
- package/dist/generators/class-schema.d.ts +27 -0
- package/dist/generators/class-schema.d.ts.map +1 -1
- package/dist/generators/mixed-authoring.d.ts.map +1 -1
- package/dist/index.cjs +114 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -6
- package/dist/index.js.map +1 -1
- package/dist/internals.cjs +46 -0
- package/dist/internals.cjs.map +1 -1
- package/dist/internals.d.ts +1 -1
- package/dist/internals.d.ts.map +1 -1
- package/dist/internals.js +44 -0
- package/dist/internals.js.map +1 -1
- package/dist/json-schema/ir-generator.d.ts +30 -0
- package/dist/json-schema/ir-generator.d.ts.map +1 -1
- package/dist/json-schema/schema.d.ts +2 -2
- package/dist/json-schema/types.d.ts +35 -4
- package/dist/json-schema/types.d.ts.map +1 -1
- package/dist/ui-schema/schema.d.ts +2 -7
- package/dist/ui-schema/schema.d.ts.map +1 -1
- package/dist/ui-schema/types.d.ts +58 -0
- package/dist/ui-schema/types.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/internals.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
export { canonicalizeChainDSL } from "./canonicalize/index.js";
|
|
15
15
|
export { canonicalizeTSDoc } from "./canonicalize/index.js";
|
|
16
16
|
export type { TSDocSource } from "./canonicalize/index.js";
|
|
17
|
-
export { createProgramContext, findClassByName, findInterfaceByName, findTypeAliasByName, } from "./analyzer/program.js";
|
|
17
|
+
export { createProgramContext, createProgramContextFromProgram, findClassByName, findInterfaceByName, findTypeAliasByName, analyzeNamedTypeToIRFromProgramContext, } from "./analyzer/program.js";
|
|
18
18
|
export { analyzeClassToIR, analyzeInterfaceToIR, analyzeTypeAliasToIR, } from "./analyzer/class-analyzer.js";
|
|
19
19
|
export type { IRClassAnalysis, FieldLayoutMetadata, AnalyzeTypeAliasToIRResult, } from "./analyzer/class-analyzer.js";
|
|
20
20
|
export { generateClassSchemas } from "./generators/class-schema.js";
|
package/dist/internals.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"internals.d.ts","sourceRoot":"","sources":["../src/internals.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EACL,oBAAoB,EACpB,+BAA+B,EAC/B,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,sCAAsC,GACvC,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EACV,+BAA+B,EAC/B,cAAc,GACf,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACjG,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/internals.js
CHANGED
|
@@ -2367,6 +2367,18 @@ function detectFormSpecReference(typeNode) {
|
|
|
2367
2367
|
}
|
|
2368
2368
|
|
|
2369
2369
|
// src/analyzer/program.ts
|
|
2370
|
+
function createProgramContextFromProgram(program, filePath) {
|
|
2371
|
+
const absolutePath = path.resolve(filePath);
|
|
2372
|
+
const sourceFile = program.getSourceFile(absolutePath) ?? program.getSourceFile(filePath);
|
|
2373
|
+
if (!sourceFile) {
|
|
2374
|
+
throw new Error(`Could not find source file in provided program: ${absolutePath}`);
|
|
2375
|
+
}
|
|
2376
|
+
return {
|
|
2377
|
+
program,
|
|
2378
|
+
checker: program.getTypeChecker(),
|
|
2379
|
+
sourceFile
|
|
2380
|
+
};
|
|
2381
|
+
}
|
|
2370
2382
|
function createProgramContext(filePath) {
|
|
2371
2383
|
const absolutePath = path.resolve(filePath);
|
|
2372
2384
|
const fileDir = path.dirname(absolutePath);
|
|
@@ -2435,6 +2447,36 @@ function findInterfaceByName(sourceFile, interfaceName) {
|
|
|
2435
2447
|
function findTypeAliasByName(sourceFile, aliasName) {
|
|
2436
2448
|
return findNodeByName(sourceFile, aliasName, ts4.isTypeAliasDeclaration, (n) => n.name.text);
|
|
2437
2449
|
}
|
|
2450
|
+
function analyzeNamedTypeToIRFromProgramContext(ctx, filePath, typeName, extensionRegistry) {
|
|
2451
|
+
const analysisFilePath = path.resolve(filePath);
|
|
2452
|
+
const classDecl = findClassByName(ctx.sourceFile, typeName);
|
|
2453
|
+
if (classDecl !== null) {
|
|
2454
|
+
return analyzeClassToIR(classDecl, ctx.checker, analysisFilePath, extensionRegistry);
|
|
2455
|
+
}
|
|
2456
|
+
const interfaceDecl = findInterfaceByName(ctx.sourceFile, typeName);
|
|
2457
|
+
if (interfaceDecl !== null) {
|
|
2458
|
+
return analyzeInterfaceToIR(interfaceDecl, ctx.checker, analysisFilePath, extensionRegistry);
|
|
2459
|
+
}
|
|
2460
|
+
const typeAlias = findTypeAliasByName(ctx.sourceFile, typeName);
|
|
2461
|
+
if (typeAlias !== null) {
|
|
2462
|
+
const result = analyzeTypeAliasToIR(
|
|
2463
|
+
typeAlias,
|
|
2464
|
+
ctx.checker,
|
|
2465
|
+
analysisFilePath,
|
|
2466
|
+
extensionRegistry
|
|
2467
|
+
);
|
|
2468
|
+
if (result.ok) {
|
|
2469
|
+
return result.analysis;
|
|
2470
|
+
}
|
|
2471
|
+
throw new Error(result.error);
|
|
2472
|
+
}
|
|
2473
|
+
throw new Error(
|
|
2474
|
+
`Type "${typeName}" not found as a class, interface, or type alias in ${analysisFilePath}`
|
|
2475
|
+
);
|
|
2476
|
+
}
|
|
2477
|
+
|
|
2478
|
+
// src/generators/class-schema.ts
|
|
2479
|
+
import "typescript";
|
|
2438
2480
|
|
|
2439
2481
|
// src/json-schema/ir-generator.ts
|
|
2440
2482
|
function makeContext(options) {
|
|
@@ -3390,12 +3432,14 @@ function collectFormSpecReferences(methods) {
|
|
|
3390
3432
|
export {
|
|
3391
3433
|
analyzeClassToIR,
|
|
3392
3434
|
analyzeInterfaceToIR,
|
|
3435
|
+
analyzeNamedTypeToIRFromProgramContext,
|
|
3393
3436
|
analyzeTypeAliasToIR,
|
|
3394
3437
|
canonicalizeChainDSL,
|
|
3395
3438
|
canonicalizeTSDoc,
|
|
3396
3439
|
collectFormSpecReferences,
|
|
3397
3440
|
createExtensionRegistry,
|
|
3398
3441
|
createProgramContext,
|
|
3442
|
+
createProgramContextFromProgram,
|
|
3399
3443
|
findClassByName,
|
|
3400
3444
|
findInterfaceByName,
|
|
3401
3445
|
findTypeAliasByName,
|