import type { Args, Fn } from "../HKT"; import type { List } from "../List"; /** * Split a string by a separator. * * Sig: `(sep: string, s: string) => List` */ export type Split = S extends `${infer Head}${Sep}${infer Tail}` ? [Head, ...Split] : [S]; /** * [Fn] Split a string by a separator. * * Sig: `(sep: string, s: string) => List` */ export default interface SplitFn extends Fn<[string, string], List> { def: ([sep, s]: Args) => Split; }