# @detect-yabro/common

> Detect Yandex.Browser

Latest version **1.1.2** (published 2021-08-29) · MIT license · 0 weekly downloads

## Install

```sh
npm install @detect-yabro/common
pnpm add @detect-yabro/common
yarn add @detect-yabro/common
bun add @detect-yabro/common
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.2 |
| Published | 2021-08-29 |
| First published | 2021-08-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 42.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | opa_oz |
| Maintainers | opa_oz |

## Links

- npm: https://www.npmjs.com/package/@detect-yabro/common
- Repository: https://github.com/opa-oz/detect-yabro
- Homepage: https://github.com/opa-oz/detect-yabro#readme
- Issues: https://github.com/opa-oz/detect-yabro/issues
- npm.io page: https://npm.io/package/@detect-yabro/common

## Recent versions

- 1.1.2 (latest) — 2021-08-29

## README

# @detect-yabro/common

> Common library to detect Yandex.Browser.

## Install

Using npm:

```sh
npm install @detect-yabro/common
```

or using yarn:

```sh
yarn add @detect-yabro/common --dev
```

## API

### Default
**Description:** Collect all available data about Yabro from User Agent

**Interface:**
```typescript
enum Platforms {
  WINDOWS = 'windows',
  MAC_OS = 'macintosh',
  LINUX = 'linux',
  ANDROID = 'android',
  IOS = 'ios',
  UNKNOWN = 'unknown'
}

type YabroDetectionSummarized = {
  isYabro: boolean;
  isMobile: boolean;
  platform?: Platforms;
};

default(userAgent: string): YabroDetectionSummarized;
```

**Examples:**
```typescript
import detectYabro from '@detect-yabro/common'

// MacOS Yabro
detectYabro(
  'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_5_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 YaBrowser/21.8.0 Yowser/2.5 Safari/537.36'
) // { "isYabro": true, isMobileYabro: false, platform: "macintosh"}


// Windows Yabro
detectYabro(
  'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 YaBrowser/21.8.0 Yowser/2.5 Safari/537.36'
) // { "isYabro": true, isMobileYabro: false, platform: "windows"}


// iPad Yabro
detectYabro(
  'Mozilla/5.0 (iPad; CPU OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 YaBrowser/21.6.6.762 Mobile/15E148 Safari/605.1'
) // { "isYabro": true, isMobileYabro: true, platform: "ios"}


// Negative case (chrome for Android)
detectYabro(
  'Mozilla/5.0 (Linux; Android 10; SM-A102U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Mobile Safari/537.36',
) // { "isYabro": false, isMobileYabro: false, platform: "unknown"}
```
----

### isYabro
**Description:** Check if UserAgent belongs to Yandex.Browser

**Interface:**
```typescript
isYabro(userAgent: string): boolean;
```
----

### isMobileYabro
**Description:** Check if UserAgent belongs to Mobile Yandex.Browser (iOs+Android)

**Interface:**
```typescript
isMobileYabro(userAgent: string): boolean;
```
----

### isIOSYabro & isAndroidYabro
**Description:** Same, but separately

**Interface:**
```typescript
isIOSYabro(userAgent: string): boolean;

isAndroidYabro(userAgent: string): boolean;
```
----

### isWindowsYabro & isLinuxYabro & isMacOSYabro
**Description:** Same, but for desktop browsers

**Interface:**
```typescript
isWindowsYabro(userAgent: string): boolean;

isLinuxYabro(userAgent: string): boolean;

isMacOSYabro(userAgent: string): boolean;
```
----

---
_Source: https://npm.io/package/@detect-yabro/common · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
