UNPKG

@nftgo/gorarity

Version:

An algorithm to calculate rarity of NFT(how special it is), based on Jaccard Distance.

32 lines (31 loc) 1.01 kB
import { EVMContractTokenIdentifier } from './token-identifier'; import { TokenMetadata } from './token-metadata'; import { TokenStandard } from './token-standard'; export class Token { _tokenIdentifier; _tokenStandard; _metadata; constructor(tokenIdentifier, tokenStandard, metadata) { this._tokenIdentifier = tokenIdentifier; this._tokenStandard = tokenStandard; this._metadata = metadata; } get tokenIdentifier() { return this._tokenIdentifier; } get tokenStandard() { return this._tokenStandard; } get metadata() { return this._metadata; } static fromErc721(contractAddress, tokenId, traits) { return new Token(new EVMContractTokenIdentifier(contractAddress, tokenId), TokenStandard.ERC721, TokenMetadata.fromTokenTraits(traits)); } hasTrait(traitName) { return this.metadata.traitExists(traitName); } traitCount() { return this._metadata.stringTraits.size; } }