···4455## Overview
6677-This validation engine can be used in any project that needs AT Protocol lexicon validation. It provides high-performance, spec-compliant validation of AT Protocol lexicon documents and data records. It can also be compiled to WebAssembly for use in JavaScript/TypeScript environments.
77+This validation engine can be used in any project that needs AT Protocol lexicon
88+validation. It provides high-performance, spec-compliant validation of AT
99+Protocol lexicon documents and data records. It can also be compiled to
1010+WebAssembly for use in JavaScript/TypeScript environments.
811912## Architecture
10131111-This package serves as the core validation engine and is typically consumed by higher-level packages:
1414+This package serves as the core validation engine and is typically consumed by
1515+higher-level packages:
12161317- **`@slices/lexicon`** - TypeScript/Deno package with ergonomic APIs
1818+- **`@slices/cli`** - Deno command-line tool for lexicon/appview management
1419- **`lexicon-intellisense`** - VS Code extension for lexicon development
1515-- **Slices CLI** - Command-line tooling for lexicon management
16201721## Features
1822···31353236```toml
3337[dependencies]
3434-slices-lexicon = "0.1"
3838+slices-lexicon = "0.2"
3539```
36403741Basic validation:
···92969397```javascript
9498import init, {
9595- WasmLexiconValidator,
9696- validate_lexicons_and_get_errors,
9797- is_valid_nsid
9898-} from './pkg/slices_lexicon.js';
9999+ is_valid_nsid,
100100+ validate_lexicons_and_get_errors,
101101+ WasmLexiconValidator,
102102+} from "./pkg/slices_lexicon.js";
99103100104await init();
101105102106// Validate lexicons
103107const lexicons = [{
104104- id: "com.example.post",
105105- lexicon: 1,
106106- defs: { /* ... */ }
108108+ id: "com.example.post",
109109+ lexicon: 1,
110110+ defs: {/* ... */},
107111}];
108112109113const errors = validate_lexicons_and_get_errors(JSON.stringify(lexicons));
110110-console.log('Validation errors:', JSON.parse(errors));
114114+console.log("Validation errors:", JSON.parse(errors));
111115112116// Validate NSID format
113117const isValid = is_valid_nsid("com.example.post");
···115119116120## JavaScript/TypeScript Usage
117121118118-If you're using JavaScript or TypeScript, use the higher-level packages instead of consuming this library directly:
122122+If you're using JavaScript or TypeScript, use the higher-level packages instead
123123+of consuming this library directly:
119124120120-- **TypeScript/JavaScript**: Use `@slices/lexicon` for ergonomic APIs with automatic resource management
125125+- **TypeScript/JavaScript**: Use `@slices/lexicon` for ergonomic APIs with
126126+ automatic resource management
121127- **VS Code Development**: Install the `lexicon-intellisense` extension
122128- **CLI Tools**: Use the Slices CLI for lexicon management tasks
123129···151157152158## License
153159154154-MIT160160+MIT