lamassu-server/packages/admin-ui/src/pages/Wizard/components/Wallet/getItems.js
2025-05-23 16:53:04 +01:00

23 lines
794 B
JavaScript

import * as R from 'ramda'
import _schema from '../../../Services/schemas'
const contains = crypto => R.compose(R.includes(crypto), R.prop('cryptos'))
const sameClass = type => R.propEq(type, 'class')
const filterConfig = (crypto, type) =>
R.filter(it => sameClass(type)(it) && contains(crypto)(it))
export const getItems = (accountsConfig, accounts, type, crypto) => {
const schema = _schema()
const fConfig = filterConfig(crypto, type)(accountsConfig)
const find = code => accounts && accounts[code]
const [filled, unfilled] = R.partition(({ code }) => {
const account = find(code)
if (!schema[code]) return true
const { getValidationSchema } = schema[code]
return getValidationSchema(account).isValidSync(account)
})(fConfig)
return { filled, unfilled }
}