detag

1.0.2 • Public • Published

Detag

Tagged template literals, without substitutions. Sometimes tagged template literals are handy without needing to use their literal and substitution parameters. Detag converts tagged template literals arguments into regular string arguments, so that both types of function call return the same string argument.

Install

npm install detag

How to use

Use the rest parameter to collect arguments, and pass to detag. Detag will return a string, equivalent to calling the function normally:

import detag from 'detag'

// Getting detagged argument
function detaggedFunction (...args) {
  const name = detag(args)
  console.log(name)
}

// 'I am Chris' ✅
detaggedFunction('I am ' + 'Chris')

// 'I am Chris' ✅
detaggedFunction`I am ${'Chris'}`
// Alternative detag usage
const detaggedFunction = detag(name => {
  console.log(name)
})

Default value

Supply a default value by passing a second argument:

import detag from 'detag'

// Detag default value
function withDefault (...args) {
  const name = detag(args, 'Adam')
  console.log(name)
}

// 'Rachel'
withDefault`Rachel`

// 'Adam'
withDefault``
// Alternative detag definition
const withDefault = detag(name => {
  console.log(name)
}, 'Adam')

Ignore escape characters

Ignore escape characters by passing true as the third argument:

import detag from 'detag'

function dontIgnore (...args) {
  const cookedText = detag(args)
  console.log(cookedText)
}

function ignoreEscape (...args) {
  const rawText = detag(args, '', true)
  console.log(rawText)
}

// 'New line
//   now'
dontIgnore`New line \n now`

// 'New line \n now'
ignoreEscape`New line \n now`
// Alternative detag definition
const ignoreEscape = detag(name => {
  console.log(name)
}, '', true)

Syntax

const argument = detag(args[, defaultValue[, ignoreEscapeChars]])
args
Array (see below). The functions parameters after using the rest parameter `function (...args)`
defaultValue
Any. The default value to be returned if no value is passed.
ignoreEscapeChars
Boolean. Whether escape characters should be ignored.

Valid args value

// 'I am Chris' ✅
detag(['I am Chris'])

// 'I am Chris' ✅
detag([['I am Chris']])

// 'I am Chris' ✅
detag([['I', 'Chris'], [' am ']])

Invalid args value

// null ❌
detag('I am Chris')

// null ❌
detag(['I am', ['Chris']])

// null ❌
detag(undefined)

Alternative syntax

const func = detag(functionToDetag[, defaultValue[, ignoreEscapeChars]])
functionToDetag
Function. The function to be passed the detagged argument.
defaultValue
Any. The default value to be returned if no value is passed.
ignoreEscapeChars
Boolean. Whether escape characters should be ignored.

Package Sidebar

Install

npm i detag

Weekly Downloads

4

Version

1.0.2

License

MIT

Unpacked Size

26.1 kB

Total Files

14

Last publish

Collaborators

  • ctnicholas