Real-time data
Display real-time data, by subscribing to Websockets to REST API
Display static data from REST API
import { FunctionArgument } from "@rowsncolumns/calculator";
import type FormulaParser from "@rowsncolumns/fast-formula-parser";
import FormulaError from "@rowsncolumns/fast-formula-parser/formulas/error";
// Usage:
// =CRYPTOPRICE("btcusd")
export const CRYPTOPRICE = async (
parser: FormulaParser,
arg: FunctionArgument
) => {
if (!arg || !arg.value) {
throw new FormulaError("#VALUE!", "Symbol pair is required");
}
// Get data from GEMINI
const fetchPrices = async () => {
try {
const results = await fetch(
`https://api.gemini.com/v2/ticker/${String(arg.value).toLowerCase()}`,
{
method: "GET",
}
);
const values = await results.json();
return [[Number(values.ask), Number(values.bid)]];
} catch (err) {}
};
return await fetchPrices();
};
Subscribing to REST API
Subscribing to Websocket
Web workers
Cancelling async formula evaluation when dependencies change
Last updated