https://github.com/potapovdim/datadon
https://github.com/potapovdim/datadon
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/potapovdim/datadon
- Owner: potapovDim
- License: mit
- Created: 2020-06-27T09:49:11.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-06T10:00:20.000Z (over 2 years ago)
- Last Synced: 2025-03-29T20:04:59.336Z (3 months ago)
- Language: TypeScript
- Size: 141 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# datadon
## datadon is a data builder
### Main porpuse of this library is flexiblse data creation, transformation, from one condition to other
### Simple API provides the possibility to declare WEB, backend API and mobile data, aslo every dataset can be transformed from one condition to other
## API and examples
### default example
```js
const {generator} = require('datadon');function getDefatultData() {
const generateRules = {
field1: {default: () => 'field1 default'},
field2: {default: () => 'field2 default'}
};
return generator({generateRules});
}const defaultDataAPI = getDefatultData().generate().toApi();
const defaultDataWeb = getDefatultData().generate().toWeb();
const defaultDataMobile = getDefatultData().generate().toApi();console.log(defaultDataAPI); // {field1: 'field1 default', field2: 'field2 default'}
console.log(defaultDataWeb); // {field1: 'field1 default', field2: 'field2 default'}
console.log(defaultDataMobile); // {field1: 'field1 default', field2: 'field2 default'}
```### tranformatio to web
```js
const {generator} = require('datadon');function getTransformData() {
const generateRules = {
keyApi: {default: () => 'field1 default'},
field2: {default: () => 'field2 default'}
};
const transformRulesWeb = {
keyApi: {key: () => 'keyWeb', value: () => 'Web key'},
};
return generateData({generateRules, transformRulesWeb});
}const dataAPI = getTransformData().generate().toApi();
const dataWeb = getTransformData().generate().toWeb();console.log(dataAPI) // {keyApi: 'field1 default', field2: 'field2 default'}
console.log(dataWeb) // {keyWeb: 'Web key', field2: 'field2 default'}
```### configure your fields
```js
const {generator, configRules} = require('datadon');// remove
function getConfiguredData(config) {
const generateRules = {
keyApi: {default: () => 'field1 default'},
field2: {default: () => 'field2 default'}
};
const transformRulesWeb = {
keyApi: {key: () => 'keyWeb', value: () => 'Web key'},
};
return generateData({generateRules, transformRulesWeb, config});
}
const generated = getTransformData({keyApi: configRules.remove}).generate();
const dataAPI = generated.toApi();
const dataWeb = generated.toWeb();console.log(dataAPI) // {field2: 'field2 default'}
console.log(dataWeb) // {field2: 'field2 default'}// default / valid
function getConfiguredData(config) {
const generateRules = {
keyApi: {default: () => 'field1 default', valid: () => 'field1 valid'},
};
return generateData({generateRules, transformRulesWeb, config});
}
const dataAPIValid = getTransformData({keyApi: configRules.valid}).generate();
const dataAPIDefault = getTransformData().generate();console.log(dataAPIValid) // {keyApi: 'field1 valid'}
console.log(dataAPIDefault) // {keyApi: 'field1 default'}```