diff options
author | yipstanley <stanley_yip@brown.edu> | 2019-02-11 20:25:15 -0500 |
---|---|---|
committer | yipstanley <stanley_yip@brown.edu> | 2019-02-11 20:25:15 -0500 |
commit | 867fd2bffb67be06e889d3ac0fb6603bc8c4d92a (patch) | |
tree | 6b045d218d8211b5e0ac9f2b7fdb9e45dfe30515 /src/server/Message.ts | |
parent | 448f8880b50dc50090a596cafaf68d2f444ce3db (diff) |
asdkjfl
Diffstat (limited to 'src/server/Message.ts')
-rw-r--r-- | src/server/Message.ts | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/server/Message.ts b/src/server/Message.ts index 15329249d..44df7be1c 100644 --- a/src/server/Message.ts +++ b/src/server/Message.ts @@ -47,6 +47,72 @@ export class GetFieldArgs { } } +export enum Types { + Number, List, Key, Image, Document, Text, RichText, DocumentReference +} + +export class DocumentTransfer implements Transferable { + readonly type = Types.Document + + constructor(readonly id: string) { } +} + +export class ImageTransfer implements Transferable { + readonly type = Types.Image + + constructor(readonly id: string) { } +} + +export class KeyTransfer implements Transferable { + name: string + readonly id: string + readonly type = Types.Key + + constructor(i: string, n: string) { + this.name = n + this.id = i + } +} + +export class ListTransfer implements Transferable { + type = Types.List; + + constructor(readonly id: string) { } +} + +export class NumberTransfer implements Transferable { + readonly type = Types.Number + + constructor(readonly value: number, readonly id: string) { } +} + +export class TextTransfer implements Transferable { + value: string + readonly id: string + readonly type = Types.Text + + constructor(t: string, i: string) { + this.value = t + this.id = i + } +} + +export class RichTextTransfer implements Transferable { + value: string + readonly id: string + readonly type = Types.Text + + constructor(t: string, i: string) { + this.value = t + this.id = i + } +} + +interface Transferable { + readonly id: string + readonly type: Types +} + export namespace MessageStore { export const Foo = new Message("Foo", String); export const Bar = new Message("Bar", String); |