# stan-api

> Support non officiel de l'API du Service de Transport de l'Agglomération Nancéienne (STAN)

Latest version **1.1.5** (published 2024-02-17) · ISC license · 0 weekly downloads

## Install

```sh
npm install stan-api
pnpm add stan-api
yarn add stan-api
bun add stan-api
```

## Health

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

Positive: has types; no vulnerabilities; has provenance.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.5 |
| Published | 2024-02-17 |
| First published | 2022-07-02 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 55.2 KB |
| Known vulnerabilities | 0 (+24 in 1 direct dependencies) |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 13 |
| Author | Maël Gangloff |
| Maintainers | maelgangloff |
| Keywords | API, STAN, Nancy, Transport |

## Links

- npm: https://www.npmjs.com/package/stan-api
- Repository: https://github.com/maelgangloff/stan-api
- Homepage: https://github.com/maelgangloff/stan-api#readme
- Issues: https://github.com/maelgangloff/stan-api/issues
- npm.io page: https://npm.io/package/stan-api

## Dependencies (2)

- [qs](https://npm.io/package/qs.md) ^6.11.0
- [axios](https://npm.io/package/axios.md) ^0.27.2

## Recent versions

- 1.1.5 (latest) — 2024-02-17
- 1.1.4 — 2023-03-31
- 1.1.3 — 2023-03-28
- 1.1.2 — 2023-03-27
- 1.1.1 — 2023-03-27
- 1.1.0 — 2023-03-25
- 1.0.0 — 2022-07-02

## README

<a name="Stan"></a>

## Stan
Support non officiel de l'API du Service de Transport de l'Agglomération Nancéienne (STAN).

Ce module permet de récupérer:
- les prochains passages
- les lignes
- les directions
- les arrêts

**Kind**: global class  

* [Stan](#Stan)
    * [.getLignes()](#Stan.getLignes) ⇒ <code>Promise.&lt;Array.&lt;Ligne&gt;&gt;</code>
    * [.getArrets(ligne)](#Stan.getArrets) ⇒ <code>Promise.&lt;Array.&lt;Arret&gt;&gt;</code>
    * [.getProchainsPassages(arret)](#Stan.getProchainsPassages) ⇒ <code>Promise.&lt;Array.&lt;Passage&gt;&gt;</code>
    * [.getDirections(ligne)](#Stan.getDirections) ⇒ <code>Promise.&lt;Array.&lt;Direction&gt;&gt;</code>
    * [.getArretsDirection(direction)](#Stan.getArretsDirection) ⇒ <code>Promise.&lt;Array.&lt;Arret&gt;&gt;</code>

<a name="Stan.getLignes"></a>

### Stan.getLignes() ⇒ <code>Promise.&lt;Array.&lt;Ligne&gt;&gt;</code>
Lister les lignes du réseau de transport

**Kind**: static method of [<code>Stan</code>](#Stan)  
**Example**  
```js
const { Stan } = require('stan-api')

Stan.getLignes().then(lignes => console.log(lignes))
```
<a name="Stan.getArrets"></a>

### Stan.getArrets(ligne) ⇒ <code>Promise.&lt;Array.&lt;Arret&gt;&gt;</code>
Liste des arrêts d'une ligne

NB: Un arret peut être commun à plusieurs lignes.

**Kind**: static method of [<code>Stan</code>](#Stan)  

| Param | Type | Description |
| --- | --- | --- |
| ligne | <code>Ligne</code> | Ligne |

**Example**  
```js
const { Stan } = require('stan-api')

const ligneT4 = {
  id: 2332,
  numlignepublic: 'T4',
  osmid: 'line:GST:4-97',
  libelle: 'Tempo 4 - Laxou CLB <> Houdemont Porte Sud'
}
Stan.getArrets(ligneT4).then(arrets => console.log(arrets))
```
<a name="Stan.getProchainsPassages"></a>

### Stan.getProchainsPassages(arret) ⇒ <code>Promise.&lt;Array.&lt;Passage&gt;&gt;</code>
Lister les prochains passages d'un arrêt avec le temps d'attente estimé.
Il n'est pas nécessaire de préciser une ligne, on récupère alors tous les passages des lignes desservants l'arrêt

**Kind**: static method of [<code>Stan</code>](#Stan)  

| Param | Type | Description |
| --- | --- | --- |
| arret | <code>Arret</code> | Arrêt |

**Example**  
```js
const { Stan } = require('stan-api')

const arret = {
  ligne: {
    id: 2332,
    numlignepublic: 'T4',
    osmid: 'line:GST:4-97',
    libelle: 'Tempo 4 - Laxou CLB <> Houdemont Porte Sud'
  },
  libelle: 'Place Stanislas - Dom Calmet',
  osmid: 'stop_point:GST:SP:NYPCL1'
}
Stan.getProchainsPassages(arret).then(p => {
  console.log(`Liste des prochains passages de l'arrêt "${arret.libelle}" de la ligne ${arret.ligne.numlignepublic}:
${p.map(passage => `${passage.direction} - Temps d'attente: ${Math.trunc(passage.temps_min/60)}H${passage.temps_min%60}min`).join('\n')}`)
})
```
```
Exemple sortie:
Liste des prochains passages de l'arrêt "Place Stanislas - Dom Calmet" de la ligne T4:
Direction Houdemont Porte Sud - Temps d'attente: 0H1min
Direction Houdemont Porte Sud - Temps d'attente: 0H8min
Direction Laxou Champ-le-Boeuf - Temps d'attente: 0H1min
Direction Laxou Champ-le-Boeuf - Temps d'attente: 0H8min
```
<a name="Stan.getDirections"></a>

### Stan.getDirections(ligne) ⇒ <code>Promise.&lt;Array.&lt;Direction&gt;&gt;</code>
Lister les directions d'une ligne

**Kind**: static method of [<code>Stan</code>](#Stan)  

| Param | Type | Description |
| --- | --- | --- |
| ligne | <code>Ligne</code> | Ligne |

**Example**  
```js
const { Stan } = require('stan-api')

const ligneT4 = {
  id: 2332,
  numlignepublic: 'T4',
  osmid: 'line:GST:4-97',
  libelle: 'Tempo 4 - Laxou CLB <> Houdemont Porte Sud'
}
Stan.getDirections(ligneT4).then(directions => console.log(directions))
```
<a name="Stan.getArretsDirection"></a>

### Stan.getArretsDirection(direction) ⇒ <code>Promise.&lt;Array.&lt;Arret&gt;&gt;</code>
Lister les arrêts sur le chemin d'une direction d'une ligne

**Kind**: static method of [<code>Stan</code>](#Stan)  

| Param | Type | Description |
| --- | --- | --- |
| direction | <code>Direction</code> | Direction d'une ligne |

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