Refactor enumerableMap generate and tests (#4760)
This commit is contained in:
@ -1,12 +1,6 @@
|
||||
const format = require('../format-lines');
|
||||
const { fromBytes32, toBytes32 } = require('./conversion');
|
||||
|
||||
const TYPES = [
|
||||
{ name: 'UintToUintMap', keyType: 'uint256', valueType: 'uint256' },
|
||||
{ name: 'UintToAddressMap', keyType: 'uint256', valueType: 'address' },
|
||||
{ name: 'AddressToUintMap', keyType: 'address', valueType: 'uint256' },
|
||||
{ name: 'Bytes32ToUintMap', keyType: 'bytes32', valueType: 'uint256' },
|
||||
];
|
||||
const { TYPES } = require('./EnumerableMap.opts');
|
||||
|
||||
/* eslint-disable max-len */
|
||||
const header = `\
|
||||
|
||||
18
scripts/generate/templates/EnumerableMap.opts.js
Normal file
18
scripts/generate/templates/EnumerableMap.opts.js
Normal file
@ -0,0 +1,18 @@
|
||||
const mapType = str => (str == 'uint256' ? 'Uint' : `${str.charAt(0).toUpperCase()}${str.slice(1)}`);
|
||||
const formatType = (keyType, valueType) => ({
|
||||
name: `${mapType(keyType)}To${mapType(valueType)}Map`,
|
||||
keyType,
|
||||
valueType,
|
||||
});
|
||||
|
||||
const TYPES = [
|
||||
['uint256', 'uint256'],
|
||||
['uint256', 'address'],
|
||||
['address', 'uint256'],
|
||||
['bytes32', 'uint256'],
|
||||
].map(args => formatType(...args));
|
||||
|
||||
module.exports = {
|
||||
TYPES,
|
||||
formatType,
|
||||
};
|
||||
Reference in New Issue
Block a user