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.