File tree Expand file tree Collapse file tree 4 files changed +58
-6
lines changed Expand file tree Collapse file tree 4 files changed +58
-6
lines changed Original file line number Diff line number Diff line change 1
1
// Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
3
+ exports [` vue extractor should extract message from functional component 1` ] = `
4
+ [
5
+ {
6
+ comment : undefined ,
7
+ context : undefined ,
8
+ id : Render function message,
9
+ message: undefined,
10
+ origin: [
11
+ functional.vue,
12
+ 10,
13
+ 33,
14
+ ],
15
+ } ,
16
+ ]
17
+ ` ;
18
+
3
19
exports [` vue extractor should extract message from vue file 1` ] = `
4
20
[
5
21
{
Original file line number Diff line number Diff line change @@ -61,4 +61,26 @@ describe("vue extractor", () => {
61
61
62
62
expect ( messages ) . toMatchSnapshot ( )
63
63
} )
64
+
65
+ it ( "should extract message from functional component" , async ( ) => {
66
+ const filePath = path . resolve ( __dirname , "fixtures/functional.vue" )
67
+ const code = fs . readFileSync ( filePath , "utf-8" )
68
+
69
+ let messages : ExtractedMessage [ ] = [ ]
70
+
71
+ await vueExtractor . extract (
72
+ "functional.vue" ,
73
+ code ,
74
+ ( res ) => {
75
+ messages . push ( res )
76
+ } ,
77
+ {
78
+ linguiConfig,
79
+ }
80
+ )
81
+
82
+ messages = normalizePath ( messages )
83
+
84
+ expect ( messages ) . toMatchSnapshot ( )
85
+ } )
64
86
} )
Original file line number Diff line number Diff line change
1
+ <script lang="ts">
2
+ import { defineComponent } from " vue"
3
+ import { i18n } from " @lingui/core"
4
+
5
+ // @ts-ignore only used to check if extractor doesn't crash with Typescript
6
+ const foo: number = 5
7
+
8
+ export default defineComponent ({
9
+ render(createElement ) {
10
+ return createElement (' div' , [i18n ._ (" Render function message" )])
11
+ }})
12
+ </script >
Original file line number Diff line number Diff line change @@ -18,12 +18,14 @@ export const vueExtractor: ExtractorType = {
18
18
ignoreEmpty : true ,
19
19
} )
20
20
21
- const compiledTemplate = compileTemplate ( {
22
- source : descriptor . template . content ,
23
- filename,
24
- inMap : descriptor . template . map ,
25
- id : filename ,
26
- } )
21
+ const compiledTemplate =
22
+ descriptor . template &&
23
+ compileTemplate ( {
24
+ source : descriptor . template . content ,
25
+ filename,
26
+ inMap : descriptor . template . map ,
27
+ id : filename ,
28
+ } )
27
29
28
30
const isTsBlock = ( block : SFCBlock ) => block ?. lang === "ts"
29
31
You can’t perform that action at this time.
0 commit comments