![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
react-immutable-proptypes
Advanced tools
Readme
PropType validators that work with Immutable.js.
0.1.3 updated package.json to support React v0.11.0+ (including 0.13.1). Thanks Andrey Okonetchnikov!
I got tired of seeing React.PropTypes.instanceOf(Immutable.List)
or React.PropTypes.instanceOf(Immutable.Map)
as PropTypes for components that should be specifying an Immutable.List
of something or an Immutable.Map
shape. A little "googling" came up empty, unless you want to use Flow, which I do not. So, I wrote react-immutable-proptypes
.
Usage is simple, they work with and like any React.PropType.*
validator.
var ImmutablePropTypes = require('react-immutable-proptypes');
var MyReactComponent = React.createClass({
// ...
propTypes: {
myRequiredImmutableList: ImmutablePropTypes.listOf(
ImmutablePropTypes.shape({
someNumberProp: React.PropTypes.number.isRequired
})
).isRequired
}
// ...
});
Installing via npmjs
npm install --save react-immutable-proptypes
React-Immutable-PropTypes has just two validators that cover 100% of my use cases, and probably 99% of everybody's use cases.
ImmutablePropTypes.listOf
is based on React.PropTypes.array
and is specific to Immutable.List
.
ImmutablePropTypes.mapOf
is basically the same as listOf
, but it is specific to Immutable.Map
. I am open to creating an ImmutablePropTypes.iterableOf
that would validate against any Immutable.Iterable
if anybody wants it.
ImmutablePropTypes.shape
is based on React.PropTypes.shape
and will try to work with any Immutable.Iterable
. In practice, I would recommend limiting this to Immutable.Map
or Immutable.OrderedMap
. However, it is possible to abuse shape
to validate an array via Immutable.List
.
// ...
aList: ImmutablePropTypes.shape({
0: React.PropTypes.number.isRequired,
1: React.PropTypes.string.isRequired,
2: React.PropTypes.string
})
// ...
<SomeComponent aList={new Immutable.List([1, '2'])} />
That said, don't do this. Please, just... don't.
These two validators cover the output of Immutable.fromJS
on standard JSON data sources.
Please send a message or, better yet, create an issue/pull request if you know a better solution, find bugs, or want a feature. For example, should listOf
work with Immutable.Seq
or Immutable.Range
. I can think of reasons it should, but it is not a use case I have at the present, so I'm less than inclined to implement it. Alternatively, we could add a validator for sequences and/or ranges.
FAQs
PropType validators that work with Immutable.js.
The npm package react-immutable-proptypes receives a total of 369,192 weekly downloads. As such, react-immutable-proptypes popularity was classified as popular.
We found that react-immutable-proptypes 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.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.