Skip to content
Michael Poteat edited this page Feb 27, 2023 · 3 revisions

hkt-toolbelt / String

Namespace: String

Interfaces

Type Aliases

_$append

Ƭ _$append<Suffix, S>: `${S}${Suffix}`

Type parameters

Name Type
Suffix extends string
S extends string

Defined in

string/append.ts:3


_$endsWith

Ƭ _$endsWith<Suffix, S>: S extends `${string}${Suffix}` ? true : false

Type parameters

Name Type
Suffix extends string
S extends string

Defined in

string/ends-with.ts:3


_$first

Ƭ _$first<S>: S extends `${infer Head}${string}` ? Head : string extends S ? S : ""

Type parameters

Name Type
S extends string

Defined in

string/first.ts:3


_$fromList

Ƭ _$fromList<T, O>: 0 extends 1 ? never : T extends [infer Head, ...(infer Tail)] ? _$fromList<Tail, `${O}${_$cast<Head, string>}`> : O

Type parameters

Name Type
T T
O extends string = ""

Defined in

string/from-list.ts:3


_$includes

Ƭ _$includes<Infix, S>: S extends `${string}${Infix}${string}` ? true : false

Type parameters

Name Type
Infix extends string
S extends string

Defined in

string/includes.ts:3


_$init

Ƭ _$init<S>: string extends S ? string : _$init2<S>

Type parameters

Name Type
S extends string

Defined in

string/init.ts:12


_$isString

Ƭ _$isString<S>: S extends string ? true : false

Type parameters

Name Type
S extends unknown

Defined in

string/is-string.ts:3


_$isTemplate

Ƭ _$isTemplate<S>: string extends S ? false : _$some<$<Equals, string>, _$toList<S>>

Type parameters

Name Type
S extends string

Defined in

string/is-template.ts:3


_$join

Ƭ _$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

Type parameters

Name Type
T extends string[]
D extends string = ""
O extends string = ""

Defined in

string/join.ts:3


_$last

Ƭ _$last<S>: S extends `${string}${infer Tail}` ? Tail extends "" ? S : _$last<Tail> : string extends S ? S : ""

Type parameters

Name Type
S extends string

Defined in

string/last.ts:3


_$length

Ƭ _$length<S>: _$isTemplate<S> extends true ? number : string extends S ? number : _$toList<S>["length"]

Type parameters

Name Type
S extends string

Defined in

string/length.ts:3


_$prepend

Ƭ _$prepend<Prefix, S>: `${Prefix}${S}`

Type parameters

Name Type
Prefix extends string
S extends string

Defined in

string/prepend.ts:3


_$replace

Ƭ _$replace<S, From, To>: _$isTemplate<From> extends true ? string : string extends From ? string : From extends "" ? `${To}${_$replace2<S, From, To>}` : _$replace2<S, From, To>

Type parameters

Name Type
S extends string
From extends string
To extends string

Defined in

string/replace.ts:12


_$reverse

Ƭ _$reverse<S, O>: S extends `${infer Head}${infer Tail}` ? _$reverse<Tail, `${Head}${O}`> : `${string extends S ? string : ""}${O}`

Type parameters

Name Type
S extends string
O extends string = ""

Defined in

string/reverse.ts:3


_$slice

Ƭ _$slice<S, N>: _$fromList<_$slice<_$toList<S>, N>>

Type parameters

Name Type
S extends string
N extends Number

Defined in

string/slice.ts:3


_$split

Ƭ _$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]

Type parameters

Name Type
S extends string
Delimiter extends string = ""
O extends unknown[] = []

Defined in

string/split.ts:3


_$startsWith

Ƭ _$startsWith<Prefix, S>: S extends `${Prefix}${string}` ? true : false

Type parameters

Name Type
Prefix extends string
S extends string

Defined in

string/starts-with.ts:3


_$tail

Ƭ _$tail<S>: S extends `${string}${infer Tail}` ? Tail extends "" ? S : Tail : string extends S ? S : ""

Type parameters

Name Type
S extends string

Defined in

string/tail.ts:3


_$toList

Ƭ _$toList<S, O>: 0 extends 1 ? never : string extends S ? [string] : S extends `${infer Head}${infer Tail}` ? _$toList<Tail, [...O, Head]> : O

Type parameters

Name Type
S extends string
O extends string[] = []

Defined in

string/to-list.ts:3


_$toLower

Ƭ _$toLower<S>: Lowercase<S>

Type parameters

Name Type
S extends string

Defined in

string/to-lower.ts:3


_$toUpper

Ƭ _$toUpper<S>: Uppercase<S>

Type parameters

Name Type
S extends string

Defined in

string/to-upper.ts:3

Clone this wiki locally