5.14.0 • Published 8 months ago

@lifeomic/react-client v5.14.0

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

Hooks for interacting with our platform in a type-safe way. Powered by @tanstack/query and @lifeomic/one-query.

Installation

yarn add @lifeomic/react-client @tanstack/react-query@^4.0.0 @lifeomic/one-query axios

Usage

Note: The API of this package is almost entirely powered by @lifeomic/one-query and @tanstack/query. The following documentation will assume a solid understanding of each of those packages.

Get started using createRestAPIHooks:

import { createRestAPIHooks } from '@lifeomic/react-client';

const hooks = createRestAPIHooks({
  name: 'my-app',
  client: axios.create({
    /* ... */
  }),
});

// Re-export the well-typed hooks.
export const {
  useAPIQuery,
  useAPIMutation
  useCombinedAPIQueries,
  useAPICache
} = hooks;

API Reference

createRestAPIHooks

Factory function for creating a set of well-typed hooks for interacting with the platform REST API.

These hooks come directly from the createAPIHooks function in @lifeomic/one-query.

import { createRestAPIHooks } from '@lifeomic/react-client';

const { useAPIQuery } = createRestAPIHooks({
  name: 'my-app',
  // A pre-configured Axios instance
  client: axios.create({}),
});

useAPIQuery('GET /v1/accounts', {});

Note: you can also specify a hook to use for the client option. This is useful for scenarios where you need to dynamically change the client based on some condition.

import { createRestAPIHooks } from '@lifeomic/react-client';

const hooks = createRestAPIHooks({
  name: 'my-app',
  client: () => {
    return useMyClient();
  },
});

createRestAPIClient

Returns a well-typed client for interacting with the platform REST API. Useful for building your own custom hooks, and/or interacting with the API outside of the React tree.

import { createRestAPIClient } from '@lifeomic/react-client';

const client = createRestAPIClient(axios.create({}));

const { data } = await client.request('GET /v1/accounts', {});

createAuthAPIHooks

Factory function for creating a set of well-typed hooks for interacting with the platform Authentication Rest API.

These hooks come directly from the createAPIHooks function in @lifeomic/one-query.

import { createAuthAPIHooks } from '@lifeomic/react-client';

const { useAPIMutation } = createAuthAPIHooks({
  name: 'my-app',
  // A pre-configured Axios instance
  client: axios.create({}),
});

useAPIMutation('POST /auth/v1/api/invite-validations', {});

Note: you can also specify a hook to use for the client option. This is useful for scenarios where you need to dynamically change the client based on some condition.

import { createAuthAPIHooks } from '@lifeomic/react-client';

const hooks = createAuthAPIHooks({
  name: 'my-app',
  client: () => {
    return useMyClient();
  },
});

createAuthAPIClient

Returns a well-typed client for interacting with the platform REST API. Useful for building your own custom hooks, and/or interacting with the API outside of the React tree.

import { createAuthAPIClient } from '@lifeomic/react-client';

const client = createAuthAPIClient(axios.create({}));

const { data } = await client.request(
  'POST /auth/v1/api/invite-validations',
  {},
);

createGraphQLHooks

Factory function for creating a set of well-typed hooks for interacting with the platform GraphQL API.

import { createGraphQLHooks } from '@lifeomic/react-client';

const { useAPIMutation } = createAuthAPIHooks({
  name: 'my-app',
  // A pre-configured Axios instance
  client: axios.create({}),
});

useGQLMutation(', {});

Note: you can also specify a hook to use for the client option. This is useful for scenarios where you need to dynamically change the client based on some condition.

import { createGraphQLHooks } from '@lifeomic/react-client';

const {
  useGQLQuery,
  useGQLMutation
} = createAuthAPIHooks({
  name: 'my-app',
  client: () => {
    return useMyClient();
  },
});

useGQLQuery('GetAllActivities', {...})

useGQLMutation('CreatePost')

createGraphQLClient

Returns a well-typed client for interacting with the platform REST API. Useful for building your own custom hooks, and/or interacting with the API outside of the React tree.

import { createGraphQLClient } from '@lifeomic/react-client';

const client = createGraphQLClient(axios.create({}), '/graphql');

const result = await client.query('GetAllActivities', {
  // ...
});

const result = await client.mutate('CreatePost', {
  // ...
});
5.14.0

8 months ago

5.13.0

9 months ago

5.11.0

9 months ago

5.8.1

10 months ago

5.8.0

10 months ago

5.12.0

9 months ago

5.10.0

9 months ago

5.9.0

9 months ago

5.7.0

10 months ago

5.5.0

10 months ago

5.6.0

10 months ago

5.4.1

10 months ago

5.4.0

10 months ago

5.3.0

11 months ago

5.1.0

11 months ago

2.4.1

1 year ago

2.6.1

1 year ago

2.6.0

1 year ago

3.4.0

1 year ago

3.2.0

1 year ago

3.0.1

1 year ago

3.4.1

1 year ago

3.0.0

1 year ago

4.4.0

12 months ago

4.0.1

1 year ago

4.0.0

1 year ago

4.2.0

1 year ago

5.2.0

11 months ago

5.0.0

11 months ago

2.5.0

1 year ago

2.5.1

1 year ago

3.3.0

1 year ago

3.1.0

1 year ago

3.5.1

1 year ago

3.5.0

1 year ago

4.5.0

12 months ago

4.1.0

1 year ago

4.3.0

1 year ago

2.4.0

1 year ago

2.3.0

1 year ago

2.2.2

1 year ago

2.2.1

1 year ago

2.2.0

1 year ago

2.1.2

1 year ago

2.1.1

1 year ago

2.1.3

1 year ago

2.1.0

1 year ago

1.3.3

1 year ago

2.0.1

1 year ago

2.0.0

1 year ago

1.3.2

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.0.0

1 year ago