name: ProgressIndicator
class_comment: '# * @author Kevin Bond <kevinbond@gmail.com>'
dependencies:
- name: InvalidArgumentException
  type: class
  source: Symfony\Component\Console\Exception\InvalidArgumentException
- name: LogicException
  type: class
  source: Symfony\Component\Console\Exception\LogicException
- name: OutputInterface
  type: class
  source: Symfony\Component\Console\Output\OutputInterface
properties: []
methods:
- name: __construct
  visibility: public
  parameters:
  - name: output
  - name: format
    default: 'null'
  - name: indicatorChangeInterval
    default: '100'
  - name: indicatorValues
    default: 'null'
  comment: "# * @author Kevin Bond <kevinbond@gmail.com>\n# */\n# class ProgressIndicator\n\
    # {\n# private const FORMATS = [\n# 'normal' => ' %indicator% %message%',\n# 'normal_no_ansi'\
    \ => ' %message%',\n# \n# 'verbose' => ' %indicator% %message% (%elapsed:6s%)',\n\
    # 'verbose_no_ansi' => ' %message% (%elapsed:6s%)',\n# \n# 'very_verbose' => '\
    \ %indicator% %message% (%elapsed:6s%, %memory:6s%)',\n# 'very_verbose_no_ansi'\
    \ => ' %message% (%elapsed:6s%, %memory:6s%)',\n# ];\n# \n# private int $startTime;\n\
    # private ?string $format = null;\n# private ?string $message = null;\n# private\
    \ array $indicatorValues;\n# private int $indicatorCurrent;\n# private float $indicatorUpdateTime;\n\
    # private bool $started = false;\n# \n# /**\n# * @var array<string, callable>\n\
    # */\n# private static array $formatters;\n# \n# /**\n# * @param int        $indicatorChangeInterval\
    \ Change interval in milliseconds\n# * @param array|null $indicatorValues    \
    \     Animated indicator characters"
- name: setMessage
  visibility: public
  parameters:
  - name: message
  comment: '# * Sets the current indicator message.'
- name: start
  visibility: public
  parameters:
  - name: message
  comment: '# * Starts the indicator output.'
- name: advance
  visibility: public
  parameters: []
  comment: '# * Advances the indicator.'
- name: finish
  visibility: public
  parameters:
  - name: message
  comment: '# * Finish the indicator with message.'
- name: getFormatDefinition
  visibility: public
  parameters:
  - name: name
  comment: '# * Gets the format for a given name.'
- name: setPlaceholderFormatterDefinition
  visibility: public
  parameters:
  - name: name
  - name: callable
  comment: '# * Sets a placeholder formatter for a given name.

    # *

    # * This method also allow you to override an existing placeholder.'
- name: getPlaceholderFormatterDefinition
  visibility: public
  parameters:
  - name: name
  comment: '# * Gets the placeholder formatter for a given name (including the delimiter
    char like %).'
- name: display
  visibility: private
  parameters: []
  comment: null
- name: determineBestFormat
  visibility: private
  parameters: []
  comment: null
- name: overwrite
  visibility: private
  parameters:
  - name: message
  comment: '# * Overwrites a previous message to the output.'
- name: getCurrentTimeInMilliseconds
  visibility: private
  parameters: []
  comment: null
- name: initPlaceholderFormatters
  visibility: private
  parameters: []
  comment: '# * @return array<string, \Closure>'
traits:
- Symfony\Component\Console\Exception\InvalidArgumentException
- Symfony\Component\Console\Exception\LogicException
- Symfony\Component\Console\Output\OutputInterface
interfaces: []