extra-tags
v0.5.0
Published
```sh npm install --save extra-tags # or yarn add extra-tags ```
Downloads
3,226
Readme
extra-tags
Install
npm install --save extra-tags
# or
yarn add extra-tags
API
map
function map<T, U>(
fn: (value: T, index: number) => U
, strings: TemplateStringsArray
, ...values: T[]
): [strings: TemplateStringsArray, ...values: U[]]
function map<T, U>(
fn: (value: T, index: number) => U
): (
strings: TemplateStringsArray
, ...values: T[]
) => [strings: TemplateStringsArray, ...values: U[]]
filter
function filter<T, U extends T = T>(
predicate: (value: T, index: number) => boolean
, strings: TemplateStringsArray
, ...values: T[]
): [strings: TemplateStringsArray, ...values: U[]]
function filter<T, U extends T = T>(
predicate: (value: T, index: number) => boolean
): (
strings: TemplateStringsArray
, ...values: T[]
) => [strings: TemplateStringsArray, ...values: U[]]
concat
function concat(strings: TemplateStringsArray, ...values: unknown[]): string
It is equivalent to Array.prototype.concat
for template arguments.
// It doesn't make sense to use it as a tag function,
// because it equivalent to `a${'b'}c${'d'}e`.
concat`a${'b'}c${'d'}e`
// 'abcde'
concat(strings, ...values)
// 'abcde'
dedent
function dedent(strings: TemplateStringsArray, ...values: unknown[]): string
dedent`
hello
world
`
// 'hello' + '\n'
// + 'world'
oneline
function oneline(
separator: string
, strings: TemplateStringsArray
, ...values: unknown[]
): string
function oneline(
separator: string
): (strings: TemplateStringsArray, ...values: unknown[]) => string
function oneline(strings: TemplateStringsArray, ...values: unknown[]): string
oneline(' ')`
hello
world
`
// 'hello world'
indentMultilineValues
function indentMultilineValues(
strings: TemplateStringsArray
, ...values: string[]
): [strings: TemplateStringsArray, ...values: string[]]
const [strings, ...values] = indentMultilineValues`
a
${'b\nc'}
d
`
// strings: [
// '\n'
// + ' '.repeat(2) + 'a' + '\n'
// , '\n'
// + ' '.repeat(2) + 'd' + '\n'
// ]
// values: [
// 'b' + '\n'
// + ' '.repeat(2) + 'c'
// ]
javascript
type JavaScriptValue =
| string
| number
| boolean
| null
| bigint
| undefined
| ((args: any) => any)
| { [property: string]: JavaScriptValue }
| JavaScriptValue[]
function javascript(strings: TemplateStringsArray, ...values: JavaScriptValue[]): string
javascript`
const text = ${'hello world'}
console.log(text)
`
// const text = "hello world"
// console.log(text)