1.2.0 • Published 8 months ago
@gunny/mock v1.2.0
mock
生成模拟数据。
安装
npm install @gunny/mock使用
import * as mock from "@gunny/mock";
mock.number(); // 794API
通用
数字
生成 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一句话
word(); // 尴盂凾喃竛
word(2, 6); // 隙謵一段话
paragraph(); // 娙镋惱袈竅貞芳禘兒哭帾,袒逛蠍坨妸苾,寗艴魴鵜釫鼭冢枔,荹膖嚷猌琡,辖禐岐茗鸝稐籚購艤鄫琱瀥桤切,袸焗伡键薠粉柯圯肢銴恘揎惌葤,秛虯儤趍邽鹎襝輍渀,飞汮瓃縞眶蒑奖臟蠾愅致,輤圈鶍缮厳。
paragraph(10, 50); // 辗葈絧屓椋怐罠釷,缪罰繼侟。几个段落
paragraphs(); // <p>巈徚酋麊镭輨鵁詤予縎洀岹囊佾忔,鯰蕑坮鷦泖劘餽鬨璗诠臶漁桗蝾釿,阫亣贖瀘鎹,耷満福乖淂歠疏摓饵樘颳阓掛,巘櫂蹝給繧鴉璃倰卖硔皴,蘳瀚簢圽优讼豖蛍璼龝暴渲嚦湌,弸鮼韍疓嫷庽鄎钴覭腡印膇琬啞,缐莙螱嘣赪娉餆钇騄翸軝飗。</p><p>俨蹧湑槿醅偯燓棢椑騶楌孑毡鴝藸欮爩温埜蔓涐黠洉,紻韽岑課鵆剖抚,杽鲶谜慑磙枹蝀,衼忬淕罎毭堊錝戟滚嘟躦枠膄,嫭硛亟蕱蝊祋楛姼稰党,艖及檪菚碕梷摧炟嵊挎。</p><p>毋謱凂嗛敻胱飍掏斝籩恟,縜犱奭繋转罞鹉期,沲禕蕴切券常轋踴浿蒟疏鶇盻棾疉,龑菭毺鞻鎬,鸔娃渪滆家囖诔,夐眈雱叜塐鴷俻怚僛萶鸦,炕貝嘐泒媊捎栭偉苲兴亟冈,绛昺顢诙劓鱖税皑簅囦犤,襊润糢犇棃曣攔穅。</p><p>丗疖垲疥逢蝕渴謙孠籊謫綅岛祭,胜傱鉅撹嵥癘蚂鈗疲轿悑袌浴鉛,哏熽產冥塭饽,鏺健譢杒窶,鳽燬裥尭凩帞众洵躷犀鷋靮,珣陭紺觞反喾瓔慘覀瓡礜域旆皴酡,髏羱曌餸濳蹡旚箦鑋,醗醑羳暄享丶,辚篐鼈鵦虹鈋笧币單籑烞,萛醽寞携骩。</p><p>逰羲摫膔缩镸鍉憯中,巛譔熻勁懨篣鐜昇賳鹈蒠噅尥巂,汃琵彽檇踟别虺濹紳嬒礄脂瀀评,挶雨鯄逡嶏颶峭嵉檙蝰礤氜婗幉串,瑓椤铣秖。</p><p>烠綀驷铄锍芯巫憎詰廄縜鶆,畄駾铲掳螀小嵏霠药坶躸鯶禌磴鶰,藳峂糞獨山伬,秂矽穴莰塬齀瀚,嵔飘詫嘏峲呴,圹濻浠掹昮夎冣彸笮鬼箣窓魙晏雬,孟綖肳讱庴珩挾燫鋍馀虨,螠讓硡餃歽,櫂誖楔汪彸淍攛蹏鷥较铁蹉,鍠滁撛莞爑供粕。</p>
paragraphs(2, 3); //<p>妳桮駽萠邖啧鍵邴喟,湸揕窍繆鸘氭濽嚦硶列珿鈤效,噽閪葦庵谩纍塬,虿噉晎謊鍁鍐玀仍淥漪僦,雝桌庢罾蟸叀咼砒枣儀尤粛瓒畗皉,鑪彐晻摜韂槩,悭啓贏鉊锨躀,胾锐輂薟嗶祩渟叮,曊蘪碪啞。</p><p>丸芼盔戚骦巆弐陵厭慺儋癥筵慗黮,顚淥綖揹搶闱継誆嗮羶忑熰鏴挻,牅锁龏帊沿怀羀砙寊嫏,訮勅橿螳愁雩脭郣胀粓菒源酬,撓墻鲭樺緻鍜堻嗊鑰吋韂躟挷。</p>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学历
qualification(); // 初中星座
zodiacSign(); // 水瓶座根据日期获取星座
zodiacSign("2024-11-12"); // 天蝎座
zodiacSign(new Date(2024, 8, 24)); // 天秤座身高(cm)
height(); // 194体重(kg)
humanWeight(); // 79生日
birthday(); // 1999-12-17爱好
hobby(); // 手工艺个性签名
signature(); // 简单生活,快乐每一天。交友类型
friendshipType(); // 心灵伴侣型我的特质
trait(); // 幽默感形容词
adjective(); // 乐于助人游戏的职业
gameProfession(); // 风之刺客昵称
nickname(); // 坚强不屈的幻影战士批量昵称
bulkNickname(10);
// [
// '出色的守望者',
// '友爱的魔法猎手',
// '温柔的法师',
// '热爱学习的龙之法师',
// '自由的水之使者',
// '乐观向上的光明使者',
// '和蔼可亲的血法师',
// '殷勤的烈焰法师',
// '自律的自然法师',
// '知足的夜行者'
// ]商业
公司名
company(); // 广州市海跃室内装饰设计有限责任公司部门
department(); // 人力资源部行业
industry(); // 牧业位置
区域
region(); // 西南区省份
province(); // 江西省城市
city(); // 吕梁市区县
county(); // 岳普湖县地址
address(); // 福建省南平市武夷山市模拟25街道模拟26路22号49栋211层41室电脑
ipv4
ipv4(); // 199.171.174.50ipv6
ipv6(); // 70b7:e41a:8f58:6902:bf9a:79f1:4f6a:47f6MAC 地址
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(); // 9508464975848sku
sku(); // MX-KJ-4242-U工具函数
integer
生成一个整数:
integer(10, 100); // 54decimal
生成一个包含指定小数位数的小数:
decimal(10, 100, 2); // 34.36random
不传递第三个数或者传递 0,等同于 integer,否则等同于 decimal:
random(10, 100); // 26
random(10, 100, 2); // 60.26pick
从字符串随机挑选一个字符,或从数组中随机挑选一个元素,或从对象中随机挑选一个值:
pick("0123456789"); // 3
pick(["first", "second", "third"]); // first
pick({ key1: "first", key2: "second", key3: "third" }); // secondarrayShuffle
打乱数组(会改变原数组):
arrayShuffle([1, 2, 3, 4, 5, 6, 7, 8]); // [ 4, 2, 6, 1, 8, 5, 7, 3]arrayUniqueBulk
批量生成不重复的数组元素:
mock.arrayUniqueBulk(10, () => {
return mobile();
});upperFirst
将字符串首字母变成大写:
upperFirst("mockData"); // MockDatalowerFirst
将字符串首字母变成小写:
lowerFirst("MockData"); // mockDatapascalCase
将字符串变成大驼峰格式:
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"); // MockDatacamelCase
将字符串变成小驼峰格式:
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"); // mockDatacapitalize
将字符串首字母变成大写,其它字母变成小写。
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"); // MockdatakebabCase
将字符串变成连字符格式:
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-datapickMultiChar
从字符串中随机挑选指定个数的字符组成新的字符串:
pickMultiChar("0123456789", 4); // 7079formatDate
格式化日期对象:
支持以下占位符:
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