@taquito/michelson-encoder
Version:
Michelson encoding and decoding utilities for Taquito.
60 lines (59 loc) • 1.52 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BoolToken = void 0;
const token_1 = require("../token");
class BoolToken extends token_1.ComparableToken {
constructor(val, idx, fac) {
super(val, idx, fac);
this.val = val;
this.idx = idx;
this.fac = fac;
}
Execute(val) {
return String(val.prim).toLowerCase() === 'true' ? true : false;
}
Encode(args) {
const val = args.pop();
return { prim: val ? 'True' : 'False' };
}
EncodeObject(val, semantic) {
if (semantic && semantic[BoolToken.prim]) {
return semantic[BoolToken.prim](val);
}
return { prim: val ? 'True' : 'False' };
}
generateSchema() {
return {
__michelsonType: BoolToken.prim,
schema: BoolToken.prim,
};
}
ToBigMapKey(val) {
return {
key: this.EncodeObject(val),
type: { prim: BoolToken.prim },
};
}
ToKey(val) {
return this.EncodeObject(val);
}
compare(val1, val2) {
if ((val1 && val2) || (!val1 && !val2)) {
return 0;
}
else if (val1) {
return 1;
}
else {
return -1;
}
}
findAndReturnTokens(tokenToFind, tokens) {
if (BoolToken.prim === tokenToFind) {
tokens.push(this);
}
return tokens;
}
}
exports.BoolToken = BoolToken;
BoolToken.prim = 'bool';