Skip to content
This repository was archived by the owner on Jun 24, 2022. It is now read-only.

Commit

Permalink
Refactor: moved error exit condition up
Browse files Browse the repository at this point in the history
  • Loading branch information
Leandro Boscariol committed Oct 5, 2021
1 parent fb790e6 commit 21971ed
Showing 1 changed file with 23 additions and 24 deletions.
47 changes: 23 additions & 24 deletions src/custom/state/orders/updaters/ApiOrdersUpdater.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,36 +43,35 @@ function transformApiOrderToStoreOrder(
const status = statusMapping[apiStatus]

if (!status) {
console.warn(`APIOrdersUpdater::Order ${id} in unknown internal state: ${apiStatus}`)
console.warn(`ApiOrdersUpdater::Order ${id} in unknown internal state: ${apiStatus}`)
return
}

if (inputToken && outputToken) {
const storeOrder: Order = {
...order,
inputToken,
outputToken,
id,
creationTime,
summary: '',
status,
receiver,
apiAdditionalInfo: order,
isCancelling: apiStatus === 'pending' && order.invalidated, // already cancelled in the API, not yet in the UI
}
// The function to compute the summary needs the Order instance to exist already
// That's why it's not used before and an empty string is set instead
storeOrder.summary = computeOrderSummary({ orderFromStore: storeOrder, orderFromApi: order }) || ''

return storeOrder
} else {
if (!inputToken || !outputToken) {
console.warn(
`APIOrdersUpdater::Tokens not found for order ${id}: sellToken ${!inputToken ? sellToken : 'found'} - buyToken ${
`ApiOrdersUpdater::Tokens not found for order ${id}: sellToken ${!inputToken ? sellToken : 'found'} - buyToken ${
!outputToken ? buyToken : 'found'
}`
)
return
}

const storeOrder: Order = {
...order,
inputToken,
outputToken,
id,
creationTime,
summary: '',
status,
receiver,
apiAdditionalInfo: order,
isCancelling: apiStatus === 'pending' && order.invalidated, // already cancelled in the API, not yet in the UI
}
// The function to compute the summary needs the Order instance to exist already
// That's why it's not used before and an empty string is set instead
storeOrder.summary = computeOrderSummary({ orderFromStore: storeOrder, orderFromApi: order }) || ''

return storeOrder
}

export function ApiOrdersUpdater(): null {
Expand All @@ -85,7 +84,7 @@ export function ApiOrdersUpdater(): null {
if (account && chainId && tokenAreLoaded) {
getOrders(chainId, account, AMOUNT_OF_ORDERS_TO_FETCH)
.then((apiOrders) => {
console.log(`APIOrdersUpdater::Fetched ${apiOrders.length} orders for account ${account} on chain ${chainId}`)
console.log(`ApiOrdersUpdater::Fetched ${apiOrders.length} orders for account ${account} on chain ${chainId}`)

// Transform API orders into internal order objects and filter out orders that are not in a known state
const orders = apiOrders.reduce<Order[]>((acc, order) => {
Expand All @@ -100,7 +99,7 @@ export function ApiOrdersUpdater(): null {
addOrUpdateOrders({ orders, chainId })
})
.catch((e) => {
console.error(`APIOrdersUpdater::Failed to fetch orders`, e)
console.error(`ApiOrdersUpdater::Failed to fetch orders`, e)
})
}
}, [account, addOrUpdateOrders, allTokens, chainId, tokenAreLoaded])
Expand Down

0 comments on commit 21971ed

Please sign in to comment.