Sha256: 0e0b8353d6d7f7cc3344adbabf3866e64f2f2813b23477254ba51f69e8fdf0eb
Contents?: true
Size: 1.47 KB
Versions: 61
Compression:
Stored size: 1.47 KB
Contents
type ReplaceOptions = { all?: boolean; }; /** Represents a string with some or all matches replaced by a replacement. Use-case: - `snake-case-path` to `dotted.path.notation` - Changing date/time format: `01-08-2042` → `01/08/2042` - Manipulation of type properties, for example, removal of prefixes @example ``` import {Replace} from 'type-fest'; declare function replace< Input extends string, Search extends string, Replacement extends string >( input: Input, search: Search, replacement: Replacement ): Replace<Input, Search, Replacement>; declare function replaceAll< Input extends string, Search extends string, Replacement extends string >( input: Input, search: Search, replacement: Replacement ): Replace<Input, Search, Replacement, {all: true}>; // The return type is the exact string literal, not just `string`. replace('hello ?', '?', '🦄'); //=> 'hello 🦄' replace('hello ??', '?', '❓'); //=> 'hello ❓?' replaceAll('10:42:00', ':', '-'); //=> '10-42-00' replaceAll('__userName__', '__', ''); //=> 'userName' replaceAll('My Cool Title', ' ', ''); //=> 'MyCoolTitle' ``` @category String @category Template literal */ export type Replace< Input extends string, Search extends string, Replacement extends string, Options extends ReplaceOptions = {}, > = Input extends `${infer Head}${Search}${infer Tail}` ? Options['all'] extends true ? `${Head}${Replacement}${Replace<Tail, Search, Replacement, Options>}` : `${Head}${Replacement}${Tail}` : Input;
Version data entries
61 entries across 61 versions & 3 rubygems