@sudobility/sudojo_client 0.0.85 → 0.0.86
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 +54 -0
- package/package.json +7 -7
package/README.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# @sudobility/sudojo_client
|
|
2
|
+
|
|
3
|
+
React Query hooks and API client for the Sudojo Sudoku learning platform.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
bun add @sudobility/sudojo_client
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```typescript
|
|
14
|
+
import { useDailyPuzzle, useLevels } from '@sudobility/sudojo_client';
|
|
15
|
+
|
|
16
|
+
function Component() {
|
|
17
|
+
const { data: daily, isLoading } = useDailyPuzzle();
|
|
18
|
+
const { data: levels } = useLevels();
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
import { SudojoClient } from '@sudobility/sudojo_client';
|
|
24
|
+
|
|
25
|
+
const client = new SudojoClient(networkClient, 'https://api.sudojo.com');
|
|
26
|
+
const levels = await client.getLevels(token);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## API
|
|
30
|
+
|
|
31
|
+
- **Hooks**: `useDailyPuzzle`, `useLevels`, `useBoards`, `useTechniques`, `useChallenges`, `useProgress`, and more
|
|
32
|
+
- **Client**: `SudojoClient` class with 40+ typed API methods
|
|
33
|
+
- **Solver**: `useSolver` hooks for hint generation integration
|
|
34
|
+
- **Query keys**: Centralized query key factory for cache management
|
|
35
|
+
|
|
36
|
+
## Development
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
bun run build # Build to dist/
|
|
40
|
+
bun run test # Run Vitest
|
|
41
|
+
bun run typecheck # TypeScript check
|
|
42
|
+
bun run lint # ESLint
|
|
43
|
+
bun run check-all # Lint + typecheck + tests
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Related Packages
|
|
47
|
+
|
|
48
|
+
- `@sudobility/sudojo_types` -- Type definitions (peer dependency)
|
|
49
|
+
- `@sudobility/sudojo_lib` -- Business logic hooks
|
|
50
|
+
- `sudojo_app` / `sudojo_app_rn` -- Consumer apps
|
|
51
|
+
|
|
52
|
+
## License
|
|
53
|
+
|
|
54
|
+
BUSL-1.1
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudobility/sudojo_client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.86",
|
|
4
4
|
"description": "TypeScript client library for Sudojo API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -36,17 +36,17 @@
|
|
|
36
36
|
"author": "Sudobility Team",
|
|
37
37
|
"license": "BUSL-1.1",
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@sudobility/di": "^1.5.
|
|
40
|
-
"@sudobility/sudojo_types": "^1.2.
|
|
41
|
-
"@sudobility/types": "^1.9.
|
|
39
|
+
"@sudobility/di": "^1.5.45",
|
|
40
|
+
"@sudobility/sudojo_types": "^1.2.37",
|
|
41
|
+
"@sudobility/types": "^1.9.57",
|
|
42
42
|
"@tanstack/react-query": ">=5.0.0",
|
|
43
43
|
"react": ">=18.0.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@eslint/js": "^9.38.0",
|
|
47
|
-
"@sudobility/di": "^1.5.
|
|
48
|
-
"@sudobility/sudojo_types": "^1.2.
|
|
49
|
-
"@sudobility/types": "^1.9.
|
|
47
|
+
"@sudobility/di": "^1.5.45",
|
|
48
|
+
"@sudobility/sudojo_types": "^1.2.37",
|
|
49
|
+
"@sudobility/types": "^1.9.57",
|
|
50
50
|
"@tanstack/react-query": "^5.90.5",
|
|
51
51
|
"@testing-library/react": "^16.3.0",
|
|
52
52
|
"@types/node": "^24.9.1",
|