aidbox-react 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/cjs/components/RenderRemoteData/index.d.ts +15 -0
  2. package/dist/cjs/hooks/bus.d.ts +17 -0
  3. package/dist/cjs/hooks/crud.d.ts +7 -0
  4. package/dist/cjs/hooks/pager.d.ts +9 -0
  5. package/dist/cjs/hooks/service.d.ts +8 -0
  6. package/dist/cjs/hooks/shared-state.d.ts +9 -0
  7. package/dist/cjs/index.d.ts +16 -0
  8. package/dist/cjs/index.js +3308 -0
  9. package/dist/cjs/libs/remoteData.d.ts +35 -0
  10. package/dist/cjs/services/fhir.d.ts +44 -0
  11. package/dist/cjs/services/instance.d.ts +6 -0
  12. package/dist/cjs/services/search.d.ts +4 -0
  13. package/dist/cjs/services/service.d.ts +33 -0
  14. package/dist/cjs/services/token.d.ts +4 -0
  15. package/dist/cjs/utils/date.d.ts +14 -0
  16. package/dist/cjs/utils/error.d.ts +30 -0
  17. package/dist/cjs/utils/tests.d.ts +10 -0
  18. package/dist/cjs/utils/uuid.d.ts +1 -0
  19. package/dist/esm/components/RenderRemoteData/index.d.ts +15 -0
  20. package/dist/esm/hooks/bus.d.ts +17 -0
  21. package/dist/esm/hooks/crud.d.ts +7 -0
  22. package/dist/esm/hooks/pager.d.ts +9 -0
  23. package/dist/esm/hooks/service.d.ts +8 -0
  24. package/dist/esm/hooks/shared-state.d.ts +9 -0
  25. package/dist/esm/index.d.ts +16 -0
  26. package/dist/esm/index.js +3217 -0
  27. package/dist/esm/libs/remoteData.d.ts +35 -0
  28. package/dist/esm/services/fhir.d.ts +44 -0
  29. package/dist/esm/services/instance.d.ts +6 -0
  30. package/dist/esm/services/search.d.ts +4 -0
  31. package/dist/esm/services/service.d.ts +33 -0
  32. package/dist/esm/services/token.d.ts +4 -0
  33. package/dist/esm/utils/date.d.ts +14 -0
  34. package/dist/esm/utils/error.d.ts +30 -0
  35. package/dist/esm/utils/tests.d.ts +10 -0
  36. package/dist/esm/utils/uuid.d.ts +1 -0
  37. package/dist/index.d.ts +244 -0
  38. package/lib/components/RenderRemoteData/index.d.ts +1 -1
  39. package/lib/components/RenderRemoteData/index.js +5 -5
  40. package/lib/components/RenderRemoteData/index.js.map +1 -1
  41. package/lib/hooks/bus.d.ts +5 -5
  42. package/lib/hooks/bus.js +1 -1
  43. package/lib/hooks/bus.js.map +1 -1
  44. package/lib/hooks/crud.js +14 -14
  45. package/lib/hooks/crud.js.map +1 -1
  46. package/lib/hooks/pager.js +5 -5
  47. package/lib/hooks/pager.js.map +1 -1
  48. package/lib/hooks/service.js +15 -15
  49. package/lib/hooks/service.js.map +1 -1
  50. package/lib/hooks/shared-state.js +3 -3
  51. package/lib/hooks/shared-state.js.map +1 -1
  52. package/lib/index.d.ts +16 -0
  53. package/lib/index.js +20 -0
  54. package/lib/index.js.map +1 -0
  55. package/lib/libs/remoteData.d.ts +2 -2
  56. package/lib/services/fhir.d.ts +3 -3
  57. package/lib/services/fhir.js +38 -38
  58. package/lib/services/fhir.js.map +1 -1
  59. package/lib/services/instance.js +1 -1
  60. package/lib/services/instance.js.map +1 -1
  61. package/lib/services/search.d.ts +1 -1
  62. package/lib/services/service.d.ts +4 -4
  63. package/lib/services/service.js +13 -13
  64. package/lib/services/service.js.map +1 -1
  65. package/lib/utils/date.js +9 -9
  66. package/lib/utils/date.js.map +1 -1
  67. package/lib/utils/error.js +1 -1
  68. package/lib/utils/error.js.map +1 -1
  69. package/lib/utils/tests.d.ts +1 -1
  70. package/lib/utils/tests.js +7 -7
  71. package/lib/utils/tests.js.map +1 -1
  72. package/package.json +18 -7
  73. package/src/index.ts +20 -0
  74. package/CHANGELOG.md +0 -28
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { RemoteData } from '../../libs/remoteData';
3
+ interface RenderConfig<E = any> {
4
+ renderFailure?: (error: E) => React.ReactElement;
5
+ renderLoading?: () => React.ReactElement;
6
+ renderNotAsked?: () => React.ReactElement;
7
+ }
8
+ interface RenderRemoteDataBasicProps<S, E = any> {
9
+ remoteData: RemoteData<S, E>;
10
+ children: (data: S) => React.ReactElement;
11
+ }
12
+ type RenderRemoteDataProps<S, E = any> = RenderRemoteDataBasicProps<S> & RenderConfig<E>;
13
+ export declare function RenderRemoteData<S, E = any>(props: RenderRemoteDataProps<S, E>): JSX.Element | null;
14
+ export declare function withRender<E = any>(config: RenderConfig<E>): <S>(props: RenderRemoteDataProps<S, E>) => JSX.Element;
15
+ export {};
@@ -0,0 +1,17 @@
1
+ interface BaseAction {
2
+ type: unknown;
3
+ }
4
+ type ExactlyOne<T, TKey = keyof T> = TKey extends keyof T ? {
5
+ [key in Exclude<keyof T, TKey>]?: never;
6
+ } & {
7
+ [key in TKey]: T[key];
8
+ } : never;
9
+ type GetOnlyBaseActions<T> = T extends ExactlyOne<T, 'type'> ? T : never;
10
+ type Callback<T extends BaseAction> = (e: T) => void;
11
+ type Dispatch<T extends BaseAction> = (action: T | GetOnlyBaseActions<T>['type']) => void;
12
+ type UseBus<T extends BaseAction> = (type: T['type'], callback: Callback<T>, deps: Array<any>) => Dispatch<T>;
13
+ export declare function createBus<T extends BaseAction = never>(): {
14
+ useBus: UseBus<T>;
15
+ dispatch: Dispatch<T>;
16
+ };
17
+ export {};
@@ -0,0 +1,7 @@
1
+ import { AidboxResource } from 'shared/src/contrib/aidbox';
2
+ import { RemoteData } from '../libs/remoteData';
3
+ export interface CRUDManager<T> {
4
+ handleSave: (updatedResource: T, relatedResources?: AidboxResource[]) => Promise<RemoteData<T>>;
5
+ handleDelete: (resourceToDelete: T) => void;
6
+ }
7
+ export declare function useCRUD<T extends AidboxResource>(resourceType: T['resourceType'], id?: string, getOrCreate?: boolean, defaultResource?: Partial<T>): [RemoteData<T>, CRUDManager<T>];
@@ -0,0 +1,9 @@
1
+ import { AidboxResource, Bundle } from 'shared/src/contrib/aidbox';
2
+ import { RemoteData } from '../libs/remoteData';
3
+ import { SearchParams } from '../services/search';
4
+ export interface PagerManager {
5
+ loadNext: () => void;
6
+ reload: () => void;
7
+ hasNext: boolean;
8
+ }
9
+ export declare function usePager<T extends AidboxResource>(resourceType: T['resourceType'], resourcesOnPage?: number, searchParams?: SearchParams): [RemoteData<Bundle<T>>, PagerManager];
@@ -0,0 +1,8 @@
1
+ import { RemoteData, RemoteDataResult } from '../libs/remoteData';
2
+ export interface ServiceManager<S, F> {
3
+ reload: () => void;
4
+ reloadAsync: () => Promise<RemoteDataResult<S, F>>;
5
+ softReloadAsync: () => Promise<RemoteDataResult<S, F>>;
6
+ set: (dataOrFn: S | ((data: S) => S)) => void;
7
+ }
8
+ export declare function useService<S = any, F = any>(asyncFunction: () => Promise<RemoteDataResult<S, F>>, deps?: ReadonlyArray<any>): [RemoteData<S, F>, ServiceManager<S, F>];
@@ -0,0 +1,9 @@
1
+ export interface StateManager<S> {
2
+ getSharedState: () => S;
3
+ setSharedState: (s: S) => void;
4
+ useSharedState: () => [S, (s: S) => void];
5
+ }
6
+ export declare class SharedStateInitializationError extends Error {
7
+ constructor(message?: string);
8
+ }
9
+ export declare function createSharedState<S>(initial?: S): StateManager<S>;
@@ -0,0 +1,16 @@
1
+ export * from './libs/remoteData';
2
+ export * from './services/token';
3
+ export * from './services/instance';
4
+ export * from './services/search';
5
+ export * from './services/service';
6
+ export * from './services/fhir';
7
+ export * from './utils/date';
8
+ export * from './utils/error';
9
+ export * from './utils/tests';
10
+ export * from './utils/uuid';
11
+ export * from './hooks/bus';
12
+ export * from './hooks/service';
13
+ export * from './hooks/crud';
14
+ export * from './hooks/shared-state';
15
+ export * from './hooks/pager';
16
+ export * from './components/RenderRemoteData';