S (String)
Non-dual
Section titled “Non-dual”trim(s: string): stringtrimStart(s: string): stringtrimEnd(s: string): stringtoLowerCase(s: string): stringtoUpperCase(s: string): stringisEmpty(s: string): booleanlength(s: string): numberstartsWith(s: string, search: string): booleanendsWith(s: string, search: string): booleanincludes(s: string, search: string): booleansplit(s: string, sep: string): string[]repeat(s: string, n: number): stringslice(s: string, start: number, end: number): stringreplaceAll(s: string, search: string, replacement: string): stringExamples
Section titled “Examples”import { pipe, S } from '@stopcock/fp'
// slug from titlepipe(' Hello World! ', S.trim, S.toLowerCase, S.replaceAll(' ', '-'), S.replaceAll('!', ''))// 'hello-world'
// parse CSV headerpipe('name,email,role', S.split(','))// ['name', 'email', 'role']
// check file extensionpipe('report.pdf', S.endsWith('.pdf')) // true
// templatepipe('Hello, NAME!', S.replaceAll('NAME', user.name))
// truncateconst preview = pipe(description, S.slice(0, 100))