vue-component-meta 3.0.0-alpha.0 → 3.0.0-alpha.4

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 (2) hide show
  1. package/lib/base.js +26 -3
  2. package/package.json +4 -4
package/lib/base.js CHANGED
@@ -443,9 +443,32 @@ function createSchemaResolvers(typeChecker, symbolNode, { rawType, schema: optio
443
443
  };
444
444
  }
445
445
  function resolveEventSignature(call) {
446
- const subtype = typeChecker.getTypeOfSymbolAtLocation(call.parameters[1], symbolNode);
447
446
  let schema;
448
447
  let declarations;
448
+ let subtype = undefined;
449
+ let subtypeStr = '[]';
450
+ let getSchema = () => [];
451
+ if (call.parameters.length >= 2) {
452
+ subtype = typeChecker.getTypeOfSymbolAtLocation(call.parameters[1], symbolNode);
453
+ if (call.parameters[1].valueDeclaration?.dotDotDotToken) {
454
+ subtypeStr = typeChecker.typeToString(subtype);
455
+ getSchema = () => typeChecker.getTypeArguments(subtype).map(resolveSchema);
456
+ }
457
+ else {
458
+ subtypeStr = '[';
459
+ for (let i = 1; i < call.parameters.length; i++) {
460
+ subtypeStr += typeChecker.typeToString(typeChecker.getTypeOfSymbolAtLocation(call.parameters[i], symbolNode)) + ', ';
461
+ }
462
+ subtypeStr = subtypeStr.slice(0, -2) + ']';
463
+ getSchema = () => {
464
+ const result = [];
465
+ for (let i = 1; i < call.parameters.length; i++) {
466
+ result.push(resolveSchema(typeChecker.getTypeOfSymbolAtLocation(call.parameters[i], symbolNode)));
467
+ }
468
+ return result;
469
+ };
470
+ }
471
+ }
449
472
  return {
450
473
  name: typeChecker.getTypeOfSymbolAtLocation(call.parameters[0], symbolNode).value,
451
474
  description: ts.displayPartsToString(call.getDocumentationComment(typeChecker)),
@@ -453,14 +476,14 @@ function createSchemaResolvers(typeChecker, symbolNode, { rawType, schema: optio
453
476
  name: tag.name,
454
477
  text: tag.text !== undefined ? ts.displayPartsToString(tag.text) : undefined,
455
478
  })),
456
- type: typeChecker.typeToString(subtype),
479
+ type: subtypeStr,
457
480
  rawType: rawType ? subtype : undefined,
458
481
  signature: typeChecker.signatureToString(call),
459
482
  get declarations() {
460
483
  return declarations ??= call.declaration ? getDeclarations([call.declaration]) : [];
461
484
  },
462
485
  get schema() {
463
- return schema ??= typeChecker.getTypeArguments(subtype).map(resolveSchema);
486
+ return schema ??= getSchema();
464
487
  },
465
488
  };
466
489
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-component-meta",
3
- "version": "3.0.0-alpha.0",
3
+ "version": "3.0.0-alpha.4",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "**/*.js",
@@ -14,9 +14,9 @@
14
14
  },
15
15
  "dependencies": {
16
16
  "@volar/typescript": "~2.4.11",
17
- "@vue/language-core": "3.0.0-alpha.0",
17
+ "@vue/language-core": "3.0.0-alpha.4",
18
18
  "path-browserify": "^1.0.1",
19
- "vue-component-type-helpers": "3.0.0-alpha.0"
19
+ "vue-component-type-helpers": "3.0.0-alpha.4"
20
20
  },
21
21
  "peerDependencies": {
22
22
  "typescript": "*"
@@ -30,5 +30,5 @@
30
30
  "@types/node": "^22.10.4",
31
31
  "@types/path-browserify": "^1.0.1"
32
32
  },
33
- "gitHead": "4b49cbe09097e482def4603b90f6c3b93bb2e913"
33
+ "gitHead": "1769cd6b94ec9e0cc2681b8dbba904f35856ba1c"
34
34
  }