1.0.1 • Published 2 years ago
popsoda v1.0.1
Deliciously simple validation library... popsoda helps you create:
- Concise human-readable validations
- Reusable code patterns
- Easy to extend features
🥤 Getting Started
Install popsoda:
yarn add popsoda
// or npm i popsoda
Using popsoda is easy...
Use popsoda directly, all validations return booleans. Use .check()
to store validation errors until the end.
const {PopSoda} = require("popsoda");
const groceries = [
"apples",
"bananas",
"coffee",
]
const pop = new PopSoda();
// Check that all items are unique
pop.check(pop.unique(groceries), "unique", "groceries items must be unique")
// Check if 'coffee' is in our groceries list
pop.check(pop.in("coffee", groceries), "coffee", "groceries must include coffee")
// Check if our pattern matches item 0
pop.check(pop.matches(groceries[0], "apples"), "apples", "first item must be apples")
// Do your own thing!
pop.check(groceries.length > 0, "groceries", "must be > 0")
console.log(pop.valid())
// > true
Make it re-usable!
const {PopSoda} = require("popsoda");
type Form = {
name: string,
age: number,
hobbies: string[],
}
const ValidateForm = (p: Popsoda, f: Form): boolean => {
p.check(f.name !== "", "name", "must be provided")
p.check(f.name.length > 3, "name", "must be longer than 3 characters")
p.check(f.age >= 18, "name", "must be 18 or older")
p.check(p.unique(f.hobbies), "hobbies", "must be unique")
p.check(p.in("coding", f.hobbies), "hobbies", "must include coding")
}
const form1 = {
name: 'ari',
age: 5,
hobbies: [
'yoghurt',
'collage',
'pac-man'
]
}
const pop = new PopSoda()
ValidateForm(pop, form)
console.log(pop.valid())
// > false
Made by Ari ❤️ view on npm