@@ -188,30 +188,35 @@ export const isPinned = pathExists<{ pinned?: boolean }, 'pinned'>([
188
188
node ( 'node' ) ,
189
189
] ) ;
190
190
191
- export const dateTimeBaseNodeProp =
192
- < T , K extends ConditionalKeys < T , DateTimeFilter | undefined > > (
193
- prop ?: string ,
194
- ) : Builder < T , K > =>
195
- ( { key, value } ) => {
196
- const comparison = comparisonOfDateTimeFilter ( value ) ;
197
- return comparison ? { node : { [ prop ?? key ] : comparison } } : null ;
198
- } ;
191
+ export const dateTimeBaseNodeProp = <
192
+ T ,
193
+ K extends ConditionalKeys < T , DateTimeFilter | undefined > ,
194
+ > (
195
+ prop ?: string ,
196
+ ) : Builder < T , K > => dateTime ( ( { key } ) => `node.${ prop ?? key } ` ) ;
199
197
200
- export const dateTimeProp =
201
- < T , K extends ConditionalKeys < T , DateTimeFilter | undefined > > (
202
- prop ?: string ,
203
- ) : Builder < T , K > =>
204
- ( { key, value, query } ) => {
205
- const comparison = comparisonOfDateTimeFilter ( value ) ;
206
- if ( ! comparison ) {
207
- return null ;
208
- }
198
+ export const dateTimeProp = <
199
+ T ,
200
+ K extends ConditionalKeys < T , DateTimeFilter | undefined > ,
201
+ > (
202
+ prop ?: string ,
203
+ ) : Builder < T , K > =>
204
+ dateTime ( ( { key, query } ) => {
209
205
query . match ( [
210
206
node ( 'node' ) ,
211
207
relation ( 'out' , '' , prop ?? key , ACTIVE ) ,
212
208
node ( prop ?? key , 'Property' ) ,
213
209
] ) ;
214
- return { [ prop ?? key ] : { value : comparison } } ;
210
+ return `${ prop ?? key } .value` ;
211
+ } ) ;
212
+
213
+ export const dateTime =
214
+ < T , K extends ConditionalKeys < T , DateTimeFilter | undefined > > (
215
+ getLhs : ( args : BuilderArgs < T , K > ) => string ,
216
+ ) : Builder < T , K > =>
217
+ ( args ) => {
218
+ const comparator = comparisonOfDateTimeFilter ( args . value ) ;
219
+ return comparator ? { [ getLhs ( args ) ] : comparator } : null ;
215
220
} ;
216
221
217
222
export const comparisonOfDateTimeFilter = (
0 commit comments