import { Fn } from '../Fn'; import { IfInvoking, Input } from '../utils'; export interface Split extends Fn { out: IfInvoking, Separator>, string[]>; } export type InvokeSplit = [ Separator ] extends [never] ? InternalForNever : InternalForSep; type InternalForNever = S extends `${infer First}${infer Rest}` ? InternalForNever : Acc; type InternalForSep = S extends `${infer First}${Separator}${infer Rest}` ? InternalForSep : [...Acc, S]; export {};