Simple JavaScript API to validate Programme Identifier (PID) syntax and to compute BBC URLs.
BBC Programmes Identifiers 0.4 spec defines a PID as following:
Characters: digits 0-9 and lower case letters, less vowels.
Length: Minimum 8 digits. No defined maximum – they will grow as necessary.
For historical reasons there are some 15 character pids existing for World Service content.
npm i --save bbc-pid
var pid = require('bbc-pid');
var request = require('superagent');
request.get(pid('b062mzcw').programme).end(function(err, res){
console.log(res.body.programme.short_synopsis);
});
Returns programmatic URLs for a given PID. Expect a 301
redirect from the iplayer
URL and a 404
if the PID does not match any programme at all.
pid('p01l1z04')
// {
// programme: "http://www.bbc.co.uk/programmes/b062mzcw.json",
// iplayer: "http://www.bbc.co.uk/iplayer/episode/b062mzcw.json",
// crid: "crid://bbc.co.uk/programmes/b062mzcw",
// tag: "bbc:programme=b062mzcw"
// }
pid('thedoctor')
// Error: invalid pid
// at script.js:xx
//
The underlying method used in pid()
to validate if a given string is PID compliant.
pid.isValid('p01l1z04');
// -> true
pid.isValid('thedoctor');
// -> false