detag

    1.0.1 • 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.

    Install

    npm i detag

    DownloadsWeekly Downloads

    8

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    26.1 kB

    Total Files

    14

    Last publish

    Collaborators

    • ctnicholas