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

8 months ago

5.11.0

8 months ago

5.8.1

9 months ago

5.8.0

9 months ago

5.12.0

8 months ago

5.10.0

8 months ago

5.9.0

9 months ago

5.7.0

9 months ago

5.5.0

9 months ago

5.6.0

9 months ago

5.4.1

9 months ago

5.4.0

9 months ago

5.3.0

10 months ago

5.1.0

10 months ago

2.4.1

1 year ago

2.6.1

1 year ago

2.6.0

1 year ago

3.4.0

12 months ago

3.2.0

1 year ago

3.0.1

1 year ago

3.4.1

12 months ago

3.0.0

1 year ago

4.4.0

11 months ago

4.0.1

12 months ago

4.0.0

12 months ago

4.2.0

11 months ago

5.2.0

10 months ago

5.0.0

10 months ago

2.5.0

1 year ago

2.5.1

1 year ago

3.3.0

12 months ago

3.1.0

1 year ago

3.5.1

12 months ago

3.5.0

12 months ago

4.5.0

11 months ago

4.1.0

12 months ago

4.3.0

11 months 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