Skip to content

Repository files navigation

licenseCInpmNPM downloadsPercentage of issues still open

The best deep value assignment library, supporting Object, Array, and Map.

Engilsh | 简体中文

While we can use the new ? syntax of ES for getting deep values to avoid errors, as shown below:

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

But for assignment operation of deep value, we are powerless, as shown below:

consta={};a?.b?.c=1;// Error

However, by using this library, we can easily carryout getting and setting deep values, as shown below:

import{get,set}from'@jsmini/anypath';consta={};set(a,'b.c',1);console.log(get(a,'b.c'));// 1

supporting Object, Array, and Map,as shown below:

import{set}from'@jsmini/anypath';consta={};set(a,'b:map.c[].0',1);

Environment Support

unit test ensure it supports the following environments.

IE/EdgeChromeFirefoxSafariOperaIOSAndroidNode
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/anypath

Node.js

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

webpack

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

Browser

<scriptsrc="node_modules/@jsmini/anypath/dist/index.aio.js"></script><script>varname=jsmini_anypath.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

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

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages