Comments (3)
Yeah, there is store._.fn(name, fn)
, and there are plugins here you can use as examples: https://github.com/nbubna/store/tree/master/src
Adding a plugin function using the _.fn
function, ensures that your plugin is available on all store interfaces, including those already created (e.g. store.session
and any namespaces). That said, the functions in your plugin are already covered by this library:
store.remove(key)
already does what yourpull
does exactly, though i realize now it isn't documented: https://github.com/nbubna/store/blob/master/src/store2.js#L171store.has(key)
is documented, but checks for key existence, not just undefined: https://github.com/nbubna/store/blob/master/src/store2.js#L101
Nonetheless, if you want the name "pull" or an "isUndef" function as plugins, i would write them something like this:
(function(_) {
// create "pull" alias for remove
_.fn('pull', function(key) {
return this.remove(key);
};
// create fn to check for undefined values
_.fn('isUndef', function(key) {
return (typeof this.get(key) !== 'undefined');
};
})(window.store._);
I'm going to leave this open, if you don't mind, as a reminder to add a little plugin documentation and update the doc for remove
to point out that it returns any removed value.
from store.
Alright, i updated the README to say that remove returns removed data and add a simple extension example. Thanks!
from store.
Thanks for the info, you even went ahead and converted my code!
from store.
Related Issues (20)
- TypeScript complains that area doesn't exists HOT 8
- 同学,您这个项目引入了319个开源组件,存在14个漏洞,辛苦升级一下 HOT 1
- Ability to change the delimiter? HOT 12
- this is literally a convoluted JSON.parse/JSON.stringify HOT 1
- Cache expires value always undefined HOT 5
- version 2.14.0 is not published to npm HOT 3
- expiration time HOT 1
- Bug: error TS2304: Cannot find name 'index' HOT 1
- Q: Is there any way to bypass JSON.stringfy on .set() HOT 4
- How to get the store namespace value? HOT 1
- How to write .d.ts for extension method(s)? HOT 1
- Is there anyway to obtain what storage I'm passing to the plugin? HOT 2
- How much capacity for storage? HOT 1
- _.replace does not get rich objects HOT 4
- Is this library MIT or GPL-3? HOT 1
- GPL-3 or MIT? HOT 5
- Error in each implementation HOT 3
- Question: Are browser native storage APIs supported? HOT 2
- TypeScript Definitions Issue HOT 21
- store怎么在vue3中使用? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from store.