diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2025-05-08 20:04:04 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2025-05-08 20:04:04 -0400 |
| commit | 1932ef679bcfde08cb1348500a1f0f454e8ecf3f (patch) | |
| tree | 4c54ad5ae840a076c7cd5175eee2e55e3e37aa15 /ui/lib/state/remote/users.svelte.js | |
| parent | 7ab4d321d546818f702ecb363e41b899fc416a7e (diff) | |
| parent | 92266a13bfabf7b29f08bc85d0e8efba467167da (diff) | |
Merge branch 'prop/outbox-message-ui'
Diffstat (limited to 'ui/lib/state/remote/users.svelte.js')
| -rw-r--r-- | ui/lib/state/remote/users.svelte.js | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/ui/lib/state/remote/users.svelte.js b/ui/lib/state/remote/users.svelte.js index 617084f..a15d1da 100644 --- a/ui/lib/state/remote/users.svelte.js +++ b/ui/lib/state/remote/users.svelte.js @@ -1,10 +1,25 @@ import { SvelteMap } from 'svelte/reactivity'; +export class User { + static equal(a, b) { + return a.id === b.id && a.name === b.name; + } + + static boot({ id, name }) { + return new User(id, name); + } + + constructor(id, name) { + this.id = id; + this.name = name; + } +} + export class Users { all = $state(); static boot(users) { - const all = new SvelteMap(users.map((user) => [user.id, user])); + const all = new SvelteMap(users.map((user) => [user.id, User.boot(user)])); return new Users({ all }); } @@ -13,6 +28,6 @@ export class Users { } add({ id, name }) { - this.all.set(id, { id, name }); + this.all.set(id, new User(id, name)); } } |
