vue-component-meta 2.2.4 → 2.2.6
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/lib/base.js +31 -6
- package/package.json +4 -4
package/lib/base.js
CHANGED
|
@@ -566,10 +566,10 @@ function readVueComponentDefaultProps(root, printer, ts) {
|
|
|
566
566
|
scriptWorker();
|
|
567
567
|
return result;
|
|
568
568
|
function scriptSetupWorker() {
|
|
569
|
-
|
|
570
|
-
if (!ast) {
|
|
569
|
+
if (!sfc.scriptSetup) {
|
|
571
570
|
return;
|
|
572
571
|
}
|
|
572
|
+
const { ast } = sfc.scriptSetup;
|
|
573
573
|
const codegen = vue.tsCodegen.get(sfc);
|
|
574
574
|
const scriptSetupRanges = codegen?.getScriptSetupRanges();
|
|
575
575
|
if (scriptSetupRanges?.withDefaults?.argNode) {
|
|
@@ -597,10 +597,21 @@ function readVueComponentDefaultProps(root, printer, ts) {
|
|
|
597
597
|
}
|
|
598
598
|
}
|
|
599
599
|
else if (scriptSetupRanges?.defineProps?.destructured) {
|
|
600
|
-
for (const [
|
|
600
|
+
for (const [name, initializer] of scriptSetupRanges.defineProps.destructured) {
|
|
601
601
|
if (initializer) {
|
|
602
602
|
const expText = printer?.printNode(ts.EmitHint.Expression, initializer, ast) ?? initializer.getText(ast);
|
|
603
|
-
result[
|
|
603
|
+
result[name] = {
|
|
604
|
+
default: expText
|
|
605
|
+
};
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
if (scriptSetupRanges?.defineProp) {
|
|
610
|
+
for (const defineProp of scriptSetupRanges.defineProp) {
|
|
611
|
+
const obj = defineProp.argNode ? findObjectLiteralExpression(defineProp.argNode) : undefined;
|
|
612
|
+
if (obj) {
|
|
613
|
+
const name = defineProp.name ? sfc.scriptSetup.content.slice(defineProp.name.start, defineProp.name.end).slice(1, -1) : 'modelValue';
|
|
614
|
+
result[name] = resolveModelOption(ast, obj, printer, ts);
|
|
604
615
|
}
|
|
605
616
|
}
|
|
606
617
|
}
|
|
@@ -618,10 +629,10 @@ function readVueComponentDefaultProps(root, printer, ts) {
|
|
|
618
629
|
}
|
|
619
630
|
}
|
|
620
631
|
function scriptWorker() {
|
|
621
|
-
|
|
622
|
-
if (!ast) {
|
|
632
|
+
if (!sfc.script) {
|
|
623
633
|
return;
|
|
624
634
|
}
|
|
635
|
+
const { ast } = sfc.script;
|
|
625
636
|
const scriptResult = readTsComponentDefaultProps(ast, 'default', printer, ts);
|
|
626
637
|
for (const [key, value] of Object.entries(scriptResult)) {
|
|
627
638
|
result[key] = value;
|
|
@@ -709,6 +720,20 @@ function resolvePropsOption(ast, props, printer, ts) {
|
|
|
709
720
|
}
|
|
710
721
|
return result;
|
|
711
722
|
}
|
|
723
|
+
function resolveModelOption(ast, options, printer, ts) {
|
|
724
|
+
const result = {};
|
|
725
|
+
for (const prop of options.properties) {
|
|
726
|
+
if (ts.isPropertyAssignment(prop)) {
|
|
727
|
+
const name = prop.name.getText(ast);
|
|
728
|
+
if (name === 'default') {
|
|
729
|
+
const expNode = resolveDefaultOptionExpression(prop.initializer, ts);
|
|
730
|
+
const expText = printer?.printNode(ts.EmitHint.Expression, expNode, ast) ?? expNode.getText(ast);
|
|
731
|
+
result.default = expText;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
return result;
|
|
736
|
+
}
|
|
712
737
|
function resolveDefaultOptionExpression(_default, ts) {
|
|
713
738
|
if (ts.isArrowFunction(_default)) {
|
|
714
739
|
if (ts.isBlock(_default.body)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue-component-meta",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.6",
|
|
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": "2.2.
|
|
17
|
+
"@vue/language-core": "2.2.6",
|
|
18
18
|
"path-browserify": "^1.0.1",
|
|
19
|
-
"vue-component-type-helpers": "2.2.
|
|
19
|
+
"vue-component-type-helpers": "2.2.6"
|
|
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": "
|
|
33
|
+
"gitHead": "f2088e256dc0220db9549d28d9f865a5711dcfbe"
|
|
34
34
|
}
|