bowser-js / bowser

a browser detector
Other
5.44k stars 484 forks source link

Typescript file should have union of string literal types, not just generic `string` types #551

Open neaumusic opened 3 weeks ago

neaumusic commented 3 weeks ago

The types via node_modules/bowser/index.d.ts aren't extremely useful

Most variables are just string rather than explaining what the actual values could be (eg 'MacOS' | 'Windows' or 'macos' | 'windows')

I believe the source code probably has explicit values for these, and that the types could be defined better:

  const BROWSER_MAP: Record<string, string>;
  const ENGINE_MAP: Record<string, string>;
  const OS_MAP: Record<string, string>;
  const PLATFORMS_MAP: Record<string, string>;