aidbox-react 1.5.0 → 1.7.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.
- package/dist/cjs/components/RenderRemoteData/index.d.ts +15 -0
- package/dist/cjs/hooks/bus.d.ts +17 -0
- package/dist/cjs/hooks/crud.d.ts +7 -0
- package/dist/cjs/hooks/pager.d.ts +13 -0
- package/dist/cjs/hooks/service.d.ts +8 -0
- package/dist/cjs/hooks/shared-state.d.ts +9 -0
- package/dist/cjs/index.d.ts +16 -0
- package/dist/cjs/index.js +3317 -0
- package/dist/cjs/libs/remoteData.d.ts +35 -0
- package/dist/cjs/services/fhir.d.ts +44 -0
- package/dist/cjs/services/instance.d.ts +6 -0
- package/dist/cjs/services/search.d.ts +4 -0
- package/dist/cjs/services/service.d.ts +33 -0
- package/dist/cjs/services/token.d.ts +4 -0
- package/dist/cjs/utils/date.d.ts +14 -0
- package/dist/cjs/utils/error.d.ts +30 -0
- package/dist/cjs/utils/tests.d.ts +10 -0
- package/dist/cjs/utils/uuid.d.ts +1 -0
- package/dist/esm/components/RenderRemoteData/index.d.ts +15 -0
- package/dist/esm/hooks/bus.d.ts +17 -0
- package/dist/esm/hooks/crud.d.ts +7 -0
- package/dist/esm/hooks/pager.d.ts +13 -0
- package/dist/esm/hooks/service.d.ts +8 -0
- package/dist/esm/hooks/shared-state.d.ts +9 -0
- package/dist/esm/index.d.ts +16 -0
- package/dist/esm/index.js +3226 -0
- package/dist/esm/libs/remoteData.d.ts +35 -0
- package/dist/esm/services/fhir.d.ts +44 -0
- package/dist/esm/services/instance.d.ts +6 -0
- package/dist/esm/services/search.d.ts +4 -0
- package/dist/esm/services/service.d.ts +33 -0
- package/dist/esm/services/token.d.ts +4 -0
- package/dist/esm/utils/date.d.ts +14 -0
- package/dist/esm/utils/error.d.ts +30 -0
- package/dist/esm/utils/tests.d.ts +10 -0
- package/dist/esm/utils/uuid.d.ts +1 -0
- package/dist/index.d.ts +248 -0
- package/lib/components/RenderRemoteData/index.d.ts +1 -1
- package/lib/components/RenderRemoteData/index.js +5 -5
- package/lib/components/RenderRemoteData/index.js.map +1 -1
- package/lib/hooks/bus.d.ts +5 -5
- package/lib/hooks/bus.js +1 -1
- package/lib/hooks/bus.js.map +1 -1
- package/lib/hooks/crud.js +14 -14
- package/lib/hooks/crud.js.map +1 -1
- package/lib/hooks/pager.d.ts +4 -0
- package/lib/hooks/pager.js +21 -12
- package/lib/hooks/pager.js.map +1 -1
- package/lib/hooks/service.js +15 -15
- package/lib/hooks/service.js.map +1 -1
- package/lib/hooks/shared-state.js +3 -3
- package/lib/hooks/shared-state.js.map +1 -1
- package/lib/index.d.ts +16 -0
- package/lib/index.js +20 -0
- package/lib/index.js.map +1 -0
- package/lib/libs/remoteData.d.ts +2 -2
- package/lib/services/fhir.d.ts +3 -3
- package/lib/services/fhir.js +38 -38
- package/lib/services/fhir.js.map +1 -1
- package/lib/services/instance.js +1 -1
- package/lib/services/instance.js.map +1 -1
- package/lib/services/search.d.ts +1 -1
- package/lib/services/service.d.ts +4 -4
- package/lib/services/service.js +13 -13
- package/lib/services/service.js.map +1 -1
- package/lib/utils/date.js +9 -9
- package/lib/utils/date.js.map +1 -1
- package/lib/utils/error.js +1 -1
- package/lib/utils/error.js.map +1 -1
- package/lib/utils/tests.d.ts +1 -1
- package/lib/utils/tests.js +7 -7
- package/lib/utils/tests.js.map +1 -1
- package/package.json +18 -7
- package/src/hooks/pager.ts +37 -12
- package/src/index.ts +20 -0
- package/CHANGELOG.md +0 -28
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
declare enum Status {
|
|
2
|
+
Success = "Success",
|
|
3
|
+
Failure = "Failure",
|
|
4
|
+
Loading = "Loading",
|
|
5
|
+
NotAsked = "NotAsked"
|
|
6
|
+
}
|
|
7
|
+
interface RemoteDataNotAsked {
|
|
8
|
+
status: Status.NotAsked;
|
|
9
|
+
}
|
|
10
|
+
export declare const notAsked: RemoteDataNotAsked;
|
|
11
|
+
interface RemoteDataLoading {
|
|
12
|
+
status: Status.Loading;
|
|
13
|
+
}
|
|
14
|
+
export declare const loading: RemoteDataLoading;
|
|
15
|
+
interface RemoteDataSuccess<s> {
|
|
16
|
+
status: Status.Success;
|
|
17
|
+
data: s;
|
|
18
|
+
}
|
|
19
|
+
export declare function success<S = any>(data: S): RemoteDataSuccess<S>;
|
|
20
|
+
interface RemoteDataFailure<F> {
|
|
21
|
+
status: Status.Failure;
|
|
22
|
+
error: F;
|
|
23
|
+
}
|
|
24
|
+
export declare function failure<F = any>(error: F): RemoteDataFailure<F>;
|
|
25
|
+
export type RemoteDataResult<S = any, F = any> = RemoteDataSuccess<S> | RemoteDataFailure<F>;
|
|
26
|
+
export type RemoteData<S = any, F = any> = RemoteDataNotAsked | RemoteDataLoading | RemoteDataResult<S, F>;
|
|
27
|
+
export declare function isNotAsked(remoteData: RemoteData): remoteData is RemoteDataNotAsked;
|
|
28
|
+
export declare function isLoading(remoteData: RemoteData): remoteData is RemoteDataLoading;
|
|
29
|
+
export declare function isSuccess<S>(remoteData: RemoteData<S>): remoteData is RemoteDataSuccess<S>;
|
|
30
|
+
export declare function isSuccessAll<S>(responses: Array<RemoteData<S>>): responses is Array<RemoteDataSuccess<S>>;
|
|
31
|
+
export declare function isFailure<F>(remoteData: RemoteData<any, F>): remoteData is RemoteDataFailure<F>;
|
|
32
|
+
export declare function isFailureAny<F>(responses: Array<RemoteData<any, F>>): responses is Array<RemoteDataFailure<F>>;
|
|
33
|
+
export declare function isLoadingAny(responses: Array<RemoteData>): responses is Array<RemoteDataLoading>;
|
|
34
|
+
export declare function isNotAskedAny(responses: Array<RemoteData>): responses is Array<RemoteDataNotAsked>;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { AidboxReference, AidboxResource, ValueSet, Bundle, BundleEntry, id } from 'shared/src/contrib/aidbox';
|
|
3
|
+
import { RemoteDataResult } from '../libs/remoteData';
|
|
4
|
+
import { SearchParams } from './search';
|
|
5
|
+
export type WithId<T extends AidboxResource> = T & Required<Pick<T, 'id'>>;
|
|
6
|
+
export declare function createFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
7
|
+
export declare function create<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
8
|
+
export declare function updateFHIRResource<R extends AidboxResource>(resource: R, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
9
|
+
export declare function update<R extends AidboxResource>(resource: R, searchParams?: SearchParams): AxiosRequestConfig;
|
|
10
|
+
export declare function getFHIRResource<R extends AidboxResource>(reference: AidboxReference<R>): Promise<RemoteDataResult<WithId<R>>>;
|
|
11
|
+
export declare function get<R extends AidboxResource>(reference: AidboxReference<R>): AxiosRequestConfig;
|
|
12
|
+
export declare function getFHIRResources<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
13
|
+
export declare function getAllFHIRResources<R extends AidboxResource>(resourceType: string, params: SearchParams, extraPath?: string): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
14
|
+
export declare function list<R extends AidboxResource>(resourceType: R['resourceType'], searchParams: SearchParams, extraPath?: string): AxiosRequestConfig;
|
|
15
|
+
export declare function findFHIRResource<R extends AidboxResource>(resourceType: R['resourceType'], params: SearchParams, extraPath?: string): Promise<RemoteDataResult<WithId<R>>>;
|
|
16
|
+
export declare function saveFHIRResource<R extends AidboxResource>(resource: R): Promise<RemoteDataResult<WithId<R>>>;
|
|
17
|
+
export declare function save<R extends AidboxResource>(resource: R): AxiosRequestConfig;
|
|
18
|
+
export declare function saveFHIRResources<R extends AidboxResource>(resources: R[], bundleType: 'transaction' | 'batch'): Promise<RemoteDataResult<Bundle<WithId<R>>>>;
|
|
19
|
+
type NullableRecursivePartial<T> = {
|
|
20
|
+
[P in keyof T]?: NullableRecursivePartial<T[P]> | null;
|
|
21
|
+
};
|
|
22
|
+
export declare function patchFHIRResource<R extends AidboxResource>(resource: NullableRecursivePartial<R> & Required<Pick<R, 'id' | 'resourceType'>>, searchParams?: SearchParams): Promise<RemoteDataResult<WithId<R>>>;
|
|
23
|
+
export declare function patch<R extends AidboxResource>(resource: NullableRecursivePartial<R> & Required<Pick<R, 'resourceType'>>, searchParams?: SearchParams): AxiosRequestConfig;
|
|
24
|
+
export declare function deleteFHIRResource<R extends AidboxResource>(resource: AidboxReference<R>): Promise<RemoteDataResult<WithId<R>>>;
|
|
25
|
+
export declare function markAsDeleted<R extends AidboxResource>(resource: AidboxReference<R>): AxiosRequestConfig;
|
|
26
|
+
export declare function forceDeleteFHIRResource<R extends AidboxResource>(resource: AidboxReference<R>): Promise<RemoteDataResult<WithId<R>>>;
|
|
27
|
+
export declare function forceDelete<R extends AidboxResource>(resourceType: R['resourceType'], idOrSearchParams: id | SearchParams): AxiosRequestConfig;
|
|
28
|
+
export declare function getReference<T extends AidboxResource>(resource: T, display?: string): AidboxReference<T>;
|
|
29
|
+
export declare function makeReference<T extends AidboxResource>(resourceType: string, id: string, display?: string): AidboxReference<T>;
|
|
30
|
+
export declare function isReference<T extends AidboxResource>(resource: T | AidboxReference<T>): resource is AidboxReference<T>;
|
|
31
|
+
export type ResourcesMap<T extends AidboxResource> = {
|
|
32
|
+
[P in T['resourceType']]: T extends {
|
|
33
|
+
resourceType: P;
|
|
34
|
+
} ? T[] : never;
|
|
35
|
+
};
|
|
36
|
+
export declare function extractBundleResources<T extends AidboxResource>(bundle: Bundle<T>): ResourcesMap<T>;
|
|
37
|
+
export declare function getIncludedResource<T extends AidboxResource>(resources: ResourcesMap<T | any>, reference: AidboxReference<T>): T | undefined;
|
|
38
|
+
export declare function getIncludedResources<T extends AidboxResource>(resources: ResourcesMap<T | any>, resourceType: T['resourceType']): T[];
|
|
39
|
+
export declare function getMainResources<T extends AidboxResource>(bundle: Bundle<T>, resourceType: T['resourceType']): T[];
|
|
40
|
+
export declare function getConcepts(valueSetId: string, params?: SearchParams): Promise<RemoteDataResult<ValueSet>>;
|
|
41
|
+
export declare function applyFHIRService<T extends AidboxResource, F = any>(request: AxiosRequestConfig): Promise<RemoteDataResult<WithId<T>, F>>;
|
|
42
|
+
export declare function transformToBundleEntry<R extends AidboxResource>(config: AxiosRequestConfig): BundleEntry<R> | null;
|
|
43
|
+
export declare function applyFHIRServices<T extends AidboxResource, F = any>(requests: Array<AxiosRequestConfig>, type?: 'transaction' | 'batch'): Promise<RemoteDataResult<Bundle<WithId<T>>, F>>;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Token } from './token';
|
|
2
|
+
export declare function buildQueryParams(params: Record<string, any>): string;
|
|
3
|
+
export declare const axiosInstance: import("axios").AxiosInstance;
|
|
4
|
+
export declare function setInstanceBaseURL(baseURL: string): void;
|
|
5
|
+
export declare function setInstanceToken(token: Token): void;
|
|
6
|
+
export declare function resetInstanceToken(): void;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { RemoteDataResult, RemoteData } from '../libs/remoteData';
|
|
3
|
+
export declare function service<S = any, F = any>(config: AxiosRequestConfig): Promise<RemoteDataResult<S, F>>;
|
|
4
|
+
export declare function applyDataTransformer<S = any, F = any, R = any>(servicePromise: Promise<RemoteDataResult<S, F>>, transformer: (data: S) => R): Promise<RemoteDataResult<R, F>>;
|
|
5
|
+
export declare function applyDataTransformer<S = any, F = any, R = any>(servicePromise: Promise<RemoteData<S, F>>, transformer: (data: S) => R): Promise<RemoteData<R, F>>;
|
|
6
|
+
export declare function applyErrorTransformer<S = any, F = any, R = any>(servicePromise: Promise<RemoteDataResult<S, F>>, transformer: (error: F) => R): Promise<RemoteDataResult<S, R>>;
|
|
7
|
+
export declare function applyErrorTransformer<S = any, F = any, R = any>(servicePromise: Promise<RemoteData<S, F>>, transformer: (error: F) => R): Promise<RemoteData<S, R>>;
|
|
8
|
+
export declare function mapSuccess<S = any, F = any, R = any>(remoteData: RemoteDataResult<S, F>, transformer: (data: S) => R): RemoteDataResult<R, F>;
|
|
9
|
+
export declare function mapSuccess<S = any, F = any, R = any>(remoteData: RemoteData<S, F>, transformer: (data: S) => R): RemoteData<R, F>;
|
|
10
|
+
export declare function mapFailure<S = any, F = any, R = any>(remoteData: RemoteDataResult<S, F>, transformer: (error: F) => R): RemoteDataResult<S, R>;
|
|
11
|
+
export declare function mapFailure<S = any, F = any, R = any>(remoteData: RemoteData<S, F>, transformer: (error: F) => R): RemoteData<S, R>;
|
|
12
|
+
export type PromiseRemoteDataResultMap<T, F> = {
|
|
13
|
+
[P in keyof T]: Promise<RemoteDataResult<T[P], F>>;
|
|
14
|
+
};
|
|
15
|
+
export type RemoteDataResultMap<T, F> = {
|
|
16
|
+
[P in keyof T]: RemoteDataResult<T[P], F>;
|
|
17
|
+
};
|
|
18
|
+
export type PromiseRemoteDataMap<T, F> = {
|
|
19
|
+
[P in keyof T]: Promise<RemoteData<T[P], F>>;
|
|
20
|
+
};
|
|
21
|
+
export type RemoteDataMap<T, F> = {
|
|
22
|
+
[P in keyof T]: RemoteData<T[P], F>;
|
|
23
|
+
};
|
|
24
|
+
export declare function sequenceArray<T, F>(remoteDataArray: Array<RemoteDataResult<T, F>>): RemoteDataResult<T[], F[]>;
|
|
25
|
+
export declare function sequenceArray<T, F>(remoteDataArray: Array<RemoteData<T, F>>): RemoteData<T[], F[]>;
|
|
26
|
+
export declare function sequenceMap<I, F>(remoteDataMap: RemoteDataResultMap<I, F>): RemoteDataResult<I, F[]>;
|
|
27
|
+
export declare function sequenceMap<I, F>(remoteDataMap: RemoteDataMap<I, F>): RemoteData<I, F[]>;
|
|
28
|
+
export declare function resolveArray<T, F>(promiseArray: Array<Promise<RemoteDataResult<T, F>>>): Promise<RemoteDataResult<T[], F[]>>;
|
|
29
|
+
export declare function resolveArray<T, F>(promiseArray: Array<Promise<RemoteData<T, F>>>): Promise<RemoteData<T[], F[]>>;
|
|
30
|
+
export declare function resolveMap<I, F>(promiseMap: PromiseRemoteDataResultMap<I, F>): Promise<RemoteDataResult<I, F[]>>;
|
|
31
|
+
export declare function resolveMap<I, F>(promiseMap: PromiseRemoteDataMap<I, F>): Promise<RemoteData<I, F[]>>;
|
|
32
|
+
export declare function resolveServiceMap<I, F>(promiseMap: PromiseRemoteDataResultMap<I, F>): Promise<RemoteDataResult<I, F[]>>;
|
|
33
|
+
export declare function resolveServiceMap<I, F>(promiseMap: PromiseRemoteDataMap<I, F>): Promise<RemoteData<I, F[]>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import moment from 'moment';
|
|
2
|
+
export declare const FHIRDateFormat = "YYYY-MM-DD";
|
|
3
|
+
export declare const FHIRTimeFormat = "HH:mm:ss";
|
|
4
|
+
export declare const FHIRDateTimeFormat = "YYYY-MM-DDTHH:mm:ss[Z]";
|
|
5
|
+
export declare const formatFHIRTime: (date: Date | moment.Moment) => string;
|
|
6
|
+
export declare const formatFHIRDate: (date: Date | moment.Moment) => string;
|
|
7
|
+
export declare const formatFHIRDateTime: (date: Date | moment.Moment) => string;
|
|
8
|
+
export declare const parseFHIRTime: (date: string) => moment.Moment;
|
|
9
|
+
export declare const parseFHIRDate: (date: string) => moment.Moment;
|
|
10
|
+
export declare const parseFHIRDateTime: (date: string) => moment.Moment;
|
|
11
|
+
export declare const makeFHIRDateTime: (date: string, time?: string) => string;
|
|
12
|
+
export declare const extractFHIRDate: (date: string) => string;
|
|
13
|
+
export declare const extractFHIRTime: (date: string) => string;
|
|
14
|
+
export declare const isFHIRDateEqual: (date1: string, date2: string) => boolean;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { OperationOutcome } from 'shared/src/contrib/aidbox';
|
|
2
|
+
interface BackendError {
|
|
3
|
+
error: string;
|
|
4
|
+
error_description: string;
|
|
5
|
+
}
|
|
6
|
+
interface ErrorMapping {
|
|
7
|
+
[code: string]: string;
|
|
8
|
+
}
|
|
9
|
+
interface FormatErrorConfig {
|
|
10
|
+
mapping?: ErrorMapping;
|
|
11
|
+
format?: (errorCode: string, errorDescription: string) => string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Returns formatted error (when you need to display human-friendly error message)
|
|
15
|
+
*
|
|
16
|
+
* formatError(
|
|
17
|
+
* error,
|
|
18
|
+
* {
|
|
19
|
+
* mapping: {'conflict': 'Please reload page'},
|
|
20
|
+
* format: (errorCode, errorDescription) =>
|
|
21
|
+
* `An error occurred: ${errorDescription} (${errorCode}). Please reach tech support`
|
|
22
|
+
* }
|
|
23
|
+
* )
|
|
24
|
+
*/
|
|
25
|
+
export declare function formatError(error: any, config?: FormatErrorConfig): any;
|
|
26
|
+
export declare function extractErrorDescription(error: any): any;
|
|
27
|
+
export declare function extractErrorCode(error: any): string;
|
|
28
|
+
export declare function isOperationOutcome(error: any): error is OperationOutcome;
|
|
29
|
+
export declare function isBackendError(error: any): error is BackendError;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { User } from 'shared/src/contrib/aidbox';
|
|
2
|
+
import { RemoteData } from '../libs/remoteData';
|
|
3
|
+
import { Token } from '../services/token';
|
|
4
|
+
export type LoginService = (user: User) => Promise<RemoteData<Token>>;
|
|
5
|
+
export declare function withRootAccess<R>(fn: () => Promise<R>): Promise<R>;
|
|
6
|
+
export declare function ensure<R>(result: RemoteData<R>): R;
|
|
7
|
+
export declare function investigate<R = any>(result: RemoteData<unknown, R>): R;
|
|
8
|
+
export declare function getToken(user: User, loginService: LoginService): Promise<Token>;
|
|
9
|
+
export declare function login(user: User, loginService: LoginService): Promise<Token>;
|
|
10
|
+
export declare function getUserInfo(): Promise<User>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function uuid4(): string;
|
|
@@ -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,13 @@
|
|
|
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
|
+
loadPrevious: () => void;
|
|
7
|
+
loadPage: (page: number) => void;
|
|
8
|
+
reload: () => void;
|
|
9
|
+
hasNext: boolean;
|
|
10
|
+
hasPrevious: boolean;
|
|
11
|
+
currentPage: number;
|
|
12
|
+
}
|
|
13
|
+
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';
|