https://github.com/onface/spare
https://github.com/onface/spare
Last synced: 13 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/onface/spare
- Owner: onface
- Created: 2017-06-21T02:17:38.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-08-07T06:39:52.000Z (almost 8 years ago)
- Last Synced: 2025-04-21T05:06:46.136Z (about 1 month ago)
- Language: JavaScript
- Size: 9.77 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# spare
> spare wheel
---
set default value syntactic sugar & set defaultSettings
```js
spare(data, attr?, defaultValue)
spare.settings(defaultSettings, userSettings)
// spare.settings equal: extend(true, extend(true, {}, defaultSettings), userSettings)
```## install
```shell
npm install sparejs
``````html
var spare = window.pkgzip.sparejs
```## Example
```js
spare(user, 'nimo')
// equal
typeof user === 'undefined'? 'nimo': userspare(undefined, 'some')
// "some"spare('nimo', 'some')
// "nimo"var list
spare(list, ['1'])
// ['1']
``````js
var self = {
state: {
form: {
nickname: 'Nico'
}
}
}
spare(self.state.form, 'user.name', 'defaultValue')
// "defaultValue"spare(self.state.form, 'nickname', 'defaultValue')
// "Nico"
```## set
### Object
```js
var defaultValue = {
name: 'nimo',
age: 24,
child: {
'xxx': {
age: 0,
name: 'xxx'
}
}
}
``````js
spare.settings(
defaultValue
,
{
name: 'tim'
}
)
/* - result
{
name: 'tim',
age: 24,
child: {
'xxx': {
age: 0,
name: 'xxx'
}
}
}
*/
``````js
spare.settings(
defaultValue
,
{
child: {
xxx: {
age: 1
}
}
}
)
/* - result
{
name: 'nimo',
age: 24,
child: {
'xxx': {
age: 1,
name: 'xxx'
}
}
}
*/
```### Array
```js
spare.settings(
[1],
[2,3]
)
// [2,3]
``````js
spare.settings(
[1],
[]
)
// [1]
``````js
spare.settings(
[1, [2]],
[undefined,[3]]
)
// [1,[3]]
``````js
spare.settings(
[1, [2,10]],
[undefined,[3,4,5]]
)
// [1,[3,4,5]]
```