Comments (8)
Have a look at filters. I think something like this will work:
var Confidence = require('confidence');
var config = {
plugins: {
'$filter': 'phase',
'$default': { },
'$base': {
other: { }
},
local: {
blipp: {
showAuth: true
}
}
}
}
var store = new Confidence.Store(config);
console.log(store.get('/', { phase: 'local' })); // { plugins: { other: {}, blipp: { showAuth: true } } }
console.log(store.get('/', { phase: 'something-else' })); // { plugins: { other: {} } }
from confidence.
thanks, @mtharrison - that is exactly the way to do this.
lemme know if you have any question, @netei
from confidence.
Thanks that works well. I wasn't aware of the "$base" key, or at least didn't thought about it.
from confidence.
Is it possible to do the same with arrays ?
Eg
var config = {
plugins: {
'$filter': 'phase',
'$default': [{"key2":"val2"}],
'$base': [{"key1":"val1"}],
local: [{"key3":"val3"}],
}
}
and have as a result the concatenated arrays ?
from confidence.
It seems that it isn't possible with the current implementation to do that. Would you accept a pull request that would allow for this ?
from confidence.
Almost certainly, but I am not quire sure what you expect the value to be - the arrays being merged?
from confidence.
I would expect to get
console.log(store.get('/', { phase: 'local' }));
// [{"key1": "val1"}, {"key3", : "val3"}]
console.log(store.get('/', { phase: 'other' }));
// [{"key1": "val1"}, {"key2", : "val2"}]
from confidence.
yeah, PR for that would be good
from confidence.
Related Issues (20)
- Publish on npm as @hapipal scoped package
- Replace ALCE file format usage in CLI
- Reorganize documentation for org-wide consistency
- Move from yargs to bossy
- Should we remove $env? HOT 6
- Should we remove Confidence.id.generate() and Confidence.id.criteria()? HOT 8
- How to perform logical operations? HOT 6
- Interest in CLI documentation? HOT 2
- Using 0 as default for coerce number returns undefined HOT 4
- Allow pulling values from criteria into store HOT 5
- New maintainer? HOT 6
- Manifest TLS options never work HOT 1
- Either allow matching "$undefined" or any non-falsy criteria value HOT 1
- Add support for environment variables in filters and values
- Remove module from hapi.js organization HOT 5
- Update hapi core modules to namespaced versions.
- Update deps
- Null values when filtering array items HOT 1
- $coerce array HOT 2
- Drop support for node v10 and below HOT 4
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 confidence.