ethers.js/packages/abi/src.ts/coders/string.ts

26 lines
576 B
TypeScript
Raw Normal View History

2019-05-15 01:25:46 +03:00
"use strict";
import { toUtf8Bytes, toUtf8String } from "@ethersproject/strings";
import { Reader, Writer } from "./abstract-coder";
import { DynamicBytesCoder } from "./bytes";
export class StringCoder extends DynamicBytesCoder {
constructor(localName: string) {
super("string", localName);
}
defaultValue(): string {
return "";
}
2019-05-15 01:25:46 +03:00
encode(writer: Writer, value: any): number {
return super.encode(writer, toUtf8Bytes(value));
}
decode(reader: Reader): any {
return toUtf8String(super.decode(reader));
}
}