Security News
Combatting Alert Fatigue by Prioritizing Malicious Intent
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
fluxible-resolver
Advanced tools
Takes an object of resolvers, keyed by the name of the prop they are resolving, and doesn't render the underlying component until all data is available.
fluxible-resolver is built on top of react-resolver and connectToStores, allowing you to fetch prop values asynchronously before rendering your component, using fluxible actions and stores. In addition, you can declare dependencies on other resolvers so you can assume they are available when resolving your depenent prop.
You can think of fluxible-resolve like a CDN. When a request comes in first we check if we already have the content stored in our cache. If so, great, return the content. If not, fetch it from the original source. In this case, the incoming request is React rendering your component, the cache is getStateFromStores
+ isResolved
, and the http client that fetches from the original source is resolver
.
Takes an object of resolvers, keyed by the name of the prop they are resolving, and doesn't render the underlying component until all data is available.
Array<String>
: optional array of strings, naming either props (must be specified via propTypes) or other resolvers.(FluxibleContext, Array<any>): any
: required function that takes context and dependency values and returns the current value for the prop.(any, Array<any>): boolean
: optional function which takes the current value and the dependency values and returns whether the prop value is available.(FluxibleContext, Array<any>): Promise
: required fluxible action that takes the arry of dependency values as the payload and fetches the value.Array<FluxibleStore | String>
: required array of fluxible stores, or store names.import { resolveToStores } from 'fluxible-resolver';
const resolvers = {
propName: {
dependencies: [], // optional
getStateFromStores: (context, dependencyValues) => context.getStore(PropStore).getValue(),
isResolved: (currentValue, dependencyValues) => !!currentValue, // optional - by default checks if currentValue is defined
resolver: (context, dependencyValues) => context.executeAction(fetchPropValue),
stores: [PropStore] // getStateFromStores can only call context.getStore for stores listed here
}
};
/**
* propTypes are optional, but are required if you want a resolver to depend
* on a prop passed to the container rather than depending on another resolver
**/
const propTypes = {
};
const Container = resolveToStores(resolvers, propTypes)(Component);
FAQs
Takes an object of resolvers, keyed by the name of the prop they are resolving, and doesn't render the underlying component until all data is available.
The npm package fluxible-resolver receives a total of 40 weekly downloads. As such, fluxible-resolver popularity was classified as not popular.
We found that fluxible-resolver demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.