Skip to content

Latest commit

 

History

History
157 lines (106 loc) · 3.63 KB

README-zh_CN.md

File metadata and controls

157 lines (106 loc) · 3.63 KB

license CI npm NPM downloads Percentage of issues still open

最好用的深层取值赋值库,支持 Object、Array 和 Map。

Engilsh | 简体中文

虽然深层取值我们可以使用ES新的?语法,避免报错,如下所示:

const a = { b: { c: 1 } };
console.log(a?.b?.c); // 1

但对于深层赋值操作,我们就无能为力了,如下所示:

const a = {};
a?.b?.c = 1; // 报错

但是使用本库,我们可以轻松实现深层取值和赋值,如下所示:

import { get, set } from '@jsmini/anypath';

const a = {};
set(a, 'b.c', 1);
console.log(get(a, 'b.c')); // 1

支持 Object、Array 和 Map,如下所示:

import { set } from '@jsmini/anypath';

const a = {};
set(a, 'b:map.c[].0', 1);

兼容性

单元测试保证支持如下环境:

IE CH FF SF OP IOS 安卓 Node
6+ 23+ 4+ 6+ 10+ 5+ 2.3+ 0.10+

目录介绍

.
├── demo 使用demo
├── dist 编译产出代码
├── doc 项目文档
├── src 源代码目录
├── test 单元测试
├── CHANGELOG.md 变更日志
└── TODO.md 计划功能

如何使用

通过npm下载安装代码

$ npm install --save @jsmini/anypath

如果你是node环境

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

如果你是webpack等环境

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

如果你是浏览器环境

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

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

文档

贡献指南 PRs welcome

首次运行需要先安装依赖

$ npm install

一键打包生成生产代码

$ npm run build

运行单元测试,浏览器环境需要手动测试,位于test/browser

$ npm test

修改package.json中的版本号,修改README.md中的版本号,修改CHANGELOG.md,然后发布新版

$ npm run release

将新版本发布到npm

$ npm publish

重命名项目名称,首次初始化项目时需要修改名字,或者后面项目要改名时使用,需要修改rename.js中的fromNametoName,会自动重命名下面文件中的名字

  • README.md 中的信息
  • package.json 中的信息
  • config/rollup.js 中的信息
  • test/browser/index.html 中的仓库名称
$ npm run rename # 重命名命令

贡献者列表

contributors

更新日志

CHANGELOG.md

计划列表

TODO.md

谁在使用