packages/remark-parse/lib/tokenizer.js
function eat(subvalue) {
      var indent = getOffset()
      var pos = position()
      var current = now()

      validateEat(subvalue)

      apply.reset = reset
      reset.test = test
      apply.test = test

      value = value.substring(subvalue.length)

      updatePosition(subvalue)

      indent = indent()

      return apply

      // Add the given arguments, add `position` to the returned node, and
      // return the node.
      function apply(node, parent) {
        return pos(add(pos(node), parent), indent)
      }

      // Functions just like apply, but resets the content: the line and
      // column are reversed, and the eaten value is re-added.   This is
      // useful for nodes with a single type of content, such as lists and
      // tables.  See `apply` above for what parameters are expected.
      function reset() {
        var node = apply.apply(null, arguments)

        line = current.line
        column = current.column
        value = subvalue + value

        return node
      }

      // Test the position, after eating, and reverse to a not-eaten state.
      function test() {
        var result = pos({})

        line = current.line
        column = current.column
        value = subvalue + value

        return result.position
      }
    }
function eat(subvalue) {
      var indent = getOffset()
      var pos = position()
      var current = now()

      validateEat(subvalue)

      apply.reset = reset
      reset.test = test
      apply.test = test

      value = value.substring(subvalue.length)

      updatePosition(subvalue)

      indent = indent()

      return apply

      // Add the given arguments, add `position` to the returned node, and
      // return the node.
      function apply(node, parent) {
        return pos(add(pos(node), parent), indent)
      }

      // Functions just like apply, but resets the content: the line and
      // column are reversed, and the eaten value is re-added.   This is
      // useful for nodes with a single type of content, such as lists and
      // tables.  See `apply` above for what parameters are expected.
      function reset() {
        var node = apply.apply(null, arguments)

        line = current.line
        column = current.column
        value = subvalue + value

        return node
      }

      // Test the position, after eating, and reverse to a not-eaten state.
      function test() {
        var result = pos({})

        line = current.line
        column = current.column
        value = subvalue + value

        return result.position
      }
    }
function eat ( subvalue ) { var indent = getOffset ( ) var pos = position ( ) var current = now ( ) validateEat ( subvalue ) apply . reset = reset reset . test = test apply . test = test value = value . substring ( subvalue . length ) updatePosition ( subvalue ) indent = indent ( ) return apply // Add the given arguments, add `position` to the returned node, and // return the node. function apply ( node , parent ) { return pos ( add ( pos ( node ) , parent ) , indent ) } // Functions just like apply, but resets the content: the line and // column are reversed, and the eaten value is re-added.   This is // useful for nodes with a single type of content, such as lists and // tables.  See `apply` above for what parameters are expected. function reset ( ) { var node = apply . apply ( null , arguments ) line = current . line column = current . column value = subvalue + value return node } // Test the position, after eating, and reverse to a not-eaten state. function test ( ) { var result = pos ( { } ) line = current . line column = current . column value = subvalue + value return result . position } }
Remove `subvalue` from `value`.  `subvalue` must be at the start of `value`.
Remove subvalue from value . subvalue must be at the start of value .