A TypeScript/JavaScript API client for Trenitalia.
- Login to Trenitalia services
- Retrieve user tickets information
- RxJS and Fetch API support
- Node.js >= 16
- TypeScript >= 5 (for TypeScript projects)
npm install @sudo-elia/api-trenitaliaimport { trenitaliaAPI } from '@sudo-elia/api-trenitalia';
const apiFetch = trenitaliaAPI('fetch');
apiFetch.login({ userName: 'user', password: 'pwd' })
.then(data => console.log('Login with Fetch:', data))
.catch(error => console.error(error));
const apiRxjs = trenitaliaAPI('rxjs');
apiRxjs.login({ userName: 'user', password: 'pwd' })
.pipe(
takeUntil(#destroy$),
catchError(err => {
console.error(error);
return of(error);
})
.subscribe(data => console.log('Login with RxJS:', data));-
login(userName: string, password: string, company?: string): Observable<AccessTokenResponse> loginWithFetch(userName: string, password: string, company?: string): Promise<AccessTokenResponse>
-
getUserTicketsInformation(bodyRequest: QuerySolutions): Promise<SolutionsResponse> getUserTicketsInformation(bodyRequest: QuerySolutions): Observable<SolutionsResponse>
-
getAccessToken(): string | null
-
getRefreshToken(): string | null
Contributions are welcome! Please open issues or submit pull requests.
ISC