Git Product home page Git Product logo

cond's Introduction

Cond

Lisp-like conditional statement for JSX

Installation

npm install yuanchuan/cond --save

Examples

like if statement
import { cond } from '@yuanchuan/cond';

<div>
  { cond(n > 0,
      (<div>hello world</div>)
  )}
</div>
like if...else statement
<div>
  { cond(
      n > 0, (<div>hello world</div>),
      true,  (<div>nothing</div>)
  )}
</div>
like if...else if... statement
<div>
  { cond(
      n == 3, (<div>hello world</div>),
      n == 6, (<div>something</div>),
      n == 9, (<div>something else</div>),
      true,   (<div>default</div>)
  )}
</div>

Shortcuts

If
import { If } from '@yuanchuan/cond';

<div>
  { If(n > 0,
      (<div>hello world</div>)
  )}
</div>
If...else
<div>
  { If(n > 0,
      (<div>hello world</div>),
      (<div>something else</div>)
  )}
</div>
unless
import { unless } from '@yuanchuan/cond';

<div>
  { unless(n != 0,
      (<div>hello world</div>)
  )}
</div>

Extend cond

let condOdd = cond((a, b) => (a % 2 ? b : null));

<div>
  { condOdd(number, (
      <div>odd number</div>
  )}
</div>
let condThenWrap = cond((a, b) => {
  if (a) {
    return (
      <div className="deepNested">
        { b }
      </div>
    );
  }
});

<div>
  { condThenWrap(
      n == 3, (<div>hello world</div>),
      n == 6, (<div>something</div>),
      n == 9, (<div>something else</div>),
      true,   (<div>default</div>)
  )}
</div>

License

MIT

cond's People

Contributors

yuanchuan avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.