Converts newlines in a string, `trim()`, half-width / full-width conversion, etc
npm install @w0s/string-converttrim(), half-width / full-width conversion, etc

``JavaScript
import { convert } from '@w0s/string-convert';
convert('foo\r\nbar', {
newline: 'LF',
}); // foo\nbar
convert(' foo \r\n bar ', {
trim: true,
}); // foo \r\n bar
convert(' Foo \r\n\r\n Bar Baz💖 ', {
newline: 'LF',
trimMultiLine: true,
noBlankLine: true,
toHankakuEisu: true,
toHankakuSpace: true,
combineSpace: true,
toLowerCase: true,
table: {
'💖': '⭐',
},
}); // foo\nbar baz⭐
try {
convert('foo \r\n bar \n baz', {});
} catch {
// A string with mixed newline codes are not supported
}
`
\* Newline codes CR, LF, and CR+LF are supported.
const convert = (text: string, options: Readonly<Option>): string`TypeScripttrim
interface Option {
newline?: 'CR' | 'LF' | 'CRLF'; // Converts newline
trim?: boolean; // Remove whitespace at both ends (Only one of and trimMultiLine can be specified)trim
trimMultiLine?: boolean; // Remove whitespace at both ends of each line (Only one of and trimMultiLine can be specified)toHankakuEisu
noBlankLine?: boolean; // Delete blank lines
toHankakuEisu?: boolean; // Make alphanumeric characters half-width (Only one of and toZenkakuEisu can be specified)
toZenkakuEisu?: boolean; // Make alphanumeric characters full-width (Only one of toHankakuEisu and toZenkakuEisu can be specified)toLowerCase
toHankakuSpace?: boolean; // Make full-width space half-width (IDEOGRAPHIC SPACE: U+3000 → SPACE: U+0020)
combineSpace?: boolean; // Consolidate contiguous spaces
toLowerCase?: boolean; // Make the alphabet lowercase (Only one of and toUpperCase can be specified)toLowerCase
toUpperCase?: boolean; // Make the alphabet uppercase (Only one of and toUpperCase can be specified)``
table?: Record
}