@omujs/chat 0.9.49 → 0.9.50
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/dist/chat.js +2 -0
- package/dist/chat.js.map +7 -0
- package/dist/const.js +2 -0
- package/dist/const.js.map +7 -0
- package/dist/event/event-types.js +2 -0
- package/dist/event/event-types.js.map +7 -0
- package/dist/event/event.js +2 -0
- package/dist/event/event.js.map +7 -0
- package/dist/event/index.d.ts +2 -0
- package/dist/event/index.js +2 -0
- package/dist/event/index.js.map +7 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +7 -0
- package/dist/models/author.js +2 -0
- package/dist/models/author.js.map +7 -0
- package/dist/models/channel.js +2 -0
- package/dist/models/channel.js.map +7 -0
- package/dist/{dts/models → models}/content.d.ts +2 -2
- package/dist/models/content.js +2 -0
- package/dist/models/content.js.map +7 -0
- package/dist/models/gift.js +2 -0
- package/dist/models/gift.js.map +7 -0
- package/dist/models/index.d.ts +13 -0
- package/dist/models/index.js +2 -0
- package/dist/models/index.js.map +7 -0
- package/dist/models/message.js +2 -0
- package/dist/models/message.js.map +7 -0
- package/dist/models/paid.js +2 -0
- package/dist/models/paid.js.map +7 -0
- package/dist/models/provider.js +2 -0
- package/dist/models/provider.js.map +7 -0
- package/dist/models/reaction.js +2 -0
- package/dist/models/reaction.js.map +7 -0
- package/dist/models/role.js +2 -0
- package/dist/models/role.js.map +7 -0
- package/dist/models/room.js +2 -0
- package/dist/models/room.js.map +7 -0
- package/dist/models/vote.js +2 -0
- package/dist/models/vote.js.map +7 -0
- package/dist/permissions.js +2 -0
- package/dist/permissions.js.map +7 -0
- package/package.json +8 -8
- package/dist/dts/event/index.d.ts +0 -2
- package/dist/dts/models/index.d.ts +0 -13
- package/dist/esm/chat.js +0 -7976
- package/dist/esm/const.js +0 -5060
- package/dist/esm/event/event-types.js +0 -76
- package/dist/esm/event/event.js +0 -106
- package/dist/esm/event/index.js +0 -115
- package/dist/esm/index.js +0 -8022
- package/dist/esm/models/author.js +0 -5136
- package/dist/esm/models/channel.js +0 -5102
- package/dist/esm/models/content.js +0 -39
- package/dist/esm/models/gift.js +0 -40
- package/dist/esm/models/index.js +0 -5499
- package/dist/esm/models/message.js +0 -5199
- package/dist/esm/models/paid.js +0 -25
- package/dist/esm/models/provider.js +0 -5106
- package/dist/esm/models/reaction.js +0 -5079
- package/dist/esm/models/role.js +0 -44
- package/dist/esm/models/room.js +0 -5102
- package/dist/esm/models/vote.js +0 -5098
- package/dist/esm/permissions.js +0 -5073
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/dist/{dts/chat.d.ts → chat.d.ts} +0 -0
- /package/dist/{dts/const.d.ts → const.d.ts} +0 -0
- /package/dist/{dts/event → event}/event-types.d.ts +0 -0
- /package/dist/{dts/event → event}/event.d.ts +0 -0
- /package/dist/{dts/index.d.ts → index.d.ts} +0 -0
- /package/dist/{dts/models → models}/author.d.ts +0 -0
- /package/dist/{dts/models → models}/channel.d.ts +0 -0
- /package/dist/{dts/models → models}/gift.d.ts +0 -0
- /package/dist/{dts/models → models}/message.d.ts +0 -0
- /package/dist/{dts/models → models}/paid.d.ts +0 -0
- /package/dist/{dts/models → models}/provider.d.ts +0 -0
- /package/dist/{dts/models → models}/reaction.d.ts +0 -0
- /package/dist/{dts/models → models}/role.d.ts +0 -0
- /package/dist/{dts/models → models}/room.d.ts +0 -0
- /package/dist/{dts/models → models}/vote.d.ts +0 -0
- /package/dist/{dts/permissions.d.ts → permissions.d.ts} +0 -0
package/dist/chat.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Serializer as n}from"@omujs/omu";import{EndpointType as c}from"@omujs/omu/api/endpoint";import{SignalType as E}from"@omujs/omu/api/signal";import{TableType as i}from"@omujs/omu/api/table";import{PLUGIN_ID as s}from"./const";import{EventRegistry as y}from"./event";import{Author as T,Channel as l,Message as h,Provider as d,Reaction as _,Room as g,Vote as b}from"./models";import{CHAT_CHANNEL_TREE_PERMISSION_ID as u,CHAT_PERMISSION_ID as t,CHAT_READ_PERMISSION_ID as a,CHAT_WRITE_PERMISSION_ID as o}from"./permissions";const A=i.createJson(s,{name:"messages",serializer:h,key:r=>r.key(),permissions:{all:t,read:a,write:o}}),R=i.createJson(s,{name:"authors",serializer:T,key:r=>r.key(),permissions:{all:t,read:a,write:o}}),S=i.createJson(s,{name:"channels",serializer:l,key:r=>r.key(),permissions:{all:t,read:a,write:o}}),v=i.createJson(s,{name:"providers",serializer:d,key:r=>r.key(),permissions:{all:t,read:a,write:o}}),I=i.createJson(s,{name:"rooms",serializer:g,key:r=>r.key(),permissions:{all:t,read:a,write:o}}),P=i.createJson(s,{name:"votes",serializer:b,key:r=>r.key(),permissions:{all:t,read:a,write:o}}),C=c.createJson(s,{name:"create_channel_tree",requestSerializer:n.noop(),responseSerializer:n.of(l).toArray(),permissionId:u}),N=E.createJson(s,{name:"reaction",serializer:_,permissions:{all:t}});class m{constructor(e){this.omu=e;e.sessions.require(s),e.permissions.require(t),this.eventRegistry=new y(this),this.messages=e.tables.get(A),this.authors=e.tables.get(R),this.channels=e.tables.get(S),this.providers=e.tables.get(v),this.rooms=e.tables.get(I),this.votes=e.tables.get(P),this.reactionSignal=e.signals.get(N),this.messages.setCacheSize(1e3),this.authors.setCacheSize(500)}messages;authors;channels;providers;rooms;votes;reactionSignal;eventRegistry;static create(e){if(e.ready)throw new Error("OMU instance is already started");return new m(e)}async createChannelTree(e){return await this.omu.endpoints.call(C,e)}on(e,p){this.eventRegistry.register(e,p)}}export{m as Chat};
|
|
2
|
+
//# sourceMappingURL=chat.js.map
|
package/dist/chat.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/chat.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Omu } from '@omujs/omu';\nimport { Serializer } from '@omujs/omu';\nimport { EndpointType } from '@omujs/omu/api/endpoint';\nimport type { Signal } from '@omujs/omu/api/signal';\nimport { SignalType } from '@omujs/omu/api/signal';\nimport type { Table } from '@omujs/omu/api/table';\nimport { TableType } from '@omujs/omu/api/table';\n\nimport { PLUGIN_ID } from './const';\nimport type { EventHandler, EventSource } from './event';\nimport { EventRegistry } from './event';\nimport { Author, Channel, Message, Provider, Reaction, Room, Vote } from './models';\nimport {\n CHAT_CHANNEL_TREE_PERMISSION_ID,\n CHAT_PERMISSION_ID,\n CHAT_READ_PERMISSION_ID,\n CHAT_WRITE_PERMISSION_ID,\n} from './permissions';\n\nconst MESSAGE_TABLE_TYPE = TableType.createJson(PLUGIN_ID, {\n name: 'messages',\n serializer: Message,\n key: (item) => item.key(),\n permissions: {\n all: CHAT_PERMISSION_ID,\n read: CHAT_READ_PERMISSION_ID,\n write: CHAT_WRITE_PERMISSION_ID,\n },\n});\nconst AUTHOR_TABLE_TYPE = TableType.createJson(PLUGIN_ID, {\n name: 'authors',\n serializer: Author,\n key: (item) => item.key(),\n permissions: {\n all: CHAT_PERMISSION_ID,\n read: CHAT_READ_PERMISSION_ID,\n write: CHAT_WRITE_PERMISSION_ID,\n },\n});\nconst CHANNEL_TABLE_TYPE = TableType.createJson(PLUGIN_ID, {\n name: 'channels',\n serializer: Channel,\n key: (item) => item.key(),\n permissions: {\n all: CHAT_PERMISSION_ID,\n read: CHAT_READ_PERMISSION_ID,\n write: CHAT_WRITE_PERMISSION_ID,\n },\n});\nconst PROVIDER_TABLE_TYPE = TableType.createJson(PLUGIN_ID, {\n name: 'providers',\n serializer: Provider,\n key: (item) => item.key(),\n permissions: {\n all: CHAT_PERMISSION_ID,\n read: CHAT_READ_PERMISSION_ID,\n write: CHAT_WRITE_PERMISSION_ID,\n },\n});\nconst ROOM_TABLE_TYPE = TableType.createJson(PLUGIN_ID, {\n name: 'rooms',\n serializer: Room,\n key: (item) => item.key(),\n permissions: {\n all: CHAT_PERMISSION_ID,\n read: CHAT_READ_PERMISSION_ID,\n write: CHAT_WRITE_PERMISSION_ID,\n },\n});\nconst VOTE_TABLE_TYPE = TableType.createJson(PLUGIN_ID, {\n name: 'votes',\n serializer: Vote,\n key: (item) => item.key(),\n permissions: {\n all: CHAT_PERMISSION_ID,\n read: CHAT_READ_PERMISSION_ID,\n write: CHAT_WRITE_PERMISSION_ID,\n },\n});\nconst CREATE_CHANNEL_TREE_ENDPOINT = EndpointType.createJson(PLUGIN_ID, {\n name: 'create_channel_tree',\n requestSerializer: Serializer.noop<string>(),\n responseSerializer: Serializer.of(Channel).toArray(),\n permissionId: CHAT_CHANNEL_TREE_PERMISSION_ID,\n});\nconst REACTION_SIGNAL = SignalType.createJson(PLUGIN_ID, {\n name: 'reaction',\n serializer: Reaction,\n permissions: { all: CHAT_PERMISSION_ID },\n});\n\nexport class Chat {\n public readonly messages: Table<Message>;\n public readonly authors: Table<Author>;\n public readonly channels: Table<Channel>;\n public readonly providers: Table<Provider>;\n public readonly rooms: Table<Room>;\n public readonly votes: Table<Vote>;\n public readonly reactionSignal: Signal<Reaction>;\n private readonly eventRegistry: EventRegistry;\n\n private constructor(private readonly omu: Omu) {\n omu.sessions.require(PLUGIN_ID);\n omu.permissions.require(CHAT_PERMISSION_ID);\n this.eventRegistry = new EventRegistry(this);\n this.messages = omu.tables.get(MESSAGE_TABLE_TYPE);\n this.authors = omu.tables.get(AUTHOR_TABLE_TYPE);\n this.channels = omu.tables.get(CHANNEL_TABLE_TYPE);\n this.providers = omu.tables.get(PROVIDER_TABLE_TYPE);\n this.rooms = omu.tables.get(ROOM_TABLE_TYPE);\n this.votes = omu.tables.get(VOTE_TABLE_TYPE);\n this.reactionSignal = omu.signals.get(REACTION_SIGNAL);\n this.messages.setCacheSize(1000);\n this.authors.setCacheSize(500);\n }\n\n public static create(omu: Omu): Chat {\n if (omu.ready) {\n throw new Error('OMU instance is already started');\n }\n return new Chat(omu);\n }\n\n public async createChannelTree(url: string): Promise<Channel[]> {\n return await this.omu.endpoints.call(CREATE_CHANNEL_TREE_ENDPOINT, url);\n }\n\n public on<P extends Array<any>>(event: EventSource<P>, handler: EventHandler<P>): void {\n this.eventRegistry.register(event, handler);\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,OAAS,cAAAA,MAAkB,aAC3B,OAAS,gBAAAC,MAAoB,0BAE7B,OAAS,cAAAC,MAAkB,wBAE3B,OAAS,aAAAC,MAAiB,uBAE1B,OAAS,aAAAC,MAAiB,UAE1B,OAAS,iBAAAC,MAAqB,UAC9B,OAAS,UAAAC,EAAQ,WAAAC,EAAS,WAAAC,EAAS,YAAAC,EAAU,YAAAC,EAAU,QAAAC,EAAM,QAAAC,MAAY,WACzE,OACI,mCAAAC,EACA,sBAAAC,EACA,2BAAAC,EACA,4BAAAC,MACG,gBAEP,MAAMC,EAAqBd,EAAU,WAAWC,EAAW,CACvD,KAAM,WACN,WAAYI,EACZ,IAAMU,GAASA,EAAK,IAAI,EACxB,YAAa,CACT,IAAKJ,EACL,KAAMC,EACN,MAAOC,CACX,CACJ,CAAC,EACKG,EAAoBhB,EAAU,WAAWC,EAAW,CACtD,KAAM,UACN,WAAYE,EACZ,IAAMY,GAASA,EAAK,IAAI,EACxB,YAAa,CACT,IAAKJ,EACL,KAAMC,EACN,MAAOC,CACX,CACJ,CAAC,EACKI,EAAqBjB,EAAU,WAAWC,EAAW,CACvD,KAAM,WACN,WAAYG,EACZ,IAAMW,GAASA,EAAK,IAAI,EACxB,YAAa,CACT,IAAKJ,EACL,KAAMC,EACN,MAAOC,CACX,CACJ,CAAC,EACKK,EAAsBlB,EAAU,WAAWC,EAAW,CACxD,KAAM,YACN,WAAYK,EACZ,IAAMS,GAASA,EAAK,IAAI,EACxB,YAAa,CACT,IAAKJ,EACL,KAAMC,EACN,MAAOC,CACX,CACJ,CAAC,EACKM,EAAkBnB,EAAU,WAAWC,EAAW,CACpD,KAAM,QACN,WAAYO,EACZ,IAAMO,GAASA,EAAK,IAAI,EACxB,YAAa,CACT,IAAKJ,EACL,KAAMC,EACN,MAAOC,CACX,CACJ,CAAC,EACKO,EAAkBpB,EAAU,WAAWC,EAAW,CACpD,KAAM,QACN,WAAYQ,EACZ,IAAMM,GAASA,EAAK,IAAI,EACxB,YAAa,CACT,IAAKJ,EACL,KAAMC,EACN,MAAOC,CACX,CACJ,CAAC,EACKQ,EAA+BvB,EAAa,WAAWG,EAAW,CACpE,KAAM,sBACN,kBAAmBJ,EAAW,KAAa,EAC3C,mBAAoBA,EAAW,GAAGO,CAAO,EAAE,QAAQ,EACnD,aAAcM,CAClB,CAAC,EACKY,EAAkBvB,EAAW,WAAWE,EAAW,CACrD,KAAM,WACN,WAAYM,EACZ,YAAa,CAAE,IAAKI,CAAmB,CAC3C,CAAC,EAEM,MAAMY,CAAK,CAUN,YAA6BC,EAAU,CAAV,SAAAA,EACjCA,EAAI,SAAS,QAAQvB,CAAS,EAC9BuB,EAAI,YAAY,QAAQb,CAAkB,EAC1C,KAAK,cAAgB,IAAIT,EAAc,IAAI,EAC3C,KAAK,SAAWsB,EAAI,OAAO,IAAIV,CAAkB,EACjD,KAAK,QAAUU,EAAI,OAAO,IAAIR,CAAiB,EAC/C,KAAK,SAAWQ,EAAI,OAAO,IAAIP,CAAkB,EACjD,KAAK,UAAYO,EAAI,OAAO,IAAIN,CAAmB,EACnD,KAAK,MAAQM,EAAI,OAAO,IAAIL,CAAe,EAC3C,KAAK,MAAQK,EAAI,OAAO,IAAIJ,CAAe,EAC3C,KAAK,eAAiBI,EAAI,QAAQ,IAAIF,CAAe,EACrD,KAAK,SAAS,aAAa,GAAI,EAC/B,KAAK,QAAQ,aAAa,GAAG,CACjC,CAtBgB,SACA,QACA,SACA,UACA,MACA,MACA,eACC,cAiBjB,OAAc,OAAOE,EAAgB,CACjC,GAAIA,EAAI,MACJ,MAAM,IAAI,MAAM,iCAAiC,EAErD,OAAO,IAAID,EAAKC,CAAG,CACvB,CAEA,MAAa,kBAAkBC,EAAiC,CAC5D,OAAO,MAAM,KAAK,IAAI,UAAU,KAAKJ,EAA8BI,CAAG,CAC1E,CAEO,GAAyBC,EAAuBC,EAAgC,CACnF,KAAK,cAAc,SAASD,EAAOC,CAAO,CAC9C,CACJ",
|
|
6
|
+
"names": ["Serializer", "EndpointType", "SignalType", "TableType", "PLUGIN_ID", "EventRegistry", "Author", "Channel", "Message", "Provider", "Reaction", "Room", "Vote", "CHAT_CHANNEL_TREE_PERMISSION_ID", "CHAT_PERMISSION_ID", "CHAT_READ_PERMISSION_ID", "CHAT_WRITE_PERMISSION_ID", "MESSAGE_TABLE_TYPE", "item", "AUTHOR_TABLE_TYPE", "CHANNEL_TABLE_TYPE", "PROVIDER_TABLE_TYPE", "ROOM_TABLE_TYPE", "VOTE_TABLE_TYPE", "CREATE_CHANNEL_TREE_ENDPOINT", "REACTION_SIGNAL", "Chat", "omu", "url", "event", "handler"]
|
|
7
|
+
}
|
package/dist/const.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/const.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\n\nexport const PLUGIN_ID: Identifier = new Identifier('com.omuapps', 'chat');\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,aAEpB,MAAMC,EAAwB,IAAID,EAAW,cAAe,MAAM",
|
|
6
|
+
"names": ["Identifier", "PLUGIN_ID"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/event/event-types.ts"],
|
|
4
|
+
"sourcesContent": ["import { Author } from '../models/author.js';\nimport { Channel } from '../models/channel.js';\nimport { Message } from '../models/message.js';\nimport { Provider } from '../models/provider.js';\nimport { Room } from '../models/room.js';\nimport { Vote } from '../models/vote.js';\nimport { TableEvent } from './event.js';\n\nexport const events: { Message: TableEvent<Message>; Author: TableEvent<Author>; Channel: TableEvent<Channel>; Provider: TableEvent<Provider>; Room: TableEvent<Room>; Vote: TableEvent<Vote> } = {\n Message: new TableEvent((chat) => chat.messages),\n Author: new TableEvent((chat) => chat.authors),\n Channel: new TableEvent((chat) => chat.channels),\n Provider: new TableEvent((chat) => chat.providers),\n Room: new TableEvent((chat) => chat.rooms),\n Vote: new TableEvent((chat) => chat.votes),\n};\n"],
|
|
5
|
+
"mappings": "AAMA,OAAS,cAAAA,MAAkB,aAEpB,MAAMC,EAAqL,CAC9L,QAAS,IAAID,EAAYE,GAASA,EAAK,QAAQ,EAC/C,OAAQ,IAAIF,EAAYE,GAASA,EAAK,OAAO,EAC7C,QAAS,IAAIF,EAAYE,GAASA,EAAK,QAAQ,EAC/C,SAAU,IAAIF,EAAYE,GAASA,EAAK,SAAS,EACjD,KAAM,IAAIF,EAAYE,GAASA,EAAK,KAAK,EACzC,KAAM,IAAIF,EAAYE,GAASA,EAAK,KAAK,CAC7C",
|
|
6
|
+
"names": ["TableEvent", "events", "chat"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{EventEmitter as h}from"@omujs/omu/event";class a{constructor(r){this.getListener=r}subscribe(r,t){return this.getListener(t).listen(r)}}class c extends a{constructor(t){super(e=>t(e).event.cacheUpdate);this.getTable=t;this.AddBatch=new a(e=>t(e).event.add),this.UpdateBatch=new a(e=>t(e).event.update),this.RemoveBatch=new a(e=>t(e).event.remove),this.Add=this.createBatchSubscriber(e=>e.event.add),this.Update=this.createBatchSubscriber(e=>e.event.update),this.Remove=this.createBatchSubscriber(e=>e.event.remove),this.Clear=new a(e=>t(e).event.clear),this.wrappers={}}AddBatch;UpdateBatch;RemoveBatch;Add;Update;Remove;Clear;wrappers;static createBatchWrapper(t){return async e=>{for(const n of e.values())await t(n)}}createBatchSubscriber(t){let e=null;return{subscribe:(s,l)=>{const i=this.getTable(l),p=t(i);e=c.createBatchWrapper(u=>s(u));const v=i.listen(),d=p.listen(e);return()=>{v(),d()}}}}}class E{chat;events;constructor(r){this.chat=r,this.events=new Map}register(r,t){let e=this.events.get(r);if(!e){const n={source:r,listeners:new h};e=n,this.events.set(r,n),r.subscribe((...s)=>n.listeners.emit(...s),this.chat)}e.listeners.listen((...n)=>t(...n))}}export{E as EventRegistry,a as ListenerEvent,c as TableEvent};
|
|
2
|
+
//# sourceMappingURL=event.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/event/event.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Table } from '@omujs/omu/api/table';\nimport type { Unlisten } from '@omujs/omu/event';\nimport { EventEmitter } from '@omujs/omu/event';\n\nimport type { Chat } from '../chat.js';\n\nexport type EventHandler<P extends Array<any>> = (...args: P) => Promise<void> | void;\n\nexport interface EventSource<P extends Array<any>> {\n subscribe(handler: EventHandler<P>, chat: Chat): Unlisten;\n}\n\nexport class ListenerEvent<P extends Array<any>> implements EventSource<P> {\n constructor(private readonly getListener: (chat: Chat) => EventEmitter<P>) {}\n\n public subscribe(handler: EventHandler<P>, chat: Chat): Unlisten {\n const listener = this.getListener(chat);\n return listener.listen(handler);\n }\n}\n\nexport class TableEvent<T> extends ListenerEvent<[Map<string, T>]> {\n public readonly AddBatch: ListenerEvent<[Map<string, T>]>;\n public readonly UpdateBatch: ListenerEvent<[Map<string, T>]>;\n public readonly RemoveBatch: ListenerEvent<[Map<string, T>]>;\n public readonly Add: EventSource<[T]>;\n public readonly Update: EventSource<[T]>;\n public readonly Remove: EventSource<[T]>;\n public readonly Clear: EventSource<[]>;\n public readonly wrappers: Record<string, Unlisten>;\n\n constructor(private readonly getTable: (chat: Chat) => Table<T>) {\n super((chat) => getTable(chat).event.cacheUpdate);\n this.AddBatch = new ListenerEvent((chat) => getTable(chat).event.add);\n this.UpdateBatch = new ListenerEvent((chat) => getTable(chat).event.update);\n this.RemoveBatch = new ListenerEvent((chat) => getTable(chat).event.remove);\n this.Add = this.createBatchSubscriber((table) => table.event.add);\n this.Update = this.createBatchSubscriber((table) => table.event.update);\n this.Remove = this.createBatchSubscriber((table) => table.event.remove);\n this.Clear = new ListenerEvent((client) => getTable(client).event.clear);\n this.wrappers = {};\n }\n\n private static createBatchWrapper<T>(emit: EventHandler<[T]>): EventHandler<[Map<string, T>]> {\n return async (items) => {\n for (const item of items.values()) {\n await emit(item);\n }\n };\n }\n\n private createBatchSubscriber(\n getListener: (table: Table<T>) => EventEmitter<[Map<string, T>]>,\n ): EventSource<[T]> {\n let batchWrapper: EventHandler<[Map<string, T>]> | null = null;\n\n const subscribe = (emit: EventHandler<[T]>, chat: Chat): Unlisten => {\n const table = this.getTable(chat);\n const listener = getListener(table);\n batchWrapper = TableEvent.createBatchWrapper((item) => emit(item));\n const stopListen = table.listen();\n const clearEvent = listener.listen(batchWrapper);\n return () => {\n stopListen();\n clearEvent();\n };\n };\n\n return {\n subscribe,\n };\n }\n}\n\ntype Entry<P extends Array<any>> = {\n source: EventSource<P>;\n listeners: EventEmitter<P>;\n};\n\nexport class EventRegistry {\n private readonly chat: Chat;\n private readonly events: Map<EventSource<any>, Entry<any>>;\n\n constructor(chat: Chat) {\n this.chat = chat;\n this.events = new Map();\n }\n\n public register<P extends Array<any>>(event: EventSource<P>, handler: EventHandler<P>): void {\n let entry = this.events.get(event) as Entry<P> | null;\n if (!entry) {\n const newEntry: Entry<P> = {\n source: event,\n listeners: new EventEmitter(),\n };\n entry = newEntry;\n this.events.set(event, newEntry);\n event.subscribe((...args) => newEntry.listeners.emit(...args), this.chat);\n }\n entry.listeners.listen((...args) => handler(...args));\n }\n}\n"],
|
|
5
|
+
"mappings": "AAEA,OAAS,gBAAAA,MAAoB,mBAUtB,MAAMC,CAA8D,CACvE,YAA6BC,EAA8C,CAA9C,iBAAAA,CAA+C,CAErE,UAAUC,EAA0BC,EAAsB,CAE7D,OADiB,KAAK,YAAYA,CAAI,EACtB,OAAOD,CAAO,CAClC,CACJ,CAEO,MAAME,UAAsBJ,CAAgC,CAU/D,YAA6BK,EAAoC,CAC7D,MAAOF,GAASE,EAASF,CAAI,EAAE,MAAM,WAAW,EADvB,cAAAE,EAEzB,KAAK,SAAW,IAAIL,EAAeG,GAASE,EAASF,CAAI,EAAE,MAAM,GAAG,EACpE,KAAK,YAAc,IAAIH,EAAeG,GAASE,EAASF,CAAI,EAAE,MAAM,MAAM,EAC1E,KAAK,YAAc,IAAIH,EAAeG,GAASE,EAASF,CAAI,EAAE,MAAM,MAAM,EAC1E,KAAK,IAAM,KAAK,sBAAuBG,GAAUA,EAAM,MAAM,GAAG,EAChE,KAAK,OAAS,KAAK,sBAAuBA,GAAUA,EAAM,MAAM,MAAM,EACtE,KAAK,OAAS,KAAK,sBAAuBA,GAAUA,EAAM,MAAM,MAAM,EACtE,KAAK,MAAQ,IAAIN,EAAeO,GAAWF,EAASE,CAAM,EAAE,MAAM,KAAK,EACvE,KAAK,SAAW,CAAC,CACrB,CAnBgB,SACA,YACA,YACA,IACA,OACA,OACA,MACA,SAchB,OAAe,mBAAsBC,EAAyD,CAC1F,MAAO,OAAOC,GAAU,CACpB,UAAWC,KAAQD,EAAM,OAAO,EAC5B,MAAMD,EAAKE,CAAI,CAEvB,CACJ,CAEQ,sBACJT,EACgB,CAChB,IAAIU,EAAsD,KAc1D,MAAO,CACH,UAbc,CAACH,EAAyBL,IAAyB,CACjE,MAAMG,EAAQ,KAAK,SAASH,CAAI,EAC1BS,EAAWX,EAAYK,CAAK,EAClCK,EAAeP,EAAW,mBAAoBM,GAASF,EAAKE,CAAI,CAAC,EACjE,MAAMG,EAAaP,EAAM,OAAO,EAC1BQ,EAAaF,EAAS,OAAOD,CAAY,EAC/C,MAAO,IAAM,CACTE,EAAW,EACXC,EAAW,CACf,CACJ,CAIA,CACJ,CACJ,CAOO,MAAMC,CAAc,CACN,KACA,OAEjB,YAAYZ,EAAY,CACpB,KAAK,KAAOA,EACZ,KAAK,OAAS,IAAI,GACtB,CAEO,SAA+Ba,EAAuBd,EAAgC,CACzF,IAAIe,EAAQ,KAAK,OAAO,IAAID,CAAK,EACjC,GAAI,CAACC,EAAO,CACR,MAAMC,EAAqB,CACvB,OAAQF,EACR,UAAW,IAAIjB,CACnB,EACAkB,EAAQC,EACR,KAAK,OAAO,IAAIF,EAAOE,CAAQ,EAC/BF,EAAM,UAAU,IAAIG,IAASD,EAAS,UAAU,KAAK,GAAGC,CAAI,EAAG,KAAK,IAAI,CAC5E,CACAF,EAAM,UAAU,OAAO,IAAIE,IAASjB,EAAQ,GAAGiB,CAAI,CAAC,CACxD,CACJ",
|
|
6
|
+
"names": ["EventEmitter", "ListenerEvent", "getListener", "handler", "chat", "TableEvent", "getTable", "table", "client", "emit", "items", "item", "batchWrapper", "listener", "stopListen", "clearEvent", "EventRegistry", "event", "entry", "newEntry", "args"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/event/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { events as Events } from './event-types.js';\nexport { EventRegistry, type EventHandler, type EventSource } from './event.js';\n\n"],
|
|
5
|
+
"mappings": "AAAA,OAAmB,UAAVA,MAAwB,mBACjC,OAAS,iBAAAC,MAA0D",
|
|
6
|
+
"names": ["events", "EventRegistry"]
|
|
7
|
+
}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Chat as s}from"./chat.js";import{Events as a}from"./event";import*as p from"./models";import{Content as o}from"./models";import*as f from"./permissions.js";export{s as Chat,a as ChatEvents,f as ChatPermissions,o as Content,p as Models};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { Chat } from './chat.js';\nexport { Events as ChatEvents } from './event';\nexport * as Models from './models';\nexport { Content };\nimport { Content } from './models';\nexport * as ChatPermissions from './permissions.js';\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,QAAAA,MAAY,YACrB,OAAmB,UAAVC,MAA4B,UACrC,UAAYC,MAAY,WAExB,OAAS,WAAAC,MAAe,WACxB,UAAYC,MAAqB",
|
|
6
|
+
"names": ["Chat", "Events", "Models", "Content", "ChatPermissions"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Identifier as t}from"@omujs/omu";import{Role as i}from"./role.js";class e{providerId;id;metadata;name;avatarUrl;roles;constructor(r){this.providerId=r.providerId,this.id=r.id,this.metadata=r.metadata||{},this.name=r.name,this.avatarUrl=r.avatarUrl,this.roles=r.roles}static deserialize(r){return new e({providerId:t.fromKey(r.provider_id),id:t.fromKey(r.id),name:r.name,avatarUrl:r.avatar_url,roles:r.roles?.map(a=>i.fromJson(a)),metadata:r.metadata})}key(){return this.id.key()}static serialize(r){return{provider_id:r.providerId.key(),id:r.id.key(),name:r.name,avatar_url:r.avatarUrl,roles:r.roles?.map(a=>a.toJson()),metadata:r.metadata}}}export{e as Author};
|
|
2
|
+
//# sourceMappingURL=author.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/author.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\n\nimport type { RoleJson } from './role.js';\nimport { Role } from './role.js';\n\nexport type AuthorMetadata = {\n url?: string;\n screen_id?: string;\n avatar_url?: string;\n description?: string;\n links?: string[];\n};\n\nexport type AuthorJson = {\n provider_id: string;\n id: string;\n metadata: AuthorMetadata;\n name?: string;\n avatar_url?: string;\n roles?: RoleJson[];\n};\n\nexport class Author {\n public providerId: Identifier;\n public id: Identifier;\n public metadata: AuthorMetadata;\n public name?: string;\n public avatarUrl?: string;\n public roles?: Role[];\n\n constructor(options: {\n providerId: Identifier;\n id: Identifier;\n metadata?: AuthorMetadata;\n name?: string;\n avatarUrl?: string;\n roles?: Role[];\n }) {\n this.providerId = options.providerId;\n this.id = options.id;\n this.metadata = options.metadata || {};\n this.name = options.name;\n this.avatarUrl = options.avatarUrl;\n this.roles = options.roles;\n }\n\n public static deserialize(info: AuthorJson): Author {\n return new Author({\n providerId: Identifier.fromKey(info.provider_id),\n id: Identifier.fromKey(info.id),\n name: info.name,\n avatarUrl: info.avatar_url,\n roles: info.roles?.map((role) => Role.fromJson(role)),\n metadata: info.metadata,\n });\n }\n\n key(): string {\n return this.id.key();\n }\n\n public static serialize(item: Author): AuthorJson {\n return {\n provider_id: item.providerId.key(),\n id: item.id.key(),\n name: item.name,\n avatar_url: item.avatarUrl,\n roles: item.roles?.map((role) => role.toJson()),\n metadata: item.metadata,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,aAG3B,OAAS,QAAAC,MAAY,YAmBd,MAAMC,CAAO,CACT,WACA,GACA,SACA,KACA,UACA,MAEP,YAAYC,EAOT,CACC,KAAK,WAAaA,EAAQ,WAC1B,KAAK,GAAKA,EAAQ,GAClB,KAAK,SAAWA,EAAQ,UAAY,CAAC,EACrC,KAAK,KAAOA,EAAQ,KACpB,KAAK,UAAYA,EAAQ,UACzB,KAAK,MAAQA,EAAQ,KACzB,CAEA,OAAc,YAAYC,EAA0B,CAChD,OAAO,IAAIF,EAAO,CACd,WAAYF,EAAW,QAAQI,EAAK,WAAW,EAC/C,GAAIJ,EAAW,QAAQI,EAAK,EAAE,EAC9B,KAAMA,EAAK,KACX,UAAWA,EAAK,WAChB,MAAOA,EAAK,OAAO,IAAKC,GAASJ,EAAK,SAASI,CAAI,CAAC,EACpD,SAAUD,EAAK,QACnB,CAAC,CACL,CAEA,KAAc,CACV,OAAO,KAAK,GAAG,IAAI,CACvB,CAEA,OAAc,UAAUE,EAA0B,CAC9C,MAAO,CACH,YAAaA,EAAK,WAAW,IAAI,EACjC,GAAIA,EAAK,GAAG,IAAI,EAChB,KAAMA,EAAK,KACX,WAAYA,EAAK,UACjB,MAAOA,EAAK,OAAO,IAAKD,GAASA,EAAK,OAAO,CAAC,EAC9C,SAAUC,EAAK,QACnB,CACJ,CACJ",
|
|
6
|
+
"names": ["Identifier", "Role", "Author", "options", "info", "role", "item"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Identifier as r}from"@omujs/omu";class e{providerId;id;url;name;description;active;iconUrl;constructor(i){this.providerId=i.providerId,this.id=i.id,this.url=i.url,this.name=i.name,this.description=i.description,this.active=i.active,this.iconUrl=i.iconUrl}static deserialize(i){return new e({providerId:r.fromKey(i.provider_id),id:r.fromKey(i.id),url:i.url,name:i.name,description:i.description,active:i.active,iconUrl:i.icon_url})}key(){return this.id.key()}static serialize(i){return{provider_id:i.providerId.key(),id:i.id.key(),url:i.url,name:i.name,description:i.description,active:i.active,icon_url:i.iconUrl}}}export{e as Channel};
|
|
2
|
+
//# sourceMappingURL=channel.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/channel.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\n\nexport type ChannelJson = {\n provider_id: string;\n id: string;\n url: string;\n name: string;\n description: string;\n active: boolean;\n icon_url: string;\n};\n\nexport class Channel {\n providerId: Identifier;\n id: Identifier;\n url: string;\n name: string;\n description: string;\n active: boolean;\n iconUrl: string;\n\n constructor(option: {\n providerId: Identifier;\n id: Identifier;\n url: string;\n name: string;\n description: string;\n active: boolean;\n iconUrl: string;\n }) {\n this.providerId = option.providerId;\n this.id = option.id;\n this.url = option.url;\n this.name = option.name;\n this.description = option.description;\n this.active = option.active;\n this.iconUrl = option.iconUrl;\n }\n\n public static deserialize(json: ChannelJson): Channel {\n return new Channel({\n providerId: Identifier.fromKey(json.provider_id),\n id: Identifier.fromKey(json.id),\n url: json.url,\n name: json.name,\n description: json.description,\n active: json.active,\n iconUrl: json.icon_url,\n });\n }\n\n key(): string {\n return this.id.key();\n }\n\n public static serialize(item: Channel): ChannelJson {\n return {\n provider_id: item.providerId.key(),\n id: item.id.key(),\n url: item.url,\n name: item.name,\n description: item.description,\n active: item.active,\n icon_url: item.iconUrl,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,aAYpB,MAAMC,CAAQ,CACjB,WACA,GACA,IACA,KACA,YACA,OACA,QAEA,YAAYC,EAQT,CACC,KAAK,WAAaA,EAAO,WACzB,KAAK,GAAKA,EAAO,GACjB,KAAK,IAAMA,EAAO,IAClB,KAAK,KAAOA,EAAO,KACnB,KAAK,YAAcA,EAAO,YAC1B,KAAK,OAASA,EAAO,OACrB,KAAK,QAAUA,EAAO,OAC1B,CAEA,OAAc,YAAYC,EAA4B,CAClD,OAAO,IAAIF,EAAQ,CACf,WAAYD,EAAW,QAAQG,EAAK,WAAW,EAC/C,GAAIH,EAAW,QAAQG,EAAK,EAAE,EAC9B,IAAKA,EAAK,IACV,KAAMA,EAAK,KACX,YAAaA,EAAK,YAClB,OAAQA,EAAK,OACb,QAASA,EAAK,QAClB,CAAC,CACL,CAEA,KAAc,CACV,OAAO,KAAK,GAAG,IAAI,CACvB,CAEA,OAAc,UAAUC,EAA4B,CAChD,MAAO,CACH,YAAaA,EAAK,WAAW,IAAI,EACjC,GAAIA,EAAK,GAAG,IAAI,EAChB,IAAKA,EAAK,IACV,KAAMA,EAAK,KACX,YAAaA,EAAK,YAClB,OAAQA,EAAK,OACb,SAAUA,EAAK,OACnB,CACJ,CACJ",
|
|
6
|
+
"names": ["Identifier", "Channel", "option", "json", "item"]
|
|
7
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { JsonType } from '@omujs/omu/serialize';
|
|
2
|
-
export
|
|
2
|
+
export interface ComponentType<T extends string, D extends JsonType = JsonType> {
|
|
3
3
|
type: T;
|
|
4
4
|
data: D;
|
|
5
|
-
}
|
|
5
|
+
}
|
|
6
6
|
export type Root = ComponentType<'root', Component[]>;
|
|
7
7
|
export type Text = ComponentType<'text', string>;
|
|
8
8
|
export type Image = ComponentType<'image', {
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function o(e){switch(e.type){case"root":return e.data;case"system":return e.data;case"link":return e.data.children;case"text":return[];case"image":return[];case"asset":return[]}}function*p(e){const t=[e];for(;t.length>0;){const n=t.pop();if(!n)return;yield n,t.push(...o(n).slice().reverse())}}function i(e){return[...p(e)].filter(t=>t.type==="text").map(t=>t.data).join("")}export{o as children,i as format,p as walk};
|
|
2
|
+
//# sourceMappingURL=content.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/content.ts"],
|
|
4
|
+
"sourcesContent": ["import { JsonType } from '@omujs/omu/serialize';\n\nexport interface ComponentType<T extends string, D extends JsonType = JsonType> {\n type: T;\n data: D;\n};\n\nexport type Root = ComponentType<'root', Component[]>;\n\nexport type Text = ComponentType<'text', string>;\n\nexport type Image = ComponentType<'image', {\n url: string;\n id: string;\n name?: string;\n}>;\n\nexport type Asset = ComponentType<'asset', {\n id: string;\n}>;\n\nexport type Link = ComponentType<'link', {\n url: string;\n children: Component[];\n}>;\n\nexport type System = ComponentType<'system', Component[]>;\n\nexport type Component =\n | Root\n | Text\n | Image\n | Asset\n | Link\n | System;\n\nexport function children(component: Component): Component[] {\n switch (component.type) {\n case 'root': return component.data;\n case 'system': return component.data;\n case 'link': return component.data.children;\n case 'text': return [];\n case 'image': return [];\n case 'asset': return [];\n }\n}\n\nexport function *walk(component: Component): Iterable<Component> {\n const queue = [component];\n while (queue.length > 0) {\n const component = queue.pop();\n if (!component) return;\n yield component;\n queue.push(...children(component).slice().reverse());\n }\n}\n\nexport function format(component: Component): string {\n return [...walk(component)]\n .filter(it => it.type === 'text')\n .map(it => it.data).join('');\n}\n"],
|
|
5
|
+
"mappings": "AAoCO,SAASA,EAASC,EAAmC,CACxD,OAAQA,EAAU,KAAM,CACpB,IAAK,OAAQ,OAAOA,EAAU,KAC9B,IAAK,SAAU,OAAOA,EAAU,KAChC,IAAK,OAAQ,OAAOA,EAAU,KAAK,SACnC,IAAK,OAAQ,MAAO,CAAC,EACrB,IAAK,QAAS,MAAO,CAAC,EACtB,IAAK,QAAS,MAAO,CAAC,CAC1B,CACJ,CAEO,SAAUC,EAAKD,EAA2C,CAC7D,MAAME,EAAQ,CAACF,CAAS,EACxB,KAAOE,EAAM,OAAS,GAAG,CACrB,MAAMF,EAAYE,EAAM,IAAI,EAC5B,GAAI,CAACF,EAAW,OAChB,MAAMA,EACNE,EAAM,KAAK,GAAGH,EAASC,CAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CACvD,CACJ,CAEO,SAASG,EAAOH,EAA8B,CACjD,MAAO,CAAC,GAAGC,EAAKD,CAAS,CAAC,EACrB,OAAOI,GAAMA,EAAG,OAAS,MAAM,EAC/B,IAAIA,GAAMA,EAAG,IAAI,EAAE,KAAK,EAAE,CACnC",
|
|
6
|
+
"names": ["children", "component", "walk", "queue", "format", "it"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
class a{id;name;amount;isPaid;imageUrl;constructor(i){this.id=i.id,this.name=i.name,this.amount=i.amount,this.isPaid=i.isPaid,this.imageUrl=i.imageUrl}static fromJson(i){return new a({id:i.id,name:i.name,amount:i.amount,isPaid:i.is_paid,imageUrl:i.image_url})}toJson(){return{id:this.id,name:this.name,amount:this.amount,is_paid:this.isPaid,image_url:this.imageUrl}}}export{a as Gift};
|
|
2
|
+
//# sourceMappingURL=gift.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/gift.ts"],
|
|
4
|
+
"sourcesContent": ["export type GiftJson = {\n id: string;\n name?: string;\n amount?: number;\n is_paid?: boolean;\n image_url?: string;\n};\n\nexport class Gift {\n id: string;\n name?: string;\n amount?: number;\n isPaid?: boolean;\n imageUrl?: string;\n\n constructor(options: {\n id: string;\n name?: string;\n amount?: number;\n isPaid?: boolean;\n imageUrl?: string;\n }) {\n this.id = options.id;\n this.name = options.name;\n this.amount = options.amount;\n this.isPaid = options.isPaid;\n this.imageUrl = options.imageUrl;\n }\n\n static fromJson(options: GiftJson): Gift {\n return new Gift({\n id: options.id,\n name: options.name,\n amount: options.amount,\n isPaid: options.is_paid,\n imageUrl: options.image_url,\n });\n }\n\n toJson(): GiftJson {\n return {\n id: this.id,\n name: this.name,\n amount: this.amount,\n is_paid: this.isPaid,\n image_url: this.imageUrl,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AAQO,MAAMA,CAAK,CACd,GACA,KACA,OACA,OACA,SAEA,YAAYC,EAMT,CACC,KAAK,GAAKA,EAAQ,GAClB,KAAK,KAAOA,EAAQ,KACpB,KAAK,OAASA,EAAQ,OACtB,KAAK,OAASA,EAAQ,OACtB,KAAK,SAAWA,EAAQ,QAC5B,CAEA,OAAO,SAASA,EAAyB,CACrC,OAAO,IAAID,EAAK,CACZ,GAAIC,EAAQ,GACZ,KAAMA,EAAQ,KACd,OAAQA,EAAQ,OAChB,OAAQA,EAAQ,QAChB,SAAUA,EAAQ,SACtB,CAAC,CACL,CAEA,QAAmB,CACf,MAAO,CACH,GAAI,KAAK,GACT,KAAM,KAAK,KACX,OAAQ,KAAK,OACb,QAAS,KAAK,OACd,UAAW,KAAK,QACpB,CACJ,CACJ",
|
|
6
|
+
"names": ["Gift", "options"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { Author, type AuthorJson } from './author.js';
|
|
2
|
+
export { Channel, type ChannelJson } from './channel.js';
|
|
3
|
+
export { type Asset, type Component, type ComponentType, type Image, type Link, type Root, type System, type Text } from './content.js';
|
|
4
|
+
export { Gift, type GiftJson } from './gift.js';
|
|
5
|
+
export { Message, type MessageJson } from './message.js';
|
|
6
|
+
export { Paid, type PaidJson } from './paid.js';
|
|
7
|
+
export { Provider, type ProviderJson } from './provider.js';
|
|
8
|
+
export { Reaction, type ReactionJson } from './reaction.js';
|
|
9
|
+
export { Role, type RoleJson } from './role.js';
|
|
10
|
+
export { Room, type RoomJson } from './room.js';
|
|
11
|
+
export { Vote, type Choice, type VoteJson } from './vote.js';
|
|
12
|
+
export { Content };
|
|
13
|
+
import * as Content from './content.js';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Author as p}from"./author.js";import{Channel as n}from"./channel.js";import{Gift as s}from"./gift.js";import{Message as x}from"./message.js";import{Paid as a}from"./paid.js";import{Provider as R}from"./provider.js";import{Reaction as h}from"./reaction.js";import{Role as l}from"./role.js";import{Room as c}from"./room.js";import{Vote as A}from"./vote.js";import*as o from"./content.js";export{p as Author,n as Channel,o as Content,s as Gift,x as Message,a as Paid,R as Provider,h as Reaction,l as Role,c as Room,A as Vote};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/index.ts"],
|
|
4
|
+
"sourcesContent": ["export { Author, type AuthorJson } from './author.js';\nexport { Channel, type ChannelJson } from './channel.js';\nexport { type Asset, type Component, type ComponentType, type Image, type Link, type Root, type System, type Text } from './content.js';\nexport { Gift, type GiftJson } from './gift.js';\nexport { Message, type MessageJson } from './message.js';\nexport { Paid, type PaidJson } from './paid.js';\nexport { Provider, type ProviderJson } from './provider.js';\nexport { Reaction, type ReactionJson } from './reaction.js';\nexport { Role, type RoleJson } from './role.js';\nexport { Room, type RoomJson } from './room.js';\nexport { Vote, type Choice, type VoteJson } from './vote.js';\nexport { Content };\nimport * as Content from './content.js';\n\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,UAAAA,MAA+B,cACxC,OAAS,WAAAC,MAAiC,eAE1C,OAAS,QAAAC,MAA2B,YACpC,OAAS,WAAAC,MAAiC,eAC1C,OAAS,QAAAC,MAA2B,YACpC,OAAS,YAAAC,MAAmC,gBAC5C,OAAS,YAAAC,MAAmC,gBAC5C,OAAS,QAAAC,MAA2B,YACpC,OAAS,QAAAC,MAA2B,YACpC,OAAS,QAAAC,MAAwC,YAEjD,UAAYC,MAAa",
|
|
6
|
+
"names": ["Author", "Channel", "Gift", "Message", "Paid", "Provider", "Reaction", "Role", "Room", "Vote", "Content"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Identifier as i}from"@omujs/omu";import*as d from"./content.js";import{Gift as o}from"./gift.js";import{Paid as n}from"./paid.js";class r{roomId;id;authorId;content;paid;gifts;createdAt;deleted;constructor(t){if(!(t.createdAt instanceof Date))throw new Error("created_at must be a Date");this.roomId=t.roomId,this.id=t.id,this.authorId=t.authorId,this.content=t.content,this.paid=t.paid,this.gifts=t.gifts,this.createdAt=t.createdAt,this.deleted=t.deleted}static serialize(t){return{room_id:t.roomId.key(),id:t.id.key(),author_id:t.authorId?.key(),created_at:t.createdAt.toISOString(),content:t.content,paid:t.paid?.toJson(),gifts:t.gifts?.map(e=>e.toJson()),deleted:t.deleted}}static deserialize(t){return new r({roomId:i.fromKey(t.room_id),id:i.fromKey(t.id),authorId:t.author_id?i.fromKey(t.author_id):void 0,content:t.content,paid:t.paid&&n.fromJson(t.paid),gifts:t.gifts?.map(e=>o.fromJson(e)),createdAt:new Date(t.created_at),deleted:t.deleted})}get text(){return this.content?d.format(this.content):""}key(){return this.id.key()}}export{r as Message};
|
|
2
|
+
//# sourceMappingURL=message.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/message.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\nimport * as content from './content.js';\nimport type { GiftJson } from './gift.js';\nimport { Gift } from './gift.js';\nimport type { PaidJson } from './paid.js';\nimport { Paid } from './paid.js';\n\nexport type MessageJson = {\n room_id: string;\n id: string;\n created_at: string; // ISO 8601 date string\n author_id?: string;\n content?: content.Component;\n paid?: PaidJson;\n gifts?: GiftJson[];\n deleted?: boolean;\n};\n\nexport class Message {\n public roomId: Identifier;\n public id: Identifier;\n public authorId?: Identifier;\n public content?: content.Component;\n public paid?: Paid;\n public gifts?: Gift[];\n public createdAt: Date;\n public deleted?: boolean;\n\n constructor(options: {\n roomId: Identifier;\n id: Identifier;\n authorId?: Identifier;\n createdAt: Date;\n content?: content.Component;\n paid?: Paid;\n gifts?: Gift[];\n deleted?: boolean;\n }) {\n if (!(options.createdAt instanceof Date)) {\n throw new Error('created_at must be a Date');\n }\n this.roomId = options.roomId;\n this.id = options.id;\n this.authorId = options.authorId;\n this.content = options.content;\n this.paid = options.paid;\n this.gifts = options.gifts;\n this.createdAt = options.createdAt;\n this.deleted = options.deleted;\n }\n\n public static serialize(data: Message): MessageJson {\n return {\n room_id: data.roomId.key(),\n id: data.id.key(),\n author_id: data.authorId?.key(),\n created_at: data.createdAt.toISOString(),\n content: data.content,\n paid: data.paid?.toJson(),\n gifts: data.gifts?.map((gift) => gift.toJson()),\n deleted: data.deleted,\n };\n }\n\n public static deserialize(info: MessageJson): Message {\n return new Message({\n roomId: Identifier.fromKey(info.room_id),\n id: Identifier.fromKey(info.id),\n authorId: info.author_id ? Identifier.fromKey(info.author_id) : undefined,\n content: info.content,\n paid: info.paid && Paid.fromJson(info.paid),\n gifts: info.gifts?.map((gift) => Gift.fromJson(gift)),\n createdAt: new Date(info.created_at),\n deleted: info.deleted,\n });\n }\n\n get text(): string {\n if (!this.content) {\n return '';\n }\n return content.format(this.content);\n }\n\n key(): string {\n return this.id.key();\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,aAC3B,UAAYC,MAAa,eAEzB,OAAS,QAAAC,MAAY,YAErB,OAAS,QAAAC,MAAY,YAad,MAAMC,CAAQ,CACV,OACA,GACA,SACA,QACA,KACA,MACA,UACA,QAEP,YAAYC,EAST,CACC,GAAI,EAAEA,EAAQ,qBAAqB,MAC/B,MAAM,IAAI,MAAM,2BAA2B,EAE/C,KAAK,OAASA,EAAQ,OACtB,KAAK,GAAKA,EAAQ,GAClB,KAAK,SAAWA,EAAQ,SACxB,KAAK,QAAUA,EAAQ,QACvB,KAAK,KAAOA,EAAQ,KACpB,KAAK,MAAQA,EAAQ,MACrB,KAAK,UAAYA,EAAQ,UACzB,KAAK,QAAUA,EAAQ,OAC3B,CAEA,OAAc,UAAUC,EAA4B,CAChD,MAAO,CACH,QAASA,EAAK,OAAO,IAAI,EACzB,GAAIA,EAAK,GAAG,IAAI,EAChB,UAAWA,EAAK,UAAU,IAAI,EAC9B,WAAYA,EAAK,UAAU,YAAY,EACvC,QAASA,EAAK,QACd,KAAMA,EAAK,MAAM,OAAO,EACxB,MAAOA,EAAK,OAAO,IAAKC,GAASA,EAAK,OAAO,CAAC,EAC9C,QAASD,EAAK,OAClB,CACJ,CAEA,OAAc,YAAYE,EAA4B,CAClD,OAAO,IAAIJ,EAAQ,CACf,OAAQJ,EAAW,QAAQQ,EAAK,OAAO,EACvC,GAAIR,EAAW,QAAQQ,EAAK,EAAE,EAC9B,SAAUA,EAAK,UAAYR,EAAW,QAAQQ,EAAK,SAAS,EAAI,OAChE,QAASA,EAAK,QACd,KAAMA,EAAK,MAAQL,EAAK,SAASK,EAAK,IAAI,EAC1C,MAAOA,EAAK,OAAO,IAAKD,GAASL,EAAK,SAASK,CAAI,CAAC,EACpD,UAAW,IAAI,KAAKC,EAAK,UAAU,EACnC,QAASA,EAAK,OAClB,CAAC,CACL,CAEA,IAAI,MAAe,CACf,OAAK,KAAK,QAGHP,EAAQ,OAAO,KAAK,OAAO,EAFvB,EAGf,CAEA,KAAc,CACV,OAAO,KAAK,GAAG,IAAI,CACvB,CACJ",
|
|
6
|
+
"names": ["Identifier", "content", "Gift", "Paid", "Message", "options", "data", "gift", "info"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/paid.ts"],
|
|
4
|
+
"sourcesContent": ["export type PaidJson = {\n amount: number;\n currency: string;\n};\n\nexport class Paid {\n constructor(\n public amount: number,\n public currency: string,\n ) { }\n\n static fromJson(options: PaidJson): Paid {\n return new Paid(options.amount, options.currency);\n }\n\n toJson(): PaidJson {\n return {\n amount: this.amount,\n currency: this.currency,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AAKO,MAAMA,CAAK,CACd,YACWC,EACAC,EACT,CAFS,YAAAD,EACA,cAAAC,CACP,CAEJ,OAAO,SAASC,EAAyB,CACrC,OAAO,IAAIH,EAAKG,EAAQ,OAAQA,EAAQ,QAAQ,CACpD,CAEA,QAAmB,CACf,MAAO,CACH,OAAQ,KAAK,OACb,SAAU,KAAK,QACnB,CACJ,CACJ",
|
|
6
|
+
"names": ["Paid", "amount", "currency", "options"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Identifier as e}from"@omujs/omu";class i{id;url;name;version;repositoryUrl;imageUrl;description;regex;constructor(r){this.id=r.id,this.url=r.url,this.name=r.name,this.version=r.version,this.repositoryUrl=r.repository_url,this.imageUrl=r.image_url,this.description=r.description,this.regex=r.regex}static serialize(r){return{id:r.id.key(),url:r.url,name:r.name,version:r.version,repository_url:r.repositoryUrl,image_url:r.imageUrl,description:r.description,regex:r.regex}}static deserialize(r){return new i({id:e.fromKey(r.id),url:r.url,name:r.name,version:r.version,repository_url:r.repository_url,image_url:r.image_url,description:r.description,regex:r.regex})}key(){return this.id.key()}}export{i as Provider};
|
|
2
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/provider.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\n\nexport type ProviderJson = {\n id: string;\n url: string;\n name: string;\n version: string;\n repository_url: string;\n image_url?: string;\n description: string;\n regex: string;\n};\n\nexport class Provider {\n public id: Identifier;\n public url: string;\n public name: string;\n public version: string;\n public repositoryUrl: string;\n public imageUrl?: string;\n public description: string;\n public regex: string;\n\n constructor(options: {\n id: Identifier;\n url: string;\n name: string;\n version: string;\n repository_url: string;\n image_url?: string;\n description: string;\n regex: string;\n }) {\n this.id = options.id;\n this.url = options.url;\n this.name = options.name;\n this.version = options.version;\n this.repositoryUrl = options.repository_url;\n this.imageUrl = options.image_url;\n this.description = options.description;\n this.regex = options.regex;\n }\n\n public static serialize(item: Provider): ProviderJson {\n return {\n id: item.id.key(),\n url: item.url,\n name: item.name,\n version: item.version,\n repository_url: item.repositoryUrl,\n image_url: item.imageUrl,\n description: item.description,\n regex: item.regex,\n };\n }\n\n public static deserialize(data: ProviderJson): Provider {\n return new Provider({\n id: Identifier.fromKey(data.id),\n url: data.url,\n name: data.name,\n version: data.version,\n repository_url: data.repository_url,\n image_url: data.image_url,\n description: data.description,\n regex: data.regex,\n });\n }\n\n key(): string {\n return this.id.key();\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,aAapB,MAAMC,CAAS,CACX,GACA,IACA,KACA,QACA,cACA,SACA,YACA,MAEP,YAAYC,EAST,CACC,KAAK,GAAKA,EAAQ,GAClB,KAAK,IAAMA,EAAQ,IACnB,KAAK,KAAOA,EAAQ,KACpB,KAAK,QAAUA,EAAQ,QACvB,KAAK,cAAgBA,EAAQ,eAC7B,KAAK,SAAWA,EAAQ,UACxB,KAAK,YAAcA,EAAQ,YAC3B,KAAK,MAAQA,EAAQ,KACzB,CAEA,OAAc,UAAUC,EAA8B,CAClD,MAAO,CACH,GAAIA,EAAK,GAAG,IAAI,EAChB,IAAKA,EAAK,IACV,KAAMA,EAAK,KACX,QAASA,EAAK,QACd,eAAgBA,EAAK,cACrB,UAAWA,EAAK,SAChB,YAAaA,EAAK,YAClB,MAAOA,EAAK,KAChB,CACJ,CAEA,OAAc,YAAYC,EAA8B,CACpD,OAAO,IAAIH,EAAS,CAChB,GAAID,EAAW,QAAQI,EAAK,EAAE,EAC9B,IAAKA,EAAK,IACV,KAAMA,EAAK,KACX,QAASA,EAAK,QACd,eAAgBA,EAAK,eACrB,UAAWA,EAAK,UAChB,YAAaA,EAAK,YAClB,MAAOA,EAAK,KAChB,CAAC,CACL,CAEA,KAAc,CACV,OAAO,KAAK,GAAG,IAAI,CACvB,CACJ",
|
|
6
|
+
"names": ["Identifier", "Provider", "options", "item", "data"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Identifier as e}from"@omujs/omu";class o{roomId;reactions;constructor(r){this.roomId=r.roomId,this.reactions=r.reactions}static deserialize(r){return new o({roomId:e.fromKey(r.room_id),reactions:r.reactions})}static serialize(r){return{room_id:r.roomId.key(),reactions:r.reactions}}}export{o as Reaction};
|
|
2
|
+
//# sourceMappingURL=reaction.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/reaction.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\n\nexport type ReactionJson = {\n room_id: string;\n reactions: {\n [key: string]: number;\n };\n};\n\nexport class Reaction {\n public roomId: Identifier;\n public reactions: {\n [key: string]: number;\n };\n\n constructor(options: {\n roomId: Identifier;\n reactions: {\n [key: string]: number;\n };\n }) {\n this.roomId = options.roomId;\n this.reactions = options.reactions;\n }\n\n public static deserialize(data: ReactionJson): Reaction {\n return new Reaction({\n roomId: Identifier.fromKey(data.room_id),\n reactions: data.reactions,\n });\n }\n\n public static serialize(item: Reaction): ReactionJson {\n return {\n room_id: item.roomId.key(),\n reactions: item.reactions,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,aASpB,MAAMC,CAAS,CACX,OACA,UAIP,YAAYC,EAKT,CACC,KAAK,OAASA,EAAQ,OACtB,KAAK,UAAYA,EAAQ,SAC7B,CAEA,OAAc,YAAYC,EAA8B,CACpD,OAAO,IAAIF,EAAS,CAChB,OAAQD,EAAW,QAAQG,EAAK,OAAO,EACvC,UAAWA,EAAK,SACpB,CAAC,CACL,CAEA,OAAc,UAAUC,EAA8B,CAClD,MAAO,CACH,QAASA,EAAK,OAAO,IAAI,EACzB,UAAWA,EAAK,SACpB,CACJ,CACJ",
|
|
6
|
+
"names": ["Identifier", "Reaction", "options", "data", "item"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
class o{id;name;isOwner;isModerator;iconUrl;color;constructor(r){this.id=r.id,this.name=r.name,this.isOwner=r.isOwner,this.isModerator=r.isModerator,this.iconUrl=r.iconUrl,this.color=r.color}static fromJson(r){return new o({id:r.id,name:r.name,isOwner:r.is_owner,isModerator:r.is_moderator,iconUrl:r.icon_url,color:r.color})}toJson(){return{id:this.id,name:this.name,color:this.color,icon_url:this.iconUrl,is_owner:this.isOwner,is_moderator:this.isModerator}}}export{o as Role};
|
|
2
|
+
//# sourceMappingURL=role.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/role.ts"],
|
|
4
|
+
"sourcesContent": ["export type RoleJson = {\n id?: string;\n name: string;\n is_owner: boolean;\n is_moderator: boolean;\n icon_url?: string;\n color?: string;\n};\n\nexport class Role {\n id?: string;\n name: string;\n isOwner: boolean;\n isModerator: boolean;\n iconUrl?: string;\n color?: string;\n\n constructor(options: {\n id?: string;\n name: string;\n isOwner: boolean;\n isModerator: boolean;\n iconUrl?: string;\n color?: string;\n }) {\n this.id = options.id;\n this.name = options.name;\n this.isOwner = options.isOwner;\n this.isModerator = options.isModerator;\n this.iconUrl = options.iconUrl;\n this.color = options.color;\n }\n\n static fromJson(json: RoleJson): Role {\n return new Role({\n id: json.id,\n name: json.name,\n isOwner: json.is_owner,\n isModerator: json.is_moderator,\n iconUrl: json.icon_url,\n color: json.color,\n });\n }\n\n toJson(): RoleJson {\n return {\n id: this.id,\n name: this.name,\n color: this.color,\n icon_url: this.iconUrl,\n is_owner: this.isOwner,\n is_moderator: this.isModerator,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AASO,MAAMA,CAAK,CACd,GACA,KACA,QACA,YACA,QACA,MAEA,YAAYC,EAOT,CACC,KAAK,GAAKA,EAAQ,GAClB,KAAK,KAAOA,EAAQ,KACpB,KAAK,QAAUA,EAAQ,QACvB,KAAK,YAAcA,EAAQ,YAC3B,KAAK,QAAUA,EAAQ,QACvB,KAAK,MAAQA,EAAQ,KACzB,CAEA,OAAO,SAASC,EAAsB,CAClC,OAAO,IAAIF,EAAK,CACZ,GAAIE,EAAK,GACT,KAAMA,EAAK,KACX,QAASA,EAAK,SACd,YAAaA,EAAK,aAClB,QAASA,EAAK,SACd,MAAOA,EAAK,KAChB,CAAC,CACL,CAEA,QAAmB,CACf,MAAO,CACH,GAAI,KAAK,GACT,KAAM,KAAK,KACX,MAAO,KAAK,MACZ,SAAU,KAAK,QACf,SAAU,KAAK,QACf,aAAc,KAAK,WACvB,CACJ,CACJ",
|
|
6
|
+
"names": ["Role", "options", "json"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Identifier as e}from"@omujs/omu";class a{id;providerId;connected;status;metadata;channelId;createdAt;constructor(t){this.id=t.id,this.providerId=t.providerId,this.connected=t.connected,this.status=t.status,this.metadata=t.metadata,this.channelId=t.channelId,this.createdAt=t.createdAt}static deserialize(t){return new a({id:e.fromKey(t.id),providerId:e.fromKey(t.provider_id),connected:t.connected,status:t.status,metadata:t.metadata,channelId:t.channel_id,createdAt:new Date(t.created_at)})}static serialize(t){return{id:t.id.key(),provider_id:t.providerId.key(),connected:t.connected,status:t.status,metadata:t.metadata,channel_id:t.channelId,created_at:t.createdAt.toISOString()}}key(){return this.id.key()}}export{a as Room};
|
|
2
|
+
//# sourceMappingURL=room.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/room.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\n\nexport type MetadataJson = {\n title?: string;\n description?: string;\n url?: string;\n thumbnail?: string;\n viewers?: number;\n created_at?: string;\n started_at?: string;\n ended_at?: string;\n first_message_id?: string;\n last_message_id?: string;\n};\n\nexport type Status = 'online' | 'reserved' | 'offline';\n\nexport type RoomJson = {\n id: string;\n provider_id: string;\n connected: boolean;\n status: Status;\n metadata: MetadataJson;\n channel_id?: string;\n created_at: string; // ISO 8601 date string\n};\n\nexport class Room {\n public id: Identifier;\n public providerId: Identifier;\n public connected: boolean;\n public status: Status;\n public metadata: MetadataJson;\n public channelId?: string;\n public createdAt: Date;\n\n constructor(options: {\n id: Identifier;\n providerId: Identifier;\n connected: boolean;\n status: Status;\n metadata: MetadataJson;\n channelId?: string;\n createdAt: Date;\n }) {\n this.id = options.id;\n this.providerId = options.providerId;\n this.connected = options.connected;\n this.status = options.status;\n this.metadata = options.metadata;\n this.channelId = options.channelId;\n this.createdAt = options.createdAt;\n }\n\n public static deserialize(options: RoomJson): Room {\n return new Room({\n id: Identifier.fromKey(options.id),\n providerId: Identifier.fromKey(options.provider_id),\n connected: options.connected,\n status: options.status,\n metadata: options.metadata,\n channelId: options.channel_id,\n createdAt: new Date(options.created_at),\n });\n }\n\n public static serialize(item: Room): RoomJson {\n return {\n id: item.id.key(),\n provider_id: item.providerId.key(),\n connected: item.connected,\n status: item.status,\n metadata: item.metadata,\n channel_id: item.channelId,\n created_at: item.createdAt.toISOString(),\n };\n }\n\n key(): string {\n return this.id.key();\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,aA2BpB,MAAMC,CAAK,CACP,GACA,WACA,UACA,OACA,SACA,UACA,UAEP,YAAYC,EAQT,CACC,KAAK,GAAKA,EAAQ,GAClB,KAAK,WAAaA,EAAQ,WAC1B,KAAK,UAAYA,EAAQ,UACzB,KAAK,OAASA,EAAQ,OACtB,KAAK,SAAWA,EAAQ,SACxB,KAAK,UAAYA,EAAQ,UACzB,KAAK,UAAYA,EAAQ,SAC7B,CAEA,OAAc,YAAYA,EAAyB,CAC/C,OAAO,IAAID,EAAK,CACZ,GAAID,EAAW,QAAQE,EAAQ,EAAE,EACjC,WAAYF,EAAW,QAAQE,EAAQ,WAAW,EAClD,UAAWA,EAAQ,UACnB,OAAQA,EAAQ,OAChB,SAAUA,EAAQ,SAClB,UAAWA,EAAQ,WACnB,UAAW,IAAI,KAAKA,EAAQ,UAAU,CAC1C,CAAC,CACL,CAEA,OAAc,UAAUC,EAAsB,CAC1C,MAAO,CACH,GAAIA,EAAK,GAAG,IAAI,EAChB,YAAaA,EAAK,WAAW,IAAI,EACjC,UAAWA,EAAK,UAChB,OAAQA,EAAK,OACb,SAAUA,EAAK,SACf,WAAYA,EAAK,UACjB,WAAYA,EAAK,UAAU,YAAY,CAC3C,CACJ,CAEA,KAAc,CACV,OAAO,KAAK,GAAG,IAAI,CACvB,CACJ",
|
|
6
|
+
"names": ["Identifier", "Room", "options", "item"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Identifier as t}from"@omujs/omu";class i{id;roomId;title;choices;ended;total;constructor(e){this.id=e.id,this.roomId=e.roomId,this.title=e.title,this.choices=e.choices,this.ended=e.ended,this.total=e.total}static deserialize(e){return new i({id:t.fromKey(e.id),roomId:t.fromKey(e.room_id),title:e.title,choices:e.choices,ended:e.ended,total:e.total})}static serialize(e){return{id:e.id.key(),room_id:e.roomId.key(),title:e.title,choices:e.choices,ended:e.ended,total:e.total}}key(){return this.id.key()}}export{i as Vote};
|
|
2
|
+
//# sourceMappingURL=vote.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/models/vote.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\n\nexport type Choice = {\n text: string;\n ratio: number;\n count?: number;\n};\n\nexport type VoteJson = {\n id: string;\n room_id: string;\n title: string;\n choices: Choice[];\n ended: boolean;\n total: number | null;\n};\n\nexport class Vote {\n public readonly id: Identifier;\n public readonly roomId: Identifier;\n public title: string;\n public choices: Choice[];\n public ended: boolean;\n public total: number | null;\n\n constructor(options: {\n id: Identifier;\n roomId: Identifier;\n title: string;\n choices: Choice[];\n ended: boolean;\n total: number | null;\n }) {\n this.id = options.id;\n this.roomId = options.roomId;\n this.title = options.title;\n this.choices = options.choices;\n this.ended = options.ended;\n this.total = options.total;\n }\n\n public static deserialize(options: VoteJson): Vote {\n return new Vote({\n id: Identifier.fromKey(options.id),\n roomId: Identifier.fromKey(options.room_id),\n title: options.title,\n choices: options.choices,\n ended: options.ended,\n total: options.total,\n });\n }\n\n public static serialize(item: Vote): VoteJson {\n return {\n id: item.id.key(),\n room_id: item.roomId.key(),\n title: item.title,\n choices: item.choices,\n ended: item.ended,\n total: item.total,\n };\n }\n\n public key(): string {\n return this.id.key();\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,aAiBpB,MAAMC,CAAK,CACE,GACA,OACT,MACA,QACA,MACA,MAEP,YAAYC,EAOT,CACC,KAAK,GAAKA,EAAQ,GAClB,KAAK,OAASA,EAAQ,OACtB,KAAK,MAAQA,EAAQ,MACrB,KAAK,QAAUA,EAAQ,QACvB,KAAK,MAAQA,EAAQ,MACrB,KAAK,MAAQA,EAAQ,KACzB,CAEA,OAAc,YAAYA,EAAyB,CAC/C,OAAO,IAAID,EAAK,CACZ,GAAID,EAAW,QAAQE,EAAQ,EAAE,EACjC,OAAQF,EAAW,QAAQE,EAAQ,OAAO,EAC1C,MAAOA,EAAQ,MACf,QAASA,EAAQ,QACjB,MAAOA,EAAQ,MACf,MAAOA,EAAQ,KACnB,CAAC,CACL,CAEA,OAAc,UAAUC,EAAsB,CAC1C,MAAO,CACH,GAAIA,EAAK,GAAG,IAAI,EAChB,QAASA,EAAK,OAAO,IAAI,EACzB,MAAOA,EAAK,MACZ,QAASA,EAAK,QACd,MAAOA,EAAK,MACZ,MAAOA,EAAK,KAChB,CACJ,CAEO,KAAc,CACjB,OAAO,KAAK,GAAG,IAAI,CACvB,CACJ",
|
|
6
|
+
"names": ["Identifier", "Vote", "options", "item"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{PLUGIN_ID as e}from"./const.js";const n=e,o=e.join("chat","read"),r=e.join("chat","write"),_=e.join("chat","send"),E=e.join("create_channel_tree"),S=e.join("reaction");export{E as CHAT_CHANNEL_TREE_PERMISSION_ID,n as CHAT_PERMISSION_ID,S as CHAT_REACTION_PERMISSION_ID,o as CHAT_READ_PERMISSION_ID,_ as CHAT_SEND_PERMISSION_ID,r as CHAT_WRITE_PERMISSION_ID};
|
|
2
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/permissions.ts"],
|
|
4
|
+
"sourcesContent": ["import { Identifier } from '@omujs/omu';\nimport { PLUGIN_ID } from './const.js';\n\nexport const CHAT_PERMISSION_ID: Identifier = PLUGIN_ID;\nexport const CHAT_READ_PERMISSION_ID: Identifier = PLUGIN_ID.join('chat', 'read');\nexport const CHAT_WRITE_PERMISSION_ID: Identifier = PLUGIN_ID.join('chat', 'write');\nexport const CHAT_SEND_PERMISSION_ID: Identifier = PLUGIN_ID.join('chat', 'send');\nexport const CHAT_CHANNEL_TREE_PERMISSION_ID: Identifier = PLUGIN_ID.join('create_channel_tree');\nexport const CHAT_REACTION_PERMISSION_ID: Identifier = PLUGIN_ID.join('reaction');\n"],
|
|
5
|
+
"mappings": "AACA,OAAS,aAAAA,MAAiB,aAEnB,MAAMC,EAAiCD,EACjCE,EAAsCF,EAAU,KAAK,OAAQ,MAAM,EACnEG,EAAuCH,EAAU,KAAK,OAAQ,OAAO,EACrEI,EAAsCJ,EAAU,KAAK,OAAQ,MAAM,EACnEK,EAA8CL,EAAU,KAAK,qBAAqB,EAClFM,EAA0CN,EAAU,KAAK,UAAU",
|
|
6
|
+
"names": ["PLUGIN_ID", "CHAT_PERMISSION_ID", "CHAT_READ_PERMISSION_ID", "CHAT_WRITE_PERMISSION_ID", "CHAT_SEND_PERMISSION_ID", "CHAT_CHANNEL_TREE_PERMISSION_ID", "CHAT_REACTION_PERMISSION_ID"]
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@omujs/chat",
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.50",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
7
|
-
"import": "./dist/
|
|
8
|
-
"types": "./dist/
|
|
7
|
+
"import": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts"
|
|
9
9
|
},
|
|
10
10
|
"./*": {
|
|
11
|
-
"import": "./dist
|
|
12
|
-
"types": "./dist
|
|
11
|
+
"import": "./dist/*/index.js",
|
|
12
|
+
"types": "./dist/*/index.d.js"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"scripts": {
|
|
19
|
-
"build": "bun ../../scripts/package-helper.ts --glob --entrypoint \"src/**/*.ts\" --
|
|
19
|
+
"build": "bun ../../scripts/package-helper.ts --glob --entrypoint \"src/**/*.ts\" --out \"./dist\" --root \"src/\"",
|
|
20
20
|
"dev": "bun run watch",
|
|
21
|
-
"watch": "bun ../../scripts/package-helper.ts --glob --entrypoint \"src/**/*.ts\" --
|
|
21
|
+
"watch": "bun ../../scripts/package-helper.ts --glob --entrypoint \"src/**/*.ts\" --out \"./dist\" --root \"src/\" --watch"
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
25
25
|
"url": "https://github.com/OMUAPPS/omuapps"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@omujs/omu": "0.9.
|
|
28
|
+
"@omujs/omu": "0.9.50"
|
|
29
29
|
},
|
|
30
30
|
"gitHead": "04559d5aec52117d707e0d554ee429b858da522a"
|
|
31
31
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export { Author, AuthorJson } from './author.js';
|
|
2
|
-
export { Channel, ChannelJson } from './channel.js';
|
|
3
|
-
export { Asset, Component, ComponentType, Image, Link, Root, System, Text } from './content.js';
|
|
4
|
-
export { Gift, GiftJson } from './gift.js';
|
|
5
|
-
export { Message, MessageJson } from './message.js';
|
|
6
|
-
export { Paid, PaidJson } from './paid.js';
|
|
7
|
-
export { Provider, ProviderJson } from './provider.js';
|
|
8
|
-
export { Reaction, ReactionJson } from './reaction.js';
|
|
9
|
-
export { Role, RoleJson } from './role.js';
|
|
10
|
-
export { Room, RoomJson } from './room.js';
|
|
11
|
-
export { Choice, Vote, VoteJson } from './vote.js';
|
|
12
|
-
export { Content };
|
|
13
|
-
import * as Content from './content.js';
|