@rool-dev/svelte 0.3.0-dev.c36df33 → 0.3.1-dev.5387348
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 +5 -1
- package/dist/channel.svelte.d.ts +2 -0
- package/dist/channel.svelte.d.ts.map +1 -1
- package/dist/channel.svelte.js +30 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/rool.svelte.d.ts +6 -1
- package/dist/rool.svelte.d.ts.map +1 -1
- package/dist/rool.svelte.js +7 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Svelte 5 bindings for Rool Spaces. Adds reactive state to the SDK using `$state` runes.
|
|
4
4
|
|
|
5
|
+
> **Building a new Rool app?** Start with [`@rool-dev/app`](/app/) — it includes a reactive channel and handles hosting for you. This package is for integrating Rool into an existing Svelte application that manages its own auth, routing, and build setup.
|
|
6
|
+
|
|
5
7
|
**Requires Svelte 5.** For core concepts (objects, references, AI placeholders, undo/redo), see the [SDK documentation](../sdk/README.md).
|
|
6
8
|
|
|
7
9
|
## Installation
|
|
@@ -51,6 +53,7 @@ The Svelte wrapper adds reactive state on top of the SDK:
|
|
|
51
53
|
| `rool.connectionState` | SSE connection state |
|
|
52
54
|
| `rool.userStorage` | User storage (cross-device preferences) |
|
|
53
55
|
| `channel.interactions` | Channel interactions (auto-updates) |
|
|
56
|
+
| `channel.objectIds` | All object IDs in the space (auto-updates on create/delete) |
|
|
54
57
|
| `watch.objects` | Objects matching a filter (auto-updates) |
|
|
55
58
|
| `watch.loading` | Whether watch is loading |
|
|
56
59
|
|
|
@@ -145,7 +148,7 @@ channel.close();
|
|
|
145
148
|
|
|
146
149
|
### ReactiveChannel
|
|
147
150
|
|
|
148
|
-
`openChannel` returns a `ReactiveChannel` — the SDK's `RoolChannel` with reactive `interactions`:
|
|
151
|
+
`openChannel` returns a `ReactiveChannel` — the SDK's `RoolChannel` with reactive `interactions` and `objectIds`:
|
|
149
152
|
|
|
150
153
|
```svelte
|
|
151
154
|
<script>
|
|
@@ -366,6 +369,7 @@ import type {
|
|
|
366
369
|
RoolSpace,
|
|
367
370
|
RoolSpaceInfo,
|
|
368
371
|
RoolObject,
|
|
372
|
+
RoolObjectStat,
|
|
369
373
|
RoolUserRole,
|
|
370
374
|
ConnectionState,
|
|
371
375
|
ChannelInfo,
|
package/dist/channel.svelte.d.ts
CHANGED
|
@@ -54,12 +54,14 @@ export type ReactiveObject = ReactiveObjectImpl;
|
|
|
54
54
|
declare class ReactiveChannelImpl {
|
|
55
55
|
#private;
|
|
56
56
|
interactions: Interaction[];
|
|
57
|
+
objectIds: string[];
|
|
57
58
|
constructor(channel: RoolChannel);
|
|
58
59
|
get id(): string;
|
|
59
60
|
get name(): string;
|
|
60
61
|
get role(): import("@rool-dev/sdk").RoolUserRole;
|
|
61
62
|
get userId(): string;
|
|
62
63
|
get channelId(): string;
|
|
64
|
+
get channelName(): string | null;
|
|
63
65
|
get isReadOnly(): boolean;
|
|
64
66
|
get linkAccess(): import("@rool-dev/sdk").LinkAccess;
|
|
65
67
|
close(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.svelte.d.ts","sourceRoot":"","sources":["../src/channel.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAsB,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAGD;;GAEG;AACH,cAAM,iBAAiB;;IAOrB,OAAO,eAA4B;IACnC,OAAO,UAAgB;gBAEX,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"channel.svelte.d.ts","sourceRoot":"","sources":["../src/channel.svelte.ts"],"names":[],"mappings":"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"}
|
package/dist/channel.svelte.js
CHANGED
|
@@ -29,16 +29,29 @@ class ReactiveWatchImpl {
|
|
|
29
29
|
const wasInCollection = this.#currentIds.has(objectId);
|
|
30
30
|
const nowMatches = this.#matches(object);
|
|
31
31
|
if (wasInCollection && nowMatches) {
|
|
32
|
-
// Update in place
|
|
32
|
+
// Update in place (merge to preserve fields from partial optimistic updates)
|
|
33
33
|
const index = this.objects.findIndex((o) => o.id === objectId);
|
|
34
34
|
if (index !== -1) {
|
|
35
|
-
this.objects[index] = object;
|
|
35
|
+
this.objects[index] = { ...this.objects[index], ...object };
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
else if (wasInCollection && !nowMatches) {
|
|
39
|
-
//
|
|
40
|
-
|
|
41
|
-
this.#
|
|
39
|
+
// Check if the mismatch is due to missing keys (partial optimistic update)
|
|
40
|
+
// vs. genuinely changed values that no longer satisfy the filter.
|
|
41
|
+
const where = this.#options.where;
|
|
42
|
+
const isPartialUpdate = where && Object.keys(where).some((key) => !(key in object));
|
|
43
|
+
if (isPartialUpdate) {
|
|
44
|
+
// Partial update — merge onto existing object instead of removing
|
|
45
|
+
const index = this.objects.findIndex((o) => o.id === objectId);
|
|
46
|
+
if (index !== -1) {
|
|
47
|
+
this.objects[index] = { ...this.objects[index], ...object };
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// Genuine mismatch — remove from collection
|
|
52
|
+
this.objects = this.objects.filter((o) => o.id !== objectId);
|
|
53
|
+
this.#currentIds.delete(objectId);
|
|
54
|
+
}
|
|
42
55
|
}
|
|
43
56
|
else if (!wasInCollection && nowMatches) {
|
|
44
57
|
// Add to collection (re-fetch to respect limit/order)
|
|
@@ -180,17 +193,28 @@ class ReactiveChannelImpl {
|
|
|
180
193
|
#closed = false;
|
|
181
194
|
// Reactive state
|
|
182
195
|
interactions = $state([]);
|
|
196
|
+
objectIds = $state([]);
|
|
183
197
|
constructor(channel) {
|
|
184
198
|
this.#channel = channel;
|
|
185
199
|
this.interactions = channel.getInteractions();
|
|
200
|
+
this.objectIds = channel.getObjectIds();
|
|
186
201
|
// Subscribe to channel updates
|
|
187
202
|
const onChannelUpdated = () => {
|
|
188
203
|
this.interactions = channel.getInteractions();
|
|
189
204
|
};
|
|
190
205
|
channel.on('channelUpdated', onChannelUpdated);
|
|
191
206
|
this.#unsubscribers.push(() => channel.off('channelUpdated', onChannelUpdated));
|
|
207
|
+
// Subscribe to object events for objectIds
|
|
208
|
+
const refreshObjectIds = () => {
|
|
209
|
+
this.objectIds = channel.getObjectIds();
|
|
210
|
+
};
|
|
211
|
+
channel.on('objectCreated', refreshObjectIds);
|
|
212
|
+
this.#unsubscribers.push(() => channel.off('objectCreated', refreshObjectIds));
|
|
213
|
+
channel.on('objectDeleted', refreshObjectIds);
|
|
214
|
+
this.#unsubscribers.push(() => channel.off('objectDeleted', refreshObjectIds));
|
|
192
215
|
const onReset = () => {
|
|
193
216
|
this.interactions = channel.getInteractions();
|
|
217
|
+
this.objectIds = channel.getObjectIds();
|
|
194
218
|
};
|
|
195
219
|
channel.on('reset', onReset);
|
|
196
220
|
this.#unsubscribers.push(() => channel.off('reset', onReset));
|
|
@@ -201,6 +225,7 @@ class ReactiveChannelImpl {
|
|
|
201
225
|
get role() { return this.#channel.role; }
|
|
202
226
|
get userId() { return this.#channel.userId; }
|
|
203
227
|
get channelId() { return this.#channel.channelId; }
|
|
228
|
+
get channelName() { return this.#channel.channelName; }
|
|
204
229
|
get isReadOnly() { return this.#channel.isReadOnly; }
|
|
205
230
|
get linkAccess() { return this.#channel.linkAccess; }
|
|
206
231
|
// Proxy all methods
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export { createRool, generateId } from './rool.svelte.js';
|
|
|
2
2
|
export { wrapChannel } from './channel.svelte.js';
|
|
3
3
|
export type { Rool } from './rool.svelte.js';
|
|
4
4
|
export type { ReactiveChannel, ReactiveObject, ReactiveWatch, ReactiveChannelList, WatchOptions } from './channel.svelte.js';
|
|
5
|
-
export type { RoolClientConfig, RoolChannel, RoolSpace, RoolSpaceInfo, RoolObject, RoolUserRole, ConnectionState, ChannelInfo, CurrentUser, Interaction, FindObjectsOptions, PromptOptions, CreateObjectOptions, UpdateObjectOptions, FieldType, FieldDef, CollectionDef, SpaceSchema, } from '@rool-dev/sdk';
|
|
5
|
+
export type { RoolClientConfig, RoolChannel, RoolSpace, RoolSpaceInfo, RoolObject, RoolObjectStat, RoolUserRole, ConnectionState, ChannelInfo, CurrentUser, Interaction, FindObjectsOptions, PromptOptions, CreateObjectOptions, UpdateObjectOptions, FieldType, FieldDef, CollectionDef, SpaceSchema, SpaceMember, UserResult, RoolClient, } from '@rool-dev/sdk';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG7H,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,YAAY,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAG7H,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,WAAW,EACX,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,aAAa,EACb,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAC"}
|
package/dist/rool.svelte.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type RoolSpace, type RoolSpaceInfo, type ConnectionState, type RoolClientConfig, type CurrentUser } from '@rool-dev/sdk';
|
|
1
|
+
import { RoolClient, type RoolSpace, type RoolSpaceInfo, type ConnectionState, type RoolClientConfig, type CurrentUser } from '@rool-dev/sdk';
|
|
2
2
|
import { type ReactiveChannel, type ReactiveChannelList } from './channel.svelte.js';
|
|
3
3
|
/**
|
|
4
4
|
* Rool client with reactive state for Svelte 5.
|
|
@@ -19,6 +19,11 @@ declare class RoolImpl {
|
|
|
19
19
|
userStorage: Record<string, unknown>;
|
|
20
20
|
currentUser: CurrentUser | null;
|
|
21
21
|
constructor(config?: RoolClientConfig);
|
|
22
|
+
/**
|
|
23
|
+
* Access the underlying RoolClient for low-level API calls
|
|
24
|
+
* (e.g., graphql(), fetch()) not covered by the reactive wrapper.
|
|
25
|
+
*/
|
|
26
|
+
get client(): RoolClient;
|
|
22
27
|
/**
|
|
23
28
|
* Initialize the client. Call on app startup.
|
|
24
29
|
* Returns true if authenticated, false otherwise.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rool.svelte.d.ts","sourceRoot":"","sources":["../src/rool.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"rool.svelte.d.ts","sourceRoot":"","sources":["../src/rool.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAC9I,OAAO,EAAkC,KAAK,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAErH;;;;;;;;GAQG;AACH,cAAM,QAAQ;;IAMZ,aAAa,iBAAgC;IAC7C,MAAM,8BAAkD;IACxD,aAAa,UAAiB;IAC9B,WAAW,eAA8B;IACzC,eAAe,kBAA2C;IAC1D,WAAW,0BAAuC;IAClD,WAAW,qBAAoC;gBAEnC,MAAM,CAAC,EAAE,gBAAgB;IAKrC;;;OAGG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAwDD;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAW9B;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,MAAM,IAAI,IAAI;IAQd;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAO/E;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI9C;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI7C;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAKjD;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM;IAIxB;;;OAGG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;IAI9D;;OAEG;IACH,IAAI,QAAQ,qCAEX;IAED;;OAEG;IACH,cAAc;IAId;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9E;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhE;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAI9C;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAE1D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC"}
|
package/dist/rool.svelte.js
CHANGED
|
@@ -25,6 +25,13 @@ class RoolImpl {
|
|
|
25
25
|
this.#client = new RoolClient(config);
|
|
26
26
|
this.#setupEventListeners();
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Access the underlying RoolClient for low-level API calls
|
|
30
|
+
* (e.g., graphql(), fetch()) not covered by the reactive wrapper.
|
|
31
|
+
*/
|
|
32
|
+
get client() {
|
|
33
|
+
return this.#client;
|
|
34
|
+
}
|
|
28
35
|
#setupEventListeners() {
|
|
29
36
|
const onAuthStateChanged = (auth) => {
|
|
30
37
|
this.authenticated = auth;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rool-dev/svelte",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1-dev.5387348",
|
|
4
4
|
"description": "Svelte 5 runes for Rool Spaces",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"svelte": "./dist/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"license": "MIT",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@rool-dev/sdk": "0.3.
|
|
44
|
+
"@rool-dev/sdk": "0.3.1-dev.5387348"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"svelte": "^5.0.0"
|