react-moment-proptypes

    1.8.1 • Public • Published

    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.

    Install

    npm i react-moment-proptypes

    DownloadsWeekly Downloads

    558,440

    Version

    1.8.1

    License

    MIT

    Unpacked Size

    51.6 kB

    Total Files

    21

    Last publish

    Collaborators

    • calebmorris
    • caleb.morris