This is a JavaScript wrapper for Lago API. Works in Cloudflare Workers, Deno, and Node.js. Generated from the Lago OpenAPI document.
| Project | Release Badge |
|---|---|
| Lago | |
| Lago JavaScript Client |
For npm users:
npm install lago-javascript-client// npm
import { Client, getLagoError } from 'lago-javascript-client';
// Deno
import { Client, getLagoError } from 'https://deno.land/x/lago/mod.ts';
const lagoClient = Client('__YOUR_API_KEY__');
try {
const { data } = await lagoClient.billableMetrics.createBillableMetric(billableMetric);
} catch (error) {
const lagoError = await getLagoError<typeof lagoClient.billableMetrics.createBillableMetric>(error);
}This SDK uses the Fetch API and natively supported Node.js version >= 18. For other Node versions:
-
Ideally, run Node with the
--experimental-fetchflag -
Otherwise, polyfill the Fetch API by doing both:
-
Pass a Fetch instance to the Lago client
import { Client } from 'lago-javascript-client'; import fetch from 'node-fetch'; const lagoClient = Client("api_key", { customFetch: fetch });
Check the Lago API reference
Use the get getLagoError<>() utility function to extract the error object and TypeScript type:
try {
const { data } = await lagoClient.billableMetrics.createBillableMetric(billableMetric);
} catch (error) {
const lagoError = await getLagoError<typeof lagoClient.billableMetrics.createBillableMetric>(error);
}Uses dnt to build and test for Deno and Node.
Change the affected fields in scripts/build_npm.ts and commit to GitHub. GitHub Actions will build and deploy to npm.
Requires Deno and Node.js >= 18
deno task generate:openapideno task testdeno task builddeno task build
cd npm
npm publishThe Lago documentation is available at doc.getlago.com.
The contribution documentation is available here
Lago JavaScript client is distributed under MIT license.