@omujs/chat 0.1.22 → 0.2.1

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/built/dts/chat.d.ts +7 -1
  3. package/built/dts/chat.d.ts.map +1 -1
  4. package/built/dts/event/event-types.d.ts +10 -0
  5. package/built/dts/event/event-types.d.ts.map +1 -0
  6. package/built/dts/event/event.d.ts +32 -24
  7. package/built/dts/event/event.d.ts.map +1 -1
  8. package/built/dts/event/index.d.ts +2 -2
  9. package/built/dts/event/index.d.ts.map +1 -1
  10. package/built/dts/index.d.ts +1 -0
  11. package/built/dts/index.d.ts.map +1 -1
  12. package/built/dts/models/content.d.ts +9 -0
  13. package/built/dts/models/content.d.ts.map +1 -1
  14. package/built/dts/models/index.d.ts +2 -0
  15. package/built/dts/models/index.d.ts.map +1 -1
  16. package/built/dts/models/reaction.d.ts +23 -0
  17. package/built/dts/models/reaction.d.ts.map +1 -0
  18. package/built/dts/models/room.d.ts +5 -3
  19. package/built/dts/models/room.d.ts.map +1 -1
  20. package/built/dts/models/vote.d.ts +36 -0
  21. package/built/dts/models/vote.d.ts.map +1 -0
  22. package/built/dts/permissions.d.ts +1 -0
  23. package/built/dts/permissions.d.ts.map +1 -1
  24. package/built/esm/chat.js +26 -1
  25. package/built/esm/chat.js.map +1 -1
  26. package/built/esm/event/event-types.js +10 -0
  27. package/built/esm/event/event-types.js.map +1 -0
  28. package/built/esm/event/event.js +68 -34
  29. package/built/esm/event/event.js.map +1 -1
  30. package/built/esm/event/index.js +2 -2
  31. package/built/esm/event/index.js.map +1 -1
  32. package/built/esm/index.js +1 -0
  33. package/built/esm/index.js.map +1 -1
  34. package/built/esm/models/content.js +19 -5
  35. package/built/esm/models/content.js.map +1 -1
  36. package/built/esm/models/index.js +2 -0
  37. package/built/esm/models/index.js.map +1 -1
  38. package/built/esm/models/reaction.js +22 -0
  39. package/built/esm/models/reaction.js.map +1 -0
  40. package/built/esm/models/room.js.map +1 -1
  41. package/built/esm/models/vote.js +41 -0
  42. package/built/esm/models/vote.js.map +1 -0
  43. package/built/esm/permissions.js +1 -0
  44. package/built/esm/permissions.js.map +1 -1
  45. package/package.json +9 -10
  46. package/src/chat.ts +35 -7
  47. package/src/event/event-types.ts +10 -0
  48. package/src/event/event.ts +96 -0
  49. package/src/event/index.ts +2 -0
  50. package/src/index.ts +1 -0
  51. package/src/models/content.ts +27 -8
  52. package/src/models/index.ts +2 -1
  53. package/src/models/reaction.ts +40 -0
  54. package/src/models/room.ts +5 -3
  55. package/src/models/vote.ts +69 -0
  56. package/src/permissions.ts +1 -0
  57. package/built/dts/client.d.ts +0 -24
  58. package/built/dts/client.d.ts.map +0 -1
  59. package/built/dts/event/event-registry.d.ts +0 -12
  60. package/built/dts/event/event-registry.d.ts.map +0 -1
  61. package/built/esm/client.js +0 -44
  62. package/built/esm/client.js.map +0 -1
  63. package/built/esm/event/event-registry.js +0 -35
  64. package/built/esm/event/event-registry.js.map +0 -1
