import type { PropertyModel } from './property-config.js'; import type { GetPropertyDataFromConfig, GetRawValueFromConfig, } from './types.js'; export type ConvertFunction< From extends PropertyModel = PropertyModel, To extends PropertyModel = PropertyModel, > = ( property: GetPropertyDataFromConfig, cells: (GetRawValueFromConfig | undefined)[] ) => { property: GetPropertyDataFromConfig; cells: (GetRawValueFromConfig | undefined)[]; }; export const createPropertyConvert = < From extends PropertyModel, To extends PropertyModel, >( from: From, to: To, convert: ConvertFunction ) => { return { from: from.type, to: to.type, convert, }; };