You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.1 KiB
Markdown

---
sidebar: true
excerpt: "the validation tool nobody asked for"
meta:
- name: description
content: the validation tool nobody asked for
- name: keywords
content: Alban, David, Becker, deno, web, javascript
---
# hoyams
the validation tool nobody asked for | hoyams = hold on you are missing something
- stack: deno, typescript
- repo: [github.com](https://github.com/adb-sh/hoyams)
- deno package: [deno.land](https://deno.land/x/hoyams)
## Concept
Rules are defined via a callback which retuns `true` or an error String. This is
so that you can define rules by using an or operator like this:
```javascript
new Rule((v) => typeof v === "string" || "is not a string");
```
or this:
```javascript
new Rule((v) =>
typeof v === "string" && !!v.match(/^\w+@\w+\.\w+$/) ||
"no valid email"
);
```
- If a executing a validation completes without an error an object with the same
structure as the object given is returned.
- For creating powerful nested object rules there are some primites given:
[How to use](https://deno.land/x/hoyams@v0.0.1#how-to-use)