utils APIs
- calculateSlippageAmount
- calculateGasMargin
- getRouterContract
- getBscScanLink
- isAddress
- shortenAddress
- getEtherscanLink
- basisPointsToPercent
- getTokenAddress
- copyToClipboard
- deepMergeByKey
- decrypt
- encrypt
- emailErrorMsg
- reqErrorMsg
- debouncePromise
- callbackify
- isValidURL
- hasUserApiEditAccess
- loadThirdPartyScript
- getCurrentWindow
- hashVote
- toEthSignedMessageHash
- MAINNET_ID
- usePrevious
- bnum
- normalizeBalance
- isWalletScheme
- WalletSchemeProposalState
- VotingMachineProposalState
- calculateStakes
- formatBalance
- denormalizeBalance
- PendingAction
- isVoteNo
- isVoteYes
- parseSignedVoteMessage
- toPercentage
- verifySignedVote
- NETWORK_ASSET_SYMBOL
- ZERO_ADDRESS
- enumKeys
- DEFAULT_CHAIN_ID
- useInterval
- getBlockchainLink
- getERC20Token
- getDxVoteContract
- toAddressStub
- getNetworkById
- formatNumberValue
- encodeDxdVestingCreate
- encodeErc20Approval
- encodeErc20Transfer
- encodeRepMint
- TXEvents
- BigNumber
- ZERO_HASH
- ANY_ADDRESS
- ERC20_APPROVE_SIGNATURE
- ERC20_TRANSFER_SIGNATURE
- QUEUED_PRIORITY_THRESHOLD
- NETWORKS
- toCamelCaseString
- ALCHEMY_NETWORK_URLS
- DEFAULT_RPC_URLS
- appendEthAPIKey
- NETWORK_APIS
- INFURA_NETWORK_NAMES
- POKT_NETWORK_URLS
- constants
- session
- displayFromWei
- getBigNumber
- getSupplyCap
- getAllowance
- approve
- fromWei
- getFullDisplayBalance
- getLibrary
- maxAmountSpend
- addMaticToMetamask
- returnTokenFromKey
- isSupportedNetwork
- formatTokenAmount
- formatCompact
- formatNumber
- isTokensOnList
- getAPYWithFee
- getRewardRate
- getStakedAmountStakingInfo
- getTVLStaking
- getEarnedUSDLPFarm
- getEarnedUSDDualFarm
- formatAPY
- getUSDString
- formatMulDivTokenAmount
- getExactTokenAmount
- escapeRegExp
- currencyId
- getOneYearFee
- returnStakingInfo
- getAllTokensOnUniswap
- getAllPairsOnUniswap
- getSecondsOneDay
- getValueTokenDecimals
- getPartialTokenAmount
- confirmPriceImpactWithoutFee
- halfAmountSpend
- getTokenInfo
- getEthPrice
- getIntervalTokenData
- getTokenAPRSyrup
- getEarnedUSDSyrup
- getFormattedPrice
- getPriceColor
- getTopTokens
- shortenTx
- getContract
- isZero
- getChartData
- getChartDates
- getChartStartTime
- getLimitedData
- getTopPairs
- getGlobalData
- getBulkPairData
- formatDateFromTimeStamp
- getPairChartData
- getYAXISValuesAnalytics
- getPairTransactions
- getTokenChartData
- getTokenPairs2
- useLairDQUICKAPY
- getPageItemsToLoad
- returnFullWidthMobile
- returnDualStakingInfo
- getDaysCurrentYear
- getTokenPairs
- getBlockFromTimestamp
- getFarmLPToken
- getSyrupLPToken
- initTokenAmountFromCallResult
- returnSyrupInfo
- getCallStateResult
- notEmpty
- DEFAULT_TO_CHAIN_ID
- CHAINS
- UnsupportedChainIdError
- switchChain
- showMigrationBanner
- isValidAddress
- ChainId
- COLORS
- QUERIES
- onboard
- disableSendForm
- max
- parseUnits
- formatUnits
- ParsingError
- TOKENS_LIST
- Token
- blockLiquidity
- migrationPoolV2Warning
- formatEtherRaw
- numberFormatter
- estimateGasForAddEthLiquidity
- DEFAULT_ADD_LIQUIDITY_ETH_GAS_ESTIMATE
- UPDATE_GAS_INTERVAL_MS
- toWeiSafe
- addEtherscan
- receiveAmount
- getEstimatedDepositTime
- DEFAULT_FROM_CHAIN_ID
- formatEther
- PROVIDERS
- getRelayFees
- getLpFee
- isSupportedChainId
- getAddress
- getDepositBox
- TransactionError
- MAX_APPROVAL_AMOUNT
- optimismErc20Pairs
- bobaErc20Pairs
- tagAddress
- validateContractAndChain
- multicallTwoAddress
- IChainSelection
- CHAINS_SELECTION
- onboardBaseConfig
- getConfirmationDepositTime
- shortenAddressLong
- timeAgo
- textareaAutoResize
- initOAuthWindow
- parseURL
- scrollToBottom
- isUrl
- get_url_extension
- wait
- b64_to_utf8
- utf8_to_b64
- callDelayer
- useKeyboardDidShow
- capitalizedCase
- getCoinSymbol
- getCountryName
- getTransactionStatusColor
- useAlert
- scaleSpacing
- getActiveCase
- changeBodyTheme
- getPercentage
- metaGenerator
- useFetch
- visualize
- worldLegends
- dateFormat
- getPerDayStats
- API_BASEURL
- API_INDONESIA
- indonesiaLegends
- getActiveCaseID
- isWsAddress
- constructApiDescriptionObject
- encodeURI
- NOOP
- isLoggedIn
- getBalance
- getAccount
- isTokenOnList
- formatAddressShort
- requiresTypeSlug
- getNextOffchainPollEndingTime
- slugify
- slugifyPreserveDashes
- setupSwagger
- isBlindMode
- getExplorerLink
- isCountdown
- showVvsPrice
- getCookies
- iconFromMIME
- makeRangeArray
- exitIfMaintenance
- sanitizeHtmlString
- parseDate
- retryWrapper
- batchPromises
- arrayPartitions
- sleep
- checkKeyboardTrigger
- clampValue
- debounce
- normalize
- strToInt
- getFromLocalStorage
- saveToLocalStorage
- generateTagColors
- formatNumberWithCommas
- memoize
- calculateTotalInvestment
- throttle
- urlParametersState
- mmddyyyy2ddmmyyy
- sortStringDates
- gtag
- compactNumberFormatter
- getNumberSign
- getLastArrayElement
- fillArrayUntil
- capitalizeFirstLetter
- buildUrl
- XmlWrapper
- XmlTemplate
- setCookie
Other Related APIs
utils#fillArrayUntil TypeScript Examples
The following examples show how to use
utils#fillArrayUntil.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: index.tsx From exevo-pan with The Unlicense | 4 votes |
Chart = ({
totalLabel,
yesterdayLabel,
tooltipLabel,
chartData,
className,
...props
}: ChartProps) => {
const {
translations: { statistics, common },
} = useTranslations()
const { colors } = useTheme()
const [dataSize, setDataSize] = useState(DAYS_IN_A_WEEK)
const { current, lastMonth: originalLastMonth } = chartData
const lastMonth = useMemo(
() => fillArrayUntil(originalLastMonth, DAYS_IN_A_MONTH),
[originalLastMonth],
)
const todayValue = lastMonth[lastMonth.length - 1]
const yesterdayValue = lastMonth[lastMonth.length - 2]
const dailyDifference = todayValue - yesterdayValue
const options = useMemo(
() => ({
responsive: true,
maintainAspectRatio: false,
animation: {
duration: 400,
easing: 'easeOutCubic',
},
elements: {
line: {
tension: 0,
},
},
legend: {
display: false,
},
scales: {
xAxes: [
{
ticks: {
fontColor: colors.onSurface,
},
gridLines: {
display: false,
},
},
],
yAxes: [
{
ticks: {
callback: (value: number) => formatNumberWithCommas(value),
fontColor: colors.onSurface,
},
gridLines: {
color: `${colors.separator}60`,
},
},
],
},
tooltips: {
callbacks: {
title: (tooltipItem: Record<string, string>[]) =>
`Day ${tooltipItem[0].xLabel}`,
label: (tooltipItem: Record<string, number>) =>
`${tooltipLabel}: ${formatNumberWithCommas(tooltipItem.yLabel)} TC`,
},
displayColors: false,
},
}),
[colors, tooltipLabel],
)
const chartDataObject = useMemo(
() => ({
labels: lastMonth
.slice(lastMonth.length - dataSize)
.map((_, index) => {
const date = new Date()
date.setDate(date.getDate() - index)
return `${date.getDate()}/${date.getMonth() + 1}, ${
common.Weekdays[date.getDay()]
}`
})
.reverse(),
datasets: [
{
label: tooltipLabel,
data: lastMonth.slice(lastMonth.length - dataSize),
fill: false,
backgroundColor: colors.primary,
borderColor: colors.primary,
},
],
}),
[colors, tooltipLabel, dataSize, lastMonth],
)
return (
<section
className={clsx(
styles.wrapper,
'card w-full py-5 pr-4 pl-[26px] transition-colors',
className,
)}
{...props}
>
<div className="mb-5 flex items-center gap-12">
<Summary
title={totalLabel}
value={current}
percentage={(todayValue / (current - todayValue)) * 100}
/>
<Summary
title={yesterdayLabel}
value={todayValue}
percentage={(Math.abs(dailyDifference) / yesterdayValue) * 100}
positive={dailyDifference > 0}
/>
</div>
<div className="h-[260px] w-full">
<Line data={chartDataObject} options={options} />
</div>
<div className="mt-[22px] flex gap-2">
<Chip
overrideStatus={dataSize === DAYS_IN_A_MONTH}
onClick={() => setDataSize(DAYS_IN_A_MONTH)}
>
{DAYS_IN_A_MONTH} {statistics.Days}
</Chip>
<Chip
overrideStatus={dataSize === DAYS_IN_A_WEEK}
onClick={() => setDataSize(DAYS_IN_A_WEEK)}
>
{DAYS_IN_A_WEEK} {statistics.Days}
</Chip>
</div>
</section>
)
}