@civet/core 2.0.2 → 2.1.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/DataProvider.d.ts +30 -30
- package/dist/Meta.d.ts +17 -15
- package/dist/Resource.d.ts +2 -2
- package/dist/ResourceProvider.d.ts +3 -3
- package/dist/context.d.ts +3 -3
- package/dist/main.d.ts +3 -3
- package/dist/main.js +3 -1
- package/dist/useResource.d.ts +3 -3
- package/dist/utilityTypes.d.ts +3 -0
- package/package.json +2 -1
package/dist/DataProvider.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { default as AbortSignal, AbortSignalProxy } from './AbortSignal';
|
|
3
3
|
import { default as ChannelNotifier } from './ChannelNotifier';
|
|
4
|
-
import { default as Meta,
|
|
4
|
+
import { default as Meta, InferInstance, InferSchema, MetaLike } from './Meta';
|
|
5
5
|
import { Constructor } from './utilityTypes';
|
|
6
6
|
export type RequestDetails<Query, Options> = {
|
|
7
7
|
name: string;
|
|
@@ -9,20 +9,20 @@ export type RequestDetails<Query, Options> = {
|
|
|
9
9
|
empty: boolean;
|
|
10
10
|
options: Options | undefined;
|
|
11
11
|
};
|
|
12
|
-
export type ResourceBaseContext<Item, Query, Options> = {
|
|
12
|
+
export type ResourceBaseContext<Item, Query, Options, MetaType extends Meta> = {
|
|
13
13
|
name: string;
|
|
14
14
|
query: Query;
|
|
15
15
|
options: Options | undefined;
|
|
16
16
|
request: string;
|
|
17
17
|
revision: string;
|
|
18
18
|
data: Item[];
|
|
19
|
-
meta:
|
|
19
|
+
meta: InferSchema<MetaType>;
|
|
20
20
|
error: Error | undefined;
|
|
21
21
|
isEmpty: boolean;
|
|
22
22
|
isIncomplete: boolean;
|
|
23
23
|
isInitial: boolean;
|
|
24
24
|
};
|
|
25
|
-
export type ResourceContextValue<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>> = ResourceBaseContext<ItemI, QueryI, OptionsI> & {
|
|
25
|
+
export type ResourceContextValue<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>> = ResourceBaseContext<ItemI, QueryI, OptionsI, MetaTypeI> & {
|
|
26
26
|
dataProvider: DataProviderI;
|
|
27
27
|
isLoading: boolean;
|
|
28
28
|
isStale: boolean;
|
|
@@ -38,18 +38,18 @@ export type ResourceContextValue<DataProviderI extends GenericDataProvider, Item
|
|
|
38
38
|
export type ContextPlugin<PluginProps = unknown, PluginTypes = unknown> = (context: ResourceContextValue<GenericDataProvider>, props: PluginProps) => ResourceContextValue<GenericDataProvider> & PluginTypes;
|
|
39
39
|
export type UIPlugin<PluginProps = unknown, PluginTypes = unknown> = React.ComponentType<PluginProps & {
|
|
40
40
|
context: ResourceContextValue<GenericDataProvider>;
|
|
41
|
-
children: (context: ResourceContextValue<GenericDataProvider> & PluginTypes) => ReactNode
|
|
41
|
+
children: (context: ResourceContextValue<GenericDataProvider> & PluginTypes) => ReactNode;
|
|
42
42
|
}>;
|
|
43
43
|
export type Persistence = boolean | 'very';
|
|
44
44
|
export type GetCallback<Item> = (error: Error | undefined, done: boolean, result: Item[]) => void;
|
|
45
45
|
export type ContinuousGet<Item> = (callback: GetCallback<Item>,
|
|
46
46
|
/** @deprecated Use the `abortSignal` that is provided by `handleGet` instead. */
|
|
47
47
|
abortSignal: AbortSignalProxy) => void;
|
|
48
|
-
export default abstract class DataProvider<Item, Query, Options,
|
|
48
|
+
export default abstract class DataProvider<Item, Query, Options, MetaType extends Meta = Meta, CreateData = Item, CreateResult = void, UpdateData = Item, UpdateResult = void, PatchData = Partial<Item>, PatchResult = void, RemoveResult = void> {
|
|
49
49
|
readonly _inferItem: Item;
|
|
50
50
|
readonly _inferQuery: Query;
|
|
51
51
|
readonly _inferOptions: Options;
|
|
52
|
-
readonly
|
|
52
|
+
readonly _inferMetaType: MetaType;
|
|
53
53
|
readonly _inferCreateData: CreateData;
|
|
54
54
|
readonly _inferCreateResult: CreateResult;
|
|
55
55
|
readonly _inferUpdateData: UpdateData;
|
|
@@ -65,42 +65,42 @@ export default abstract class DataProvider<Item, Query, Options, Instance = unkn
|
|
|
65
65
|
context: (plugin: ContextPlugin<unknown, unknown>) => void;
|
|
66
66
|
ui: (plugin: UIPlugin<unknown, unknown>) => void;
|
|
67
67
|
}): void;
|
|
68
|
-
createInstance():
|
|
69
|
-
releaseInstance(_:
|
|
68
|
+
createInstance(): InferInstance<MetaType> | undefined;
|
|
69
|
+
releaseInstance(_: InferInstance<MetaType>): void;
|
|
70
70
|
subscribe(resource: string, callback: () => void): () => void;
|
|
71
71
|
notify(resource: string): void;
|
|
72
|
-
get<ItemI extends Item = Item, QueryI extends Query = Query, OptionsI extends Options = Options>(resource: string, query: QueryI, options?: OptionsI, meta?: MetaLike<
|
|
73
|
-
continuousGet<ItemI extends Item = Item, QueryI extends Query = Query, OptionsI extends Options = Options>(resource: string, query: QueryI, options: OptionsI | undefined, meta: MetaLike<
|
|
74
|
-
abstract handleGet(resource: string, query: Query, options: Options | undefined, meta:
|
|
75
|
-
create<CreateResultI extends CreateResult = CreateResult, CreateDataI extends CreateData = CreateData, OptionsI extends Options = Options>(resource: string, data: CreateDataI, options?: OptionsI, meta?: MetaLike<
|
|
76
|
-
abstract handleCreate(resource: string, data: CreateData, options: Options | undefined, meta:
|
|
77
|
-
update<UpdateResultI extends UpdateResult = UpdateResult, QueryI extends Query = Query, UpdateDataI extends UpdateData = UpdateData, OptionsI extends Options = Options>(resource: string, query: QueryI, data: UpdateDataI, options?: OptionsI, meta?: MetaLike<
|
|
78
|
-
abstract handleUpdate(resource: string, query: Query, data: UpdateData, options: Options | undefined, meta:
|
|
79
|
-
patch<PatchResultI extends PatchResult = PatchResult, QueryI extends Query = Query, PatchDataI extends PatchData = PatchData, OptionsI extends Options = Options>(resource: string, query: QueryI, data: PatchDataI, options?: OptionsI, meta?: MetaLike<
|
|
80
|
-
abstract handlePatch(resource: string, query: Query, data: PatchData, options: Options | undefined, meta:
|
|
81
|
-
remove<RemoveResultI extends RemoveResult = RemoveResult, QueryI extends Query = Query, OptionsI extends Options = Options>(resource: string, query: QueryI, options?: OptionsI, meta?: MetaLike<
|
|
82
|
-
abstract handleRemove(resource: string, query: Query, options: Options | undefined, meta:
|
|
72
|
+
get<ItemI extends Item = Item, QueryI extends Query = Query, OptionsI extends Options = Options, MetaTypeI extends MetaType = MetaType>(resource: string, query: QueryI, options?: OptionsI, meta?: MetaLike<MetaTypeI>, abortSignal?: AbortSignal): Promise<ItemI[]>;
|
|
73
|
+
continuousGet<ItemI extends Item = Item, QueryI extends Query = Query, OptionsI extends Options = Options, MetaTypeI extends MetaType = MetaType>(resource: string, query: QueryI, options: OptionsI | undefined, meta: MetaLike<MetaTypeI> | undefined, callback: GetCallback<ItemI>, abortSignal?: AbortSignal): void;
|
|
74
|
+
abstract handleGet(resource: string, query: Query, options: Options | undefined, meta: MetaType, abortSignal: AbortSignalProxy): Promise<Item[] | ContinuousGet<Item>> | Item[] | ContinuousGet<Item>;
|
|
75
|
+
create<CreateResultI extends CreateResult = CreateResult, CreateDataI extends CreateData = CreateData, OptionsI extends Options = Options, MetaTypeI extends MetaType = MetaType>(resource: string, data: CreateDataI, options?: OptionsI, meta?: MetaLike<MetaTypeI>): Promise<CreateResultI>;
|
|
76
|
+
abstract handleCreate(resource: string, data: CreateData, options: Options | undefined, meta: MetaType): Promise<CreateResult> | CreateResult;
|
|
77
|
+
update<UpdateResultI extends UpdateResult = UpdateResult, QueryI extends Query = Query, UpdateDataI extends UpdateData = UpdateData, OptionsI extends Options = Options, MetaTypeI extends MetaType = MetaType>(resource: string, query: QueryI, data: UpdateDataI, options?: OptionsI, meta?: MetaLike<MetaTypeI>): Promise<UpdateResultI>;
|
|
78
|
+
abstract handleUpdate(resource: string, query: Query, data: UpdateData, options: Options | undefined, meta: MetaType): Promise<UpdateResult> | UpdateResult;
|
|
79
|
+
patch<PatchResultI extends PatchResult = PatchResult, QueryI extends Query = Query, PatchDataI extends PatchData = PatchData, OptionsI extends Options = Options, MetaTypeI extends MetaType = MetaType>(resource: string, query: QueryI, data: PatchDataI, options?: OptionsI, meta?: MetaLike<MetaTypeI>): Promise<PatchResultI>;
|
|
80
|
+
abstract handlePatch(resource: string, query: Query, data: PatchData, options: Options | undefined, meta: MetaType): Promise<PatchResult> | PatchResult;
|
|
81
|
+
remove<RemoveResultI extends RemoveResult = RemoveResult, QueryI extends Query = Query, OptionsI extends Options = Options, MetaTypeI extends MetaType = MetaType>(resource: string, query: QueryI, options?: OptionsI, meta?: MetaLike<MetaTypeI>): Promise<RemoveResultI>;
|
|
82
|
+
abstract handleRemove(resource: string, query: Query, options: Options | undefined, meta: MetaType): Promise<RemoveResult> | RemoveResult;
|
|
83
83
|
compareRequests(nextRequestDetails: RequestDetails<Query, Options>, prevRequestDetails: RequestDetails<Query, Options>): boolean;
|
|
84
|
-
shouldPersist(nextRequestDetails: RequestDetails<Query, Options>, prevRequestDetails: RequestDetails<Query, Options>, persistent: Persistence, _context: ResourceBaseContext<Item, Query, Options>): boolean;
|
|
84
|
+
shouldPersist(nextRequestDetails: RequestDetails<Query, Options>, prevRequestDetails: RequestDetails<Query, Options>, persistent: Persistence, _context: ResourceBaseContext<Item, Query, Options, MetaType>): boolean;
|
|
85
85
|
compareItemVersions(_item1: Item, _item2: Item): boolean;
|
|
86
86
|
getItemIdentifier(item: Item): string;
|
|
87
|
-
transition(nextContext: ResourceBaseContext<Item, Query, Options>, _prevContext: ResourceBaseContext<Item, Query, Options>): Item[];
|
|
88
|
-
recycleItems(nextContext: ResourceBaseContext<Item, Query, Options>, prevContext: ResourceBaseContext<Item, Query, Options>): Item[];
|
|
87
|
+
transition(nextContext: ResourceBaseContext<Item, Query, Options, MetaType>, _prevContext: ResourceBaseContext<Item, Query, Options, MetaType>): Item[];
|
|
88
|
+
recycleItems(nextContext: ResourceBaseContext<Item, Query, Options, MetaType>, prevContext: ResourceBaseContext<Item, Query, Options, MetaType>): Item[];
|
|
89
89
|
}
|
|
90
90
|
export declare const isDataProvider: (dataProvider: unknown) => boolean;
|
|
91
91
|
export type DataProviderImplementation<DataProviderI extends GenericDataProvider, ConstructorArgs extends any[]> = Constructor<ConstructorArgs, DataProviderI & {
|
|
92
|
-
handleGet(resource: string, query: InferQuery<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta:
|
|
93
|
-
handleCreate(resource: string, data: InferCreateData<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta:
|
|
94
|
-
handleUpdate(resource: string, query: InferQuery<DataProviderI>, data: InferUpdateData<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta:
|
|
95
|
-
handlePatch(resource: string, query: InferQuery<DataProviderI>, data: InferPatchData<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta:
|
|
96
|
-
handleRemove(resource: string, query: InferQuery<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta:
|
|
92
|
+
handleGet(resource: string, query: InferQuery<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta: InferMetaType<DataProviderI>, abortSignal: AbortSignalProxy): Promise<InferItem<DataProviderI>[] | ContinuousGet<InferItem<DataProviderI>>> | InferItem<DataProviderI>[] | ContinuousGet<InferItem<DataProviderI>>;
|
|
93
|
+
handleCreate(resource: string, data: InferCreateData<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta: InferMetaType<DataProviderI>): Promise<InferCreateResult<DataProviderI>> | InferCreateResult<DataProviderI>;
|
|
94
|
+
handleUpdate(resource: string, query: InferQuery<DataProviderI>, data: InferUpdateData<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta: InferMetaType<DataProviderI>): Promise<InferUpdateResult<DataProviderI>> | InferUpdateResult<DataProviderI>;
|
|
95
|
+
handlePatch(resource: string, query: InferQuery<DataProviderI>, data: InferPatchData<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta: InferMetaType<DataProviderI>): Promise<InferPatchResult<DataProviderI>> | InferPatchResult<DataProviderI>;
|
|
96
|
+
handleRemove(resource: string, query: InferQuery<DataProviderI>, options: InferOptions<DataProviderI> | undefined, meta: InferMetaType<DataProviderI>): Promise<InferRemoveResult<DataProviderI>> | InferRemoveResult<DataProviderI>;
|
|
97
97
|
}>;
|
|
98
|
-
export type GenericDataProvider = DataProvider<unknown, unknown, unknown,
|
|
98
|
+
export type GenericDataProvider = DataProvider<unknown, unknown, unknown, Meta, unknown, unknown, unknown, unknown, unknown, unknown, unknown>;
|
|
99
99
|
export type GenericDataProviderImplementation = DataProviderImplementation<GenericDataProvider, any[]>;
|
|
100
100
|
export type InferItem<DataProviderI extends GenericDataProvider> = DataProviderI['_inferItem'];
|
|
101
101
|
export type InferQuery<DataProviderI extends GenericDataProvider> = DataProviderI['_inferQuery'];
|
|
102
102
|
export type InferOptions<DataProviderI extends GenericDataProvider> = DataProviderI['_inferOptions'];
|
|
103
|
-
export type
|
|
103
|
+
export type InferMetaType<DataProviderI extends GenericDataProvider> = DataProviderI['_inferMetaType'];
|
|
104
104
|
export type InferCreateData<DataProviderI extends GenericDataProvider> = DataProviderI['_inferCreateData'];
|
|
105
105
|
export type InferCreateResult<DataProviderI extends GenericDataProvider> = DataProviderI['_inferCreateResult'];
|
|
106
106
|
export type InferUpdateData<DataProviderI extends GenericDataProvider> = DataProviderI['_inferUpdateData'];
|
package/dist/Meta.d.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
data:
|
|
1
|
+
import { GenericObject } from './utilityTypes';
|
|
2
|
+
export type MetaLike<MetaI extends Meta> = MetaI | InferSchema<MetaI>;
|
|
3
|
+
export default class Meta<Schema extends GenericObject = GenericObject, Instance = unknown> {
|
|
4
|
+
readonly _inferSchema: Schema;
|
|
5
|
+
readonly _inferInstance: Instance;
|
|
6
|
+
data: Schema;
|
|
7
7
|
instance?: Instance;
|
|
8
|
-
constructor(base?:
|
|
8
|
+
constructor(base?: Schema, instance?: Instance);
|
|
9
9
|
clear: () => void;
|
|
10
|
-
delete: (key:
|
|
11
|
-
entries: () => [
|
|
12
|
-
get: (key:
|
|
13
|
-
has: (key:
|
|
14
|
-
keys: () =>
|
|
15
|
-
set: (key:
|
|
16
|
-
values: () =>
|
|
17
|
-
commit: (prev:
|
|
10
|
+
delete: <Key extends keyof Schema>(key: Key) => Schema[Key];
|
|
11
|
+
entries: () => [keyof Schema, Schema[keyof Schema]][];
|
|
12
|
+
get: <Key extends keyof Schema>(key: Key) => Schema[Key];
|
|
13
|
+
has: (key: keyof Schema) => boolean;
|
|
14
|
+
keys: () => (keyof Schema)[];
|
|
15
|
+
set: <Key extends keyof Schema>(key: Key, value: Schema[Key]) => void;
|
|
16
|
+
values: () => Schema[keyof Schema][];
|
|
17
|
+
commit: (prev: Schema, ignore?: (keyof Schema)[]) => Schema;
|
|
18
18
|
}
|
|
19
|
+
export type InferSchema<MetaI extends Meta> = MetaI['_inferSchema'];
|
|
20
|
+
export type InferInstance<MetaI extends Meta> = MetaI['_inferInstance'];
|
package/dist/Resource.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import { GenericDataProvider, InferItem, InferOptions, InferQuery, Persistence } from './DataProvider';
|
|
2
|
+
import { GenericDataProvider, InferItem, InferMetaType, InferOptions, InferQuery, Persistence } from './DataProvider';
|
|
3
3
|
/**
|
|
4
4
|
* Provides data based on the given request details and DataProvider.
|
|
5
5
|
* Context provider for the ResourceContext.
|
|
@@ -8,7 +8,7 @@ import { GenericDataProvider, InferItem, InferOptions, InferQuery, Persistence }
|
|
|
8
8
|
*
|
|
9
9
|
* The provided DataProvider must not be changed.
|
|
10
10
|
*/
|
|
11
|
-
export default function Resource<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>>({ dataProvider, name, query, empty, options, persistent, children, ...rest }: {
|
|
11
|
+
export default function Resource<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>>({ dataProvider, name, query, empty, options, persistent, children, ...rest }: {
|
|
12
12
|
/** DataProvider to be used for requests - must not be changed */
|
|
13
13
|
dataProvider?: DataProviderI;
|
|
14
14
|
/** Resource name */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
-
import { GenericDataProvider, InferItem, InferOptions, InferQuery, ResourceContextValue } from './DataProvider';
|
|
3
|
-
export default function ResourceProvider<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>>({ resource, children, }: PropsWithChildren<{
|
|
4
|
-
resource: ResourceContextValue<DataProviderI, ItemI, QueryI, OptionsI>;
|
|
2
|
+
import { GenericDataProvider, InferItem, InferMetaType, InferOptions, InferQuery, ResourceContextValue } from './DataProvider';
|
|
3
|
+
export default function ResourceProvider<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>>({ resource, children, }: PropsWithChildren<{
|
|
4
|
+
resource: ResourceContextValue<DataProviderI, ItemI, QueryI, OptionsI, MetaTypeI>;
|
|
5
5
|
}>): ReactNode;
|
package/dist/context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ConsumerProps, ExoticComponent, ReactNode } from 'react';
|
|
2
|
-
import { GenericDataProvider, InferItem, InferOptions, InferQuery, ResourceContextValue } from './DataProvider';
|
|
2
|
+
import { GenericDataProvider, InferItem, InferMetaType, InferOptions, InferQuery, ResourceContextValue } from './DataProvider';
|
|
3
3
|
export type ConfigContextValue<DataProviderI extends GenericDataProvider> = {
|
|
4
4
|
dataProvider?: DataProviderI;
|
|
5
5
|
};
|
|
@@ -10,6 +10,6 @@ export declare const ConfigConsumer: ExoticComponent<GenericDataProvider> & {
|
|
|
10
10
|
export declare const useConfigContext: <DataProviderI extends GenericDataProvider>() => ConfigContextValue<DataProviderI>;
|
|
11
11
|
export declare const ResourceContext: import('react').Context<ResourceContextValue<GenericDataProvider>>;
|
|
12
12
|
export declare const ResourceConsumer: ExoticComponent<GenericDataProvider> & {
|
|
13
|
-
<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>>(props: ConsumerProps<ResourceContextValue<DataProviderI, ItemI, QueryI, OptionsI>>): ReactNode;
|
|
13
|
+
<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>>(props: ConsumerProps<ResourceContextValue<DataProviderI, ItemI, QueryI, OptionsI, MetaTypeI>>): ReactNode;
|
|
14
14
|
};
|
|
15
|
-
export declare const useResourceContext: <DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>>() => ResourceContextValue<DataProviderI, ItemI, QueryI, OptionsI>;
|
|
15
|
+
export declare const useResourceContext: <DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>>() => ResourceContextValue<DataProviderI, ItemI, QueryI, OptionsI, MetaTypeI>;
|
package/dist/main.d.ts
CHANGED
|
@@ -8,12 +8,12 @@ export type { ConfigContextValue } from './context';
|
|
|
8
8
|
export { default as createPlugin } from './createPlugin';
|
|
9
9
|
export type { DataProviderImplementationWithPlugin, DataProviderPlugin, } from './createPlugin';
|
|
10
10
|
export { default as DataProvider, isDataProvider } from './DataProvider';
|
|
11
|
-
export type { ContextPlugin, ContinuousGet, DataProviderImplementation, GenericDataProvider, GenericDataProviderImplementation, GetCallback, InferCreateData, InferCreateResult,
|
|
11
|
+
export type { ContextPlugin, ContinuousGet, DataProviderImplementation, GenericDataProvider, GenericDataProviderImplementation, GetCallback, InferCreateData, InferCreateResult, InferItem, InferMetaType, InferOptions, InferPatchData, InferPatchResult, InferQuery, InferRemoveResult, InferUpdateData, InferUpdateResult, Persistence, RequestDetails, ResourceBaseContext, ResourceContextValue, UIPlugin, } from './DataProvider';
|
|
12
12
|
export { default as Meta } from './Meta';
|
|
13
|
-
export type {
|
|
13
|
+
export type { InferInstance, InferSchema, MetaLike } from './Meta';
|
|
14
14
|
export { default as Notifier } from './Notifier';
|
|
15
15
|
export { default as Resource } from './Resource';
|
|
16
16
|
export { default as ResourceProvider } from './ResourceProvider';
|
|
17
17
|
export { default as useResource } from './useResource';
|
|
18
|
-
export type { Constructor } from './utilityTypes';
|
|
18
|
+
export type { Constructor, GenericObject } from './utilityTypes';
|
|
19
19
|
export { ConfigConsumer, ResourceConsumer, useConfigContext, useResourceContext, };
|
package/dist/main.js
CHANGED
|
@@ -930,6 +930,8 @@ list should be an Array.`), e.length === 0) return new c(0);
|
|
|
930
930
|
var Me = Ne();
|
|
931
931
|
const Te = /* @__PURE__ */ Se(Me);
|
|
932
932
|
class ye {
|
|
933
|
+
_inferSchema;
|
|
934
|
+
_inferInstance;
|
|
933
935
|
data;
|
|
934
936
|
instance;
|
|
935
937
|
constructor(s, u) {
|
|
@@ -966,7 +968,7 @@ class Ce {
|
|
|
966
968
|
_inferItem;
|
|
967
969
|
_inferQuery;
|
|
968
970
|
_inferOptions;
|
|
969
|
-
|
|
971
|
+
_inferMetaType;
|
|
970
972
|
_inferCreateData;
|
|
971
973
|
_inferCreateResult;
|
|
972
974
|
_inferUpdateData;
|
package/dist/useResource.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GenericDataProvider, InferItem, InferOptions, InferQuery, Persistence, ResourceContextValue } from './DataProvider';
|
|
1
|
+
import { GenericDataProvider, InferItem, InferMetaType, InferOptions, InferQuery, Persistence, ResourceContextValue } from './DataProvider';
|
|
2
2
|
/**
|
|
3
3
|
* Provides data based on the given request details and DataProvider.
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@ import { GenericDataProvider, InferItem, InferOptions, InferQuery, Persistence,
|
|
|
6
6
|
*
|
|
7
7
|
* The provided DataProvider must not be changed.
|
|
8
8
|
*/
|
|
9
|
-
export default function useResource<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>>({ dataProvider: dataProviderProp, name: nextName, query: nextQuery, empty: nextEmpty, options: nextOptions, persistent: nextPersistent, ...rest }: {
|
|
9
|
+
export default function useResource<DataProviderI extends GenericDataProvider, ItemI extends InferItem<DataProviderI> = InferItem<DataProviderI>, QueryI extends InferQuery<DataProviderI> = InferQuery<DataProviderI>, OptionsI extends InferOptions<DataProviderI> = InferOptions<DataProviderI>, MetaTypeI extends InferMetaType<DataProviderI> = InferMetaType<DataProviderI>>({ dataProvider: dataProviderProp, name: nextName, query: nextQuery, empty: nextEmpty, options: nextOptions, persistent: nextPersistent, ...rest }: {
|
|
10
10
|
/** DataProvider to be used for requests - must not be changed */
|
|
11
11
|
dataProvider?: DataProviderI;
|
|
12
12
|
/** Resource name */
|
|
@@ -20,4 +20,4 @@ export default function useResource<DataProviderI extends GenericDataProvider, I
|
|
|
20
20
|
/** Whether stale data should be retained during the next request - this only applies if name did not change, unless set to "very" */
|
|
21
21
|
persistent?: Persistence;
|
|
22
22
|
[rest: string]: unknown;
|
|
23
|
-
}): ResourceContextValue<DataProviderI, ItemI, QueryI, OptionsI>;
|
|
23
|
+
}): ResourceContextValue<DataProviderI, ItemI, QueryI, OptionsI, MetaTypeI>;
|
package/dist/utilityTypes.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@civet/core",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "Civet",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Aaron Burmeister"
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"lint:fix": "npm run lint -- --fix",
|
|
39
39
|
"prettify": "prettier . --write",
|
|
40
40
|
"preview": "vite preview",
|
|
41
|
+
"postversion": "git commit -am$npm_package_version",
|
|
41
42
|
"prepublishOnly": "npm run build"
|
|
42
43
|
},
|
|
43
44
|
"dependencies": {
|