import * as neataptic from "neataptic" export const allSelectionNames = [ 'FITNESS_PROPORTIONATE', 'POWER', 'TOURNAMENT', ] as const export type SelectionName = typeof allSelectionNames[number] export type Selection = { name: SelectionName, } & T export const FITNESS_PROPORTIONATE: Selection<{}> = neataptic.methods.selection.FITNESS_PROPORTIONATE export const POWER: Selection<{power: number}> = neataptic.methods.selection.POWER export const TOURNAMENT: Selection<{size: number, probability: number}> = neataptic.methods.selection.TOURNAMENT export function getSelection(name: SelectionName): Selection { return neataptic.methods.selection[name] }