mock-record
使用
npm install mock-record
import { mock } from 'mock-record'
mock("@name")
=> 'Ruihuag'
说明
mock({
'name|rule|key1,key2,key3...|[DictionaryKey]':'@name'
})
name
: 表示当前属性真正namerule
: 指定生成数量规则, 只表示数量key1,key2,key3...
: 表示当前属性为对象, 并且指定多个key, 且值为 @name
@name
: 数据规则
规则使用
mock("@name")
=> 'Ruihuag'
name|number
mock({ 'name': '@name' })
mock({ 'name|1': 1 })
mock({ 'name|1': '@name' })
mock({ 'name|3': '@name' })
mock({ 'name|3': 1 })
=>
{ name: 'Ruihuag' }
{ name: 1 }
{ name: 'Jose' }
{ name: 'FrankGaryDavid' }
{ name: 4 }
范围 name|2-222
mock({"name|3-5":"@name"})
=> { name: [ 'Jeffrey', 'Jose', 'Gary', 'William' ] }
指定数量 name|12
mock({"name|3":"@name"})
=> { name: [ 'Christopher', 'Daniel', 'Richard' ] }
多用一
基础使用 {'name||key1,key2,key3':'@name'}
{name: { key1: 'Mark', key2: 'Jason', key3: 'Thomas' }}
指定数量 {'name|2|key1,key2,key3': "@name"}
{
name: [
{ key1: 'Mark', key2: 'Donald', key3: 'Michael' },
{ key1: 'George', key2: 'Jose', key3: 'Edward' },
]
}
数量范围组 {'name|2-5|key1,key2,key3': "@name"}
{
name: [
{ key1: 'Jason', key2: 'Kenneth', key3: 'Scott' },
{ key1: 'Mark', key2: 'Donald', key3: 'Michael' },
{ key1: 'George', key2: 'Jose', key3: 'Edward' },
]
}
多用一 并转子串
基础 {'name||key1,key2,key3|JsonString':'@name'}
{
name: '{"key1":"Joseph","key2":"Michael","key3":"Jose"}'
}
指定数量 {'name|2|key1,key2,key3|JsonString': "@name"}
{
name: '[{"key1":"Anthony","key2":"Eric","key3":"Edward"},{"key1":"Thomas","key2":"Eric","key3":"Edward"}]'
}
数量范围 {'name|2-5|key1,key2,key3|JsonString': "@name"}
{ name: '{"key1":"James","key2":"Jeffrey","key3":"William"}' }
自定义规则
import { mock, initDictionary, dictionary } from '../src'
// 可以查看已经设置的规则字典
dictionary
initDictionary({
'aaa': 'ababab',
'bbb': function (a = '1', b = '2') {
return a + '---' + b
}
})
mock('@bbb(123,456)') // 123---456
mock('@aaa') // ababab
操作符
基础数据类型
操作符 | 描述 | 结果 |
---|
@char | 字符 | A |
@boolean | 布尔值 | true |
@string | 字符串 | wg0DGEE1s[ |
@string(3,5) | 指定范围长度字符串 | wg0D |
@num | 数字 | 520 |
@num(5,10) | 指定范围数字 | 5 |
@num(5-10.1-2) | 指定范围数字, 和小数点位数 | 5.1 |
@float | 浮点型 | 13.14 |
名称
操作符 | 描述 | 结果 |
---|
@name | 英文名 | Ruihuag |
@cname | 中文名 | 关瑞毕 |
@first | 英文名称的名 | Sandra |
@last | 英文名称的姓 | Jose |
@cfirst | 中文姓 | 关 |
@clast | 中文名 | 瑞毕 |
文本
操作符 | 描述 | 结果 |
---|
@title | 标题 | 土好保观 |
@title(3,30) | 标题 | 传年圆美石所技道只式器知老引明说外海专性油复队运构科文重 |
@cword | 中文字 | 厂 |
@sentence(2) | 句子 | Enim ad aute eiusmod enim occaecat. Aliqua anim dolore eiusmod officia commodo amet nostrud. |
@sent(2) | 句 | Enim ad aute eiusmod enim occaecat. Aliqua anim dolore eiusmod officia commodo amet nostrud. |
@paragraph(2) | 自然段 | Laboris ex ad duis ... eiusmod ipsum exercitation. Eiusmod minim aliqua dolor nostrud et. ... cupidatat dolore consequat dolor. |
@para(2) | 自然段 | Laboris ex ad duis reprehenderit deserunt enim. In laboris ... dolor. |
居住地址
操作 | 描述 | 结果 |
---|
region | 地区 | 西北 |
province | 省 | 广东省 |
city | 城市 | 韶关市 |
district | 区域 | 洮北区 |
address | 地址 | 安徽省宣城市宣州区1d8街道6e路69号99栋36单元78号 |
address(RR PP CC DD) | 地址(指定格式) | 东北 山西省 吕梁市 汾阳市 |
补充:
其他地址
操作 | 描述 | 结果 |
---|
@ip | ip | 242.86.47.174 |
@ip6() | ipv6 | e60b:3d50:be5c:ea37:3005:8a35:846e:1aeb |
@domain | web地址 | opubztw.xxq |
@email | 邮箱 | cxydhhsfxqzki@nipik.ftnyl |
颜色
- 待开发
- color, hex, rgb, rgba, hsl
图片
@image([text[,size[,background[,foreground[,format]]]]])
- 图片链接
text = ''
: 文字size = '200x200'
:图片大小background = '000'
: 背景图片foreground = 'fff'
: 文字颜色format: '' | 'png' | 'gif' | 'jpg' = ''
: 图片格式
时间
操作符 | 描述 | 结果 |
---|
@now | 现在 | 2022-06-08 16:58:16 |
@now(YYYY-MM-DD HH:mm:ss) | 现在 | 2022-06-08 16:58:16 |
@date | 日期 | 2021-09-27 |
@date(YYYY-MM-DD) | 日期 | 2022-03-28 |
@date(YYYY-MM-DD HH:mm:ss) | 日期 | 2020-03-24 22:58:16 |
@time | 时间 | 22:58:16 |
@time(HH:mm:ss) | 时间 | 04:58:16 |
@time(YYYY-MM-DD HH:mm:ss) | 时间 | 2020-06-27 22:58:16 |
@timeStamp | 时间戳 | 1604703768135 |
@nowTimeStamp | 当前时间时间戳 | 1604703768135 |
特殊
操作符 | 描述 | 结果 |
---|
@id | id | 3191230364936506 |
@uuid | uuid | 326be748-57bd-c2d0-84f4-99bb488a4292 |
@uuid(xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx) | uuid | 326be748-57bd-c2d0-84f4-99bb488a4292 |