@@ -7,13 +7,7 @@ import { LiquidDocParamNode } from '@shopify/liquid-html-parser';
7
7
export type GetSnippetDefinitionForURI = (
8
8
uri : string ,
9
9
snippetName : string ,
10
- ) => Promise < SnippetDefinition > ;
11
-
12
- export type LiquidDocParameter = {
13
- name : string ;
14
- description : string | null ;
15
- type : string | null ;
16
- } ;
10
+ ) => Promise < SnippetDefinition | undefined > ;
17
11
18
12
export type SnippetDefinition = {
19
13
name : string ;
@@ -24,27 +18,33 @@ type LiquidDocDefinition = {
24
18
parameters ?: LiquidDocParameter [ ] ;
25
19
} ;
26
20
21
+ export type LiquidDocParameter = {
22
+ name : string ;
23
+ description : string | null ;
24
+ type : string | null ;
25
+ } ;
26
+
27
27
export function getSnippetDefinition (
28
28
snippet : LiquidHtmlNode ,
29
29
snippetName : string ,
30
30
) : SnippetDefinition {
31
- const liquidDocParameters : LiquidDocParameter [ ] = visit <
32
- SourceCodeType . LiquidHtml ,
33
- LiquidDocParameter
34
- > ( snippet , {
35
- LiquidDocParamNode ( node : LiquidDocParamNode ) {
36
- return {
37
- name : node . paramName . value ,
38
- description : node . paramDescription ?. value ?? null ,
39
- type : node . paramType ?. value ?? null ,
40
- } ;
31
+ const parameters : LiquidDocParameter [ ] = visit < SourceCodeType . LiquidHtml , LiquidDocParameter > (
32
+ snippet ,
33
+ {
34
+ LiquidDocParamNode ( node : LiquidDocParamNode ) {
35
+ return {
36
+ name : node . paramName . value ,
37
+ description : node . paramDescription ? .value ?? null ,
38
+ type : node . paramType ?. value ?? null ,
39
+ } ;
40
+ } ,
41
41
} ,
42
- } ) ;
42
+ ) ;
43
43
44
44
return {
45
45
name : snippetName ,
46
46
liquidDoc : {
47
- parameters : liquidDocParameters ,
47
+ parameters : parameters ,
48
48
} ,
49
49
} ;
50
50
}
0 commit comments