@formspec/build 0.1.0-alpha.45 → 0.1.0-alpha.47

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/cli.cjs CHANGED
@@ -6017,6 +6017,19 @@ function generateSchemasBatchFromProgram(options) {
6017
6017
  function isMutableRegistry(reg) {
6018
6018
  return "setSymbolMap" in reg && typeof reg.setSymbolMap === "function";
6019
6019
  }
6020
+ function resolveStaticOptions(options) {
6021
+ const legacyRegistry = options.extensionRegistry;
6022
+ const configRegistry = legacyRegistry === void 0 && options.config?.extensions !== void 0 ? createExtensionRegistry(options.config.extensions) : void 0;
6023
+ return {
6024
+ extensionRegistry: legacyRegistry ?? configRegistry,
6025
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6026
+ vendorPrefix: options.vendorPrefix ?? options.config?.vendorPrefix,
6027
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6028
+ enumSerialization: options.enumSerialization ?? options.config?.enumSerialization,
6029
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6030
+ metadata: options.metadata ?? options.config?.metadata
6031
+ };
6032
+ }
6020
6033
  function resolveOptions(options) {
6021
6034
  const configRegistry = options.config?.extensions !== void 0 ? createExtensionRegistry(options.config.extensions) : void 0;
6022
6035
  const legacyRegistry = options.extensionRegistry;
@@ -6230,10 +6243,9 @@ function omitApiName(metadata) {
6230
6243
  const { apiName: _apiName, ...rest } = metadata;
6231
6244
  return Object.keys(rest).length > 0 ? rest : void 0;
6232
6245
  }
6233
- function enforceRequiredMetadata(metadata, declarationKind, logicalName, options) {
6246
+ function enforceRequiredMetadata(metadata, declarationKind, logicalName, metadataPolicy) {
6234
6247
  const declarationPolicy = getDeclarationMetadataPolicy(
6235
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6236
- normalizeMetadataPolicy(options.metadata),
6248
+ normalizeMetadataPolicy(metadataPolicy),
6237
6249
  declarationKind
6238
6250
  );
6239
6251
  if (metadata?.apiName === void 0 && declarationPolicy.apiName.mode === "require-explicit") {
@@ -6278,7 +6290,7 @@ function describeRootType(rootType, typeRegistry, fallbackName) {
6278
6290
  type: definition.type
6279
6291
  };
6280
6292
  }
6281
- function toStandaloneJsonSchema(root, typeRegistry, options) {
6293
+ function toStandaloneJsonSchema(root, typeRegistry, resolved) {
6282
6294
  const syntheticFieldMetadata = omitApiName(root.metadata);
6283
6295
  const syntheticField = {
6284
6296
  kind: "field",
@@ -6307,19 +6319,15 @@ function toStandaloneJsonSchema(root, typeRegistry, options) {
6307
6319
  provenance: syntheticField.provenance
6308
6320
  },
6309
6321
  {
6310
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6311
- policy: normalizeMetadataPolicy(options?.metadata),
6322
+ policy: normalizeMetadataPolicy(resolved?.metadata),
6312
6323
  surface: "tsdoc",
6313
6324
  rootLogicalName: root.name
6314
6325
  }
6315
6326
  );
6316
6327
  const schema = generateJsonSchemaFromIR(ir, {
6317
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6318
- extensionRegistry: options?.extensionRegistry,
6319
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6320
- enumSerialization: options?.enumSerialization,
6321
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6322
- vendorPrefix: options?.vendorPrefix
6328
+ extensionRegistry: resolved?.extensionRegistry,
6329
+ enumSerialization: resolved?.enumSerialization,
6330
+ vendorPrefix: resolved?.vendorPrefix
6323
6331
  });
6324
6332
  const result = schema.properties?.["__result"];
6325
6333
  if (result === void 0) {
@@ -6337,26 +6345,23 @@ function toStandaloneJsonSchema(root, typeRegistry, options) {
6337
6345
  $defs: schema.$defs
6338
6346
  };
6339
6347
  }
6340
- function generateSchemasFromAnalysis(analysis, filePath, options) {
6348
+ function generateSchemasFromAnalysis(analysis, filePath, resolved) {
6341
6349
  return toDiscoveredTypeSchemas(
6342
6350
  generateClassSchemas(
6343
6351
  analysis,
6344
6352
  { file: filePath },
6345
6353
  {
6346
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6347
- extensionRegistry: options?.extensionRegistry,
6348
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6349
- enumSerialization: options?.enumSerialization,
6350
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6351
- metadata: options?.metadata,
6352
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6353
- vendorPrefix: options?.vendorPrefix
6354
+ extensionRegistry: resolved?.extensionRegistry,
6355
+ enumSerialization: resolved?.enumSerialization,
6356
+ metadata: resolved?.metadata,
6357
+ vendorPrefix: resolved?.vendorPrefix
6354
6358
  }
6355
6359
  ),
6356
6360
  analysis.metadata
6357
6361
  );
6358
6362
  }
6359
6363
  function generateSchemasFromResolvedType(options, skipNamedDeclaration = false, rootOverride) {
6364
+ const resolved = resolveStaticOptions(options);
6360
6365
  const namedDeclaration = skipNamedDeclaration || hasConcreteTypeArguments(options.type, options.context.checker) ? void 0 : getNamedTypeDeclaration2(options.type);
6361
6366
  if (namedDeclaration !== void 0) {
6362
6367
  return generateSchemasFromDeclaration({
@@ -6374,10 +6379,8 @@ function generateSchemasFromResolvedType(options, skipNamedDeclaration = false,
6374
6379
  typeRegistry,
6375
6380
  /* @__PURE__ */ new Set(),
6376
6381
  options.sourceNode,
6377
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6378
- createAnalyzerMetadataPolicy(options.metadata, options.discriminator),
6379
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6380
- options.extensionRegistry,
6382
+ createAnalyzerMetadataPolicy(resolved.metadata, options.discriminator),
6383
+ resolved.extensionRegistry,
6381
6384
  diagnostics
6382
6385
  );
6383
6386
  if (diagnostics.length > 0) {
@@ -6408,31 +6411,30 @@ function generateSchemasFromResolvedType(options, skipNamedDeclaration = false,
6408
6411
  root.annotations
6409
6412
  ),
6410
6413
  filePath,
6411
- options
6414
+ resolved
6412
6415
  );
6413
6416
  }
6414
6417
  return {
6415
- jsonSchema: toStandaloneJsonSchema(root, typeRegistry, options),
6418
+ jsonSchema: toStandaloneJsonSchema(root, typeRegistry, resolved),
6416
6419
  uiSchema: null,
6417
6420
  ...root.metadata !== void 0 && { resolvedMetadata: root.metadata }
6418
6421
  };
6419
6422
  }
6420
6423
  function generateSchemasFromDeclaration(options) {
6421
6424
  const filePath = options.declaration.getSourceFile().fileName;
6425
+ const resolved = resolveStaticOptions(options);
6422
6426
  if (ts8.isClassDeclaration(options.declaration)) {
6423
6427
  return generateSchemasFromAnalysis(
6424
6428
  analyzeClassToIR(
6425
6429
  options.declaration,
6426
6430
  options.context.checker,
6427
6431
  filePath,
6428
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6429
- options.extensionRegistry,
6430
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6431
- options.metadata,
6432
+ resolved.extensionRegistry,
6433
+ resolved.metadata,
6432
6434
  options.discriminator
6433
6435
  ),
6434
6436
  filePath,
6435
- options
6437
+ resolved
6436
6438
  );
6437
6439
  }
6438
6440
  if (ts8.isInterfaceDeclaration(options.declaration)) {
@@ -6441,14 +6443,12 @@ function generateSchemasFromDeclaration(options) {
6441
6443
  options.declaration,
6442
6444
  options.context.checker,
6443
6445
  filePath,
6444
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6445
- options.extensionRegistry,
6446
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6447
- options.metadata,
6446
+ resolved.extensionRegistry,
6447
+ resolved.metadata,
6448
6448
  options.discriminator
6449
6449
  ),
6450
6450
  filePath,
6451
- options
6451
+ resolved
6452
6452
  );
6453
6453
  }
6454
6454
  if (ts8.isTypeAliasDeclaration(options.declaration)) {
@@ -6456,23 +6456,19 @@ function generateSchemasFromDeclaration(options) {
6456
6456
  options.declaration,
6457
6457
  options.context.checker,
6458
6458
  filePath,
6459
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6460
- options.extensionRegistry,
6461
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6462
- options.metadata,
6459
+ resolved.extensionRegistry,
6460
+ resolved.metadata,
6463
6461
  options.discriminator
6464
6462
  );
6465
6463
  if (analyzedAlias.ok) {
6466
- return generateSchemasFromAnalysis(analyzedAlias.analysis, filePath, options);
6464
+ return generateSchemasFromAnalysis(analyzedAlias.analysis, filePath, resolved);
6467
6465
  }
6468
6466
  const aliasRootInfo = analyzeDeclarationRootInfo(
6469
6467
  options.declaration,
6470
6468
  options.context.checker,
6471
6469
  filePath,
6472
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6473
- options.extensionRegistry,
6474
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6475
- options.metadata
6470
+ resolved.extensionRegistry,
6471
+ resolved.metadata
6476
6472
  );
6477
6473
  if (aliasRootInfo.diagnostics.length > 0) {
6478
6474
  const diagnosticDetails = aliasRootInfo.diagnostics.map((diagnostic) => `${diagnostic.code}: ${diagnostic.message}`).join("; ");
@@ -6523,20 +6519,19 @@ function generateSchemasFromReturnType(options) {
6523
6519
  });
6524
6520
  }
6525
6521
  function resolveDeclarationMetadata(options) {
6522
+ const resolved = resolveStaticOptions(options);
6526
6523
  const analysis = (0, import_internal5.analyzeMetadataForNodeWithChecker)({
6527
6524
  checker: options.context.checker,
6528
6525
  node: options.declaration,
6529
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6530
- metadata: options.metadata,
6531
- // eslint-disable-next-line @typescript-eslint/no-deprecated -- migration bridge reads deprecated fields
6532
- extensions: options.extensionRegistry?.extensions,
6526
+ metadata: resolved.metadata,
6527
+ extensions: resolved.extensionRegistry?.extensions,
6533
6528
  buildContext: options.context
6534
6529
  });
6535
6530
  if (analysis === null) {
6536
6531
  return void 0;
6537
6532
  }
6538
6533
  const metadata = analysis.resolvedMetadata;
6539
- enforceRequiredMetadata(metadata, analysis.declarationKind, analysis.logicalName, options);
6534
+ enforceRequiredMetadata(metadata, analysis.declarationKind, analysis.logicalName, resolved.metadata);
6540
6535
  return metadata;
6541
6536
  }
6542
6537
  function unwrapPromiseType(checker, type) {