Package Exports
- data-refactor
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (data-refactor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
data-refactor
数据格式化
用于前后端分离的 web 项目的接口字段格式化
install
npm i data-refactor
usage
refactor(tar, rule [, strict = true])
import refactor from 'data-refactor';
const tar = {
pic: 'https://unsplash.it/800/800/?random',
nick_name: 11,
age: '13',
is_adult: 1,
obj: {
opt1: 1,
opt2: 'dsds',
},
postscript: [
{
ps_id: '11',
ps_name: 'sth11',
},
{
ps_id: 12,
ps_name: 'sth12',
},
],
deepArr: [
[
{ da_id: 1, da_name: '1', da_other: 'ss' },
{ da_id: 2, da_name: '2', da_other: 'ss' },
],
[{ ea_id: 1, ea_name: '1' }, { ea_id: 2, ea_name: '2' }],
[{ fa_id: 1, fa_name: '1' }, { fa_id: 2, fa_name: '2' }],
],
};
const rule = {
avatar: 'pic',
nickname1: 'nick_name|String',
nickname2: 'nick_name|string',
nickname3: 'nick_name|str',
age1: 'age|Number',
age2: 'age|number',
age3: 'age|num',
isAdult1: 'is_adult|Boolean',
isAdult2: 'is_adult|boolean',
isAdult3: 'is_adult|bool',
obj: {
p1: 'opt1|num',
p2: 'opt2',
},
o: 'obj',
_o: {
p1: 'opt1|num',
p2: 'opt2',
},
ps1: 'postscript',
ps2: 'postscript',
_ps2: [
{
id: 'ps_id',
name: 'ps_name',
},
],
da: 'deepArr',
deepArr: [
[
{
id: 'da_id|bool',
name: 'da_name',
},
],
[
{
id: 'ea_id',
name: 'ea_name',
},
],
[
{
id: 'fa_id',
name: 'fa_name',
},
],
],
};
const strict = !0;
const resStrict = refactor(tar, rule, strict);
params
tar
- 操作对象
rule
- 格式化规则
strict 是否严格格式化
- 默认 false
- 严格格式化所得结果与 rule 完全一致, 不含无用字段
suport
格式化数据
key|type
Number|number|num
String|string|str
Boolean|boolean|bool
操作符
- _ 对象或数组的内部映射
- | 类型分割符
- . 属性运算符
后续优化
- 支持函数规则
- 支持修改预设操作符 _ | .