Prettier
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
import { ReqFilter } from "../nostr"
|
||||
import { expandFilter } from "./request-expander"
|
||||
import { flatMerge, mergeSimilar } from "./request-merger"
|
||||
import { diffFilters } from "./request-splitter"
|
||||
import { ReqFilter } from "../nostr";
|
||||
import { expandFilter } from "./request-expander";
|
||||
import { flatMerge, mergeSimilar } from "./request-merger";
|
||||
import { diffFilters } from "./request-splitter";
|
||||
|
||||
export interface FlatReqFilter {
|
||||
keys: number;
|
||||
@ -20,24 +20,27 @@ export interface FlatReqFilter {
|
||||
}
|
||||
|
||||
export interface QueryOptimizer {
|
||||
expandFilter(f: ReqFilter): Array<FlatReqFilter>
|
||||
getDiff(prev: Array<ReqFilter>, next: Array<ReqFilter>): Array<FlatReqFilter>
|
||||
flatMerge(all: Array<FlatReqFilter>): Array<ReqFilter>
|
||||
compress(all: Array<ReqFilter>): Array<ReqFilter>
|
||||
expandFilter(f: ReqFilter): Array<FlatReqFilter>;
|
||||
getDiff(prev: Array<ReqFilter>, next: Array<ReqFilter>): Array<FlatReqFilter>;
|
||||
flatMerge(all: Array<FlatReqFilter>): Array<ReqFilter>;
|
||||
compress(all: Array<ReqFilter>): Array<ReqFilter>;
|
||||
}
|
||||
|
||||
export const DefaultQueryOptimizer = {
|
||||
expandFilter: (f: ReqFilter) => {
|
||||
return expandFilter(f);
|
||||
},
|
||||
getDiff: (prev: Array<ReqFilter>, next: Array<ReqFilter>) => {
|
||||
const diff = diffFilters(prev.flatMap(a => expandFilter(a)), next.flatMap(a => expandFilter(a)));
|
||||
return diff.added;
|
||||
},
|
||||
flatMerge: (all: Array<FlatReqFilter>) => {
|
||||
return flatMerge(all);
|
||||
},
|
||||
compress: (all: Array<ReqFilter>) => {
|
||||
return mergeSimilar(all);
|
||||
}
|
||||
} as QueryOptimizer;
|
||||
expandFilter: (f: ReqFilter) => {
|
||||
return expandFilter(f);
|
||||
},
|
||||
getDiff: (prev: Array<ReqFilter>, next: Array<ReqFilter>) => {
|
||||
const diff = diffFilters(
|
||||
prev.flatMap(a => expandFilter(a)),
|
||||
next.flatMap(a => expandFilter(a)),
|
||||
);
|
||||
return diff.added;
|
||||
},
|
||||
flatMerge: (all: Array<FlatReqFilter>) => {
|
||||
return flatMerge(all);
|
||||
},
|
||||
compress: (all: Array<ReqFilter>) => {
|
||||
return mergeSimilar(all);
|
||||
},
|
||||
} as QueryOptimizer;
|
||||
|
@ -29,4 +29,4 @@ export function diffFilters(prev: Array<FlatReqFilter>, next: Array<FlatReqFilte
|
||||
removed: changed ? removed : [],
|
||||
changed,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user