@sudobility/testomniac_client 0.0.18 → 0.0.20
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/README.md +37 -28
- package/dist/hooks/useHistories.d.ts +2 -2
- package/dist/hooks/useHistories.d.ts.map +1 -1
- package/dist/hooks/useHistories.js +10 -10
- package/dist/hooks/useHistories.js.map +1 -1
- package/dist/network/StarterClient.d.ts +4 -4
- package/dist/network/StarterClient.d.ts.map +1 -1
- package/dist/network/StarterClient.js +8 -8
- package/dist/network/StarterClient.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,60 +1,69 @@
|
|
|
1
|
-
# @sudobility/
|
|
1
|
+
# @sudobility/starter_client
|
|
2
2
|
|
|
3
|
-
API client SDK for
|
|
3
|
+
API client SDK for Starter with TanStack Query hooks.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
bun add @sudobility/
|
|
8
|
+
bun add @sudobility/starter_client
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Peer dependencies:
|
|
12
12
|
|
|
13
|
-
```
|
|
14
|
-
|
|
13
|
+
```bash
|
|
14
|
+
bun add react @tanstack/react-query @sudobility/types
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
15
18
|
|
|
16
|
-
|
|
19
|
+
```ts
|
|
20
|
+
import { StarterClient } from "@sudobility/starter_client";
|
|
21
|
+
import { useHistories, useHistoriesTotal } from "@sudobility/starter_client/hooks";
|
|
17
22
|
|
|
18
|
-
//
|
|
19
|
-
const {
|
|
20
|
-
client,
|
|
21
|
-
userId: "firebase-uid",
|
|
22
|
-
token,
|
|
23
|
-
});
|
|
23
|
+
// Create the HTTP client (dependency-injected NetworkClient)
|
|
24
|
+
const client = new StarterClient({ baseUrl: "https://api.example.com", networkClient });
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
// In a React component:
|
|
27
|
+
const { data, createHistory, updateHistory, deleteHistory } = useHistories(config);
|
|
28
|
+
const { data: total } = useHistoriesTotal(config);
|
|
26
29
|
```
|
|
27
30
|
|
|
28
31
|
## API
|
|
29
32
|
|
|
30
|
-
###
|
|
33
|
+
### StarterClient
|
|
31
34
|
|
|
32
|
-
|
|
35
|
+
HTTP client class constructed with `{ baseUrl, networkClient }`. Uses dependency injection via the `NetworkClient` interface -- no direct fetch calls.
|
|
33
36
|
|
|
34
37
|
### Hooks
|
|
35
38
|
|
|
36
|
-
- `useHistories(config)` --
|
|
37
|
-
- `useHistoriesTotal(config)` --
|
|
39
|
+
- `useHistories(config)` -- Fetches user history list; provides `createHistory`, `updateHistory`, `deleteHistory` mutations with automatic cache invalidation.
|
|
40
|
+
- `useHistoriesTotal(config)` -- Fetches global total (public endpoint).
|
|
38
41
|
|
|
39
|
-
###
|
|
42
|
+
### Utilities
|
|
40
43
|
|
|
41
|
-
- `
|
|
44
|
+
- `createAuthHeaders(token)` -- Builds auth header object
|
|
45
|
+
- `buildUrl(base, path)` -- URL construction helper
|
|
46
|
+
- `handleApiError(error)` -- Standardized API error handling
|
|
47
|
+
- `QUERY_KEYS` -- Type-safe TanStack Query cache key factory
|
|
42
48
|
|
|
43
49
|
## Development
|
|
44
50
|
|
|
45
51
|
```bash
|
|
46
|
-
bun run build
|
|
47
|
-
bun
|
|
48
|
-
bun
|
|
52
|
+
bun run build # Build ESM
|
|
53
|
+
bun run clean # Remove dist/
|
|
54
|
+
bun test # Run Vitest tests
|
|
55
|
+
bun run typecheck # TypeScript check
|
|
56
|
+
bun run lint # ESLint
|
|
57
|
+
bun run verify # All checks + build (use before commit)
|
|
49
58
|
```
|
|
50
59
|
|
|
51
60
|
## Related Packages
|
|
52
61
|
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
62
|
+
- **starter_types** -- Shared type definitions (imported for API types)
|
|
63
|
+
- **starter_api** -- Backend server this client communicates with
|
|
64
|
+
- **starter_lib** -- Business logic library that wraps this client's hooks
|
|
65
|
+
- **starter_app** -- Web frontend (consumes transitively via starter_lib)
|
|
66
|
+
- **starter_app_rn** -- React Native app (consumes transitively via starter_lib)
|
|
58
67
|
|
|
59
68
|
## License
|
|
60
69
|
|
|
@@ -7,13 +7,13 @@ export interface UseHistoriesReturn {
|
|
|
7
7
|
update: () => void;
|
|
8
8
|
createHistory: (data: HistoryCreateRequest) => Promise<BaseResponse<History>>;
|
|
9
9
|
updateHistory: (historyId: string, data: HistoryUpdateRequest) => Promise<BaseResponse<History>>;
|
|
10
|
-
deleteHistory: (historyId: string) => Promise<BaseResponse<
|
|
10
|
+
deleteHistory: (historyId: string) => Promise<BaseResponse<null>>;
|
|
11
11
|
isCreating: boolean;
|
|
12
12
|
isUpdating: boolean;
|
|
13
13
|
isDeleting: boolean;
|
|
14
14
|
clearError: () => void;
|
|
15
15
|
}
|
|
16
|
-
export declare const useHistories: (networkClient: NetworkClient, baseUrl: string,
|
|
16
|
+
export declare const useHistories: (networkClient: NetworkClient, baseUrl: string, entitySlug: string | null, token: FirebaseIdToken | null, options?: {
|
|
17
17
|
enabled?: boolean;
|
|
18
18
|
}) => UseHistoriesReturn;
|
|
19
19
|
//# sourceMappingURL=useHistories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHistories.d.ts","sourceRoot":"","sources":["../../src/hooks/useHistories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACT,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"useHistories.d.ts","sourceRoot":"","sources":["../../src/hooks/useHistories.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACT,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,oBAAoB,KACvB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,GACvB,eAAe,aAAa,EAC5B,SAAS,MAAM,EACf,YAAY,MAAM,GAAG,IAAI,EACzB,OAAO,eAAe,GAAG,IAAI,EAC7B,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAC9B,kBAoIF,CAAC"}
|
|
@@ -3,14 +3,14 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
|
3
3
|
import { StarterClient } from '../network/StarterClient';
|
|
4
4
|
import { DEFAULT_GC_TIME, DEFAULT_STALE_TIME, QUERY_KEYS } from '../types';
|
|
5
5
|
const EMPTY_HISTORIES = [];
|
|
6
|
-
export const useHistories = (networkClient, baseUrl,
|
|
7
|
-
const enabled = (options?.enabled ?? true) && !!
|
|
6
|
+
export const useHistories = (networkClient, baseUrl, entitySlug, token, options) => {
|
|
7
|
+
const enabled = (options?.enabled ?? true) && !!entitySlug && !!token;
|
|
8
8
|
const client = useMemo(() => new StarterClient({ baseUrl, networkClient }), [baseUrl, networkClient]);
|
|
9
9
|
const queryClient = useQueryClient();
|
|
10
10
|
const { data, isLoading, error: queryError, refetch, } = useQuery({
|
|
11
|
-
queryKey: QUERY_KEYS.histories(
|
|
11
|
+
queryKey: QUERY_KEYS.histories(entitySlug ?? ''),
|
|
12
12
|
queryFn: async () => {
|
|
13
|
-
const response = await client.getHistories(
|
|
13
|
+
const response = await client.getHistories(entitySlug, token);
|
|
14
14
|
if (!response.success || !response.data) {
|
|
15
15
|
throw new Error(response.error || 'Failed to fetch histories');
|
|
16
16
|
}
|
|
@@ -21,18 +21,18 @@ export const useHistories = (networkClient, baseUrl, userId, token, options) =>
|
|
|
21
21
|
gcTime: DEFAULT_GC_TIME,
|
|
22
22
|
});
|
|
23
23
|
const invalidate = useCallback(() => {
|
|
24
|
-
if (
|
|
24
|
+
if (entitySlug) {
|
|
25
25
|
queryClient.invalidateQueries({
|
|
26
|
-
queryKey: QUERY_KEYS.histories(
|
|
26
|
+
queryKey: QUERY_KEYS.histories(entitySlug),
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
queryClient.invalidateQueries({
|
|
30
30
|
queryKey: QUERY_KEYS.historiesTotal(),
|
|
31
31
|
});
|
|
32
|
-
}, [queryClient,
|
|
32
|
+
}, [queryClient, entitySlug]);
|
|
33
33
|
const createMutation = useMutation({
|
|
34
34
|
mutationFn: async (data) => {
|
|
35
|
-
return client.createHistory(
|
|
35
|
+
return client.createHistory(entitySlug, data, token);
|
|
36
36
|
},
|
|
37
37
|
onSuccess: response => {
|
|
38
38
|
if (response.success)
|
|
@@ -41,7 +41,7 @@ export const useHistories = (networkClient, baseUrl, userId, token, options) =>
|
|
|
41
41
|
});
|
|
42
42
|
const updateMutation = useMutation({
|
|
43
43
|
mutationFn: async ({ historyId, data, }) => {
|
|
44
|
-
return client.updateHistory(
|
|
44
|
+
return client.updateHistory(entitySlug, historyId, data, token);
|
|
45
45
|
},
|
|
46
46
|
onSuccess: response => {
|
|
47
47
|
if (response.success)
|
|
@@ -50,7 +50,7 @@ export const useHistories = (networkClient, baseUrl, userId, token, options) =>
|
|
|
50
50
|
});
|
|
51
51
|
const deleteMutation = useMutation({
|
|
52
52
|
mutationFn: async (historyId) => {
|
|
53
|
-
return client.deleteHistory(
|
|
53
|
+
return client.deleteHistory(entitySlug, historyId, token);
|
|
54
54
|
},
|
|
55
55
|
onSuccess: response => {
|
|
56
56
|
if (response.success)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHistories.js","sourceRoot":"","sources":["../../src/hooks/useHistories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAU9E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3E,MAAM,eAAe,GAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useHistories.js","sourceRoot":"","sources":["../../src/hooks/useHistories.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,10 @@ export declare class StarterClient {
|
|
|
9
9
|
networkClient: NetworkClient;
|
|
10
10
|
});
|
|
11
11
|
getUser(userId: string, token: FirebaseIdToken): Promise<BaseResponse<User>>;
|
|
12
|
-
getHistories(
|
|
13
|
-
createHistory(
|
|
14
|
-
updateHistory(
|
|
15
|
-
deleteHistory(
|
|
12
|
+
getHistories(entitySlug: string, token: FirebaseIdToken): Promise<BaseResponse<History[]>>;
|
|
13
|
+
createHistory(entitySlug: string, data: HistoryCreateRequest, token: FirebaseIdToken): Promise<BaseResponse<History>>;
|
|
14
|
+
updateHistory(entitySlug: string, historyId: string, data: HistoryUpdateRequest, token: FirebaseIdToken): Promise<BaseResponse<History>>;
|
|
15
|
+
deleteHistory(entitySlug: string, historyId: string, token: FirebaseIdToken): Promise<BaseResponse<null>>;
|
|
16
16
|
getHistoriesTotal(): Promise<BaseResponse<HistoryTotalResponse>>;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=StarterClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StarterClient.d.ts","sourceRoot":"","sources":["../../src/network/StarterClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,IAAI,EACL,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA2DhD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBASlC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE;IAuB/D,OAAO,CACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IA0BxB,YAAY,CAChB,
|
|
1
|
+
{"version":3,"file":"StarterClient.d.ts","sourceRoot":"","sources":["../../src/network/StarterClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,IAAI,EACL,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AA2DhD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;gBASlC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE;IAuB/D,OAAO,CACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IA0BxB,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IA4B7B,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IA4B3B,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IA4B3B,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IA6BxB,iBAAiB,IAAI,OAAO,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;CAUvE"}
|
|
@@ -20,29 +20,29 @@ export class StarterClient {
|
|
|
20
20
|
});
|
|
21
21
|
return validateResponse(response.data, 'getUser');
|
|
22
22
|
}
|
|
23
|
-
async getHistories(
|
|
24
|
-
const url = buildUrl(this.baseUrl, `/api/v1/
|
|
23
|
+
async getHistories(entitySlug, token) {
|
|
24
|
+
const url = buildUrl(this.baseUrl, `/api/v1/entities/${entitySlug}/histories`);
|
|
25
25
|
const response = await this.networkClient.get(url, {
|
|
26
26
|
headers: createAuthHeaders(token),
|
|
27
27
|
});
|
|
28
28
|
return validateResponse(response.data, 'getHistories');
|
|
29
29
|
}
|
|
30
|
-
async createHistory(
|
|
31
|
-
const url = buildUrl(this.baseUrl, `/api/v1/
|
|
30
|
+
async createHistory(entitySlug, data, token) {
|
|
31
|
+
const url = buildUrl(this.baseUrl, `/api/v1/entities/${entitySlug}/histories`);
|
|
32
32
|
const response = await this.networkClient.post(url, data, {
|
|
33
33
|
headers: createAuthHeaders(token),
|
|
34
34
|
});
|
|
35
35
|
return validateResponse(response.data, 'createHistory');
|
|
36
36
|
}
|
|
37
|
-
async updateHistory(
|
|
38
|
-
const url = buildUrl(this.baseUrl, `/api/v1/
|
|
37
|
+
async updateHistory(entitySlug, historyId, data, token) {
|
|
38
|
+
const url = buildUrl(this.baseUrl, `/api/v1/entities/${entitySlug}/histories/${historyId}`);
|
|
39
39
|
const response = await this.networkClient.put(url, data, {
|
|
40
40
|
headers: createAuthHeaders(token),
|
|
41
41
|
});
|
|
42
42
|
return validateResponse(response.data, 'updateHistory');
|
|
43
43
|
}
|
|
44
|
-
async deleteHistory(
|
|
45
|
-
const url = buildUrl(this.baseUrl, `/api/v1/
|
|
44
|
+
async deleteHistory(entitySlug, historyId, token) {
|
|
45
|
+
const url = buildUrl(this.baseUrl, `/api/v1/entities/${entitySlug}/histories/${historyId}`);
|
|
46
46
|
const response = await this.networkClient.delete(url, {
|
|
47
47
|
headers: createAuthHeaders(token),
|
|
48
48
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StarterClient.js","sourceRoot":"","sources":["../../src/network/StarterClient.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,aAAa,GACd,MAAM,0BAA0B,CAAC;AAelC,SAAS,gBAAgB,CACvB,IAAa,EACb,SAAiB;IAEjB,IACE,IAAI,IAAI,IAAI;QACZ,OAAO,IAAI,KAAK,QAAQ;QACxB,SAAS,IAAI,IAAI;QACjB,OAAQ,IAAgC,CAAC,OAAO,KAAK,SAAS,EAC9D,CAAC;QACD,OAAO,IAAuB,CAAC;IACjC,CAAC;IACD,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,uDAAuD,CAC7F,CAAC;AACJ,CAAC;AAwBD,MAAM,OAAO,aAAa;IAWxB,YAAY,MAAyD;QACnE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;IAC5C,CAAC;IAoBD,KAAK,CAAC,OAAO,CACX,MAAc,EACd,KAAsB;QAEtB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,MAAM,EAAE,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE;YACjD,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAO,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAoBD,KAAK,CAAC,YAAY,CAChB,
|
|
1
|
+
{"version":3,"file":"StarterClient.js","sourceRoot":"","sources":["../../src/network/StarterClient.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export type FirebaseIdToken = string;
|
|
|
2
2
|
export declare const DEFAULT_STALE_TIME: number;
|
|
3
3
|
export declare const DEFAULT_GC_TIME: number;
|
|
4
4
|
export declare const QUERY_KEYS: {
|
|
5
|
-
readonly histories: (
|
|
5
|
+
readonly histories: (entitySlug: string) => readonly ["starter", "histories", string];
|
|
6
6
|
readonly historiesTotal: () => readonly ["starter", "histories", "total"];
|
|
7
7
|
readonly user: (userId: string) => readonly ["starter", "user", string];
|
|
8
8
|
};
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAQrC,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAShD,eAAO,MAAM,eAAe,QAAiB,CAAC;AAmB9C,eAAO,MAAM,UAAU;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAQrC,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAShD,eAAO,MAAM,eAAe,QAAiB,CAAC;AAmB9C,eAAO,MAAM,UAAU;qCAEG,MAAM;;4BAKf,MAAM;CACb,CAAC"}
|
package/dist/types.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export const DEFAULT_STALE_TIME = 5 * 60 * 1000;
|
|
2
2
|
export const DEFAULT_GC_TIME = 30 * 60 * 1000;
|
|
3
3
|
export const QUERY_KEYS = {
|
|
4
|
-
histories: (
|
|
4
|
+
histories: (entitySlug) => ['starter', 'histories', entitySlug],
|
|
5
5
|
historiesTotal: () => ['starter', 'histories', 'total'],
|
|
6
6
|
user: (userId) => ['starter', 'user', userId],
|
|
7
7
|
};
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAShD,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAmB9C,MAAM,CAAC,MAAM,UAAU,GAAG;IAExB,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAShD,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAmB9C,MAAM,CAAC,MAAM,UAAU,GAAG;IAExB,SAAS,EAAE,CAAC,UAAkB,EAAE,EAAE,CAChC,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAU;IAE/C,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAU;IAEhE,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAU;CACtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudobility/testomniac_client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"description": "Client library for Starter API with TanStack Query hooks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"react": ">=18.0.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@sudobility/testomniac_types": "^0.0.
|
|
43
|
+
"@sudobility/testomniac_types": "^0.0.18",
|
|
44
44
|
"@sudobility/types": "^1.9.61",
|
|
45
45
|
"@tanstack/react-query": "^5.90.5",
|
|
46
46
|
"@types/react": "^19.2.2",
|
|
@@ -58,6 +58,6 @@
|
|
|
58
58
|
},
|
|
59
59
|
"repository": {
|
|
60
60
|
"type": "git",
|
|
61
|
-
"url": "https://github.com/johnqh/
|
|
61
|
+
"url": "https://github.com/johnqh/entitystarter_client.git"
|
|
62
62
|
}
|
|
63
63
|
}
|