diff options
author | Tyler Schicke <tyler_schicke@brown.edu> | 2019-02-14 05:43:09 -0500 |
---|---|---|
committer | Tyler Schicke <tyler_schicke@brown.edu> | 2019-02-14 05:43:09 -0500 |
commit | 4bcc62fd164c5ee6c4fc50077753ba7d969478e3 (patch) | |
tree | d3a0a7ffc657ef890e640c52dd1e906bf19701c0 /src/server/ServerUtil.ts | |
parent | 4eb4ef6e073652661dcfa30597f63e93058fb876 (diff) |
Got almost all of collaboration and server communication working
Diffstat (limited to 'src/server/ServerUtil.ts')
-rw-r--r-- | src/server/ServerUtil.ts | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/server/ServerUtil.ts b/src/server/ServerUtil.ts index d1de71dbe..03b9751da 100644 --- a/src/server/ServerUtil.ts +++ b/src/server/ServerUtil.ts @@ -11,38 +11,36 @@ import { Types } from './Message'; import { Utils } from '../Utils'; export class ServerUtils { - public static FromJson(json: string): Field { - let obj = JSON.parse(JSON.stringify(json)) - console.log(obj) + public static FromJson(json: any): Field { + let obj = json let data: any = obj.data let id: string = obj._id let type: Types = obj.type - if (!(data && id && type != undefined)) { + if (!(data !== undefined && id && type !== undefined)) { console.log("how did you manage to get an object that doesn't have a data or an id?") return new TextField("Something to fill the space", Utils.GenerateGuid()); } switch (type) { case Types.Number: - return new NumberField(data, id) + return new NumberField(data, id, false) case Types.Text: - return new TextField(data, id) + return new TextField(data, id, false) case Types.RichText: - return new RichTextField(data, id) + return new RichTextField(data, id, false) case Types.Key: - return new Key(data, id) + return new Key(data, id, false) case Types.Image: - return new ImageField(data, id) + return new ImageField(data, id, false) case Types.List: - return new ListField(data, id) + return ListField.FromJson(id, data) case Types.Document: - let doc: Document = new Document(id) + let doc: Document = new Document(id, false) let fields: [string, string][] = data as [string, string][] fields.forEach(element => { doc._proxies.set(element[0], element[1]); }); - console.log(doc._proxies) return doc } return new TextField(data, id) |