lgi-guide-sdk

0.2.8 • Public • Published

Kraken beta logo

TV Guide JS SDK

Provides a simple way to retrieve TV schedule data.

Basic concepts

SDK contains few public classes representing API entities:

  • Video (a piece of video material, could be movie or news issue etc.)
  • Broadcast (a piece of video at a particular time on a particular channel)

Broadcast always include video.

Entities are query builders encapsulating data retrieval functions, filtering, sorting and paging in order to provide simple API facade.

Usage examples

####Regions#### Always specify region before start.

LGI.Guide.config.region = 'NL';

Following regions are supported:

  • NL Netherlands
  • IE Ireland
  • HU Hungary

####Basic example#### Let's look at the most basic example - getting list of broadcasts for Netherlands without any filtering or sorting:

var broadcastsData = LGI.Guide.Video.create()
	.findOne(dataReceivedCallback);

Response:

[
	{selfLink: Object},
	{selfLink: Object},
	{selfLink: Object},
	{selfLink: Object}
]

Probably you are wondered with result containing only _selfLink property. This happen because it is important to minimize response size by getting only data you really need.

####Specifying fields to retrieve#### Let`s specify fields to retrieve as following:

LGI.Guide.Video.create()
	.fields(LGI.Guide.Video.ID, LGI.Guide.Video.TITLE)
	.findOne(dataReceivedCallback);

Response:

[
	{id: "7shi89fww", title: "Oorlogsverhalen (3)", selfLink: Object},
	{id: "3yaqesymo", title: "Millivres - Point of View", selfLink: Object},
	{id: "5jzc9n9c1", title: "Mahabharat", selfLink: Object},
	{id: "9l2i1y2sb", title: "Baggage Battles", selfLink: Object}
]

Much better! Now we have videos with IDs and titles.

####Limiting response size#### You can limit number of broadcasts or videos in response.

LGI.Guide.Broadcast.create()
	.fields(LGI.Guide.Broadcast.ID, LGI.Guide.Broadcast.TITLE)
	.limit(2)
	.findOne(dataReceivedCallback);

####Paging and difference between findOne, findAll and findNext methods#### API supports paging and three data retrieval methods are supported:

  • findOne - retrieves first page of data,
  • findNext - retrieves next page of data,
  • findAll - retrieves all data pages available for your request.

You can set particular page size by using limit().

####Filtering#### Most advanced tool for specific data retrieval is filtering. In this example we will get only broadcasts with category equal to sports.

LGI.Guide.Broadcast.create()
	.filter(LGI.Guide.Broadcast.category.isEqual('sports'))
	.findAll(dataReceivedCallback);

####Sorting#### This will retrieve a page of broadcasts sorted by popularity:

LGI.Guide.Broadcast.create()
	.fields(LGI.Guide.Broadcast.ID, LGI.Guide.Broadcast.TITLE)
    .sort(LGI.Guide.Broadcast.POPULARITY, 'desc')
    .findOne(dataReceivedCallback);

Almost all fields are sortable.

Explore JSDoc for available fields lists and more information.

Bug tracker

Have a bug? Please create an issue on GitHub

Readme

Keywords

Package Sidebar

Install

npm i lgi-guide-sdk

Weekly Downloads

0

Version

0.2.8

License

BSD

Last publish

Collaborators

  • lgi