Expose valueOf on Bool (aligns with Boolean) (#336)

* Expose valueOf on Bool (aligns with Boolean)

* Bool constructor allows Boolean
This commit is contained in:
Jaco Greeff
2018-10-22 15:07:28 +02:00
committed by GitHub
parent 8b0afadeff
commit d2eb6e5e5b
+8 -3
View File
@@ -7,18 +7,19 @@ import { isU8a } from '@polkadot/util';
import Base from './codec/Base';
export default class Bool extends Base<boolean> {
constructor (value: Bool | boolean = false) {
constructor (value: Bool | Boolean | boolean = false) {
super(
Bool.decodeBool(value)
);
}
static decodeBool (value: any): boolean {
if (value instanceof Bool) {
return value.raw;
if (value instanceof Bool || value instanceof Boolean) {
return value.valueOf();
} else if (isU8a(value)) {
return value[0] === 1;
}
return !!value;
}
@@ -37,4 +38,8 @@ export default class Bool extends Base<boolean> {
toString (): string {
return `${this.raw}`;
}
valueOf (): boolean {
return this.raw;
}
}