aboutsummaryrefslogtreecommitdiff
path: root/src/server/Message.ts
diff options
context:
space:
mode:
authoryipstanley <stanley_yip@brown.edu>2019-02-11 20:25:15 -0500
committeryipstanley <stanley_yip@brown.edu>2019-02-11 20:25:15 -0500
commit867fd2bffb67be06e889d3ac0fb6603bc8c4d92a (patch)
tree6b045d218d8211b5e0ac9f2b7fdb9e45dfe30515 /src/server/Message.ts
parent448f8880b50dc50090a596cafaf68d2f444ce3db (diff)
asdkjfl
Diffstat (limited to 'src/server/Message.ts')
-rw-r--r--src/server/Message.ts66
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);