1.3.0 • Published 10 years ago

ignore-if v1.3.0

Weekly downloads
2
License
MIT
Repository
github
Last release
10 years ago

ignore-if

Version Build Status License Downloads

A higher-order function that allows you to ignore higher-order function when a condition is met, such as NODE_ENV === 'test'.

Installation

$ npm install --save-dev ignore-if

Usage

One use case for this is in React when you want to wrap your component in a higher-order component, but you'd like to ignore the wrapper in testing. This is useful for things like react-css-modules.

import cssModules from 'react-css-modules'
import ignoreIf from 'ignore-if'
import styles from './styles.css'

class MyComponent {
  render() {
    return <div></div>
  }
}

const isTest = process.env.NODE_ENV === 'test'

export default ignoreIf(isTest, cssModules(MyComponent, styles)))

Automatically Curried

If you omit the second argument, the wrapper, ignoreIf will automatically return a curried function that allows you to call it again with the second argument:

import cssModules from 'react-css-modules'
import ignoreIf from 'ignore-if'
import styles from './styles.css'

const ignoreIfTest = ignoreIf(process.env.NODE_ENV === 'test')

class MyComponent {
  render() {
    return <div></div>
  }
}

export default ignoreIfTest(cssModules(MyComponent, styles)))

Compose and Pipe

You can use this tool easily with compose() or pipe() from functional libraries like Ramda:

import {pipe} from 'ramda'
import connect from 'react-redux'
import cssModules from 'react-css-modules'
import ignoreIf from 'ignore-if'
import styles from './styles.css'

const ignoreIfTest = ignoreIf(process.env.NODE_ENV === 'test')

class MyComponent {
  render() {
    return <div></div>
  }
}

export default pipe(
  ignoreIfTest(cssModules(styles)),
  connect()
)(MyComponent)

License

The MIT License (MIT)

Copyright (c) 2015 Brainspace Corporation

1.3.0

10 years ago

1.2.0

10 years ago

1.1.0

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago