DoesitWork (v5)

Revision 5 of this benchmark created on


Setup

const token = (index) => ({
  chainID: '00000001',
  chainName: 'Lisk',
	tokenID: `00000000000000${index}`,
  tokenName: 'Lisk',
  networkType: 'mainnet',
  description: 'Base token for the Lisk ecosystem',
  denomUnits: [
    {
      denom: 'beddows',
      decimals: 0,
    },
    {
      denom: 'lisk',
      decimals: 8,
      aliases: ['Lisk'], // Optional
    },
  ],
  baseDenom: 'beddows',
  displayDenom: 'lisk',
  symbol: 'LSK',
  logo: {
    png: 'https://lisk-qa.ams3.digitaloceanspaces.com/Artboard%201%20copy%2019.png',
    svg: 'https://downloads.lisk.com/lisk/images/tokens/lsk.svg',
  },
});

const mockAppsTokensData = Array(100).fill(1).map((item, index) => token(index));

const mockAppsTokens = {
  data: mockAppsTokensData,
  meta: {
    count: 1,
    offset: 0,
    total: 1,
  },
  links: {},
};

const reward = (index) => (    {
  reward: '30',
	tokenID: `00000000000000${index}`,
});
const mockClaimRewardsData = Array(10).fill(1).map((item, index) => reward(index));


const mockRewardsClaimable = {
  data: mockClaimRewardsData,
  meta: {
    count: 3,
    offset: 0,
    total: 3,
  },
};

Test runner

Ready to run.

Testing in
TestOps/sec
red
    let mapIDToToken = {};
    mockAppsTokens.data.forEach((token) => { 
      mapIDToToken[token.tokenID] = token;
    })
    const rewardsWithToken = mockRewardsClaimable.data?.map((rewardsClaimable) => {
      const token = mapIDToToken[rewardsClaimable.tokenID]
      return {
        ...rewardsClaimable,
        ...token,
      };
    });
ready
map
    const rewardsWithToken = mockRewardsClaimable.data.map((rewardsClaimable) => {
      const token = mockAppsTokens.data.find((metaToken) => metaToken.tokenID === rewardsClaimable.tokenID);
      return {
        ...rewardsClaimable,
        ...token,
      };
    });
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.