| 12345678910111213141516171819202122232425262728293031 |
- const {execSync} = require('child_process');
- const {readFileSync, writeFileSync} = require('fs');
- const willPaste = process.argv[2] === '1';
- const sourceFile = process.argv[2];
- let sourceContent = (() => {
- if(willPaste) {
- return execSync('pbpaste', {encoding: 'utf8'});
- }
- if(sourceFile) {
- return readFileSync(sourceFile, 'utf8');
- }
- })();
- if(sourceContent) {
- const path = `${__dirname}/src/scripts/in/schema.json`;
- const schemaIn = readFileSync(path, 'utf8');
- const replaced = schemaIn.replace(/("API": ).+?(,\n)/, `$1${sourceContent}$2`);
- writeFileSync(path, replaced);
- }
- execSync(`node ${__dirname}/src/scripts/format_schema.js`);
- const formattedSchema = readFileSync(`${__dirname}/src/scripts/out/schema.json`, 'utf8');
- const schemaTsPath = `${__dirname}/src/lib/mtproto/schema.ts`;
- const schemaTs = readFileSync(schemaTsPath, 'utf8');
- const replaced = schemaTs.replace(/(export default )\{.+?( as )/, `$1${formattedSchema}$2`);
- writeFileSync(schemaTsPath, replaced);
- execSync(`npm run generate-mtproto-types`);
|