@bigmoves/lexicon
v0.2.1
Published
A plain JavaScript validator for [AT Protocol Lexicon](https://atproto.com/specs/lexicon) schemas.
Readme
lexicon-js
A plain JavaScript validator for AT Protocol Lexicon schemas.
Install
npm install @bigmoves/lexiconUsage
import { validateLexicons, validateRecord } from '@bigmoves/lexicon'
// Validate a lexicon schema
const lexicon = {
lexicon: 1,
id: 'app.example.post',
defs: {
main: {
type: 'record',
key: 'tid',
record: {
type: 'object',
required: ['text'],
properties: {
text: { type: 'string', maxLength: 300 }
}
}
}
}
}
const schemaError = validateLexicons([lexicon])
// null if valid, error object if invalid
// Validate a record against a lexicon
const record = { text: 'Hello, world!' }
const dataError = validateRecord([lexicon], 'app.example.post', record)
// null if valid, { path, message } if invalidTesting
npm testSpec Compliance
This implementation follows the AT Protocol specs. See docs/oracle-differences.md for documented differences with @atproto/lexicon.
License
MIT
