1.0.1 • Published 11 months ago

@gunny/mock v1.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

mock

生成模拟数据。

安装

npm install @gunny/mock

使用

import * as mock from "@gunny/mock";

mock.number(); // 794

API

通用

数字

生成 0 到 1000 的整数:

number(0, 1000); // 227

生成数据包含两位小数:

number(0, 1000, 2); // 760.86

布尔值

boolean(); // false

数组

array(2, (index) => ({
  id: index + 1,
  name: "name" + (index + 1),
})); // [ { id: 1, name: 'name1' }, { id: 2, name: 'name2' } ]

枚举

enumerate(["first", "second", "third"]); // second

日期时间

生成随机日期时间:

datetime(); // 2074-11-07 23:27:31

生成指定范围的日期时间:

datetime("2000-01-01 00:00:00", "2050-12-31 23:59:59"); // 2044-04-29 00:44:16

或者:

datetime(new Date(2000, 0, 1, 0, 0, 0), new Date(2050, 11, 31, 23, 59, 59)); // 2044-09-21 22:10:20

日期

生成随机日期:

date(); // 2012-04-21

生成指定范围的日期:

date("2000-01-01", "2050-12-31"); // 2012-11-18

或者:

date(new Date(2000, 0, 1), new Date(2050, 11, 31)); // 2046-11-06

时间

生成随机时间:

time(); // 22:34:28

生成指定范围的时间:

time("09:00:00", "18:00:00"); // 17:57:00

或者:

time(new Date(0, 0, 1, 9, 0, 0), new Date(0, 0, 1, 18, 0, 0)); // 09:02:44

文本

text(); // 箾烀飫菼钌峌散恗襃醄,莿耖鰣嚞犈胣坷干謢,垴矋韓侯潌雄鯀霳蔇獀鲚懁众剄,塅紒偢祘諐矞幋铙荣硶蜾,潃糥琔虫鋠虷棓,讱尐骇忘喈阑僩珶,純妍觿鑝葧骔,蟠夂舉纖垸逫绾殞獑蓽,鸖辕糯皚籏擲屣豶駌躟攚芗輤,纟赿祷挥嶡峯韗讐倃酓宰确铅嵪杉,珑袕腺术蒆柞鎙,縡匶橯瀿嗅膳壒硲,纚閶蠌洩忙顶殃,诉忂藎遠茇,痙攧劁肛紵溿鼒憋箣鰵虗,悊咝餞剂亳謅,玐僱釀鋎縫澾呗铳奐緝崏谌,婊汪虏帄銹只瞨忛絁墐嚉緸挲畅,笒癏臕茫黂磕璜泐猰闭叨砽枵戡,嬲躊髖紤硤。

指定字符数范围:

text(100, 1000); // 砒咝錠湎蔆蹋狿爕充鋡齃巺謸荁,嘉鱿蕸肢竭志韃,柉錑楈漳洞怤,贏鼈焬菸繥贴焏爧。

UUID

uuid(); // b3f45642-05ab-4911-04f1-5848ff3dcf56

递增 ID

const id = createId();
id(); // 1
id(); // 2
id(); // 3

自定义起始值:

const id = createId(10);
id(); // 11
id(); // 12
id(); // 13

自定义步长:

const id = createId(10, 2);
id(); // 12
id(); // 14
id(); // 16

个人

姓名

name(); // 伯鹏

男性姓名

name("男"); // 金和平

女性姓名

name("女"); // 荀桂兰

lastName(); // 古

firstName(); // 军

男性名

firstName("男"); // 建平

女性名

firstName("女"); // 雨涵

性别

gender(); // 女

英文姓名

enName(); // Dylan Lee

英文男性姓名

enName("male"); // Justin Sanchez

英文女性姓名

enName("female"); // Sophia Thomas

英文姓

enLastName(); // Taylor

英文名

enFirstName(); // Chloe

英文男性名

enFirstName("male"); // Christopher

英文女性名

enFirstName("female"); // Avery

英文性别

enGender(); // female

称谓

appellation(); // 教授

婚姻状况

marital(); // 分居

移动号码

mobile(); // 18998694709

固定号码

landline(); // 0835-48300226

电子邮箱

email(); // William.Davis@icloud.com

身份证号码

idCardNo(); // 766610192606308042

职业

profession(); // 律师

银行卡号

bankCardNo(); // 6271647963012682853

