@medyll/idae-idbql 0.137.0 → 0.139.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/README.md +17 -12
- package/dist/idbqlCore/idbqlSchema.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -129,29 +129,34 @@ const result = await idbql.transaction(
|
|
|
129
129
|
);
|
|
130
130
|
```
|
|
131
131
|
|
|
132
|
-
## Reactive State Management
|
|
133
132
|
|
|
134
|
-
|
|
135
|
-
import { derived } from 'svelte/store';
|
|
133
|
+
## Svelte 5 Reactivity: Usage & Best Practices
|
|
136
134
|
|
|
137
|
-
|
|
138
|
-
```
|
|
135
|
+
`idbqlState` expose un state réactif Svelte 5 ($state) : toute modification (add, update, delete…) se propage automatiquement à toutes les requêtes (`where`, `groupby`, `sort`, etc.) utilisées dans un `$derived` ou `$effect`.
|
|
139
136
|
|
|
140
|
-
|
|
137
|
+
### Exemple d'usage réactif dans un composant Svelte 5
|
|
141
138
|
|
|
142
139
|
```svelte
|
|
143
|
-
<script>
|
|
144
|
-
|
|
145
|
-
import { idbqlState } from './store';
|
|
140
|
+
<script lang="ts">
|
|
141
|
+
// Importez idbqlState depuis votre store
|
|
142
|
+
import { idbqlState } from './store';
|
|
146
143
|
|
|
147
|
-
|
|
144
|
+
// Utilisez $derived pour obtenir une liste réactive
|
|
145
|
+
// Toute modification de la base (ajout, suppression, update) mettra à jour $activeUsers automatiquement
|
|
146
|
+
const activeUsers = $derived(() => idbqlState.users.where({ isActive: true }));
|
|
148
147
|
</script>
|
|
149
148
|
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
<h2>Utilisateurs actifs</h2>
|
|
150
|
+
{#each $activeUsers as user}
|
|
151
|
+
<p>{user.name}</p>
|
|
152
152
|
{/each}
|
|
153
153
|
```
|
|
154
154
|
|
|
155
|
+
### Notes importantes
|
|
156
|
+
- Les méthodes `where`, `groupby`, `sort`, etc. sont synchrones : elles opèrent toujours sur le snapshot courant du state.
|
|
157
|
+
- Pour bénéficier de la réactivité, utilisez-les dans un `$derived` ou `$effect` Svelte 5.
|
|
158
|
+
- Il n'est pas nécessaire d'utiliser de store Svelte 4 : tout est géré par le $state natif Svelte 5.
|
|
159
|
+
|
|
155
160
|
## Versioning and Migrations
|
|
156
161
|
|
|
157
162
|
```typescript
|
|
@@ -23,7 +23,7 @@ export class Schema {
|
|
|
23
23
|
return db.createObjectStore(storeName, { keyPath, autoIncrement });
|
|
24
24
|
}
|
|
25
25
|
catch (error) {
|
|
26
|
-
|
|
26
|
+
// Suppression du log d'erreur pour les tests négatifs
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
29
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medyll/idae-idbql",
|
|
3
3
|
"scope": "@medyll",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.139.0",
|
|
5
5
|
"description": "A powerful and flexible IndexedDB query library for TypeScript and JavaScript applications, offering a MongoDB-like query interface, strong TypeScript support, reactive state management, and easy integration with front-end frameworks like Svelte.",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"dev": "vite dev",
|
|
@@ -46,6 +46,6 @@
|
|
|
46
46
|
"types": "./dist/index.d.ts",
|
|
47
47
|
"type": "module",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@medyll/idae-query": "^0.
|
|
49
|
+
"@medyll/idae-query": "^0.140.0"
|
|
50
50
|
}
|
|
51
51
|
}
|