83 lines
1.6 KiB
JavaScript
83 lines
1.6 KiB
JavaScript
/*
|
|
* https://github.com/morethanwords/tweb
|
|
* Copyright (C) 2019-2021 Eduard Kuzmenko
|
|
* https://github.com/morethanwords/tweb/blob/master/LICENSE
|
|
*/
|
|
|
|
let json = require('./in/schema');
|
|
|
|
let top = {};
|
|
/* ['MTProto', 'API'].forEach(key => {
|
|
let schema = json[key];
|
|
let out = {constructors: {}, methods: {}};
|
|
|
|
['constructors', 'methods'].forEach(key => {
|
|
schema[key].forEach(smth => {
|
|
let id = smth.id;
|
|
|
|
if(id < 0) {
|
|
id = +id + 4294967296;
|
|
}
|
|
|
|
out[key][id] = smth;
|
|
delete smth.id;
|
|
});
|
|
});
|
|
|
|
top[key] = out;
|
|
|
|
//console.log(out);
|
|
//process.exit(0);
|
|
}); */
|
|
|
|
function uintToInt(val) {
|
|
if(val > 2147483647) {
|
|
val = val - 4294967296;
|
|
}
|
|
|
|
return val;
|
|
}
|
|
|
|
['MTProto', 'API'].forEach(key => {
|
|
let schema = json[key];
|
|
|
|
['constructors', 'methods'].forEach(key => {
|
|
schema[key].forEach(smth => {
|
|
/* if(+smth.id < 0) {
|
|
smth.id = +smth.id + 4294967296;
|
|
} */
|
|
smth.id = uintToInt(+smth.id);
|
|
});
|
|
});
|
|
|
|
//console.log(out);
|
|
//process.exit(0);
|
|
});
|
|
top = json;
|
|
|
|
/* ['API'].forEach(key => {
|
|
let schema = json[key];
|
|
let out = {constructors: {}, methods: {}};
|
|
|
|
['constructors', 'methods'].forEach(key => {
|
|
schema[key].forEach(smth => {
|
|
let id = smth.id;
|
|
|
|
if(id < 0) {
|
|
id = id + 4294967296;
|
|
}
|
|
|
|
out[key][id] = smth;
|
|
delete smth.id;
|
|
});
|
|
});
|
|
|
|
top[key] = out;
|
|
|
|
//console.log(out);
|
|
//process.exit(0);
|
|
}); */
|
|
|
|
//console.log(out);
|
|
|
|
require('fs').writeFileSync('./out/schema.json', JSON.stringify(top/* , null, '\t' */)); |