Delete factories.ts

This commit is contained in:
OTKUSteyler 2025-12-10 17:27:41 +01:00
parent 923039adb2
commit 5750fff8d7

View file

@ -1,40 +0,0 @@
import { FilterCheckDef, FilterDefinition, ModuleExports } from "./types";
export function createFilterDefinition<A extends unknown[]>(
fn: FilterCheckDef<A>,
uniqMaker: (args: A) => string
): FilterDefinition<A> {
function createHolder<T extends Function>(func: T, args: A, raw: boolean) {
return Object.assign(func, {
filter: fn,
raw,
uniq: [
raw && "raw::",
uniqMaker(args)
].filter(Boolean).join("")
});
}
const curry = (raw: boolean) => (...args: A) => {
return createHolder((m: ModuleExports, id: number, defaultCheck: boolean) => {
return fn(args, m, id, defaultCheck);
}, args, raw);
};
return Object.assign(curry(false), {
byRaw: curry(true),
uniqMaker
});
}
export function createSimpleFilter(
filter: (m: ModuleExports) => boolean,
uniq: string
) {
return createFilterDefinition(
(_, m) => filter(m),
() => `dynamic::${uniq}`
)();
}