__Global Scan Queue__

The global scan queue holds a list of all files and other data to be
scanned by activated scan engines. Userscripts can queue files, strings,
bytestrings, and other data types into the queue, and these queued data
items will be passed to all running scanners for analysis.

_Usage_

queue:add_file 'path/to/file'
    Enqueue a file for scanning by all activated engines.

    Parameters:
    - <path/to/file>: String
      Any valid path to a file to enqueue for scanning.

    Example:
    ```
    queue:add_file 'C:/users/user/documents/spreadsheet.xlsm'
    ```
---

queue:add_raw(name, data)
    Enqueue a raw Lua string or bytestring for scanning by all engines.

    Parameters:
    - <name>: String
      Human-friendly identifier for the raw data.
      Shows up in scan results.

    - <data>: String
      Any valid Lua string or bytestring.
      This is the content the scan engines will scan.

    Example:
    ```
    queue:add_raw('my_data_item', 'blablablablabla')
    ```
---

queue:dequeue()
    Pull the data item at the front of the queue.
    This is meant only for advanced use cases!

    Returns:
    - <String>, <String or Nil>, <String>

      1. <String>        - Human-friendly data item identifier.
      2. <String or Nil> - The file path, if applicable.
      3. <String>        - The data that was enqueued.

    Errors:
        Certain conditions, such as an empty queue, a nonexistent file,
        or bad filesystem permissions, may cause dequeue() to return a
        Queue error.

    Example:
    ```
    local name, path, content = queue:dequeue()
    ```
---
