@@ -31,38 +31,24 @@ module.exports = function(fileInfo, api) {
31
31
node . arguments [ 0 ] . properties = node . arguments [ 0 ] . properties . map ( p => {
32
32
if ( p . key . name === 'mode' ) {
33
33
const mode = p . value . value
34
+ let initializer
34
35
if ( mode === 'hash' ) {
35
- addImport (
36
- context ,
37
- { imported : 'createWebHashHistory' } ,
38
- 'vue-router'
39
- )
40
- return j . property (
41
- 'init' ,
42
- j . identifier ( 'history' ) ,
43
- j . callExpression ( j . identifier ( 'createWebHashHistory' ) , [ ] )
44
- )
36
+ initializer = 'createWebHashHistory'
45
37
} else if ( mode === 'history' ) {
46
- addImport ( context , { imported : 'createWebHistory' } , 'vue-router' )
47
- return j . property (
48
- 'init' ,
49
- j . identifier ( 'history' ) ,
50
- j . callExpression ( j . identifier ( 'createWebHistory' ) , [ ] )
51
- )
38
+ initializer = 'createWebHistory'
52
39
} else if ( mode === 'abstract' ) {
53
- addImport (
54
- context ,
55
- { imported : 'createMemoryHistory' } ,
56
- 'vue-router'
57
- )
58
- return j . property (
59
- 'init' ,
60
- j . identifier ( 'history' ) ,
61
- j . callExpression ( j . identifier ( 'createMemoryHistory' ) , [ ] )
62
- )
40
+ initializer = 'createMemoryHistory'
63
41
} else {
64
- // TODO: warn
42
+ console . error ( `mode must be one of 'hash', 'history', or 'abstract'` )
43
+ return p
65
44
}
45
+
46
+ addImport ( context , { imported : initializer } , 'vue-router' )
47
+ return j . property (
48
+ 'init' ,
49
+ j . identifier ( 'history' ) ,
50
+ j . callExpression ( j . identifier ( initializer ) , [ ] )
51
+ )
66
52
}
67
53
68
54
return p
0 commit comments