关于前端:像特斯拉CEO马斯克一样快速生成mock克隆数据

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.

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理