mock-record
v2.0.4
Published
伪造数据
Downloads
8
Maintainers
Readme
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)
| 地址(指定格式) | 东北 山西省 吕梁市 汾阳市 |
补充:
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
| 邮箱 | [email protected] |
颜色
- 待开发
- 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
|