/miz

๐ŸŽฏ Generate fake data for finetune of AI, Just like a person.

Primary LanguageTypeScriptMIT LicenseMIT

miz

(< 800b) Generate fake / mock structured variable in a modern, human-readable way. Just like a person.

็”จไธ€ไธช็Žฐไปฃ็š„ใ€ๅฏ่ฏป็š„ๆ–นๅผๆฅ็”Ÿๆˆ็”จไบŽๆต‹่ฏ•็š„ๅ‡ๆ•ฐๆฎใ€‚

npm Version Build Status Coverage Status npm License

Features

โšก๏ธ Simple but highly perfection API
๐Ÿฃ Tiny footprint (< 800b)
๐Ÿ‘“ Customize
๐ŸŽƒ 3 types of bundles exposed: ESM, CJS and UMD
๐Ÿ”ฅ TypeScript Typings readily available
๐ŸŽธ Browser and NodeJs supported
๐ŸŽฏ End-to-end testing with GitHub Action

Install

$ npm i --save miz

Usage

import { M } from 'miz'; // ES6

const m = M.arrayOf(M.shape({
  id: M.number(10000, 1000000),     	// id is between 10000 ~ 1000000.
  name: M.string(6),                	// 6 length random string.
  sex: M.bool(),                    	// random true or false.
  city: M.constant('hz'),          	 	// constant value.
  work: M.oneOf(['QA', 'FED'])      	// random from array
}), 2);                               // list length is 2.

m.mock();

Then will get the mock variable like below:

[{
	id: 757852,
	name: 'mU7RTB',
	sex: false,
	city: 'hz',
	work: 'FED'
}, {
	id: 359987,
	name: 'jWuKxX',
	sex: true,
	city: 'hz',
	work: 'FED'
}]

API & Mocker

You can assemble the variable structure arbitrarily by using the mockers below:

  • M.bool()
M.bool().mock(); // true
  • M.number(min[, max = min, fixed = 0])
M.number(1, 9, 2).mock(); // 4.71
  • M.string([len = 8])
M.string(6).mock(); // `Qv_teE`
  • M.constant(value)
M.constant('hello, hustcc.').mock(); // `hello, hustcc`
M.constant(null).mock(); // got null
  • M.oneOf(valueArray)
M.oneOf(['hustcc', 'imcxl']).mock(); // hustcc
  • M.arrayOf(mocker[, min = 20, max = min])
// got an array which contains string, and array length 10 ~ 20.
M.arrayOf(VT.string(4), 10, 20).mock(); 
  • M.shape(mockerObject)
// random value object.
M.shape({
  name: M.string(10),
  id: M.number(10000, 1000000),
  sex: M.bool(),
  city: 'hz',
}).mock();
  • M.apply(Function)
// will got number generate by fucntion Math.random()
M.apply(() => Math.random()).mock(); 

More Mocker needed, welcome to send a pull request, or put an issue to me.

License

ISC@hustcc.