UNPKG

@ethereum-waffle/chai

Version:

A sweet set of chai matchers for your blockchain testing needs.

23 lines 935 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertStructToPlainObject = exports.isStruct = void 0; 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; }; exports.isStruct = isStruct; const convertStructToPlainObject = (struct) => { const keys = Object.keys(struct).filter((key) => isNaN(key)); return keys.reduce((acc, key) => ({ ...acc, [key]: (0, exports.isStruct)(struct[key]) ? (0, exports.convertStructToPlainObject)(struct[key]) : struct[key] }), {}); }; exports.convertStructToPlainObject = convertStructToPlainObject; //# sourceMappingURL=struct.js.map