react-moment-proptypes

WebJar for react-moment-proptypes

License

License

MIT
Categories

Categories

React User Interface Web Frameworks
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

react-moment-proptypes
Last Version

Last Version

1.7.0
Release Date

Release Date

Type

Type

jar
Description

Description

react-moment-proptypes
WebJar for react-moment-proptypes
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/CalebMorris/react-moment-proptypes

Download react-moment-proptypes

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/react-moment-proptypes/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>react-moment-proptypes</artifactId>
    <version>1.7.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/react-moment-proptypes/
implementation 'org.webjars.npm:react-moment-proptypes:1.7.0'
// https://jarcasting.com/artifacts/org.webjars.npm/react-moment-proptypes/
implementation ("org.webjars.npm:react-moment-proptypes:1.7.0")
'org.webjars.npm:react-moment-proptypes:jar:1.7.0'
<dependency org="org.webjars.npm" name="react-moment-proptypes" rev="1.7.0">
  <artifact name="react-moment-proptypes" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='react-moment-proptypes', version='1.7.0')
)
libraryDependencies += "org.webjars.npm" % "react-moment-proptypes" % "1.7.0"
[org.webjars.npm/react-moment-proptypes "1.7.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : moment jar [1.6.0,)

Project Modules

There are no modules declared in this project.

react-moment-proptypes

Build Status Coverage Status

A React Proptype Validator to check if passed prop is a moment.js construct

Example

var momentPropTypes = require('react-moment-proptypes');

var TestClass = React.createClass({
  propTypes : {
    dateThing : momentPropTypes.momentObj,
    dateThingWithPredicate : momentPropTypes.momentObj.withPredicate(
      function isUTC(momentObject) {
        return momentObject.isUTC();
      }
    ),
    stringThing : momentPropTypes.momentString,
    durationThing: momentPropTypes.momentDurationObj,
  },

  render : function() {
    return null
  },
});

// Class Use
<TestClass dateThing={moment()}
           dateThingWithPredicate={moment.utc()}
           stringThing={'12-12-2014'}
           durationThing={moment.duration(3, 'hours')}/>

Moment Configuration

createFromInputFallback

Moment provides a moment.createFromInputFallback method you can define to create additional parsing rules.

With some versions of moment you may receive the following console warning:

Deprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.
Arguments:
[0] _isAMomentObject: true, _isUTC: false, _useUTC: false, _l: undefined, _i: not a date, _f: undefined, _strict: undefined, _locale: [object Object]
Error
    at [... stack trace]

Example implementations can be found at the given documentation link.

Tests

Tests were approached with enzyme and React's test utility renderer

  • npm test for running unit and integration tests
  • npm run coverage for current test coverage

Moment Versions

  • npm run test-all to test against tested moment version (1.6.0, 1.7.0, current)

If there is a desire for varying moment legacy support I'm willing to add it, but will stick to YAGNI until then.

Versions

Version
1.7.0
1.6.0
1.2.0