# ES-Worker

javascript AST calcuter.

## how to use
- NPM
```shell
npm install es-worker
```
```javascript
const esworker = require( "es-worker" );
```
```javascript
import * as esworker from "es-worker";
```
- HTML
```html
<script type="text/javascript" src="./dest/browser/esworker.min.js"></script>
<script type="text/javascript">
	const ew = window.esworker;

</script>
```
- ESM
```javascript
import * as esworker from "./src/module.js";
```

## exsample
```javascript
const esworker = require( "es-worker" );
const esprima = require( "esprima" );

const scope = Object.create( null );

esworker.exec( "1 + 1",
{
	"scopes": [ scope ],
	"parser": esprima,

	callback ( event )
	{
		const { result } = event;

	}

	onerror ( error )
	{
		throw error;

	}

} );
```

## use native API
```javascript
const esworker = require( "es-worker" );
const esprima = require( "esprima" );

const scope = Object.create( null );

esworker.exec( "console.log( 'Hello World!' )",
{
	"scopes": [ window/*←deep*/, scope/*shallow→*/ ],
	"parser": esprima

} );
```

## use es6 module
```javascript
const esworker = require( "es-worker" );
const esprima = require( "esprima" );

const scope = Object.create( null );

esworker.exec( "import { add } from './script/add.js'; add( 1, 2 );",
{
	"scopes": [ scope ],
	"parser": esprima

} );
```