商业

公司名

company(); // 广州市海跃室内装饰设计有限责任公司

部门

department(); // 人力资源部

行业

industry(); // 牧业

位置

区域

region(); // 西南区

省份

province(); // 江西省

城市

city(); // 吕梁市

区县

county(); // 岳普湖县

地址

address(); // 福建省南平市武夷山市模拟25街道模拟26路22号49栋211层41室

电脑

ipv4

ipv4(); // 199.171.174.50

ipv6

ipv6(); // 70b7:e41a:8f58:6902:bf9a:79f1:4f6a:47f6

MAC 地址

mac(); // 6f:8b:c8:e9:e1:f1

文件名

fileName(); // g2nch8.txt

文件路径

filePath(); // /home/Administrator/Documents/

包含文件名的文件路径

filePath(true); // /home/Administrator/Documents/uchjko.docx

文件扩展名

extension(); // xlsx

网址

url(); // https://developer.ehbihwoe.jp/HHvVQNBrKv

主机名

hostname(); // drive.prhdmczuey.biz

产品

产品名

productName(); // 卓沃

产品类别

productCategory(); // 家具

颜色

color(); // 黑色

尺寸

size(); // 细码

重量

weight(); // 4.7kg

条形码

barcode(); // 9508464975848

sku

sku(); // MX-KJ-4242-U

工具函数

integer

生成一个整数

integer(10, 100); // 54

integer

生成一个整数:

integer(10, 100); // 54

decimal

生成一个包含制定小数位数的小数:

decimal(10, 100, 2); // 34.36

random

不传递第三个数或者传递 0,等同于 integer,否则等同于 decimal

random(10, 100); // 26
random(10, 100, 2); // 60.26

pick

从字符串随机挑选一个字符,或从数组中随机挑选一个元素,或从对象中随机挑选一个值:

pick("0123456789"); // 3
pick(["first", "second", "third"]); // first
pick({ key1: "first", key2: "second", key3: "third" }); // second

upperFirst

将字符串首字母变成大写:

upperFirst("mockData"); // MockData

lowerFirst

将字符串首字母变成小写:

lowerFirst("MockData"); // mockData

pascalCase

将字符串变成大驼峰格式:

pascalCase("mock data"); // MockData
pascalCase("Mock data"); // MockData
pascalCase("Mock Data"); // MockData
pascalCase("Mock-Data"); // MockData
pascalCase("mock-data"); // MockData
pascalCase("mock_data"); // MockData
pascalCase("mockData"); // MockData

camelCase

将字符串变成小驼峰格式:

camelCase("mock data"); // mockData
camelCase("Mock data"); // mockData
camelCase("Mock Data"); // mockData
camelCase("Mock-Data"); // mockData
camelCase("mock-data"); // mockData
camelCase("mock_data"); // mockData
camelCase("MockData"); // mockData

capitalize

将字符串首字母变成大写,其它字母变成小写。

capitalize("mock data"); // Mock data
capitalize("Mock data"); // Mock data
capitalize("Mock Data"); // Mock data
capitalize("Mock-Data"); // Mock-data
capitalize("mock-data"); // Mock-data
capitalize("mock_data"); // Mock_data
capitalize("mockData"); // Mockdata

kebabCase

将字符串变成连字符格式:

kebabCase("mock data"); // mock-data
kebabCase("Mock data"); // mock-data
kebabCase("Mock Data"); // mock-data
kebabCase("Mock-Data"); // mock-data
kebabCase("mock-data"); // mock-data
kebabCase("mock_data"); // mock-data
kebabCase("MockData"); // mock-data

pickMultiChar

从字符串中随机挑选指定个数的字符组成新的字符串:

pickMultiChar("0123456789", 4); // 7079

formatDate

格式化日期对象:

支持以下占位符:
YYYY: 年
MM: 月
DD: 日
HH: 时
mm: 分
ss: 秒
formatDate(new Date(), "YYYY-MM-DD HH:mm:ss"); // 2024-08-30 17:06:54

开源协议

本项目基于 MIT 协议,请自由地享受和参与开源。

如何维护

克隆仓库到本地

git clone https://github.com/sutras/mock.git

安转依赖

npm install

开发

npm run dev

查看输出结果

npm run preview

打包构建

npm run build

测试

npm run test
1.0.1

11 months ago

1.0.0

11 months ago