Getting Started
npm install to-line
import line from 'to-line';
// or
import { l } from 'to-line';
line
is equal to l
Strings
line`a ${true && 'b'} c`;
// 'a b c'
Objects
line`a ${{ b: true, c: false, d: isTrue() }} e`;
// 'a b d e'
Arrays
line`a ${['b', 0, false, 'c']} d`;
// 'a b c d'
Resolve types
line`a ${true} ${false} ${''} ${null} ${undefined} ${0} ${NaN} b`
// 'a b'
Trim and clear
- Remove newlines
- Convert consecutive spaces to one space
line`
a
b
${undefined}
c d
`
// 'a b c d'
Mixed and nested
line`
a
${
[
1 && 'b',
{ c: false, d: null },
['e', ['f']]
]
}
g h
`;
// 'a b e f g h'
Execute like a function
line`a b ${['c', 'd']} ${{ e: true, f: false }} ${true && 'g'}`;
// or
line('a b', ['c', 'd'], { e: true, f: false }, true && 'g');
// 'a b c d e g'
Related
- @master/style-element - Quickly create styled React elements with conditional class names
- @master/css - A Virtual CSS language with enhanced syntax
Inspiration
-
clsx - A tiny utility for constructing
className
strings conditionally