-
Notifications
You must be signed in to change notification settings - Fork 10
String
hkt-toolbelt / String
- Append
- EndsWith
- First
- FromList
- Includes
- Init
- IsString
- IsTemplate
- Join
- Last
- Length
- Prepend
- Replace
- Reverse
- Slice
- Split
- StartsWith
- Tail
- ToList
- ToLower
- ToUpper
Ƭ _$append<Suffix
, S
>: `${S}${Suffix}`
Name | Type |
---|---|
Suffix |
extends string
|
S |
extends string
|
Ƭ _$endsWith<Suffix
, S
>: S
extends `${string}${Suffix}` ? true
: false
Name | Type |
---|---|
Suffix |
extends string
|
S |
extends string
|
Ƭ _$first<S
>: S
extends `${infer Head}${string}` ? Head
: string
extends S
? S
: ""
Name | Type |
---|---|
S |
extends string
|
Ƭ _$fromList<T
, O
>: 0
extends 1
? never
: T
extends [infer Head, ...(infer Tail)] ? _$fromList
<Tail
, `${O}${_$cast<Head, string>}`> : O
Name | Type |
---|---|
T |
T |
O |
extends string = ""
|
Ƭ _$includes<Infix
, S
>: S
extends `${string}${Infix}${string}` ? true
: false
Name | Type |
---|---|
Infix |
extends string
|
S |
extends string
|
Ƭ _$init<S
>: string
extends S
? string
: _$init2
<S
>
Name | Type |
---|---|
S |
extends string
|
Ƭ _$isString<S
>: S
extends string
? true
: false
Name | Type |
---|---|
S |
extends unknown
|
Ƭ _$isTemplate<S
>: string
extends S
? false
: _$some
<$
<Equals
, string
>, _$toList
<S
>>
Name | Type |
---|---|
S |
extends string
|
Ƭ _$join<T
, D
, O
>: _$isVariadic
<T
> extends true
? string
: T
extends [infer Head, ...(infer Tail)] ? Tail
extends [] ? `${O}${O extends "" ? "" : D}${_$cast<Head, string>}` : _$join
<_$cast
<Tail
, string
[]>, D
, `${O}${O extends "" ? "" : D}${_$cast<Head, string>}`> : string
[] extends T
? `${O}${string}` : O
Name | Type |
---|---|
T |
extends string [] |
D |
extends string = ""
|
O |
extends string = ""
|
Ƭ _$last<S
>: S
extends `${string}${infer Tail}` ? Tail
extends ""
? S
: _$last
<Tail
> : string
extends S
? S
: ""
Name | Type |
---|---|
S |
extends string
|
Ƭ _$length<S
>: _$isTemplate
<S
> extends true
? number
: string
extends S
? number
: _$toList
<S
>["length"
]
Name | Type |
---|---|
S |
extends string
|
Ƭ _$prepend<Prefix
, S
>: `${Prefix}${S}`
Name | Type |
---|---|
Prefix |
extends string
|
S |
extends string
|
Ƭ _$replace<S
, From
, To
>: _$isTemplate
<From
> extends true
? string
: string
extends From
? string
: From
extends ""
? `${To}${_$replace2<S, From, To>}` : _$replace2
<S
, From
, To
>
Name | Type |
---|---|
S |
extends string
|
From |
extends string
|
To |
extends string
|
Ƭ _$reverse<S
, O
>: S
extends `${infer Head}${infer Tail}` ? _$reverse
<Tail
, `${Head}${O}`> : `${string extends S ? string : ""}${O}`
Name | Type |
---|---|
S |
extends string
|
O |
extends string = ""
|
Ƭ _$slice<S
, N
>: _$fromList
<_$slice
<_$toList
<S
>, N
>>
Name | Type |
---|---|
S |
extends string
|
N |
extends Number
|
Ƭ _$split<S
, Delimiter
, O
>: _$isTemplate
<Delimiter
> extends true
? string
[] : string
extends Delimiter
? string
[] : S
extends `${infer Head}${Delimiter}${infer Tail}` ? _$split
<Tail
, Delimiter
, [...O, Head
]> : S
extends Delimiter
? O
: [...O, S
]
Name | Type |
---|---|
S |
extends string
|
Delimiter |
extends string = ""
|
O |
extends unknown [] = [] |
Ƭ _$startsWith<Prefix
, S
>: S
extends `${Prefix}${string}` ? true
: false
Name | Type |
---|---|
Prefix |
extends string
|
S |
extends string
|
Ƭ _$tail<S
>: S
extends `${string}${infer Tail}` ? Tail
extends ""
? S
: Tail
: string
extends S
? S
: ""
Name | Type |
---|---|
S |
extends string
|
Ƭ _$toList<S
, O
>: 0
extends 1
? never
: string
extends S
? [string
] : S
extends `${infer Head}${infer Tail}` ? _$toList
<Tail
, [...O, Head
]> : O
Name | Type |
---|---|
S |
extends string
|
O |
extends string [] = [] |
Ƭ _$toLower<S
>: Lowercase
<S
>
Name | Type |
---|---|
S |
extends string
|
Ƭ _$toUpper<S
>: Uppercase
<S
>
Name | Type |
---|---|
S |
extends string
|