+1
-1
api/Cargo.lock
+1
-1
api/Cargo.lock
+1
-1
packages/lexicon-rs/Cargo.lock
+1
-1
packages/lexicon-rs/Cargo.lock
+1
-1
packages/lexicon-rs/Cargo.toml
+1
-1
packages/lexicon-rs/Cargo.toml
+23
-7
packages/lexicon-rs/README.md
+23
-7
packages/lexicon-rs/README.md
···
96
96
97
97
```javascript
98
98
import init, {
99
-
is_valid_nsid,
100
-
validate_lexicons_and_get_errors,
101
99
WasmLexiconValidator,
102
100
} from "./pkg/slices_lexicon.js";
103
101
···
107
105
const lexicons = [{
108
106
id: "com.example.post",
109
107
lexicon: 1,
110
-
defs: {/* ... */},
108
+
defs: {
109
+
main: {
110
+
type: "record",
111
+
key: "tid",
112
+
record: {
113
+
type: "object",
114
+
required: ["text"],
115
+
properties: {
116
+
text: { type: "string", maxLength: 300 }
117
+
}
118
+
}
119
+
}
120
+
}
111
121
}];
112
122
113
-
const errors = validate_lexicons_and_get_errors(JSON.stringify(lexicons));
114
-
console.log("Validation errors:", JSON.parse(errors));
123
+
const validator = new WasmLexiconValidator(JSON.stringify(lexicons));
124
+
const errorsJson = validator.validate_lexicons();
125
+
const errors = JSON.parse(errorsJson);
126
+
127
+
if (Object.keys(errors).length > 0) {
128
+
console.log("Validation errors:", errors);
129
+
} else {
130
+
console.log("All lexicons valid");
131
+
}
115
132
116
-
// Validate NSID format
117
-
const isValid = is_valid_nsid("com.example.post");
133
+
validator.free(); // Clean up WASM resources
118
134
```
119
135
120
136
## JavaScript/TypeScript Usage