Skip to content

Latest commit

 

History

History
67 lines (45 loc) · 963 Bytes

README.md

File metadata and controls

67 lines (45 loc) · 963 Bytes

babel-plugin-pipe-operator

Overload the pipe operator (|) to provide Elixir/F#/Shell-like behavior

Examples

import { map, filter } from 'lodash';

const array = [1, 2, 3, 4, 5];

array
| map(n => n * 2)
| filter(n => n % 3 == 0);

Disabling in current scope

If you want to use the original pipe operator, you can disable this plugin in current scope (and it children scopes) using "no pipe" directive

const fn = () => {
  const arr = [1, 2, 3] | map(n => n + 1);

  return () => {
    "no pipe";

    arr.map(n => n | 1);
  };
};

Installation

$ npm install --save-dev babel-plugin-pipe-operator

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["pipe-operator"]
}

Via CLI

$ babel --plugins pipe-operator script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["pipe-operator"]
});

License

MIT