UNPKG

fma-snes65816

Version:
114 lines (92 loc) 3.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var SymbolListWriter = function () { function SymbolListWriter(symbols, commands) { (0, _classCallCheck3.default)(this, SymbolListWriter); this.symbols = symbols; this.commands = commands; } (0, _createClass3.default)(SymbolListWriter, [{ key: 'write', value: function write() { var result = []; var pad = "0000"; result.push('#SNES65816'); result.push(''); result.push('[SYMBOL]'); var symbols = this.symbols.all(); for (var name in symbols) { var fullAddress = symbols[name]; var bank = (fullAddress >> 16).toString(16); var address = (fullAddress & 0xFFFF).toString(16); result.push('' + pad.substr(0, 2 - bank.length) + bank + ':' + pad.substr(0, 4 - address.length) + address + ' ' + name + ' ANY 1'); } if (this.commands.allConfigurations().length) { result.push(''); result.push('[CONFIG]'); var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = this.commands.allConfigurations()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var config = _step.value; result.push(config); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } } if (this.commands.all().length) { result.push(''); result.push('[COMMAND]'); var index = 0; var _iteratorNormalCompletion2 = true; var _didIteratorError2 = false; var _iteratorError2 = undefined; try { for (var _iterator2 = this.commands.all()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { var command = _step2.value; var indexStr = index.toString(16); result.push('' + pad.substr(0, 4 - indexStr.length) + indexStr + ' ' + JSON.stringify(command)); index++; } } catch (err) { _didIteratorError2 = true; _iteratorError2 = err; } finally { try { if (!_iteratorNormalCompletion2 && _iterator2.return) { _iterator2.return(); } } finally { if (_didIteratorError2) { throw _iteratorError2; } } } } return result.join("\n"); } }]); return SymbolListWriter; }(); exports.default = SymbolListWriter; //# sourceMappingURL=SymbolListWriter.js.map