ton-assembly
Version:
TON assembler and disassembler
49 lines • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.serializeStackElement = exports.serializeStack = void 0;
const serializeStack = (stack) => {
return "[" + stack.map(it => (0, exports.serializeStackElement)(it)).join(" ") + "]";
};
exports.serializeStack = serializeStack;
const serializeStackElement = (element) => {
switch (element.$) {
case "Null":
return "()";
case "NaN":
return "NaN";
case "Integer":
return element.value.toString();
case "Tuple":
return "[ " + element.elements.map(it => (0, exports.serializeStackElement)(it)).join(" ") + " ]";
case "Unknown":
return element.value;
case "Cell":
return "C{" + element.boc + "}";
case "Continuation":
return "Cont{" + element.name + "}";
case "Builder":
return "BC{" + element.hex + "}";
case "Slice":
if (element.startBit === 0 && element.endBit === 0) {
return "CS{" + element.hex + "}";
}
return ("CS{Cell{" +
element.hex +
"} bits:" +
element.startBit +
".." +
element.endBit +
";" +
"refs:" +
element.startRef +
".." +
element.endRef +
"}");
case "Address":
return "CS{" + element.value + "}";
default:
return "";
}
};
exports.serializeStackElement = serializeStackElement;
//# sourceMappingURL=stack.js.map