github地址:musk-clone
npm地址:musk-clone
musk-clone
生成具备雷同数据结构的模仿影子克隆,速度与 Elon Musk 一样。
特斯拉CEO马斯克生9个子女,说本人为进步美国生育率正在尽一份力
为什么要用 musk-clone?
当你想制作一个与现有的具备雷同数据结构的新模仿我的项目时,你必须复制--> 逐个批改--> 粘贴,这个过程会破费很多工夫。
当初您能够应用musk-clone以节俭您的工夫!
个性
依据传入的数据,疾速生成一份雷同数据结构的数据,用于开发阶段疾速结构mock数据
- source次要反对最常见的两种类型,对象类型和数组类型,反对深层嵌套
- 仅对根本类型string,number,boolean进行转换,其余均返回具备新内存地址的原值
装置
yarn add -D musk-clone
应用
根本应用
import muskClone from 'musk-clone'const src = ["foo", 1, true]const target = muskClone(src);console.log(target); // ["foo-0v3DrX7hoOqIFaQeMDDaF", 71, true],
罕用场景
import muskClone from 'musk-clone'const src = [ { foo: "str", bar: 1, val: true }, { foo: "str1", bar: 2, val: false },]const target = muskClone(src);console.log(target); // [// { foo: "str-jHGKjWz3kz0ome5-tl6MS", bar: 36, val: false },// { foo: "str1-LqOPbB5xXYKXV8hmBB_Q6", bar: 2, val: true }// ]
API
muskClone(source)
source
- {[key: string]: any} | Array<{[key: string]: any}>
示例
数组
["foo", 1, true]=>["foo-0v3DrX7hoOqIFaQeMDDaF", 71, false]
对象
{ foo: "str", bar: 1, val: true }=>{ foo: "str-I5s0VjK7209eBqV6QYUeJ", bar: 68, val: true}
对象数组
[ { foo: "str", bar: 1, val: true }]=>[ { foo: "str-eALWWUK2tsA6sn_aSAB3I", bar: 38, val: false }]
简单嵌套数据结构
[ { foo: "str", bar: 1, val: true, nest: [ { baz: 2 } ] }]=>[ { foo: "str-67nhBc5A9cDZl3dQ7L48c", bar: 42, val: true, nest: [ { baz: 74 } ] }]
其它
欢送提PR和issue
License
MIT.