# routing-library

> Эта библиотека предназначена для управления навигацией в веб-приложениях. Она позволяет определять маршруты, управлять переходами и обрабатывать параметры URL, что делает её идеальным инструментом для одностраничных приложений (SPA).

Latest version **1.0.0** (published 2023-12-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install routing-library
pnpm add routing-library
yarn add routing-library
bun add routing-library
```

## 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.0.0 |
| Published | 2023-12-05 |
| First published | 2023-12-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 14.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Vidga1 |
| Maintainers | vidga1 |

## Links

- npm: https://www.npmjs.com/package/routing-library
- Repository: https://github.com/Vidga1/Routing-Library
- Homepage: https://github.com/Vidga1/Routing-Library#readme
- Issues: https://github.com/Vidga1/Routing-Library/issues
- npm.io page: https://npm.io/package/routing-library

## Dependencies (3)

- [core-js](https://npm.io/package/core-js.md) 3.32.2
- [@babel/polyfill](https://npm.io/package/@babel/polyfill.md) 7.12.1
- [regenerator-runtime](https://npm.io/package/regenerator-runtime.md) 0.14.0

## Recent versions

- 1.0.0 (latest) — 2023-12-05

## README

# Библиотека Роутинга

Эта библиотека предназначена для управления навигацией в веб-приложениях. Она позволяет определять маршруты, управлять переходами и обрабатывать параметры URL, что делает её идеальным инструментом для одностраничных приложений (SPA).

## Установка

Для установки библиотеки используйте следующую команду:

```bash
npm install routing-library
```

## Быстрый Старт

Вот простой пример, показывающий, как использовать библиотеку для навигации:

```javascript
import { Router } from "routing-library";

const router = new Router();
router.addRoute({
  path: "/",
  onEnter: () => console.log("Entered root path"),
});
```

# Примеры Использования

## Добавление Маршрутов

Добавьте маршруты с помощью метода addRoute:

```javascript
router.addRoute({
  path: "/about",
  onEnter: () => console.log("Entered about page"),
});
```

## Навигация

Используйте метод navigate для перехода к определенному маршруту:

```javascript
router.navigate("/about");
```

## API

### Класс `Router`

- `constructor(config?: RouterConfig)`: Создает новый экземпляр роутера с опциональной конфигурацией.
- `addRoute(route: Route<Params>)`: Добавляет новый маршрут.
- `navigate(path: string)`: Выполняет переход на указанный путь.

### Интерфейс `Route`

- `path`: Определяет путь маршрута.
- `onEnter(params?: Params)`: Вызывается при входе на маршрут.
- `onLeave(params?: Params)`: Вызывается при покидании маршрута.
- `onBeforeEnter(params?: Params)`: Вызывается перед входом на маршрут.

## Конфигурация

### `RouterConfig`

- `useHash`: Определяет, будет ли использоваться hash-роутинг (`true` или `false`).

## Лицензия

Этот проект лицензирован под MIT License.

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