NonEmptyString overview
A newtype around strings signifying non-emptiness therein.
Many further utilities can be defined in terms of the String module via contramap, for example any predicates.
Added in v0.15.0
Table of contents
0 Types
NonEmptyString (type alias)
Newtype representing a non-empty string. Non-emptiness is only guaranteed so long as interaction with the newtype is confined to exports from this module, as unlike NonEmptyArray it’s only protected by a smart constructor.
Signature
export type NonEmptyString = Newtype<NonEmptyStringSymbol, string>
type NonEmptyString = Newtype NonEmptyStringSymbol string
Example
import { NonEmptyString, unsafeFromString } from 'fp-ts-std/NonEmptyString'
import * as O from 'fp-ts/Option'
const signature: NonEmptyString = unsafeFromString('- @samhh.com')
Added in v0.15.0
1 Typeclass Instances
Eq
Eq instance for NonEmptyString for testing equivalence.
Signature
export declare const Eq: Eq<NonEmptyString>
Eq :: Eq NonEmptyString
Added in v0.15.0
Ord
Ord instance for NonEmptyString for comparison.
Signature
export declare const Ord: Ord<NonEmptyString>
Ord :: Ord NonEmptyString
Added in v0.15.0
Semigroup
Semigroup instance for NonEmptyString, enabling concatenation.
Signature
export declare const Semigroup: Semigroup<NonEmptyString>
Semigroup :: Semigroup NonEmptyString
Added in v0.15.0
Show
Show instance for NonEmptyString.
Signature
export declare const Show: Show<NonEmptyString>
Show :: Show NonEmptyString
Added in v0.15.0
3 Functions
append
Append a string to a NonEmptyString.
Signature
export declare const append: (x: string) => Endomorphism<NonEmptyString>
append :: string -> Endomorphism NonEmptyString
Added in v0.15.0
fromNumber
Safely derive a NonEmptyString from any number.
Signature
export declare const fromNumber: (x: number) => NonEmptyString
fromNumber :: number -> NonEmptyString
Added in v0.15.0
fromString
Smart constructor from strings.
Signature
export declare const fromString: (x: string) => O.Option<NonEmptyString>
Added in v0.15.0
head
Get the first character in a NonEmptyString.
Signature
export declare const head: Endomorphism<NonEmptyString>
head :: Endomorphism NonEmptyString
Added in v0.15.0
includes
Predicate upon the presence of a search string anywhere in a NonEmptyString.
Signature
export declare const includes: (search: string) => Predicate<NonEmptyString>
includes :: string -> Predicate NonEmptyString
Added in v0.17.0
last
Get the last character in a NonEmptyString.
Signature
export declare const last: Endomorphism<NonEmptyString>
last :: Endomorphism NonEmptyString
Added in v0.15.0
prepend
Prepend a string to a NonEmptyString.
Signature
export declare const prepend: (x: string) => Endomorphism<NonEmptyString>
prepend :: string -> Endomorphism NonEmptyString
Added in v0.15.0
reverse
Reverse a NonEmptyString.
Signature
export declare const reverse: Endomorphism<NonEmptyString>
reverse :: Endomorphism NonEmptyString
Added in v0.15.0
size
Calculate the number of characters in a NonEmptyString.
Signature
export declare const size: (x: NonEmptyString) => number
size :: NonEmptyString -> number
Added in v0.17.0
split
Split a NonEmptyString into an array of strings using separator.
Signature
export declare const split: (separator: string | RegExp) => (x: NonEmptyString) => ReadonlyNonEmptyArray<string>
split :: string | RegExp -> NonEmptyString -> ReadonlyNonEmptyArray string
Added in v0.17.0
surround
Surround a NonEmptyString. Equivalent to calling prepend and append with the same outer value.
Signature
export declare const surround: (x: string) => Endomorphism<NonEmptyString>
surround :: string -> Endomorphism NonEmptyString
Added in v0.15.0
toLowerCase
Convert a NonEmptyString to lowercase.
Signature
export declare const toLowerCase: Endomorphism<NonEmptyString>
toLowerCase :: Endomorphism NonEmptyString
Added in v0.15.0
toString
An alias of unNonEmptyString.
Signature
export declare const toString: (x: NonEmptyString) => string
toString :: NonEmptyString -> string
Added in v0.15.0
toUpperCase
Convert a NonEmptyString to uppercase.
Signature
export declare const toUpperCase: Endomorphism<NonEmptyString>
toUpperCase :: Endomorphism NonEmptyString
Added in v0.15.0
unNonEmptyString
Unwrap a NonEmptyString newtype back to its underlying string representation.
Signature
export declare const unNonEmptyString: (x: NonEmptyString) => string
unNonEmptyString :: NonEmptyString -> string
Added in v0.15.0
unsafeFromString
Unsafely lift a string to NonEmptyString, throwing upon failure. Can be useful for static values. Try to use fromString instead.
Signature
export declare const unsafeFromString: (x: string) => NonEmptyString
unsafeFromString :: string -> NonEmptyString
Added in v0.15.0