update AS

This commit is contained in:
DieMyst 2019-08-12 19:08:12 +03:00
parent 5a3136aa3e
commit b4dcd9bb99
3 changed files with 31 additions and 4580 deletions

View File

@ -72,20 +72,20 @@ export class ByteInvoke {
return resultBytes; return resultBytes;
} }
sendBytes(localPtr: i32, len: i32): i32 { sendBytes(buffer: Uint8Array): i32 {
let addr = this.api.allocate(len); let addr = this.api.allocate(buffer.byteLength);
for (let i = 0; i < len; i++) { for (let i = 0; i < buffer.byteLength; i++) {
let b: u8 = load<u8>(localPtr + i) as u8; let b: u8 = buffer[i];
this.api.store(addr + i, b); this.api.store(addr + i, b);
} }
return addr; return addr;
} }
invoke(ptr: i32, len: i32): Uint8Array { invoke(buffer: Uint8Array): Uint8Array {
let requestPtr = this.sendBytes(ptr, len); let requestPtr = this.sendBytes(buffer);
let resultPtr = this.api.invokeImpl(requestPtr, len); let resultPtr = this.api.invokeImpl(requestPtr, buffer.byteLength);
return this.getBytes(resultPtr); return this.getBytes(resultPtr);
} }
} }
@ -99,11 +99,10 @@ export class StringInvoke {
} }
invoke(request: string): string { invoke(request: string): string {
let utf8ptr = request.toUTF8(); let buffer = String.UTF8.encode(request);
let len = request.length;
let resultBytes = this.byteInvoker.invoke(utf8ptr, len); let resultBytes = this.byteInvoker.invoke(Uint8Array.wrap(buffer));
return String.fromUTF8(resultBytes.buffer.data, resultBytes.length); return String.UTF8.decode(resultBytes.buffer);
} }
} }

4566
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,31 +1,15 @@
{ {
"name": "db-connector", "name": "db-connector",
"version": "0.0.1", "version": "0.0.2",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"asbuild:untouched": "asc assembly/index.ts -b build/untouched.wasm -t build/untouched.wat --sourceMap --validate --debug", "asbuild:untouched": "asc assembly/index.ts -b build/untouched.wasm -t build/untouched.wat --sourceMap --validate --debug --runtime stub",
"asbuild:optimized": "asc assembly/index.ts -b build/optimized.wasm -t build/optimized.wat --sourceMap --validate --optimize" "asbuild:optimized": "asc assembly/index.ts -b build/optimized.wasm -t build/optimized.wat --sourceMap --validate --optimize --runtime stub"
}, },
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {
"@types/node": "^10.12.3", "assemblyscript": "assemblyscript/assemblyscript"
"assemblyscript": "github:fluencelabs/assemblyscript",
"ava": "^1.4.1",
"ts-node": "^7.0.1",
"typescript": "^3.1.6"
},
"ava": {
"compileEnhancements": true,
"extensions": [
"ts"
],
"require": [
"ts-node/register/transpile-only"
],
"files": [
"tests/**/*.spec.ts"
]
} }
} }