Мы используем GraphQL в качестве языка запросов для механизма агрегирования данных.
Я ищу идеи для представления простых (или сложных) функций арифметических вычислений в GraphQL со ссылкой на существующие типы / атрибуты, определенные в схеме, и которые могут использоваться поверх существующих атрибутов.
Я изучаю специальные скаляры и директивы
Пример -
{
item{
units
price_per_unit
market_price: function:multiply(units, price_per_unit)
market_price_usd: function:usdPrice(units, price_per_unit, currency)
}
}
где функция: умножение уже определена в схеме GraphQL
как тип
functions {
multiply(operand 1, operand2) {
result
}
usdPrice(operand1, operand2, currency) {
result: {
if(currency == GBP) {
operand1 * operand2 * .76
}
{
}
внутренний преобразователь умножит операнд 1 и операнд 2 для создания результата.