mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-28 21:52:17 -04:00
Implement anonymous structure members
This commit is contained in:
parent
a267cc1515
commit
71c93bb3d6
@ -117,7 +117,12 @@ function readContainer(buffer, offset, typeArgs, rootNode) {
|
|||||||
});
|
});
|
||||||
results.size += readResults.size;
|
results.size += readResults.size;
|
||||||
offset += readResults.size;
|
offset += readResults.size;
|
||||||
results.value[typeArgs[index].name] = readResults.value;
|
if (typeArgs[index].anon) {
|
||||||
|
Object.keys(readResults.value).forEach(function(key) {
|
||||||
|
results.value[key] = readResults.value[key];
|
||||||
|
});
|
||||||
|
} else
|
||||||
|
results.value[typeArgs[index].name] = readResults.value;
|
||||||
}
|
}
|
||||||
rootNode.this = backupThis;
|
rootNode.this = backupThis;
|
||||||
return results;
|
return results;
|
||||||
@ -128,7 +133,10 @@ function writeContainer(value, buffer, offset, typeArgs, rootNode) {
|
|||||||
rootNode.this = value;
|
rootNode.this = value;
|
||||||
for(var index in typeArgs) {
|
for(var index in typeArgs) {
|
||||||
tryCatch(() => {
|
tryCatch(() => {
|
||||||
offset = this.write(value[typeArgs[index].name], buffer, offset, typeArgs[index].type, rootNode);
|
if (typeArgs[index].anon)
|
||||||
|
offset = this.write(value, buffer, offset, typeArgs[index].type, rootNode);
|
||||||
|
else
|
||||||
|
offset = this.write(value[typeArgs[index].name], buffer, offset, typeArgs[index].type, rootNode);
|
||||||
}, (e) => {
|
}, (e) => {
|
||||||
if (typeArgs && typeArgs[index] && typeArgs[index].name)
|
if (typeArgs && typeArgs[index] && typeArgs[index].name)
|
||||||
addErrorField(e, typeArgs[index].name);
|
addErrorField(e, typeArgs[index].name);
|
||||||
@ -147,7 +155,10 @@ function sizeOfContainer(value, typeArgs, rootNode) {
|
|||||||
rootNode.this = value;
|
rootNode.this = value;
|
||||||
for(var index in typeArgs) {
|
for(var index in typeArgs) {
|
||||||
tryCatch(() => {
|
tryCatch(() => {
|
||||||
size += this.sizeOf(value[typeArgs[index].name], typeArgs[index].type, rootNode);
|
if (typeArgs[index].anon)
|
||||||
|
size += this.sizeOf(value, typeArgs[index].type, rootNode);
|
||||||
|
else
|
||||||
|
size += this.sizeOf(value[typeArgs[index].name], typeArgs[index].type, rootNode);
|
||||||
}, (e) => {
|
}, (e) => {
|
||||||
if (typeArgs && typeArgs[index] && typeArgs[index].name)
|
if (typeArgs && typeArgs[index] && typeArgs[index].name)
|
||||||
addErrorField(e, typeArgs[index].name);
|
addErrorField(e, typeArgs[index].name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user