# iceberg/meta/gen_order_label.js

    'use strict'

    const { nBN } = require('@bitfinex/lib-js-util-math')

    /**
     * Generates a label for an Iceberg instance for rendering in an UI.
     *
     * Part of the `meta` handler section.
     *
     * @memberOf module:Iceberg
     * @param {object} state - source instance state
     * @param {object} state.args - source instance execution parameters
     * @returns {string} label
     */
    const genOrderLabel = (state = {}) => {
      const { args = {} } = state
      const { amount, price, sliceAmount, excessAsHidden } = args
      const mul = amount < 0 ? -1 : 1

      return [
        'Iceberg',
        ` | ${amount} @ ${price} `,
        ` | slice ${mul * sliceAmount}`,

        excessAsHidden
          ? ` | excess ${mul * nBN(amount).abs().minus(Math.abs(sliceAmount))}`
          : ''
      ].join('')
    }

    module.exports = genOrderLabel