edacation
Version:
Library and CLI for interacting with Yosys and nextpnr.
21 lines • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.formatArguments = exports.FILE_EXTENSIONS_HDL = exports.FILE_EXTENSIONS_VHDL = exports.FILE_EXTENSIONS_VERILOG = exports.decodeJSON = exports.decodeText = exports.encodeJSON = exports.encodeText = void 0;
const textEncoder = new TextEncoder();
const textDecoder = new TextDecoder();
const encodeText = (input) => textEncoder.encode(input.endsWith('\n') ? input : `${input}\n`);
exports.encodeText = encodeText;
const encodeJSON = (input, pretty = false) => (0, exports.encodeText)(JSON.stringify(input, undefined, pretty ? 4 : undefined));
exports.encodeJSON = encodeJSON;
const decodeText = (input) => textDecoder.decode(input);
exports.decodeText = decodeText;
const decodeJSON = (input) => JSON.parse((0, exports.decodeText)(input));
exports.decodeJSON = decodeJSON;
exports.FILE_EXTENSIONS_VERILOG = ['v', 'vh', 'sv', 'svh'];
exports.FILE_EXTENSIONS_VHDL = ['vhd', 'vhdl'];
exports.FILE_EXTENSIONS_HDL = [...exports.FILE_EXTENSIONS_VERILOG, ...exports.FILE_EXTENSIONS_VHDL];
const formatArguments = (args) => args.reduce((prev, arg) => arg.startsWith('--')
? [...prev, arg]
: [...prev.slice(0, prev.length - 1), `${prev[prev.length - 1]} ${arg}`], []);
exports.formatArguments = formatArguments;
//# sourceMappingURL=util.js.map