@ethereum-waffle/chai
Version:
A sweet set of chai matchers for your blockchain testing needs.
18 lines • 688 B
JavaScript
export const isStruct = (arr) => {
if (!Array.isArray(arr))
return false;
const keys = Object.keys(arr);
const hasAlphaNumericKeys = keys.some((key) => key.match(/^[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*$/));
const hasNumericKeys = keys.some((key) => key.match(/^\d+$/));
return hasAlphaNumericKeys && hasNumericKeys;
};
export const convertStructToPlainObject = (struct) => {
const keys = Object.keys(struct).filter((key) => isNaN(key));
return keys.reduce((acc, key) => ({
...acc,
[key]: isStruct(struct[key])
? convertStructToPlainObject(struct[key])
: struct[key]
}), {});
};
//# sourceMappingURL=struct.js.map