Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including @colophon/schema with all npm packages installed. Try it out:

var schema = require("@colophon/schema")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

@colophon/schema v2.0.3

Schema & Validator for https://colophon.id

Colophon Schema

License version Build Status

Schema & Validator for Colophon

Schema Specification

Versions

#status
2.0stable
1.1deprecated
1.0deprecated

see an example of this repo's own .colophon.yml...

Install

Available as an npm package for validation purposes, exposes validation helper, and the schema itself (compatible with any JSON Schema validation tool)

npm install @colophon/schema

Usage

const parser = require('@colophon/schema')
const { schema, regex } = require('@colophon/schema/versions/latest')

Referencing older versions

const schemas = require('@colophon/schema/versions')

const { schema, regex } = schemas['1.0']

API

parser(colophon: String | Object): Promise<Object>

Resolves with content as a valid JavaScript Colophon Object Rejects with ColophonError on invalid schema test

Example: Valid Colophon
const parser = require('@colophon/schema')

const valid = { ... } // supply an Object or YAML String

const colophon = await parser(valid)
// colophon is a JavaScript Object (parsed from YAML string, or returned as is)
Example: Invalid Colophon
const parser = require('@colophon/schema')

// invalid
const invalid = `
version: 2.0

id: my-app
`

parser(invalid)
  .then(colophon)
  .catch(err => console.error(err.message, err.errors))
    // invalid colophon content
    // "err.errors" object contains schema errors
    // e.g. "err.errors": [ { message: "should have required property 'contacts'" } ]
    // see https://github.com/epoberezkin/ajv#validation-errors for details
}

Credits


Author: Ahmad Nassri • Github: @project-colophon • Twitter: @ColophonID

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free