UNPKG

@broxus/js-bridge-essentials

Version:

Bridge JavaScript Essentials library

30 lines (29 loc) 1.05 kB
import { CLUSTER_SLUGS } from '../../services/SolanaTokenListProvider/constants'; export class TokenListContainer { tokenList; constructor(tokenList) { this.tokenList = tokenList; // } filterByTag(tag) { return new TokenListContainer(this.tokenList.filter(item => (item.tags || []).includes(tag))); } filterByChainId(chainId) { return new TokenListContainer(this.tokenList.filter(item => item.chainId === chainId)); } excludeByChainId(chainId) { return new TokenListContainer(this.tokenList.filter(item => item.chainId !== chainId)); } excludeByTag(tag) { return new TokenListContainer(this.tokenList.filter(item => !(item.tags || []).includes(tag))); } filterByClusterSlug(slug) { if (slug in CLUSTER_SLUGS) { return this.filterByChainId(CLUSTER_SLUGS[slug]); } throw new Error(`Unknown slug: ${slug}, please use one of ${Object.keys(CLUSTER_SLUGS)}`); } getList() { return this.tokenList; } }