@@ -1,24 +0,0 @@
1
- import * as omu from '@omuchatjs/omu';
2
- import type { TokenProvider } from '@omuchatjs/omu/client/token.js';
3
- import type { Address } from '@omuchatjs/omu/network/index.js';
4
- import { Chat } from './chat.js';
5
- import type { EventHandler, EventKey } from './event/index.js';
6
- export declare class Client extends omu.OmuClient {
7
- private readonly eventRegistry;
8
- readonly chat: Chat;
9
- constructor({ app, address, token, }: {
10
- app: omu.App;
11
- address?: Address;
12
- client?: omu.Client;
13
- token?: TokenProvider;
14
- });
15
- on<T extends unknown[]>(event: EventKey<T>, handler: EventHandler<T>): void;
16
- }
17
- export declare class BrowserTokenProvider implements TokenProvider {
18
- private readonly key;
19
- constructor(key: string);
20
- private getKey;
21
- set(serverAddress: Address, app: omu.App, token: string): Promise<void>;
22
- get(serverAddress: Address, app: omu.App): Promise<string | undefined>;
23
- }
24
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG/D,qBAAa,MAAO,SAAQ,GAAG,CAAC,SAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,SAAgB,IAAI,EAAE,IAAI,CAAC;gBAEf,EACR,GAAG,EACH,OAAO,EACP,KAAK,GACR,EAAE;QACC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,aAAa,CAAC;KACzB;IAcD,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;CAG9E;AAED,qBAAa,oBAAqB,YAAW,aAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAExC,OAAO,CAAC,MAAM;IAID,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAKtF"}
@@ -1,12 +0,0 @@
1
- import type { Unlisten } from '@omuchatjs/omu/event-emitter.js';
2
- import type { Client } from '../client.js';
3
- import type { EventKey } from './event.js';
4
- export type EventHandler<T extends unknown[]> = (...event: T) => void;
5
- export declare class EventRegistry {
6
- private readonly client;
7
- private readonly handlers;
8
- constructor(client: Client);
9
- on<T extends unknown[]>(event: EventKey<T>, handler: EventHandler<T>): Unlisten;
10
- emit<T extends unknown[]>(event: EventKey<T>, ...data: T): void;
11
- }
12
- //# sourceMappingURL=event-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-registry.d.ts","sourceRoot":"","sources":["../../../src/event/event-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAEtE,qBAAa,aAAa;IAGV,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+C;gBAE3C,MAAM,EAAE,MAAM;IAEpC,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ;IAoB/E,IAAI,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI;CAQzE"}
@@ -1,44 +0,0 @@
1
- import * as omu from '@omuchatjs/omu';
2
- import { Chat } from './chat.js';
3
- import { EventRegistry } from './event/index.js';
4
- export class Client extends omu.OmuClient {
5
- eventRegistry;
6
- chat;
7
- constructor({ app, address, token, }) {
8
- super({
9
- app,
10
- address: address || {
11
- host: '127.0.0.1',
12
- port: 26423,
13
- secure: false,
14
- },
15
- token: token ?? new BrowserTokenProvider('omu-token'),
16
- });
17
- this.eventRegistry = new EventRegistry(this);
18
- this.chat = new Chat(this);
19
- }
20
- on(event, handler) {
21
- this.eventRegistry.on(event, handler);
22
- }
23
- }
24
- export class BrowserTokenProvider {
25
- key;
26
- constructor(key) {
27
- this.key = key;
28
- }
29
- getKey(serverAddress, app) {
30
- return JSON.stringify([serverAddress.host, serverAddress.port, app.key()]);
31
- }
32
- async set(serverAddress, app, token) {
33
- const tokens = JSON.parse(localStorage.getItem(this.key) || '{}');
34
- const key = this.getKey(serverAddress, app);
35
- tokens[key] = token;
36
- localStorage.setItem(this.key, JSON.stringify(tokens));
37
- }
38
- async get(serverAddress, app) {
39
- const tokens = JSON.parse(localStorage.getItem(this.key) || '{}');
40
- const key = this.getKey(serverAddress, app);
41
- return Promise.resolve(tokens[key] || null);
42
- }
43
- }
44
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AAItC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,OAAO,MAAO,SAAQ,GAAG,CAAC,SAAS;IACpB,aAAa,CAAgB;IAC9B,IAAI,CAAO;IAE3B,YAAY,EACR,GAAG,EACH,OAAO,EACP,KAAK,GAMR;QACG,KAAK,CAAC;YACF,GAAG;YACH,OAAO,EAAE,OAAO,IAAI;gBAChB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;aAChB;YACD,KAAK,EAAE,KAAK,IAAI,IAAI,oBAAoB,CAAC,WAAW,CAAC;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,EAAE,CAAsB,KAAkB,EAAE,OAAwB;QAChE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;CACJ;AAED,MAAM,OAAO,oBAAoB;IACA;IAA7B,YAA6B,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEpC,MAAM,CAAC,aAAsB,EAAE,GAAY;QAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,aAAsB,EAAE,GAAY,EAAE,KAAa;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACpB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,aAAsB,EAAE,GAAY;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;IAChD,CAAC;CACJ"}
@@ -1,35 +0,0 @@
1
- export class EventRegistry {
2
- client;
3
- handlers = new Map();
4
- constructor(client) {
5
- this.client = client;
6
- }
7
- on(event, handler) {
8
- if (!this.handlers.has(event.name)) {
9
- event.create(this.client, (...data) => {
10
- this.emit(event, ...data);
11
- });
12
- }
13
- const handlers = this.handlers.get(event.name) || new Array();
14
- handlers.push(handler);
15
- this.handlers.set(event.name, handlers);
16
- return () => {
17
- const handlers = this.handlers.get(event.name);
18
- if (handlers) {
19
- const index = handlers.indexOf(handler);
20
- if (index !== -1) {
21
- handlers.splice(index, 1);
22
- }
23
- }
24
- };
25
- }
26
- emit(event, ...data) {
27
- const handlers = this.handlers.get(event.name);
28
- if (handlers) {
29
- for (const handler of handlers) {
30
- handler(...data);
31
- }
32
- }
33
- }
34
- }
35
- //# sourceMappingURL=event-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-registry.js","sourceRoot":"","sources":["../../../src/event/event-registry.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,aAAa;IAGO;IAFZ,QAAQ,GAAqC,IAAI,GAAG,EAAE,CAAC;IAExE,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAI,CAAC;IAEzC,EAAE,CAAsB,KAAkB,EAAE,OAAwB;QACvE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE;gBAClC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAmB,CAAC;QAC/E,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACf,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;QACL,CAAC,CAAC;IACN,CAAC;IAEM,IAAI,CAAsB,KAAkB,EAAE,GAAG,IAAO;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACX,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}