# twap/util/has_trade_target.js

    'use strict'

    const _isString = require('lodash/isString')
    const _isFinite = require('lodash/isFinite')
    const Config = require('../config')

    /**
     * Reports of the provided execution parameters have a trade price target.
     *
     * @memberOf module:TWAP
     * @name module:TWAP.hasTradeTarget
     * @param {object} args - execution parameters
     * @returns {boolean} hasTradeTarget
     */
    const hasTradeTarget = (args = {}) => {
      const { priceTarget, priceCondition } = args

      if (_isFinite(priceTarget) && ( // explicit trade match
        (priceCondition === Config.PRICE_COND.MATCH_LAST)
      )) {
        return true
      }

      if (_isString(priceTarget) && ( // soft trade match
        (priceTarget === Config.PRICE_TARGET.LAST)
      )) {
        return true
      }

      return false
    }

    module.exports = hasTradeTarget