Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@jsmini/clone

jsmini83MIT0.6.0TypeScript support: included

A professional deep clone library

readme

clone

license CI npm NPM downloads Percentage of issues still open

A professional deep clone library.

English | 简体中文

Environment Support

unit test ensure it supports the following environments.

IE/Edge Chrome Firefox Safari Opera IOS Android Node
6+ 23+ 4+ 6+ 10+ 5+ 2.3+ 0.10+

Directory

.
├── demo
├── dist  # production code
├── doc   # document
├── src   # source code
├── test  # unit test
├── CHANGELOG.md
└── TODO.md

Usage

npm installation

$ npm install --save @jsmini/clone

Node.js

var name = require('@jsmini/clone').name;

webpack

import { name } from '@jsmini/clone';

Require.js

requirejs(
  ['node_modules/@jsmini/clone/dist/index.aio.js'],
  function (jsmini_clone) {
    var name = jsmini_clone.name;
  },
);

Browser

<script src="node_modules/@jsmini/clone/dist/index.aio.js"></script>

<script>
  var name = jsmini_clone.name;
</script>

Document

Contributing Guide PRs welcome

when initialize, install dependencies

$ npm install

builds your code for production to build folder

$ npm run build

run unit test. notice: borwser enviroment need to test manually. test file is in test/browser

$ npm test

change the version in package.json and README.md, add your description in CHANGELOG.md, and then release it happily.

$ npm run release

publish the new package to npm

$ npm publish --access=public

rename project. you need to edit project name when initialize project or anytime you want to rename the project . you need to rename formName and toname in file rename.js,which will automatically rename project name in the following files

  • README.md
  • package.json
  • config/rollup.js
  • test/browser/index.html
$ npm run rename # rename command

Contributors

contributors

CHANGELOG

CHANGELOG.md

TODO

TODO.md

who is using

changelog

变更日志

0.6.0 / 2023-11-19

  • 升级 jslib-base 2.3.2
  • 支持 sourceMap
  • fix: 支持 node >=14.0.0

0.5.0 / 2023-9-24

  • 升级最新版 jslib-base
  • 支持 Node.js ESM
  • 升级 @jsmini/type

0.4.2 / 2019-10-10

  • fix: 修复丢失d.ts的问题

0.4.0 / 2019-3-2

  • 增加.d.ts文件,支持ts调用

0.3.1 / 2019-3-2

  • fix: 修复cloneJSONie8下报错

0.3.0 / 2018-10-18

  • 高级浏览器下,引入weakmap,将cloneForce性能提升100%

0.2.0 / 2018-10-17

  • cloneForce性能由O(n^2)优化到O(n)

0.1.1 / 2018-10-14

  • 修复cloneForce 提前终止循环的bug

0.1.0 / 2018-10-10

  • 添加 clone()
  • 添加 cloneJSON()
  • 添加 cloneLoop()
  • 添加 cloneForce()