1
1
import { toRelativeUrl , formatDate , formatDateTime } from './util'
2
2
3
+ function acfField ( object , name ) {
4
+ if ( object . acf ) {
5
+ return object . acf [ name ] || null
6
+ }
7
+
8
+ return object [ name ] || null
9
+ }
10
+
3
11
const handlers = {
4
12
date ( { name, list } ) {
5
13
if ( list ) return null
6
- return object => formatDate ( object . acf [ name ] )
14
+ return object => formatDate ( acfField ( object , name ) )
7
15
} ,
8
16
dateTime ( { name, list } ) {
9
17
if ( list ) return null
10
- return object => formatDateTime ( object . acf [ name ] )
18
+ return object => formatDateTime ( acfField ( object , name ) )
11
19
} ,
12
20
link ( { name, list } , helpers , state ) {
13
21
const { homeUrl } = state . options
14
22
if ( list ) return null
15
23
return object => {
16
- const link = object . acf [ name ]
24
+ const link = acfField ( object , name )
17
25
if ( ! link ) return null
18
26
return {
19
27
...link ,
@@ -23,11 +31,17 @@ const handlers = {
23
31
} ,
24
32
shortText ( { name, list } ) {
25
33
if ( ! list ) return null
26
- return object => ( object . acf [ name ] ? object . acf [ name ] . split ( ',' ) : null )
34
+ return object => {
35
+ const value = acfField ( object , name )
36
+ return value ? value . split ( ',' ) : null
37
+ }
27
38
} ,
28
39
longText ( { name, list } ) {
29
40
if ( ! list ) return null
30
- return object => ( object . acf [ name ] ? object . acf [ name ] . split ( '\n' ) : null )
41
+ return object => {
42
+ const value = acfField ( object , name )
43
+ return value ? value . split ( '\n' ) : null
44
+ }
31
45
} ,
32
46
}
33
47
@@ -47,7 +61,7 @@ function getFieldResolver(node, helpers, state) {
47
61
return null
48
62
}
49
63
const defaultResolver = {
50
- [ name ] : object => object . acf [ name ] || null ,
64
+ [ name ] : object => acfField ( object , name ) ,
51
65
}
52
66
const handler = handlers [ infos . type . name ]
53
67
if ( ! handler ) return defaultResolver
@@ -121,10 +135,7 @@ function one(node, helpers, state) {
121
135
}
122
136
}
123
137
124
- if (
125
- t . isObjectTypeDefinition ( node ) &&
126
- ( t . getDirective ( node , 'content' ) || t . getDirective ( node , 'block' ) )
127
- ) {
138
+ if ( t . isObjectTypeDefinition ( node ) ) {
128
139
const name = t . getName ( node )
129
140
return {
130
141
[ name ] : getFieldResolvers ( node . fields , helpers , state ) ,
0 commit comments