miraks / babel-plugin-pipe-operator

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

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

License:MIT License


Languages

Language:JavaScript 100.0%