2.0.0-beta.0 • Published 1 year ago

rh-mock v2.0.0-beta.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

描述

  • 虚拟数据生成

使用

npm install rh-mock
import { Mock } from 'rh-mock'

Mock("@name")
=> 'Ruihuag'

说明

Mock({
  'name|rule|key1,key2,key3...|[DictionaryKey]':'@name'
})
  • name: 表示当前属性真正name
  • rule : 指定生成数量等规则
  • 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
@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: 地区

其他地址

操作描述结果
@ipip242.86.47.174
@ip6()ipv6e60b:3d50:be5c:ea37:3005:8a35:846e:1aeb
@domainweb地址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

特殊

操作符描述结果
@idid3191230364936506
@uuiduuid326be748-57bd-c2d0-84f4-99bb488a4292
@uuid(xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx)uuid326be748-57bd-c2d0-84f4-99bb488a4292
2.0.0-beta.0

1 year ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.1.4

2 years ago

0.1.5

2 years ago

0.1.2

2 years ago

0.1.0

2 years ago

0.1.1

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago