Skip to content

Easier way of combining all extensions #718

@opablo

Description

@opablo

While reading the 2.0.0-beta documentation here:
https://docs.uaparser.js.org/v2/api/submodules/extensions/overview.html

I learned that the required way of combining multiple Extensions is like this:

const botAndCLIParser = new UAParser(userAgentString, { browser : [...Bots.browser, ...CLIs.browser] })

it would be so much intuitive and simple to use if the library supports simply this:

const botAndCLIParser = new UAParser(userAgentString, [Bots, CLIs])

as an example of how ugly it can get...
I wanted to implement the parsing of all possible known user agents and my code ended up like this:

  const uaParser = new UAParser(userAgent, {
    browser: [...Apps.browser, ...Bots.browser, ...CLIs.browser, ...Emails.browser, ...MediaPlayers.browser, ...Modules.browser],
    device: ExtraDevices.device
  })
  const uaParams = uaParser.getResult()

when it could have been as intuitive and simple as this:

  const uaParser = new UAParser(userAgent, [Apps, Bots, CLIs, Emails, ExtraDevices, MediaPlayers, Modules])
  const uaParams = uaParser.getResult()

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions