'use strict';
const fs = require('fs');
const multiLineDeclarationRegex = new RegExp(
'^declare type (\\S+) = \\{$(.*?)^\\}',
'smg',
);
const singleLineDeclarationRegex = new RegExp(
'^declare type (\\S+) = \\{\\s*\\}',
'mg',
);
exports.main = function (args ) {
const stdinBuffer = fs
.readFileSync(0, 'utf-8')
.replace(multiLineDeclarationRegex, (match, name, contents) => {
return `declare type ${name} = {|${contents}|}`;
})
.replace(singleLineDeclarationRegex, (match, name) => {
return `declare type ${name} = {||}`;
});
fs.writeSync(1, stdinBuffer);
};
exports.main(process.argv);