@zidong/dc-mock
v0.0.2
Published
基于JSON Schema的数据模拟库
Downloads
4
Keywords
Readme
dc-mock
基于 JSON Schema 的数据模拟库
| Statements | Branches | Functions | Lines | | --------------------------- | ----------------------- | ------------------------- | ----------------- | | | | | |
1标准的 JSON Schema 格式的数据可以直接进行mock,例如
import mockFromSchema from '@zidong/dc-mock'
mockFromSchema({
type: 'object',
properties: {
name: {
type: 'string'
},
gender: {
type: 'string'
},
age: {
type: 'number'
},
children: {
type: 'array',
items: {
type: 'object',
properties: {
name: {
type: 'string'
},
gender: {
type: 'string'
},
age: {
type: 'number'
}
}
}
}
}
})
// will output
// {
// name: 'xxx',
// age: xx,
// gender: 'xxx',
// children: [
// {
// name: 'xxx',
// age: xx,
// gender: 'xxx',
// },
// {
// name: 'xxx',
// age: xx,
// gender: 'xxx',
// },
// ...
// ]
// }
为了让 mock 的数据更好看,针对 JSON Schema 的type
做了些约束,并使用minimum
,maximum
,minItems
,maxItems
字段以及新增的format
和mockArgs
字段进行数据美化,美化后的传参可以是这样的
import mockFromSchema from '@zidong/dc-mock'
mockFromSchema({
type: 'object',
properties: {
name: {
type: 'string',
// 中文名
format: 'cname'
},
gender: {
type: 'string',
// 数组中选择一项
enum: ['男', '女']
},
age: {
type: 'number',
// 自然数
format: 'natural',
// 最小值
minimum: 4,
// 最大值
maximum: 64
},
children: {
type: 'array',
// mock的数组最少1个元素,最多3个元素
minItems: 1,
maxItems: 3,
items: {
type: 'object',
properties: {
name: {
type: 'string',
format: 'cname'
},
gender: {
type: 'string',
enum: ['男', '女']
},
age: {
type: 'number',
format: 'natural',
minimum: 4,
maximum: 64
}
}
}
}
}
})
// will output
// {
// name: '某中文名',
// age: 4-64间一个数字,
// gender: '男|女',
// children: [
// {
// name: '某中文名',
// age: 4-64间一个数字,
// gender: '男|女',
// },
// {
// name: '某中文名',
// age: 4-64间一个数字,
// gender: '男|女',
// },
// ...
// ]
// }
测试
yarn test
发布
npm publish --access public