Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/keenlycode/edictor
Modular & Self-Contained Javascript object definition and validation with concise APIs
https://github.com/keenlycode/edictor
json object schema validation
Last synced: 27 days ago
JSON representation
Modular & Self-Contained Javascript object definition and validation with concise APIs
- Host: GitHub
- URL: https://github.com/keenlycode/edictor
- Owner: keenlycode
- License: isc
- Created: 2023-04-11T14:33:18.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-03T12:54:04.000Z (about 1 year ago)
- Last Synced: 2024-08-10T06:58:56.032Z (5 months ago)
- Topics: json, object, schema, validation
- Language: TypeScript
- Homepage: https://keenlycode.github.io/edictor/
- Size: 4.68 MB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- License: license.md
Awesome Lists containing this project
README
# { Edictor }
>Modular & Self-Contained
> Javascript object
> definition and validation
> with concise APIs---
## Documentation
---
Please read usage documentation at
https://nitipit.github.io/edictor/---
## Features
---
- Object definition is easy to use.
- Provide concise APIs for validations.
- Validation throws error.
- **Modular** : `Model` and `Field` can be extends and reused as class and object in ES6.
- **Self-contained** : object created from definition will validate
itself when object's data changed.
- **Atomic Update** : `Model().update(data)` will update data as all or nothingaccording to validations.
- Tiny & Compact : ~2kB minify + gzip
---
## Library Development
---### Environment
- NodeJS### Recommended editor
- Visual Studio Code https://code.visualstudio.com/### Setup
```shell
$ git clone [email protected]:nitipit/edictor.git
$ cd edictor
$ npm install
```
### Run test for development process
```shell
$ npm run test-watch
```
The command above will run [jest](https://jestjs.io/) testing framework in watch mode.To test individual file:
```shell
$ npx jest --watch src/edictor/field.test.ts
```### Build { edictor } library
```shell
npm run build
```---
## Documentation Development
---### Environment
- Python
- NodeJS### Recommended editor
- Visual Studio Code https://code.visualstudio.com/### Generate static html (Compatible with github page)
- Result as this page: https://nitipit.github.io/edictor/
- Command belows will generate static html and start
HTTP Server
- Static html is generated by https://nitipit.github.io/engrave/```shell
$ python -m venv venv
$ source venv/bin/activate
$ pip install -r require.pip
$ python docs.py
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
```---
## Contribution
---
Contributions are what make the open source community such an amazing place to learn,
inspire, and create. Any contributions you make are greatly appreciated.If you have a suggestion that would make this better, please fork the repo
and create a pull request. You can also simply open an issue with the tag
"enhancement". Don't forget to give the project a star! Thanks again!Fork the Project
Create your Feature Branch (git checkout -b feature/AmazingFeature)
Commit your Changes (git commit -m 'Add some AmazingFeature')
Push to the Branch (git push origin feature/AmazingFeature)
Open a Pull Request---
## Contact
---Nitipit Nontasuwan - [email protected]
Project repository: https://github.com/nitipit/edictor
Project website: https://nitipit.github.io/edictor/