Filter undefined values (#105)

filter out fields with undefined values
This commit is contained in:
Nathan Nichols
2020-09-08 17:17:14 -05:00
parent 2c99932c3c
commit a5559825ae
6 changed files with 69 additions and 4 deletions

View File

@@ -10,7 +10,7 @@ Each ledger's state tree contain [ledger objects](https://xrpl.org/ledger-object
## Fields
These are Serialization Fields (`sf`) [defined in rippled's SField.cpp](https://github.com/ripple/rippled/blob/develop/src/ripple/protocol/impl/SField.cpp).
These are Serialization Fields (`sf`) [defined in rippled's SField.cpp](https://github.com/ripple/rippled/blob/develop/src/ripple/protocol/impl/SField.cpp). Fields with undefined values are omitted before encoding.
### Key

View File

@@ -109,7 +109,12 @@ class STObject extends SerializedType {
let sorted = Object.keys(xAddressDecoded)
.map((f: string): FieldInstance => Field[f] as FieldInstance)
.filter((f: FieldInstance): boolean => f !== undefined && f.isSerialized)
.filter(
(f: FieldInstance): boolean =>
f !== undefined &&
xAddressDecoded[f.name] !== undefined &&
f.isSerialized
)
.sort((a, b) => {
return a.ordinal - b.ordinal;
});