[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[DIR]src/2023-06-15 18:19 -  
[DIR]test/2023-06-15 18:19 -  
[TXT]README.md1985-10-26 08:15 2.4Kd7c1522 post receive test [كارل مبارك]
[TXT]index.d.ts1985-10-26 08:15 1.2K 
[   ]package.json2023-06-15 18:21 2.9K 
[   ]shippable.yaml1985-10-26 08:15 429  
# react-moment-proptypes

[![Build
Status](https://travis-ci.org/CalebMorris/react-moment-proptypes.svg?branch=master)](https://travis-ci.org/CalebMorris/react-moment-proptypes)
[![Coverage Status](https://coveralls.io/repos/CalebMorris/react-moment-proptypes/badge.svg?branch=master&service=github)](https://coveralls.io/github/CalebMorris/react-moment-proptypes?branch=master)

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

# Example

``` jsx
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](http://momentjs.com/guides/#/warnings/js-date/).


# 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.