Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/echamudi/require-wat
Easily import functions from WebAssembly WAT file to JS file
https://github.com/echamudi/require-wat
Last synced: about 2 months ago
JSON representation
Easily import functions from WebAssembly WAT file to JS file
- Host: GitHub
- URL: https://github.com/echamudi/require-wat
- Owner: echamudi
- License: apache-2.0
- Created: 2019-10-08T12:21:20.000Z (over 5 years ago)
- Default Branch: develop
- Last Pushed: 2022-12-30T18:49:31.000Z (about 2 years ago)
- Last Synced: 2024-11-07T09:05:30.851Z (2 months ago)
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/require-wat
- Size: 49.8 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Require WAT
Reads a WebAssembly WAT file and return the exports object.
## Releases
Please check [releases](https://github.com/echamudi/require-wat/releases) for stable versions.
The develop branch contains latest development changes that might be unstable.## Usage
Prepare your WAT file (`add.wat`)
```wat
(module
;; Addition
(func $add (param $a i32) (param $b i32) (result i32)
local.get $a
local.get $b
i32.add
)
;; Export function
(export "add" (func $add))
)
```Load the wat synchronously:
```js
const { requireWat } = require('require-wat');
const { add } = requireWat('./add.wat');let result = add(1, 2);
console.log('1 + 2 is ' + result); // 1 + 2 is 3
```or asynchronously:
```js
const { requireWatAsync } = require('require-wat');requireWatAsync('./add.wat')
.then((wasmExports) => {
const { add } = wasmExports;
let result = add(1, 2);console.log('1 + 2 is ' + result); // 1 + 2 is 3
});
```
Please check test folder for more examples## Development
| Branch | Status |
| - | - |
| master | [![Build Status](https://travis-ci.org/echamudi/require-wat.svg?branch=master)](https://travis-ci.org/echamudi/require-wat) |
| develop | [![Build Status](https://travis-ci.org/echamudi/require-wat.svg?branch=develop)](https://travis-ci.org/echamudi/require-wat) |### Testing
```
npm test
```## Contributing
This project is following [git-flow branching model](https://github.com/echamudi/echamudi-docs/blob/master/git-strategy/gitflow.png).
- Please create a branch from `develop`.
- Name it something descriptive other than `master`, `develop`, `release-*`, or `hotfix-*`.
- Open a pull request to `develop`.Make sure your contributions are compatible with the license of this project.
## Authors
* **Ezzat Chamudi** - [echamudi](https://github.com/echamudi)
See also the list of [contributors](https://github.com/echamudi/require-wat/graphs/contributors) who participated in this project.
## License
Copyright © 2020 [Ezzat Chamudi](https://github.com/echamudi) and [Require WAT Project Authors](https://github.com/echamudi/require-wat/graphs/contributors)
Require WAT code is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0). Images, logos, docs, and articles in this project are released under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode).
Libraries, dependencies, and tools used in this project are tied with their licenses.