# All files / src/parsers variable.js

100% Statements 1/1
100% Branches 4/4
100% Functions 1/1
100% Lines 1/1

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

    266x

     // @flow

    import P from 'parsimmon'
    import IdentifierParser from './identifier'

    import type { VariableNodeType } from '../types'

    export default P.string('$')
      .then(IdentifierParser.atMost(1))
      .map((value: Array<{value: string}>): VariableNodeType => ({
        name: 'variable',
        value: value && value.length ? `$${value[0].value}` : '$'
      }))
      .desc('variable')