@oyinlola141/lattice-schema 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -7
- package/package.json +17 -6
package/README.md
CHANGED
|
@@ -1,19 +1,39 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @oyinlola141/lattice-schema
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Type-safe schema definition, parsing, and validation engine for data contracts.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
npm install @
|
|
8
|
+
npm install @oyinlola141/lattice-schema
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Quick Start
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import {} from
|
|
14
|
+
import { Schema } from "@oyinlola141/lattice-schema";
|
|
15
|
+
|
|
16
|
+
const UserSchema = Schema.object({
|
|
17
|
+
id: Schema.string().uuid(),
|
|
18
|
+
email: Schema.string().email(),
|
|
19
|
+
age: Schema.number().int().positive(),
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
type User = Schema.Infer<typeof UserSchema>;
|
|
15
23
|
```
|
|
16
24
|
|
|
17
|
-
##
|
|
25
|
+
## Features
|
|
26
|
+
|
|
27
|
+
- Type-safe schema definitions
|
|
28
|
+
- Runtime validation with detailed errors
|
|
29
|
+
- Schema composition and inheritance
|
|
30
|
+
- Transformations and defaults
|
|
31
|
+
- Circular reference support
|
|
32
|
+
- JSON Schema generation
|
|
33
|
+
|
|
34
|
+
## Use Cases
|
|
18
35
|
|
|
19
|
-
|
|
36
|
+
- API request/response validation
|
|
37
|
+
- Configuration validation
|
|
38
|
+
- Form data validation
|
|
39
|
+
- Data contract enforcement
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oyinlola141/lattice-schema",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.3",
|
|
4
|
+
"description": "Type-safe schema definition, parsing, and validation engine for data contracts.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -17,12 +17,12 @@
|
|
|
17
17
|
"dist"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@oyinlola141/lattice-errors": "0.1.
|
|
21
|
-
"@oyinlola141/lattice-constants": "0.1.
|
|
22
|
-
"@oyinlola141/lattice-types": "0.1.
|
|
20
|
+
"@oyinlola141/lattice-errors": "0.1.3",
|
|
21
|
+
"@oyinlola141/lattice-constants": "0.1.3",
|
|
22
|
+
"@oyinlola141/lattice-types": "0.1.3"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@types/node": "^26.4.
|
|
25
|
+
"@types/node": "^26.4.1",
|
|
26
26
|
"typescript": "^7.0.2",
|
|
27
27
|
"vitest": "^4.1.11"
|
|
28
28
|
},
|
|
@@ -32,6 +32,17 @@
|
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public"
|
|
34
34
|
},
|
|
35
|
+
"keywords": [
|
|
36
|
+
"lattice",
|
|
37
|
+
"schema",
|
|
38
|
+
"validation",
|
|
39
|
+
"typescript"
|
|
40
|
+
],
|
|
41
|
+
"homepage": "https://github.com/oyinlola-tech/lattice#readme",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/oyinlola-tech/lattice"
|
|
45
|
+
},
|
|
35
46
|
"scripts": {
|
|
36
47
|
"build": "tsc -p tsconfig.json",
|
|
37
48
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|