@multikassa.com/calculator-logic
v0.2.22
Published
Calculator logic for multikassa
Downloads
295
Readme
Multikassa calculator logic helper
Installation
npm i @multikassa.com/calculator-logic
Quick start
Для начала импортируем и инициализируем класс:
import Multikassa from '@multikassa.com/calculator-logic'
const calcLogic = new Multikassa.CalculatorLogic(process.env.API_URL);
Далее запрашиваем список необходимых данных (coins, deliveries):
await calcLogic.fetchData()
Если данные уже есть, можно не запрашивая их повторно, установить их:
calcLogic
.fillCoins(coins)
.fillDeliveries(deliveries)
Далее необходимо вызвать метод init()
, он установит пару from/to по умолчанию, запросит расчёт с бэка и другие подготовки если нужно.
calcLogic.init()
Чтобы подписаться на изменения тех или иных данных существует методы
calcLogic
.onChangeFromCoin((coin) => selectedFromCoin = coin)
.onChangeToCoin((coin) => selectedToCoin = coin)
.onChangeSelectedDelivery(delivery => selectedDelivery = delivery)
.onChangeFromCoins(coins => fromCoins = coins)
.onChangeToCoins(coins => toCoins = coins)
.onChangeRate(newRate => rate = newRate)
.onChangeToSum(value => sum.to = value)
.onChangeFromSum(value => sum.from = value)
.onServerErrorChange(value => serverErrorMessage = value)
.onChangeDeliveryPrice(value => deliveryPrice = value)
.onChangeDeliveryPriceCoin(value => deliveryPriceCoin = value)
.onChangeDealHash(value => dealHash = value)
.onChangeRateCoin(coin => rateCoin = coin)
При изменении данных со стороны клиента - необходимо передавать данные в хэлпер:
calcLogic.selectFromCoin(coin)
calcLogic.selectToCoin(coin)
calcLogic.setFromSum(val)
calcLogic.setToSum(val)
При нажатии пользователем на иконку "свапа" - можно вызвать след. метод:
calcLogic.swapCoins()
CDN
Если вы не используете NPM для установки пакетов - можно использовать CDN версию для подключения с помощью script
тега:
https://cdn.jsdelivr.net/npm/@multikassa.com/calculator-logic@{version}/dist/index.min.js
Например: https://cdn.jsdelivr.net/npm/@multikassa.com/calculator-logic@^0/dist/index.min.js
В данном случае инициализация класса будет выглядеть следующим способом:
const calcLogic = new CalculatorLogic.default.CalculatorLogic('API_URL')
API
Более подробное описание всех методов можно найти в d.ts файле