@rool-dev/svelte 0.2.0 → 0.3.0-dev.be25932
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 +165 -54
- package/dist/channel.svelte.d.ts +143 -0
- package/dist/channel.svelte.d.ts.map +1 -0
- package/dist/channel.svelte.js +343 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/rool.svelte.d.ts +31 -16
- package/dist/rool.svelte.d.ts.map +1 -1
- package/dist/rool.svelte.js +51 -28
- package/package.json +2 -2
- package/dist/space.svelte.d.ts +0 -144
- package/dist/space.svelte.d.ts.map +0 -1
- package/dist/space.svelte.js +0 -311
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ npm install @rool-dev/svelte
|
|
|
19
19
|
const rool = createRool();
|
|
20
20
|
rool.init();
|
|
21
21
|
|
|
22
|
-
let
|
|
22
|
+
let channel = $state(null);
|
|
23
23
|
</script>
|
|
24
24
|
|
|
25
25
|
{#if !rool.authenticated}
|
|
@@ -27,13 +27,13 @@ npm install @rool-dev/svelte
|
|
|
27
27
|
{:else}
|
|
28
28
|
<h1>My Spaces</h1>
|
|
29
29
|
{#each rool.spaces ?? [] as space}
|
|
30
|
-
<button onclick={async () =>
|
|
30
|
+
<button onclick={async () => channel = await rool.openChannel(space.id, 'main')}>
|
|
31
31
|
{space.name}
|
|
32
32
|
</button>
|
|
33
33
|
{/each}
|
|
34
34
|
|
|
35
|
-
{#if
|
|
36
|
-
<p>Interactions: {
|
|
35
|
+
{#if channel}
|
|
36
|
+
<p>Interactions: {channel.interactions.length}</p>
|
|
37
37
|
{/if}
|
|
38
38
|
{/if}
|
|
39
39
|
```
|
|
@@ -50,9 +50,9 @@ The Svelte wrapper adds reactive state on top of the SDK:
|
|
|
50
50
|
| `rool.spacesError` | Error from loading spaces |
|
|
51
51
|
| `rool.connectionState` | SSE connection state |
|
|
52
52
|
| `rool.userStorage` | User storage (cross-device preferences) |
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
| `
|
|
53
|
+
| `channel.interactions` | Channel interactions (auto-updates) |
|
|
54
|
+
| `watch.objects` | Objects matching a filter (auto-updates) |
|
|
55
|
+
| `watch.loading` | Whether watch is loading |
|
|
56
56
|
|
|
57
57
|
Everything else passes through to the SDK directly. See the [SDK documentation](../sdk/README.md) for full API details.
|
|
58
58
|
|
|
@@ -65,7 +65,7 @@ const rool = createRool();
|
|
|
65
65
|
|
|
66
66
|
rool.init(); // Process auth callbacks (call on app startup)
|
|
67
67
|
rool.login('My App'); // Redirect to login page
|
|
68
|
-
rool.logout(); // Clear auth state and close all
|
|
68
|
+
rool.logout(); // Clear auth state and close all channels
|
|
69
69
|
rool.destroy(); // Clean up all resources
|
|
70
70
|
```
|
|
71
71
|
|
|
@@ -118,60 +118,108 @@ Reactive cross-device storage for user preferences. Synced from server on `init(
|
|
|
118
118
|
</button>
|
|
119
119
|
```
|
|
120
120
|
|
|
121
|
-
###
|
|
121
|
+
### Spaces & Channels
|
|
122
122
|
|
|
123
123
|
```typescript
|
|
124
|
-
|
|
125
|
-
const
|
|
124
|
+
// Open a channel — reactive, with SSE
|
|
125
|
+
const channel = await rool.openChannel('space-id', 'my-channel');
|
|
126
|
+
|
|
127
|
+
// Create a space, then open a channel on it
|
|
126
128
|
const space = await rool.createSpace('My New Space');
|
|
129
|
+
const channel = await space.openChannel('main');
|
|
130
|
+
|
|
131
|
+
// Open a space for admin operations (lightweight, no SSE)
|
|
132
|
+
const space = await rool.openSpace('space-id');
|
|
133
|
+
await space.rename('New Name');
|
|
134
|
+
await space.addUser(userId, 'editor');
|
|
127
135
|
|
|
128
|
-
//
|
|
129
|
-
|
|
130
|
-
|
|
136
|
+
// Delete a space
|
|
137
|
+
await rool.deleteSpace('space-id');
|
|
138
|
+
|
|
139
|
+
// Import a space from a zip archive
|
|
140
|
+
const space = await rool.importArchive('Imported', archiveBlob);
|
|
131
141
|
|
|
132
142
|
// Clean up
|
|
133
|
-
|
|
143
|
+
channel.close();
|
|
134
144
|
```
|
|
135
145
|
|
|
136
|
-
###
|
|
146
|
+
### ReactiveChannel
|
|
137
147
|
|
|
138
|
-
`
|
|
148
|
+
`openChannel` returns a `ReactiveChannel` — the SDK's `RoolChannel` with reactive `interactions`:
|
|
139
149
|
|
|
140
150
|
```svelte
|
|
141
151
|
<script>
|
|
142
|
-
let
|
|
152
|
+
let channel = $state(null);
|
|
143
153
|
|
|
144
|
-
async function open(
|
|
145
|
-
|
|
154
|
+
async function open(spaceId) {
|
|
155
|
+
channel = await rool.openChannel(spaceId, 'main');
|
|
146
156
|
}
|
|
147
157
|
</script>
|
|
148
158
|
|
|
149
|
-
{#if
|
|
159
|
+
{#if channel}
|
|
150
160
|
<!-- Reactive: updates as AI makes tool calls -->
|
|
151
|
-
{#each
|
|
161
|
+
{#each channel.interactions as interaction}
|
|
152
162
|
<div>
|
|
153
163
|
<strong>{interaction.operation}</strong>: {interaction.output}
|
|
154
164
|
</div>
|
|
155
165
|
{/each}
|
|
156
166
|
|
|
157
167
|
<!-- All SDK methods work directly -->
|
|
158
|
-
<button onclick={() =>
|
|
168
|
+
<button onclick={() => channel.prompt('Hello')}>Send</button>
|
|
159
169
|
{/if}
|
|
160
170
|
```
|
|
161
171
|
|
|
162
|
-
### Reactive
|
|
172
|
+
### Reactive Object
|
|
163
173
|
|
|
164
|
-
|
|
174
|
+
Track a single object by ID with auto-updates:
|
|
165
175
|
|
|
166
176
|
```svelte
|
|
167
177
|
<script>
|
|
168
|
-
let
|
|
178
|
+
let channel = $state(null);
|
|
179
|
+
let item = $state(null);
|
|
180
|
+
|
|
181
|
+
async function open(spaceId, objectId) {
|
|
182
|
+
channel = await rool.openChannel(spaceId, 'main');
|
|
183
|
+
item = channel.object(objectId);
|
|
184
|
+
}
|
|
185
|
+
</script>
|
|
186
|
+
|
|
187
|
+
{#if item}
|
|
188
|
+
{#if item.loading}
|
|
189
|
+
<p>Loading...</p>
|
|
190
|
+
{:else if item.data}
|
|
191
|
+
<div>{item.data.title}</div>
|
|
192
|
+
{:else}
|
|
193
|
+
<p>Object not found</p>
|
|
194
|
+
{/if}
|
|
195
|
+
{/if}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
// Reactive state
|
|
200
|
+
item.data // $state<RoolObject | undefined>
|
|
201
|
+
item.loading // $state<boolean>
|
|
202
|
+
|
|
203
|
+
// Methods
|
|
204
|
+
item.refresh() // Manual re-fetch
|
|
205
|
+
item.close() // Stop listening for updates
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Lifecycle:** Reactive objects are tied to their channel. Closing the channel stops all updates — existing reactive objects will retain their last data but no longer refresh. Calling `channel.object()` after `close()` throws.
|
|
209
|
+
|
|
210
|
+
### Reactive Watches
|
|
211
|
+
|
|
212
|
+
Create auto-updating watches of objects filtered by field values:
|
|
213
|
+
|
|
214
|
+
```svelte
|
|
215
|
+
<script>
|
|
216
|
+
let channel = $state(null);
|
|
169
217
|
let articles = $state(null);
|
|
170
218
|
|
|
171
|
-
async function open(
|
|
172
|
-
|
|
173
|
-
// Create a reactive
|
|
174
|
-
articles =
|
|
219
|
+
async function open(spaceId) {
|
|
220
|
+
channel = await rool.openChannel(spaceId, 'main');
|
|
221
|
+
// Create a reactive watch of all objects where type === 'article'
|
|
222
|
+
articles = channel.watch({ where: { type: 'article' } });
|
|
175
223
|
}
|
|
176
224
|
</script>
|
|
177
225
|
|
|
@@ -186,11 +234,13 @@ Create auto-updating collections of objects filtered by field values:
|
|
|
186
234
|
{/if}
|
|
187
235
|
```
|
|
188
236
|
|
|
189
|
-
|
|
237
|
+
Watches automatically re-fetch when objects matching the filter are created, updated, or deleted. Since the SDK caches objects locally, re-fetches are typically instant (no network round-trip).
|
|
238
|
+
|
|
239
|
+
**Lifecycle:** Watches are tied to their channel. Closing the channel stops all updates — existing watches will retain their last data but no longer refresh. Calling `channel.watch()` after `close()` throws.
|
|
190
240
|
|
|
191
241
|
```typescript
|
|
192
|
-
//
|
|
193
|
-
const articles =
|
|
242
|
+
// Watch options (same as findObjects, but no AI prompt)
|
|
243
|
+
const articles = channel.watch({
|
|
194
244
|
where: { type: 'article', status: 'published' },
|
|
195
245
|
order: 'desc', // by modifiedAt (default)
|
|
196
246
|
limit: 20,
|
|
@@ -205,36 +255,92 @@ articles.refresh() // Manual re-fetch
|
|
|
205
255
|
articles.close() // Stop listening for updates
|
|
206
256
|
```
|
|
207
257
|
|
|
258
|
+
### Reactive Channel List
|
|
259
|
+
|
|
260
|
+
List channels for a space with auto-updates:
|
|
261
|
+
|
|
262
|
+
```svelte
|
|
263
|
+
<script>
|
|
264
|
+
const channelList = rool.channels('space-id');
|
|
265
|
+
|
|
266
|
+
// Clean up when done
|
|
267
|
+
import { onDestroy } from 'svelte';
|
|
268
|
+
onDestroy(() => channelList.close());
|
|
269
|
+
</script>
|
|
270
|
+
|
|
271
|
+
{#if channelList.loading}
|
|
272
|
+
<p>Loading channels...</p>
|
|
273
|
+
{:else}
|
|
274
|
+
{#each channelList.list as ch}
|
|
275
|
+
<button onclick={() => openChannel(ch.id)}>{ch.name ?? ch.id}</button>
|
|
276
|
+
{/each}
|
|
277
|
+
{/if}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
// Reactive state
|
|
282
|
+
channelList.list // $state<ChannelInfo[]>
|
|
283
|
+
channelList.loading // $state<boolean>
|
|
284
|
+
|
|
285
|
+
// Methods
|
|
286
|
+
channelList.refresh() // Manual re-fetch
|
|
287
|
+
channelList.close() // Stop listening for updates
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
### Channel Management
|
|
291
|
+
|
|
292
|
+
```typescript
|
|
293
|
+
// Rename a channel (thin GraphQL call, no SSE needed)
|
|
294
|
+
await rool.renameChannel('space-id', 'channel-id', 'New Name');
|
|
295
|
+
|
|
296
|
+
// Delete a channel
|
|
297
|
+
await rool.deleteChannel('space-id', 'channel-id');
|
|
298
|
+
|
|
299
|
+
// Rename from within a channel
|
|
300
|
+
await channel.rename('New Name');
|
|
301
|
+
```
|
|
302
|
+
|
|
208
303
|
### Using the SDK
|
|
209
304
|
|
|
210
|
-
All `
|
|
305
|
+
All `RoolChannel` methods and properties are available on `ReactiveChannel`:
|
|
211
306
|
|
|
212
307
|
```typescript
|
|
213
308
|
// Properties
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
309
|
+
channel.id
|
|
310
|
+
channel.name
|
|
311
|
+
channel.role
|
|
312
|
+
channel.channelId
|
|
218
313
|
|
|
219
314
|
// Object operations
|
|
220
|
-
await
|
|
221
|
-
await
|
|
222
|
-
await
|
|
223
|
-
await
|
|
224
|
-
await
|
|
315
|
+
await channel.getObject(id)
|
|
316
|
+
await channel.createObject({ data: { type: 'note', text: 'Hello' } })
|
|
317
|
+
await channel.updateObject(id, { data: { text: 'Updated' } })
|
|
318
|
+
await channel.deleteObjects([id])
|
|
319
|
+
await channel.findObjects({ where: { type: 'note' } })
|
|
225
320
|
|
|
226
321
|
// AI
|
|
227
|
-
await
|
|
322
|
+
await channel.prompt('Summarize everything')
|
|
323
|
+
|
|
324
|
+
// Schema
|
|
325
|
+
channel.getSchema()
|
|
326
|
+
await channel.createCollection('article', [
|
|
327
|
+
{ name: 'title', type: { kind: 'string' } },
|
|
328
|
+
{ name: 'status', type: { kind: 'enum', values: ['draft', 'published'] } },
|
|
329
|
+
])
|
|
330
|
+
await channel.alterCollection('article', [...updatedProps])
|
|
331
|
+
await channel.dropCollection('article')
|
|
228
332
|
|
|
229
333
|
// Undo/Redo
|
|
230
|
-
await
|
|
231
|
-
await
|
|
232
|
-
await
|
|
233
|
-
|
|
234
|
-
//
|
|
235
|
-
await
|
|
236
|
-
|
|
237
|
-
|
|
334
|
+
await channel.checkpoint('Before edit')
|
|
335
|
+
await channel.undo()
|
|
336
|
+
await channel.redo()
|
|
337
|
+
|
|
338
|
+
// Interaction history
|
|
339
|
+
await channel.setSystemInstruction('You are helpful')
|
|
340
|
+
channel.getInteractions()
|
|
341
|
+
|
|
342
|
+
// Channel admin
|
|
343
|
+
await channel.rename('New Name')
|
|
238
344
|
```
|
|
239
345
|
|
|
240
346
|
See the [SDK documentation](../sdk/README.md) for complete API details.
|
|
@@ -252,21 +358,26 @@ const id = generateId();
|
|
|
252
358
|
|
|
253
359
|
```typescript
|
|
254
360
|
// Package types
|
|
255
|
-
import type { Rool,
|
|
361
|
+
import type { Rool, ReactiveChannel, ReactiveObject, ReactiveWatch, WatchOptions, ReactiveChannelList } from '@rool-dev/svelte';
|
|
256
362
|
|
|
257
363
|
// Re-exported from @rool-dev/sdk
|
|
258
364
|
import type {
|
|
365
|
+
RoolChannel,
|
|
259
366
|
RoolSpace,
|
|
260
367
|
RoolSpaceInfo,
|
|
261
368
|
RoolObject,
|
|
262
369
|
RoolUserRole,
|
|
263
370
|
ConnectionState,
|
|
264
|
-
|
|
371
|
+
ChannelInfo,
|
|
265
372
|
Interaction,
|
|
266
373
|
FindObjectsOptions,
|
|
267
374
|
PromptOptions,
|
|
268
375
|
CreateObjectOptions,
|
|
269
376
|
UpdateObjectOptions,
|
|
377
|
+
FieldType,
|
|
378
|
+
FieldDef,
|
|
379
|
+
CollectionDef,
|
|
380
|
+
SpaceSchema,
|
|
270
381
|
} from '@rool-dev/svelte';
|
|
271
382
|
```
|
|
272
383
|
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import type { RoolChannel, RoolClient, Interaction, RoolObject, ChannelInfo } from '@rool-dev/sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Options for creating a reactive watch.
|
|
4
|
+
* Same as FindObjectsOptions but without `prompt` (AI queries are too slow for reactive updates).
|
|
5
|
+
*/
|
|
6
|
+
export interface WatchOptions {
|
|
7
|
+
/** Field requirements for exact matching */
|
|
8
|
+
where?: Record<string, unknown>;
|
|
9
|
+
/** Maximum number of objects */
|
|
10
|
+
limit?: number;
|
|
11
|
+
/** Sort order by modifiedAt: 'asc' or 'desc' (default: 'desc') */
|
|
12
|
+
order?: 'asc' | 'desc';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A reactive watch of objects that auto-updates when matching objects change.
|
|
16
|
+
*/
|
|
17
|
+
declare class ReactiveWatchImpl {
|
|
18
|
+
#private;
|
|
19
|
+
objects: RoolObject[];
|
|
20
|
+
loading: boolean;
|
|
21
|
+
constructor(channel: RoolChannel, options: WatchOptions);
|
|
22
|
+
/**
|
|
23
|
+
* Re-fetch the watched objects from the channel.
|
|
24
|
+
*/
|
|
25
|
+
refresh(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Stop listening for updates and clean up.
|
|
28
|
+
*/
|
|
29
|
+
close(): void;
|
|
30
|
+
}
|
|
31
|
+
export type ReactiveWatch = ReactiveWatchImpl;
|
|
32
|
+
/**
|
|
33
|
+
* A reactive single object that auto-updates when the object changes.
|
|
34
|
+
*/
|
|
35
|
+
declare class ReactiveObjectImpl {
|
|
36
|
+
#private;
|
|
37
|
+
data: RoolObject | undefined;
|
|
38
|
+
loading: boolean;
|
|
39
|
+
constructor(channel: RoolChannel, objectId: string);
|
|
40
|
+
/**
|
|
41
|
+
* Re-fetch the object from the channel.
|
|
42
|
+
*/
|
|
43
|
+
refresh(): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Stop listening for updates and clean up.
|
|
46
|
+
*/
|
|
47
|
+
close(): void;
|
|
48
|
+
}
|
|
49
|
+
export type ReactiveObject = ReactiveObjectImpl;
|
|
50
|
+
/**
|
|
51
|
+
* Minimal wrapper that adds reactive `interactions` to RoolChannel.
|
|
52
|
+
* All other properties and methods are proxied to the underlying channel.
|
|
53
|
+
*/
|
|
54
|
+
declare class ReactiveChannelImpl {
|
|
55
|
+
#private;
|
|
56
|
+
interactions: Interaction[];
|
|
57
|
+
constructor(channel: RoolChannel);
|
|
58
|
+
get id(): string;
|
|
59
|
+
get name(): string;
|
|
60
|
+
get role(): import("@rool-dev/sdk").RoolUserRole;
|
|
61
|
+
get userId(): string;
|
|
62
|
+
get channelId(): string;
|
|
63
|
+
get isReadOnly(): boolean;
|
|
64
|
+
get linkAccess(): import("@rool-dev/sdk").LinkAccess;
|
|
65
|
+
close(): void;
|
|
66
|
+
getObject(...args: Parameters<RoolChannel['getObject']>): Promise<RoolObject | undefined>;
|
|
67
|
+
stat(...args: Parameters<RoolChannel['stat']>): import("@rool-dev/sdk").RoolObjectStat | undefined;
|
|
68
|
+
findObjects(...args: Parameters<RoolChannel['findObjects']>): Promise<{
|
|
69
|
+
objects: RoolObject[];
|
|
70
|
+
message: string;
|
|
71
|
+
}>;
|
|
72
|
+
getObjectIds(...args: Parameters<RoolChannel['getObjectIds']>): string[];
|
|
73
|
+
createObject(...args: Parameters<RoolChannel['createObject']>): Promise<{
|
|
74
|
+
object: RoolObject;
|
|
75
|
+
message: string;
|
|
76
|
+
}>;
|
|
77
|
+
updateObject(...args: Parameters<RoolChannel['updateObject']>): Promise<{
|
|
78
|
+
object: RoolObject;
|
|
79
|
+
message: string;
|
|
80
|
+
}>;
|
|
81
|
+
deleteObjects(...args: Parameters<RoolChannel['deleteObjects']>): Promise<void>;
|
|
82
|
+
prompt(...args: Parameters<RoolChannel['prompt']>): Promise<{
|
|
83
|
+
message: string;
|
|
84
|
+
objects: RoolObject[];
|
|
85
|
+
}>;
|
|
86
|
+
checkpoint(...args: Parameters<RoolChannel['checkpoint']>): Promise<string>;
|
|
87
|
+
canUndo(): Promise<boolean>;
|
|
88
|
+
canRedo(): Promise<boolean>;
|
|
89
|
+
undo(): Promise<boolean>;
|
|
90
|
+
redo(): Promise<boolean>;
|
|
91
|
+
clearHistory(): Promise<void>;
|
|
92
|
+
setMetadata(...args: Parameters<RoolChannel['setMetadata']>): void;
|
|
93
|
+
getMetadata(...args: Parameters<RoolChannel['getMetadata']>): unknown;
|
|
94
|
+
getAllMetadata(): Record<string, unknown>;
|
|
95
|
+
getInteractions(): Interaction[];
|
|
96
|
+
getSystemInstruction(): string | undefined;
|
|
97
|
+
setSystemInstruction(...args: Parameters<RoolChannel['setSystemInstruction']>): Promise<void>;
|
|
98
|
+
getSchema(): import("@rool-dev/sdk").SpaceSchema;
|
|
99
|
+
createCollection(...args: Parameters<RoolChannel['createCollection']>): Promise<import("@rool-dev/sdk").CollectionDef>;
|
|
100
|
+
alterCollection(...args: Parameters<RoolChannel['alterCollection']>): Promise<import("@rool-dev/sdk").CollectionDef>;
|
|
101
|
+
dropCollection(...args: Parameters<RoolChannel['dropCollection']>): Promise<void>;
|
|
102
|
+
uploadMedia(...args: Parameters<RoolChannel['uploadMedia']>): Promise<string>;
|
|
103
|
+
fetchMedia(...args: Parameters<RoolChannel['fetchMedia']>): Promise<import("@rool-dev/sdk").MediaResponse>;
|
|
104
|
+
deleteMedia(...args: Parameters<RoolChannel['deleteMedia']>): Promise<void>;
|
|
105
|
+
listMedia(): Promise<import("@rool-dev/sdk").MediaInfo[]>;
|
|
106
|
+
rename(...args: Parameters<RoolChannel['rename']>): Promise<void>;
|
|
107
|
+
on(...args: Parameters<RoolChannel['on']>): () => void;
|
|
108
|
+
off(...args: Parameters<RoolChannel['off']>): void;
|
|
109
|
+
/**
|
|
110
|
+
* Create a reactive object that auto-updates when the object changes.
|
|
111
|
+
* Throws if the channel has been closed.
|
|
112
|
+
*/
|
|
113
|
+
object(objectId: string): ReactiveObject;
|
|
114
|
+
/**
|
|
115
|
+
* Create a reactive watch that auto-updates when matching objects change.
|
|
116
|
+
* Throws if the channel has been closed.
|
|
117
|
+
*/
|
|
118
|
+
watch(options: WatchOptions): ReactiveWatch;
|
|
119
|
+
}
|
|
120
|
+
export declare function wrapChannel(channel: RoolChannel): ReactiveChannel;
|
|
121
|
+
export type ReactiveChannel = ReactiveChannelImpl;
|
|
122
|
+
/**
|
|
123
|
+
* A reactive list of channels for a space that auto-updates via SSE events.
|
|
124
|
+
*/
|
|
125
|
+
declare class ReactiveChannelListImpl {
|
|
126
|
+
#private;
|
|
127
|
+
list: ChannelInfo[];
|
|
128
|
+
loading: boolean;
|
|
129
|
+
constructor(client: RoolClient, spaceId: string);
|
|
130
|
+
/**
|
|
131
|
+
* Re-fetch the channel list from the server.
|
|
132
|
+
* Opens a lightweight space handle to get the channel list.
|
|
133
|
+
*/
|
|
134
|
+
refresh(): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Stop listening for updates and clean up.
|
|
137
|
+
*/
|
|
138
|
+
close(): void;
|
|
139
|
+
}
|
|
140
|
+
export declare function createChannelList(client: RoolClient, spaceId: string): ReactiveChannelList;
|
|
141
|
+
export type ReactiveChannelList = ReactiveChannelListImpl;
|
|
142
|
+
export {};
|
|
143
|
+
//# sourceMappingURL=channel.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.svelte.d.ts","sourceRoot":"","sources":["../src/channel.svelte.ts"],"names":[],"mappings":"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"}
|