@omujs/chat 0.1.22
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/.eslintignore +13 -0
- package/.eslintrc.cjs +6 -0
- package/.prettierignore +1 -0
- package/CHANGELOG.md +262 -0
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/built/dts/chat.d.ts +14 -0
- package/built/dts/chat.d.ts.map +1 -0
- package/built/dts/client.d.ts +24 -0
- package/built/dts/client.d.ts.map +1 -0
- package/built/dts/const.d.ts +3 -0
- package/built/dts/const.d.ts.map +1 -0
- package/built/dts/event/event-registry.d.ts +12 -0
- package/built/dts/event/event-registry.d.ts.map +1 -0
- package/built/dts/event/event.d.ts +26 -0
- package/built/dts/event/event.d.ts.map +1 -0
- package/built/dts/event/index.d.ts +3 -0
- package/built/dts/event/index.d.ts.map +1 -0
- package/built/dts/index.d.ts +4 -0
- package/built/dts/index.d.ts.map +1 -0
- package/built/dts/models/author.d.ts +40 -0
- package/built/dts/models/author.d.ts.map +1 -0
- package/built/dts/models/channel.d.ts +34 -0
- package/built/dts/models/channel.d.ts.map +1 -0
- package/built/dts/models/content.d.ts +76 -0
- package/built/dts/models/content.d.ts.map +1 -0
- package/built/dts/models/gift.d.ts +25 -0
- package/built/dts/models/gift.d.ts.map +1 -0
- package/built/dts/models/index.d.ts +10 -0
- package/built/dts/models/index.d.ts.map +1 -0
- package/built/dts/models/message.d.ts +40 -0
- package/built/dts/models/message.d.ts.map +1 -0
- package/built/dts/models/paid.d.ts +13 -0
- package/built/dts/models/paid.d.ts.map +1 -0
- package/built/dts/models/provider.d.ts +37 -0
- package/built/dts/models/provider.d.ts.map +1 -0
- package/built/dts/models/role.d.ts +28 -0
- package/built/dts/models/role.d.ts.map +1 -0
- package/built/dts/models/room.d.ts +45 -0
- package/built/dts/models/room.d.ts.map +1 -0
- package/built/dts/permissions.d.ts +6 -0
- package/built/dts/permissions.d.ts.map +1 -0
- package/built/esm/chat.js +81 -0
- package/built/esm/chat.js.map +1 -0
- package/built/esm/client.js +44 -0
- package/built/esm/client.js.map +1 -0
- package/built/esm/const.js +3 -0
- package/built/esm/const.js.map +1 -0
- package/built/esm/event/event-registry.js +35 -0
- package/built/esm/event/event-registry.js.map +1 -0
- package/built/esm/event/event.js +40 -0
- package/built/esm/event/event.js.map +1 -0
- package/built/esm/event/index.js +3 -0
- package/built/esm/event/index.js.map +1 -0
- package/built/esm/index.js +4 -0
- package/built/esm/index.js.map +1 -0
- package/built/esm/models/author.js +42 -0
- package/built/esm/models/author.js.map +1 -0
- package/built/esm/models/channel.js +45 -0
- package/built/esm/models/channel.js.map +1 -0
- package/built/esm/models/content.js +154 -0
- package/built/esm/models/content.js.map +1 -0
- package/built/esm/models/gift.js +33 -0
- package/built/esm/models/gift.js.map +1 -0
- package/built/esm/models/index.js +10 -0
- package/built/esm/models/index.js.map +1 -0
- package/built/esm/models/message.js +57 -0
- package/built/esm/models/message.js.map +1 -0
- package/built/esm/models/paid.js +18 -0
- package/built/esm/models/paid.js.map +1 -0
- package/built/esm/models/provider.js +49 -0
- package/built/esm/models/provider.js.map +1 -0
- package/built/esm/models/role.js +37 -0
- package/built/esm/models/role.js.map +1 -0
- package/built/esm/models/room.js +45 -0
- package/built/esm/models/room.js.map +1 -0
- package/built/esm/permissions.js +7 -0
- package/built/esm/permissions.js.map +1 -0
- package/package.json +53 -0
- package/src/chat.ts +90 -0
- package/src/const.ts +3 -0
- package/src/index.ts +3 -0
- package/src/models/author.ts +74 -0
- package/src/models/channel.ts +69 -0
- package/src/models/content.ts +207 -0
- package/src/models/gift.ts +51 -0
- package/src/models/index.ts +10 -0
- package/src/models/message.ts +85 -0
- package/src/models/paid.ts +24 -0
- package/src/models/provider.ts +75 -0
- package/src/models/role.ts +57 -0
- package/src/models/room.ts +82 -0
- package/src/permissions.ts +7 -0
- package/tsconfig.json +12 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Identifier } from '@omujs/omu/identifier.js';
|
|
2
|
+
import type { Keyable, Timestamped } from '@omujs/omu/interface.js';
|
|
3
|
+
import type { Model } from '@omujs/omu/model.js';
|
|
4
|
+
import * as content from './content.js';
|
|
5
|
+
import type { GiftJson } from './gift.js';
|
|
6
|
+
import { Gift } from './gift.js';
|
|
7
|
+
import type { PaidJson } from './paid.js';
|
|
8
|
+
import { Paid } from './paid.js';
|
|
9
|
+
export type MessageJson = {
|
|
10
|
+
room_id: string;
|
|
11
|
+
id: string;
|
|
12
|
+
created_at: string;
|
|
13
|
+
author_id?: string;
|
|
14
|
+
content?: content.ComponentJson;
|
|
15
|
+
paid?: PaidJson;
|
|
16
|
+
gifts?: GiftJson[];
|
|
17
|
+
};
|
|
18
|
+
export declare class Message implements Model<MessageJson>, Keyable, Timestamped {
|
|
19
|
+
roomId: Identifier;
|
|
20
|
+
id: Identifier;
|
|
21
|
+
authorId?: Identifier;
|
|
22
|
+
content?: content.Component;
|
|
23
|
+
paid?: Paid;
|
|
24
|
+
gifts?: Gift[];
|
|
25
|
+
createdAt: Date;
|
|
26
|
+
constructor(options: {
|
|
27
|
+
roomId: Identifier;
|
|
28
|
+
id: Identifier;
|
|
29
|
+
authorId?: Identifier;
|
|
30
|
+
createdAt: Date;
|
|
31
|
+
content?: content.Component;
|
|
32
|
+
paid?: Paid;
|
|
33
|
+
gifts?: Gift[];
|
|
34
|
+
});
|
|
35
|
+
static fromJson(info: MessageJson): Message;
|
|
36
|
+
get text(): string;
|
|
37
|
+
key(): string;
|
|
38
|
+
toJson(): MessageJson;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/models/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAChC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB,CAAC;AAEF,qBAAa,OAAQ,YAAW,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW;IAC7D,MAAM,EAAE,UAAU,CAAC;IACnB,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;gBAEX,OAAO,EAAE;QACjB,MAAM,EAAE,UAAU,CAAC;QACnB,EAAE,EAAE,UAAU,CAAC;QACf,QAAQ,CAAC,EAAE,UAAU,CAAC;QACtB,SAAS,EAAE,IAAI,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;QACZ,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;KAClB;IAaD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAY3C,IAAI,IAAI,IAAI,MAAM,CAKjB;IAED,GAAG,IAAI,MAAM;IAIb,MAAM,IAAI,WAAW;CAWxB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Model } from '@omujs/omu/model.js';
|
|
2
|
+
export type PaidJson = {
|
|
3
|
+
amount: number;
|
|
4
|
+
currency: string;
|
|
5
|
+
};
|
|
6
|
+
export declare class Paid implements Model<PaidJson> {
|
|
7
|
+
amount: number;
|
|
8
|
+
currency: string;
|
|
9
|
+
constructor(amount: number, currency: string);
|
|
10
|
+
static fromJson(options: PaidJson): Paid;
|
|
11
|
+
toJson(): PaidJson;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=paid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paid.d.ts","sourceRoot":"","sources":["../../../src/models/paid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,IAAK,YAAW,KAAK,CAAC,QAAQ,CAAC;IAE7B,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,MAAM;gBADhB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM;IAG3B,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAIxC,MAAM,IAAI,QAAQ;CAMrB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Identifier } from '@omujs/omu/identifier.js';
|
|
2
|
+
import type { Keyable } from '@omujs/omu/interface.js';
|
|
3
|
+
import type { Model } from '@omujs/omu/model.js';
|
|
4
|
+
export type ProviderJson = {
|
|
5
|
+
id: string;
|
|
6
|
+
url: string;
|
|
7
|
+
name: string;
|
|
8
|
+
version: string;
|
|
9
|
+
repository_url: string;
|
|
10
|
+
image_url?: string;
|
|
11
|
+
description: string;
|
|
12
|
+
regex: string;
|
|
13
|
+
};
|
|
14
|
+
export declare class Provider implements Keyable, Model<ProviderJson> {
|
|
15
|
+
id: Identifier;
|
|
16
|
+
url: string;
|
|
17
|
+
name: string;
|
|
18
|
+
version: string;
|
|
19
|
+
repositoryUrl: string;
|
|
20
|
+
imageUrl?: string;
|
|
21
|
+
description: string;
|
|
22
|
+
regex: string;
|
|
23
|
+
constructor(options: {
|
|
24
|
+
id: Identifier;
|
|
25
|
+
url: string;
|
|
26
|
+
name: string;
|
|
27
|
+
version: string;
|
|
28
|
+
repository_url: string;
|
|
29
|
+
image_url?: string;
|
|
30
|
+
description: string;
|
|
31
|
+
regex: string;
|
|
32
|
+
});
|
|
33
|
+
static fromJson(data: ProviderJson): Provider;
|
|
34
|
+
toJson(): ProviderJson;
|
|
35
|
+
key(): string;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/models/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,QAAS,YAAW,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;IAClD,EAAE,EAAE,UAAU,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;gBAET,OAAO,EAAE;QACjB,EAAE,EAAE,UAAU,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;KACjB;IAWD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ;IAa7C,MAAM,IAAI,YAAY;IAatB,GAAG,IAAI,MAAM;CAGhB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Model } from '@omujs/omu/model.js';
|
|
2
|
+
export type RoleJson = {
|
|
3
|
+
id?: string;
|
|
4
|
+
name: string;
|
|
5
|
+
is_owner: boolean;
|
|
6
|
+
is_moderator: boolean;
|
|
7
|
+
icon_url?: string;
|
|
8
|
+
color?: string;
|
|
9
|
+
};
|
|
10
|
+
export declare class Role implements Model<RoleJson> {
|
|
11
|
+
id?: string;
|
|
12
|
+
name: string;
|
|
13
|
+
isOwner: boolean;
|
|
14
|
+
isModerator: boolean;
|
|
15
|
+
iconUrl?: string;
|
|
16
|
+
color?: string;
|
|
17
|
+
constructor(options: {
|
|
18
|
+
id?: string;
|
|
19
|
+
name: string;
|
|
20
|
+
isOwner: boolean;
|
|
21
|
+
isModerator: boolean;
|
|
22
|
+
iconUrl?: string;
|
|
23
|
+
color?: string;
|
|
24
|
+
});
|
|
25
|
+
static fromJson(json: RoleJson): Role;
|
|
26
|
+
toJson(): RoleJson;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../src/models/role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAa,IAAK,YAAW,KAAK,CAAC,QAAQ,CAAC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAClB;IASD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAWrC,MAAM,IAAI,QAAQ;CAUrB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Identifier } from '@omujs/omu/identifier.js';
|
|
2
|
+
import type { Keyable, Timestamped } from '@omujs/omu/interface.js';
|
|
3
|
+
import type { Model } from '@omujs/omu/model.js';
|
|
4
|
+
export type MetadataJson = {
|
|
5
|
+
title?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
url?: string;
|
|
8
|
+
thumbnail?: string;
|
|
9
|
+
viewers?: number;
|
|
10
|
+
created_at?: string;
|
|
11
|
+
started_at?: string;
|
|
12
|
+
ended_at?: string;
|
|
13
|
+
};
|
|
14
|
+
export type Status = 'online' | 'reserved' | 'offline';
|
|
15
|
+
export type RoomJson = {
|
|
16
|
+
id: string;
|
|
17
|
+
provider_id: string;
|
|
18
|
+
connected: boolean;
|
|
19
|
+
status: Status;
|
|
20
|
+
metadata?: MetadataJson;
|
|
21
|
+
channel_id?: string;
|
|
22
|
+
created_at: string;
|
|
23
|
+
};
|
|
24
|
+
export declare class Room implements Model<RoomJson>, Keyable, Timestamped {
|
|
25
|
+
id: Identifier;
|
|
26
|
+
providerId: Identifier;
|
|
27
|
+
connected: boolean;
|
|
28
|
+
status: Status;
|
|
29
|
+
metadata?: MetadataJson;
|
|
30
|
+
channelId?: string;
|
|
31
|
+
createdAt: Date;
|
|
32
|
+
constructor(options: {
|
|
33
|
+
id: Identifier;
|
|
34
|
+
providerId: Identifier;
|
|
35
|
+
connected: boolean;
|
|
36
|
+
status: Status;
|
|
37
|
+
metadata?: MetadataJson;
|
|
38
|
+
channelId?: string;
|
|
39
|
+
createdAt: Date;
|
|
40
|
+
});
|
|
41
|
+
static fromJson(options: RoomJson): Room;
|
|
42
|
+
toJson(): RoomJson;
|
|
43
|
+
key(): string;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=room.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../src/models/room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD,MAAM,MAAM,QAAQ,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,IAAK,YAAW,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW;IACvD,EAAE,EAAE,UAAU,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;gBAEX,OAAO,EAAE;QACjB,EAAE,EAAE,UAAU,CAAC;QACf,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,YAAY,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,IAAI,CAAC;KACnB;IAUD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAYxC,MAAM,IAAI,QAAQ;IAYlB,GAAG,IAAI,MAAM;CAGhB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const CHAT_PERMISSION_ID: import("@omujs/omu").Identifier;
|
|
2
|
+
export declare const CHAT_READ_PERMISSION_ID: import("@omujs/omu").Identifier;
|
|
3
|
+
export declare const CHAT_WRITE_PERMISSION_ID: import("@omujs/omu").Identifier;
|
|
4
|
+
export declare const CHAT_SEND_PERMISSION_ID: import("@omujs/omu").Identifier;
|
|
5
|
+
export declare const CHAT_CHANNEL_TREE_PERMISSION_ID: import("@omujs/omu").Identifier;
|
|
6
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/permissions.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,iCAAa,CAAC;AAC7C,eAAO,MAAM,uBAAuB,iCAAkC,CAAC;AACvE,eAAO,MAAM,wBAAwB,iCAAmC,CAAC;AACzE,eAAO,MAAM,uBAAuB,iCAAkC,CAAC;AACvE,eAAO,MAAM,+BAA+B,iCAAyC,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { EndpointType } from '@omujs/omu/extension/endpoint/endpoint.js';
|
|
2
|
+
import { TableType } from '@omujs/omu/extension/table/index.js';
|
|
3
|
+
import { Serializer } from '@omujs/omu/serializer.js';
|
|
4
|
+
import { IDENTIFIER } from './const.js';
|
|
5
|
+
import { Author, Channel, Message, Provider, Room } from './models/index.js';
|
|
6
|
+
import { CHAT_CHANNEL_TREE_PERMISSION_ID, CHAT_PERMISSION_ID, CHAT_READ_PERMISSION_ID, CHAT_WRITE_PERMISSION_ID, } from './permissions.js';
|
|
7
|
+
const MESSAGE_TABLE_TYPE = TableType.createModel(IDENTIFIER, {
|
|
8
|
+
name: 'messages',
|
|
9
|
+
model: Message,
|
|
10
|
+
permissions: {
|
|
11
|
+
all: CHAT_PERMISSION_ID,
|
|
12
|
+
read: CHAT_READ_PERMISSION_ID,
|
|
13
|
+
write: CHAT_WRITE_PERMISSION_ID,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
const AUTHOR_TABLE_TYPE = TableType.createModel(IDENTIFIER, {
|
|
17
|
+
name: 'authors',
|
|
18
|
+
model: Author,
|
|
19
|
+
permissions: {
|
|
20
|
+
all: CHAT_PERMISSION_ID,
|
|
21
|
+
read: CHAT_READ_PERMISSION_ID,
|
|
22
|
+
write: CHAT_WRITE_PERMISSION_ID,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
const CHANNEL_TABLE_TYPE = TableType.createModel(IDENTIFIER, {
|
|
26
|
+
name: 'channels',
|
|
27
|
+
model: Channel,
|
|
28
|
+
permissions: {
|
|
29
|
+
all: CHAT_PERMISSION_ID,
|
|
30
|
+
read: CHAT_READ_PERMISSION_ID,
|
|
31
|
+
write: CHAT_WRITE_PERMISSION_ID,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
const PROVIDER_TABLE_TYPE = TableType.createModel(IDENTIFIER, {
|
|
35
|
+
name: 'providers',
|
|
36
|
+
model: Provider,
|
|
37
|
+
permissions: {
|
|
38
|
+
all: CHAT_PERMISSION_ID,
|
|
39
|
+
read: CHAT_READ_PERMISSION_ID,
|
|
40
|
+
write: CHAT_WRITE_PERMISSION_ID,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
const ROOM_TABLE_TYPE = TableType.createModel(IDENTIFIER, {
|
|
44
|
+
name: 'rooms',
|
|
45
|
+
model: Room,
|
|
46
|
+
permissions: {
|
|
47
|
+
all: CHAT_PERMISSION_ID,
|
|
48
|
+
read: CHAT_READ_PERMISSION_ID,
|
|
49
|
+
write: CHAT_WRITE_PERMISSION_ID,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
const CREATE_CHANNEL_TREE_ENDPOINT = EndpointType.createJson(IDENTIFIER, {
|
|
53
|
+
name: 'create_channel_tree',
|
|
54
|
+
requestSerializer: Serializer.noop(),
|
|
55
|
+
responseSerializer: Serializer.model(Channel).toArray(),
|
|
56
|
+
permissionId: CHAT_CHANNEL_TREE_PERMISSION_ID,
|
|
57
|
+
});
|
|
58
|
+
export class Chat {
|
|
59
|
+
client;
|
|
60
|
+
messages;
|
|
61
|
+
authors;
|
|
62
|
+
channels;
|
|
63
|
+
providers;
|
|
64
|
+
rooms;
|
|
65
|
+
constructor(client) {
|
|
66
|
+
this.client = client;
|
|
67
|
+
client.server.require(IDENTIFIER);
|
|
68
|
+
client.permissions.require(CHAT_PERMISSION_ID);
|
|
69
|
+
this.messages = client.tables.get(MESSAGE_TABLE_TYPE);
|
|
70
|
+
this.authors = client.tables.get(AUTHOR_TABLE_TYPE);
|
|
71
|
+
this.channels = client.tables.get(CHANNEL_TABLE_TYPE);
|
|
72
|
+
this.providers = client.tables.get(PROVIDER_TABLE_TYPE);
|
|
73
|
+
this.rooms = client.tables.get(ROOM_TABLE_TYPE);
|
|
74
|
+
this.messages.setCacheSize(1000);
|
|
75
|
+
this.authors.setCacheSize(500);
|
|
76
|
+
}
|
|
77
|
+
async createChannelTree(url) {
|
|
78
|
+
return await this.client.endpoints.call(CREATE_CHANNEL_TREE_ENDPOINT, url);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACH,+BAA+B,EAC/B,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,kBAAkB,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE;IACzD,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE;QACT,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,wBAAwB;KAClC;CACJ,CAAC,CAAC;AACH,MAAM,iBAAiB,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE;IACxD,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,MAAM;IACb,WAAW,EAAE;QACT,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,wBAAwB;KAClC;CACJ,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE;IACzD,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,OAAO;IACd,WAAW,EAAE;QACT,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,wBAAwB;KAClC;CACJ,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE;IAC1D,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,QAAQ;IACf,WAAW,EAAE;QACT,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,wBAAwB;KAClC;CACJ,CAAC,CAAC;AACH,MAAM,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE;IACtD,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,IAAI;IACX,WAAW,EAAE;QACT,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,wBAAwB;KAClC;CACJ,CAAC,CAAC;AACH,MAAM,4BAA4B,GAAG,YAAY,CAAC,UAAU,CAAC,UAAU,EAAE;IACrE,IAAI,EAAE,qBAAqB;IAC3B,iBAAiB,EAAE,UAAU,CAAC,IAAI,EAAU;IAC5C,kBAAkB,EAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE;IACvD,YAAY,EAAE,+BAA+B;CAChD,CAAC,CAAC;AAEH,MAAM,OAAO,IAAI;IAOgB;IANpB,QAAQ,CAAiB;IACzB,OAAO,CAAgB;IACvB,QAAQ,CAAiB;IACzB,SAAS,CAAkB;IAC3B,KAAK,CAAc;IAE5B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACvC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAW;QAC/B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC;CACJ"}
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"const.js","sourceRoot":"","sources":["../../src/const.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export class EventKey {
|
|
2
|
+
name;
|
|
3
|
+
create;
|
|
4
|
+
constructor(name, create = () => { }) {
|
|
5
|
+
this.name = name;
|
|
6
|
+
this.create = create;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function initTableEvent(consumer) {
|
|
10
|
+
return (client, invoke) => {
|
|
11
|
+
const table = consumer(client);
|
|
12
|
+
table.listen();
|
|
13
|
+
table.event.add.listen((items) => {
|
|
14
|
+
for (const item of items.values()) {
|
|
15
|
+
invoke(item);
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export const events = {
|
|
21
|
+
Ready: new EventKey('ready', (client, invoke) => {
|
|
22
|
+
client.network.event.connected.listen(() => invoke());
|
|
23
|
+
}),
|
|
24
|
+
MessageCreate: new EventKey('on_message', initTableEvent((client) => client.chat.messages)),
|
|
25
|
+
MessageUpdate: new EventKey('on_message_update', initTableEvent((client) => client.chat.messages)),
|
|
26
|
+
MessageDelete: new EventKey('on_message_delete', initTableEvent((client) => client.chat.messages)),
|
|
27
|
+
AuthorCreate: new EventKey('on_author_create', initTableEvent((client) => client.chat.authors)),
|
|
28
|
+
AuthorUpdate: new EventKey('on_author_update', initTableEvent((client) => client.chat.authors)),
|
|
29
|
+
AuthorDelete: new EventKey('on_author_delete', initTableEvent((client) => client.chat.authors)),
|
|
30
|
+
ChannelCreate: new EventKey('on_channel_create', initTableEvent((client) => client.chat.channels)),
|
|
31
|
+
ChannelUpdate: new EventKey('on_channel_update', initTableEvent((client) => client.chat.channels)),
|
|
32
|
+
ChannelDelete: new EventKey('on_channel_delete', initTableEvent((client) => client.chat.channels)),
|
|
33
|
+
ProviderCreate: new EventKey('on_provider_create', initTableEvent((client) => client.chat.providers)),
|
|
34
|
+
ProviderUpdate: new EventKey('on_provider_update', initTableEvent((client) => client.chat.providers)),
|
|
35
|
+
ProviderDelete: new EventKey('on_provider_delete', initTableEvent((client) => client.chat.providers)),
|
|
36
|
+
RoomCreate: new EventKey('on_room_create', initTableEvent((client) => client.chat.rooms)),
|
|
37
|
+
RoomUpdate: new EventKey('on_room_update', initTableEvent((client) => client.chat.rooms)),
|
|
38
|
+
RoomDelete: new EventKey('on_room_delete', initTableEvent((client) => client.chat.rooms)),
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../src/event/event.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/event/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Identifier } from '@omujs/omu/identifier.js';
|
|
2
|
+
import { Role } from './role.js';
|
|
3
|
+
export class Author {
|
|
4
|
+
providerId;
|
|
5
|
+
id;
|
|
6
|
+
name;
|
|
7
|
+
avatarUrl;
|
|
8
|
+
roles;
|
|
9
|
+
metadata;
|
|
10
|
+
constructor(options) {
|
|
11
|
+
this.providerId = options.providerId;
|
|
12
|
+
this.id = options.id;
|
|
13
|
+
this.name = options.name;
|
|
14
|
+
this.avatarUrl = options.avatarUrl;
|
|
15
|
+
this.roles = options.roles;
|
|
16
|
+
this.metadata = options.metadata;
|
|
17
|
+
}
|
|
18
|
+
static fromJson(info) {
|
|
19
|
+
return new Author({
|
|
20
|
+
providerId: Identifier.fromKey(info.provider_id),
|
|
21
|
+
id: Identifier.fromKey(info.id),
|
|
22
|
+
name: info.name,
|
|
23
|
+
avatarUrl: info.avatar_url,
|
|
24
|
+
roles: info.roles?.map((role) => Role.fromJson(role)),
|
|
25
|
+
metadata: info.metadata,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
key() {
|
|
29
|
+
return `${this.providerId}:${this.id}`;
|
|
30
|
+
}
|
|
31
|
+
toJson() {
|
|
32
|
+
return {
|
|
33
|
+
provider_id: this.providerId.key(),
|
|
34
|
+
id: this.id.key(),
|
|
35
|
+
name: this.name,
|
|
36
|
+
avatar_url: this.avatarUrl,
|
|
37
|
+
roles: this.roles?.map((role) => role.toJson()),
|
|
38
|
+
metadata: this.metadata,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=author.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"author.js","sourceRoot":"","sources":["../../../src/models/author.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAKtD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAmBjC,MAAM,OAAO,MAAM;IACR,UAAU,CAAa;IACvB,EAAE,CAAa;IACf,IAAI,CAAU;IACd,SAAS,CAAU;IACnB,KAAK,CAAU;IACf,QAAQ,CAAkB;IAEjC,YAAY,OAOX;QACG,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAgB;QAC5B,OAAO,IAAI,MAAM,CAAC;YACd,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YAChD,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,GAAG;QACC,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM;QACF,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAClC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Identifier } from '@omujs/omu/identifier.js';
|
|
2
|
+
export class Channel {
|
|
3
|
+
providerId;
|
|
4
|
+
id;
|
|
5
|
+
url;
|
|
6
|
+
name;
|
|
7
|
+
description;
|
|
8
|
+
active;
|
|
9
|
+
iconUrl;
|
|
10
|
+
constructor(option) {
|
|
11
|
+
this.providerId = option.providerId;
|
|
12
|
+
this.id = option.id;
|
|
13
|
+
this.url = option.url;
|
|
14
|
+
this.name = option.name;
|
|
15
|
+
this.description = option.description;
|
|
16
|
+
this.active = option.active;
|
|
17
|
+
this.iconUrl = option.iconUrl;
|
|
18
|
+
}
|
|
19
|
+
static fromJson(json) {
|
|
20
|
+
return new Channel({
|
|
21
|
+
providerId: Identifier.fromKey(json.provider_id),
|
|
22
|
+
id: Identifier.fromKey(json.id),
|
|
23
|
+
url: json.url,
|
|
24
|
+
name: json.name,
|
|
25
|
+
description: json.description,
|
|
26
|
+
active: json.active,
|
|
27
|
+
iconUrl: json.icon_url,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
key() {
|
|
31
|
+
return this.id.key();
|
|
32
|
+
}
|
|
33
|
+
toJson() {
|
|
34
|
+
return {
|
|
35
|
+
provider_id: this.providerId.key(),
|
|
36
|
+
id: this.id.key(),
|
|
37
|
+
url: this.url,
|
|
38
|
+
name: this.name,
|
|
39
|
+
description: this.description,
|
|
40
|
+
active: this.active,
|
|
41
|
+
icon_url: this.iconUrl,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../../src/models/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AActD,MAAM,OAAO,OAAO;IAChB,UAAU,CAAa;IACvB,EAAE,CAAa;IACf,GAAG,CAAS;IACZ,IAAI,CAAS;IACb,WAAW,CAAS;IACpB,MAAM,CAAU;IAChB,OAAO,CAAS;IAEhB,YAAY,MAQX;QACG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAiB;QAC7B,OAAO,IAAI,OAAO,CAAC;YACf,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YAChD,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACzB,CAAC,CAAC;IACP,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,MAAM;QACF,OAAO;YACH,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAClC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;SACzB,CAAC;IACN,CAAC;CACJ"}
|