diff options
| author | ruki <waruqi@gmail.com> | 2018-11-08 00:38:48 +0800 |
|---|---|---|
| committer | ruki <waruqi@gmail.com> | 2018-11-07 21:53:09 +0800 |
| commit | 26105034da4fcce7ac883c899d781f016559310d (patch) | |
| tree | c459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/@babel/helpers/README.md | |
| parent | 2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff) | |
| download | xmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip | |
switch to vuepress
Diffstat (limited to 'node_modules/@babel/helpers/README.md')
| -rw-r--r-- | node_modules/@babel/helpers/README.md | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/node_modules/@babel/helpers/README.md b/node_modules/@babel/helpers/README.md new file mode 100644 index 00000000..ce5288bf --- /dev/null +++ b/node_modules/@babel/helpers/README.md @@ -0,0 +1,56 @@ +# @babel/helpers + +> Collection of helper functions used by Babel transforms. + +## Install + +```sh +npm install --save-dev @babel/helpers +``` + +## Usage + +Direct: + +```js +import * as helpers from '@babel/helpers'; +import * as t from '@babel/types'; + +const typeofHelper = helpers.get('typeof'); + +t.isExpressionStatement(typeofHelper); +// true +``` + +Inside a plugin: + +```js +export default { + visitor: { + UnaryExpression(path) { + // The .addHelper function adds, if needed, the helper to the file + // and returns an expression which references the helper + const typeofHelper = this.addHelper("typeof"); + t.isExpression(typeofHelper); // true + } +}; +``` + +## Defining Helpers + +> **NOTE**: This package is only meant to be used by the packages inluded in this repository. There is currently no way for third-party plugins to define an helper. + +Helpers are defined in the `src/helpers.js` file, and they must be valid modules which follow these guidelines: + - They must have a default export, which is their entry-point. + - They can import other helpers, exclusively by using default imports. + - They can't have named exports. + +```js +helpers.customHelper = defineHelper(` + import dep from "dependency"; + const foo = 2; + export default function getFooTimesDepPlusX(x) { + return foo * dep() + x; + } +`); +``` |
