import { Space } from '../alias/alias'; import { If_Never, Len } from '../utils/utils'; export type StrRemove = Str extends `${infer F}${SubStr}${infer R}` ? (`${F}${R}`) : (Str); export type StrRemoveSome = SubStrs extends [infer F extends string, ...infer R extends string[]] ? (StrRemoveSome, R>) : (Str); export type If_StrInclude = If_Never extends true ? false : S extends `${string}${SU}${string}` ? true : false; export type If_StrIncludes = If_Never extends true ? (false) : (Subs extends [infer F extends string, ...infer R extends string[]] ? (If_StrInclude extends true ? true : If_StrIncludes) : (false)); export type TrimLeft = S extends `${Space}${infer SU}` ? TrimLeft : S; export type TrimRight = S extends `${infer SU}${Space}` ? TrimRight : S; export type Trim = TrimLeft>; export type If_StrLenGt = str1 extends `${string}${infer rest1}` ? (str2 extends `${string}${infer rest2}` ? (If_StrLenGt) : (true)) : (false); export type If_StrLenLt = If_StrLenGt; export type If_StrLenEq = Len extends Len ? true : false; export type If_StrLenGte = Len extends Len ? true : If_StrLenGt; export type If_StrLenLte = Len extends Len ? true : If_StrLenLt; export type Str = T extends string ? T : `${T}`; export type If_EmptyStr = T extends "" ? true : false;