import * as neataptic from "neataptic" export const allCrossoverNames = [ "SINGLE_POINT", "TWO_POINT", "UNIFORM", "AVERAGE", ] as const export type CrossoverName = typeof allCrossoverNames[number] export type Crossover = {name: string} & T export const SINGLE_POINT = neataptic.methods.crossover.SINGLE_POINT as Crossover<{config: number[]}> export const TWO_POINT = neataptic.methods.crossover.TWO_POINT as Crossover<{config: number[]}> export const UNIFORM = neataptic.methods.crossover.UNIFORM as Crossover<{config: number[]}> export const AVERAGE = neataptic.methods.crossover.AVERAGE as Crossover<{config: number[]}> export function getCrossover(name: CrossoverName): Crossover { return neataptic.methods.crossover[name] }