An open API service indexing awesome lists of open source software.

https://github.com/iptv-org/sdk

JavaScript library to query data from iptv-org/api
https://github.com/iptv-org/sdk

Last synced: 4 months ago
JSON representation

JavaScript library to query data from iptv-org/api

Awesome Lists containing this project

README

          

# SDK [![publish](https://github.com/iptv-org/sdk/actions/workflows/publish.yml/badge.svg)](https://github.com/iptv-org/sdk/actions/workflows/publish.yml)

JavaScript library to query data from [iptv-org/api](https://github.com/iptv-org/api).

## Installation

```sh
npm install @iptv-org/sdk
```

## Quick Start

```js
import sdk from '@iptv-org/sdk'

const client = new sdk.Client()

await client.load()

const data = client.getData()

console.log(data.streams.all())
```

Results:

```jsonc
[
{
"channel": null,
"feed": null,
"title": "Iman TV",
"url": "https://live.relentlessinnovations.net:1936/imantv/imantv/playlist.m3u8",
"referrer": null,
"user_agent": null,
"quality": "480p",
"label": "Geo-blocked"
}
//...
]
```

## Usage

### Get entities

```js
import sdk from '@iptv-org/sdk'

const client = new sdk.Client()

await client.load()

const data = client.getData()

const {
channels,
feeds,
logos,
streams,
guides,
categories,
languages,
countries,
subdivisions,
cities,
regions,
timezones,
blocklist
} = data
```

All data is contained in the helper class [Collection](https://github.com/freearhey/core-js/blob/master/docs/classes/Collection.md), which makes it easy to filter and sort items:

```js
const filtered = channels
.filter(channel => channel.country === 'FR')
.sortBy(channel => channel.name)
.all()

console.log(filtered)
```

Each element of the collection also has a set of useful methods:

```js
const channels = countries.first().getChannels()

console.log(channels)
```

A complete list of available methods can be found in the [documentation](docs/@iptv-org/namespaces/Models/README.md).

### Search channels

```js
import sdk from '@iptv-org/sdk'

const client = new sdk.Client()

await client.load()

const results = client.searchChannels('cat')

console.log(results)
```

## Testing

```sh
npm test
```

## Contribution

If you find a bug or want to contribute to the code or documentation, you can help by submitting an [issue](https://github.com/iptv-org/api/issues) or a [pull request](https://github.com/iptv-org/api/pulls).

And thank you to everyone who has already contributed!

### Backers

### Contributors

## License

[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](LICENSE)