0.2.1 • Published 4 years ago
@mockpiler/core v0.2.1
MockPiler
Generate mock data using a dead simple JSON-like language.
Support: It should work for any JavaScript runtime like Deno
, Node.js
and browsers
.
Installation
$ npm install @mockpiler/core
# using yarn
$ yarn add @mockpiler/core
Example
import mock from '@mockpiler/core'
const context = {
name: 'John Doe',
randomAge () {
return Math.floor(Math.random() * 100)
},
randomFruit () {
const fruits = [
'watermelon',
'strawberry',
'pineapple',
'apple'
]
return fruits[Math.floor(Math.random() * fruits.length)]
}
}
const people = mock(context)`
[
(2) {
name
age: randomAge
favoriteFruits: [
(3) randomFruit
]
}
]
`
// or using interpolation
const people = mock`
[
(2) {
name: ${context.name}
age: ${context.randomAge}
favoriteFruits: [
(3) ${context.randomFruit}
]
}
]
`
console.log(people)
/**
* Example output:
*
* [
* {
* name: 'John Doe',
* age: 33,
* favoriteFruits: [
* 'watermelon',
* 'pineapple',
* 'apple'
* ]
* },
* {
* name: 'John Doe',
* age: 56,
* favoriteFruits: [
* 'strawberry',
* 'pineapple',
* 'apple'
* ]
* }
* ]
*/
Roadmap / Ideas
- Implement a lexer for codeframes
- Make an integration with libs like Faker.js
- Support for spread operators
e.g. { ...spread }