Yet another library for mocking data in JavaScript.
- Scheme based API
- Intuitive mock scheme description with integrated Types
- Posibility to make promise based responses
Using npm:
$ npm install yamock
Using yarm:
$ yarn add yamock
Creating mock object, that will return random person data with random amount of posts, after random timeout:
import Mock from 'yamock'
import {UUID, FullName, Username, Bool, DateTime, ArrayOf, Sentence, Sentences, Integer} from 'yamock/types'
const person = Mock({
id: UUID(),
name: FullName(Bool()),
username: Username(),
birthday: DateTime(0, new Date(2000, 1, 1)),
posts: ArrayOf({
id: UUID(),
title: Sentence(3, 6),
text: Sentences(Integer(2, 4))
}, Integer(1, 3))
}, Integer(500, 2000))
const result = await person()
Mock
function returns a function, that return random values each call based on scheme.
Mock
- main object of module. Creates a function that return random values based on scheme.
Parameters:
Name | Value | Description |
---|---|---|
Scheme | Object Array |
Describes mock object structure |
timeout | optional: Number Function |
Creates delay for output< default value is 0 |
Return Object
if timeout equals 0, and Promise
if timeout greater than 0.
Scheme
- describes structure of mock object. Scheme is made of Types
, that can be imported from yamock/types
.
Example:
import Mock from 'yamock'
import {Integer, String} from 'yamock/types'
const mock = Mock({
int: Integer(0, 100), // generate random integer number between 0 and 100
string: String(10) // generate string of random characters 10 symbols long
})
List of currently available types: Numbers:
Integer(min, max)
- generates random integer between min and maxId(max)
- generates random integer between 0 and maxFloat(min, max)
- generates random float number between min and - max
Date and Time:
DateTime(min, max)
- generates random Date beetween min and max, - min and max can be bothNumber
andDate
Time(min, max)
- generates random time between min and max
Boolean:
Bool(chance)
- return random boolean with chance of true value
String:
String(length)
- generates string of random characterslength
- symbols longWord()
- generates random wordWords(length)
- generateslength
count of wordsSentence(min, max)
- generate sentence of wordsSentences(length)
- generate random sentenceslength
sentences - longFirstName()
- generate random first nameLastName()
- generate random last nameFullName(double)
- generate random full nameCountry()
- generate random countryCity()
- generate random cityUUID()
- return uuidv4Email(provider)
- generate random email with providerPhone(code)
- generate random phone number with country codeCreditCard()
- generate random credit card numberStreet()
- generate random street nameCoordinates(type)
- generate random WGS84 coordinatesGender()
- return random genderUsername()
- generate random username
Array:
PickArray(array)
- pick element from array randomlyArrayOf(type, length)
- generates array withlength
elements oftype
URL:
Wikipedia
- return url to random Wikipedia articleAvatar(size)
- return url to random avatarPlaceholderImage(width, height, text, format)
- return url to placeholder image