mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-15 07:51:32 +00:00
Utilities and an initial webpack loader
This commit is contained in:
17
lib/utils/README.md
Normal file
17
lib/utils/README.md
Normal file
@ -0,0 +1,17 @@
|
||||
 utils
|
||||
=================
|
||||
|
||||
Utilities for working with [AssemblyScript](http://assemblyscript.org) modules.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
```js
|
||||
import utils from "@assemblyscript/utils";
|
||||
|
||||
var myModule = ...;
|
||||
|
||||
var helpers = utils(myModule);
|
||||
|
||||
var str = helpers.getString(myModule.exportReturningAString());
|
||||
```
|
21
lib/utils/index.js
Normal file
21
lib/utils/index.js
Normal file
@ -0,0 +1,21 @@
|
||||
module.exports = function(module) {
|
||||
return {
|
||||
getI32: function(ptr) {
|
||||
return new Int32Array(module.memory.buffer, ptr, 4)[0];
|
||||
},
|
||||
getU32: function(ptr) {
|
||||
return new Uint32Array(module.memory.buffer, ptr, 4)[0];
|
||||
},
|
||||
getF32: function(ptr) {
|
||||
return new Float32Array(module.memory.buffer, ptr, 4)[0];
|
||||
},
|
||||
getF64: function(ptr) {
|
||||
return new Float64Array(module.memory.buffer, ptr, 8)[0];
|
||||
},
|
||||
getString: function(ptr) {
|
||||
var len = new Uint32Array(module.memory.buffer, ptr, 4)[0];
|
||||
var str = new Uint16Array(module.memory.buffer, ptr + 4, len << 1);
|
||||
return String.fromCharCode.apply(String, str);
|
||||
}
|
||||
}
|
||||
};
|
6
lib/utils/package.json
Normal file
6
lib/utils/package.json
Normal file
@ -0,0 +1,6 @@
|
||||
{
|
||||
"name": "@assemblyscript/utils",
|
||||
"version": "0.5.0",
|
||||
"description": "Utilities for working with AssemblyScript modules.",
|
||||
"license": "Apache-2.0"
|
||||
}
|
Reference in New Issue
Block a user