0.0.14 • Published 1 year ago

trm-tb-plugin v0.0.14

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

Tremor Tinybird Plugin

npm i trm-tb-plugin

API

The plugin exports a useFetchPipe function that provides a single interface to easily query Tinybird pipes using SWR.

Note: Only JSON responses are supported for now and SWR ^2.0.0 is required.

Arguments:

  • name: The name of the Tinybird pipe.
  • queryParams (optional): The query parameters of the pipe as a JSON-object.
  • config (optional): The Tinybird configuration as a JSON-object.
  • responseType (optional): The API response type. 'JSON' | 'CSV' | 'Ndjson' | 'Parquet'

Example:

// Example.tsx
import { useFetchPipe } from 'trm-tb-plugin';
import { LineChart } from '@tremor/react';

export default function Example() {
  const { data, status } = useFetchPipe('my_sales_data_pipe', {
    date_from: '2023-01-01',
    date_to: '2023-03-01'
  });

  return status === 'loading' ? (
    <p>Loading...</p>
  ) : (
    <LineChart data={data} index="date" categories={['sales', 'profit']} />
  );
}

Configuration

Configuration parameters:

  • token: The Tinybird auth token
  • baseUrl (optional): The Tinybird API base url, i.e. the tinybird pipe prefix up to the pipe name. Default: https://api.tinybird.co/v0/pipes/

(1) Using the TbConfigProvider:

// ContextProvider.tsx
import { TbConfigProvider } from 'trm-tb-plugin';

export default function ContextProvider({ children }) {
  const [token, setToken] = useState('<my tinybird auth token>');
  // Optional
  const [baseUrl, setBaseUrl] = useState('https://ui.us-east.tinybird.co/v0/pipes/');

  return (
    <TbConfigProvider token={token} setToken={setToken} baseUrl={baseUrl} setBaseUrl={setBaseUrl}>
      {children}
    </TbConfigProvider>
  );
}

The config values can be set in one of the TbConfigProviders child components using the TbConfigContext and the provided setters:

// Example.tsx
import { TbConfigContext } from 'trm-tb-plugin';
import { useContext } from 'react';

...
const { setToken, setBaseUrl } = useContext(TbConfigContext);
...

Once the config parameters are set in the TbConfigProvider, the useFetchPipe function will automatically obtain the config from the TbConfigContext.

(2) Directly providing a config via the config argument of the useFetchPipe as a JSON-object.

const { data } = useFetchPipe(
  'my_pipe',
  {
    date_from: '2023-01-01',
    date_to: '2023-03-01'
  },
  {
    token: '<my tinybird token>',
    // Optional
    baseUrl: 'https://api.us-east.tinybird.co/v0/pipes/'
  }
);
0.0.14

1 year ago

0.0.13

1 year ago

0.0.12

1 year ago

0.0.11

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago