@@ -24,56 +24,6 @@ export type Paginated<T> = {
2424 total_count : number ;
2525} ;
2626
27- type Join < K , P > = K extends string | number
28- ? P extends string | number
29- ? `${K } ${'' extends P ? '' : '.' } ${P } `
30- : never
31- : never ;
32-
33- type Prev = [
34- never ,
35- 0 ,
36- 1 ,
37- 2 ,
38- 3 ,
39- 4 ,
40- 5 ,
41- 6 ,
42- 7 ,
43- 8 ,
44- 9 ,
45- 10 ,
46- 11 ,
47- 12 ,
48- 13 ,
49- 14 ,
50- 15 ,
51- 16 ,
52- 17 ,
53- 18 ,
54- 19 ,
55- 20 ,
56- ...0 [ ]
57- ] ;
58-
59- // D is depth, we don't want to go past 3 nested objects
60- export type Paths < T , D extends number = 3 > = [ D ] extends [ never ]
61- ? never
62- : T extends object
63- ? {
64- [ K in keyof T ] -?: K extends string | number
65- ? `${K } ` | Join < K , Paths < T [ K ] , Prev [ D ] > >
66- : never ;
67- } [ keyof T ]
68- : '' ;
69-
70- // D is depth, we don't want to go past 3 nested objects
71- export type Leaves < T , D extends number = 3 > = [ D ] extends [ never ]
72- ? never
73- : T extends object
74- ? { [ K in keyof T ] -?: Join < K , Leaves < T [ K ] , Prev [ D ] > > } [ keyof T ]
75- : '' ;
76-
7727export enum Operators {
7828 AND = 'AND' ,
7929 OR = 'OR' ,
@@ -89,19 +39,19 @@ export enum Operators {
8939 ENDS_WITH = '$' ,
9040}
9141
92- interface FlatQuery < T > {
93- field : Leaves < T > ;
42+ interface FlatQuery {
43+ field : string ;
9444 operator : Operators ;
9545 value : string | number | null ;
9646}
9747
98- interface NestedQueries < T > {
48+ interface NestedQueries {
9949 operator : Operators ;
100- value : Array < FlatQuery < T > | NestedQueries < T > > | string | number | null ;
50+ value : Array < FlatQuery | NestedQueries > | string | number | null ;
10151}
10252
103- export interface GenericSearchFilters < T > {
104- query : FlatQuery < T > | NestedQueries < T > ;
53+ export interface GenericSearchFilters {
54+ query : FlatQuery | NestedQueries ;
10555}
10656
10757export enum Order {
0 commit comments