ignore-if

1.3.0 • Public • Published

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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.3.0
    72
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 1.3.0
    72
  • 1.2.0
    1
  • 1.1.0
    0
  • 1.0.1
    1
  • 1.0.0
    1

Package Sidebar

Install

npm i ignore-if

Weekly Downloads

75

Version

1.3.0

License

MIT

Last publish

Collaborators

  • bkonkle