Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

jsmini/anypath

Repository files navigation

license CI npm NPM downloads Percentage 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:

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

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

const a = {};
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';
const a = {};
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';
const a = {};
set(a, 'b:map.c[].0', 1);

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

Node.js

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

webpack

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

Browser

<script src="node_modules/@jsmini/anypath/dist/index.aio.js"></script>
<script>
 var name = 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

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /