Skip to content
Validate data in the Friendly Public Transport Format.
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
.editorconfig
.gitignore
.travis.yml
example.js
index.js
journey-leg.js
journey.js
license.md
line.js
location.js
operator.js
package.json
readme.md
region.js
route.js
schedule.js
station.js
stop.js
stopover.js
test.js

readme.md

validate-fptf

Validate data in the Friendly Public Transport Format. Currently validates against Friendly Public Transport Format (FPTF) 1.2.1.

npm version build status ISC-licensed chat on gitter

Installing

npm install validate-fptf

Usage

const createValidate = require('validate-fptf')

const validate = createValidate() // you may pass in custom validators here

validate({
  type: 'journey',
  id: '12345',
  legs: [{
    origin: {
      type: 'station',
      id: '12345678',
      name: 'Foo'
    },
    destination: {
      type: 'station',
      id: '87654321',
      name: 'Bar'
    },
    departure: '2017-03-16T20:00:00+01:00',
    departurePlatform: '4-1',
    arrival: '2017-03-17T15:00:00+02:00',
    arrivalPlatform: '9',
    schedule: '1234',
    mode: 'walking',
    public: true,
    operator: 'sncf'
  }],
  price: {
    amount: 19.95,
    currency: 'EUR'
  }
})

validate({
  type: 'station',
  id: '123',
  name: 'foo',
  location: {
    type: 'location',
    latitude: 1,
    longitude: 2
  }
}, ['station', 'stop'])

API

const validate = createValidate(customValidators = {})

You may provide an object customValidators, where each key is an FPTF type, and the corresponding function validates an FPTF object of this type.

validate(item, types = allTypes, name = 'item')

validate recursively validates item. Throws an AssertionError if something is not valid FPTF 1.2.1.

To validate against one or more specific FPTF types, provide a string or an array of strings via the types parameter.

To get more meaningful assertion errors, provide the name of your item via the name parameter.

Contributing

If you have a question or have difficulties using validate-fptf, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, refer to the issues page.

You can’t perform that action at this time.