tool-screen
v0.0.5
Published
Библиотека экрана
Readme
tool-screen
Библиотека для получения информации об экране устройства (разрешение, плотность пикселей, тип устройства, ОС и браузер).
📦 Установка
npm install tool-screen
или
yarn add tool-screen🚀 Использование
Получение результата
import { screenResult$ } from 'tool-screen';
screenResult$.subscribe((res) => {
console.log('Результат:', res);
});Полный пример с подпиской
import { screenSubject, screenResult$, _destroyed$ } from 'tool-screen';
import { takeUntil, filter } from 'rxjs/operators';
screenSubject.send({
phoneMaxSize: 1000,
tabletMaxSize: 10000,
desktopMaxSize: 100000,
})
screenResult$
.pipe(
takeUntil(_destroyed$),
filter((val) => val !== null && val !== undefined)
)
.subscribe((res) => {
console.log('Результат:', res);
});📤 Экспорты
| Экспорт | Тип | Описание |
|---------|-----|----------|
| screenResult$ | Observable<IScreenInfo \| null> | Observable с результатом информации об экране |
| screenSubject | ScreenSubject | Класс для эмитирования результата |
| classScreen | ClassScreen | Класс для получения информации о screen |
| device | devices | Информация об устройствах (смартфон / планшет) |
| _destroyed$ | Subject<void> | Subject для управления подпиской (destroy) |
📋 Типы
IScreenInfo
Интерфейс возвращаемых данных об экране.
| Поле | Тип | Описание |
|------|-----|----------|
| screen.type | TScreen | Тип устройства: Desktop, Tablet или Phone |
| screen.orientation | TOrientation | Ориентация экрана: Horizontal или Vertical |
| screen.options.operatingSystem | OperatingSystemEnum | Операционная система устройства |
| screen.options.browser | BrowserEnum | Браузер пользователя |
| screen.options.pixelRatio | number | Плотность пикселей (сколько физических пикселей используется для отрисовки одного логического пикселя на экране) |
| screen.options.proportions.width | number | Ширина экрана |
| screen.options.proportions.height | number | Высота экрана |
| screen.options.proportions.innerWidth | number | Внутренняя ширина экрана |
| screen.options.proportions.innerHeight | number | Внутренняя высота экрана |
| screen.options.maxSize | number | Максимальная ширина экрана |
| devices | object | Конфигурация устройств, переданная пользователем |
🛠 Зависимости
rxjstool-log
📄 Лицензия
MIT
