fakingjs
v0.1.1
Published
伪造数据
Downloads
3
Maintainers
Readme
fakingjs
- 虚拟数据生成
使用
npm install fakingjs
import { Fake } from 'fakingjs'
Fake("@name")
=> 'Ruihuag'
说明
Fake({
'name|rule|key1,key2,key3...|[DictionaryKey]':'@name'
})
name
: 表示当前属性真正namerule
: 指定生成数量等规则key1,key2,key3...
: 表示当前属性为对象, 并且指定多个key, 且值为@name
@name
: 数据规则
规则使用
Fake("@name")
=> 'Ruihuag'
name|number
Fake({ 'name': '@name' })
Fake({ 'name|1': 1 })
Fake({ 'name|1': '@name' })
Fake({ 'name|3': '@name' })
Fake({ 'name|3': 1 })
=>
{ name: 'Ruihuag' }
{ name: 1 }
{ name: 'Jose' }
{ name: 'FrankGaryDavid' }
{ name: 4 }
范围 name|2-222
Fake({"name|3-5":"@name"})
=> { name: [ 'Jeffrey', 'Jose', 'Gary', 'William' ] }
指定数量 name|12
Fake({"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 { Fake, initDictionary, dictionary } from '../src'
// 可以查看已经设置的规则字典
dictionary
initDictionary({
'aaa': 'ababab',
'bbb': function (a = '1', b = '2') {
return a + '---' + b
}
})
Fake('@bbb(123,456)') // 123---456
Fake('@aaa') // ababab
操作符
基础数据类型
| 操作符 | 描述 | 结果 |
| :------------: | :----------------: | :----------: |
| @char
| 字符 | A
|
| @boolean
| 布尔值 | true
|
| @string
| 字符串 | wg0DGEE1s[
|
| @string(3,5)
| 指定范围长度字符串 | wg0D
|
| @num
| 数字 | 520 |
| @num(5,10)
| 指定范围数字 | 5 |
| @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 reprehenderit deserunt enim. In laboris Lorem est pariatur eu officia incididunt ipsum sint adipisicing nisi ullamco ut do. Quis ullamco tempor exercitation duis elit duis duis adipisicing. Occaecat pariatur reprehenderit consectetur amet non cillum velit eu cupidatat ad. Reprehenderit excepteur sint commodo officia adipisicing id labore veniam amet irure. Cillum nisi voluptate exercitation minim in ut aliquip laborum duis. Lorem veniam amet magna labore reprehenderit culpa adipisicing eiusmod ipsum exercitation. Eiusmod minim aliqua dolor nostrud et. Mollit ad ex laborum ea deserunt incididunt pariatur. Ipsum exercitation Lorem consectetur dolor incididunt excepteur labore proident cupidatat dolore consequat dolor. |
| @para(2)
| 自然段 | Laboris ex ad duis reprehenderit deserunt enim. In laboris Lorem est pariatur eu officia incididunt ipsum sint adipisicing nisi ullamco ut do. Quis ullamco tempor exercitation duis elit duis duis adipisicing. Occaecat pariatur reprehenderit consectetur amet non cillum velit eu cupidatat ad. Reprehenderit excepteur sint commodo officia adipisicing id labore veniam amet irure. Cillum nisi voluptate exercitation minim in ut aliquip laborum duis. Lorem veniam amet magna labore reprehenderit culpa adipisicing eiusmod ipsum exercitation. Eiusmod minim aliqua dolor nostrud et. Mollit ad ex laborum ea deserunt incididunt pariatur. Ipsum exercitation Lorem consectetur dolor incididunt excepteur labore proident cupidatat dolore consequat 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
|