diff options
author | yipstanley <stanley_yip@brown.edu> | 2019-02-13 16:38:09 -0500 |
---|---|---|
committer | yipstanley <stanley_yip@brown.edu> | 2019-02-13 16:38:09 -0500 |
commit | 430878f6dd8d36b1322e15d0898ada0d44fecacb (patch) | |
tree | 027fb9b578a3fee8d97b16922a930806da00afaa /src/fields/Field.ts | |
parent | 2eb147ab8f25e6dd90f47cf21499c7340642f0c9 (diff) |
Asdfjkla/sdfklj
Diffstat (limited to 'src/fields/Field.ts')
-rw-r--r-- | src/fields/Field.ts | 43 |
1 files changed, 2 insertions, 41 deletions
diff --git a/src/fields/Field.ts b/src/fields/Field.ts index 1a5cfb29c..4b9d996ac 100644 --- a/src/fields/Field.ts +++ b/src/fields/Field.ts @@ -9,6 +9,7 @@ import { ImageField } from "./ImageField"; import { ListField } from "./ListField"; import { Document } from "./Document"; import { Server } from "../client/Server"; +import { ObjectID } from "bson"; export function Cast<T extends Field>(field: FieldValue<Field>, ctor: { new(): T }): Opt<T> { if (field) { @@ -64,45 +65,5 @@ export abstract class Field { abstract Copy(): Field; - abstract ToJson(): { id: string, type: Types, data: any } - - public static FromJson(obj: { id: string, type: number, data: any }): Field { - let data: any = obj.data - let id: string = obj.id - - switch (obj.type) { - case Types.Number: - return new NumberField(data, id) - case Types.Text: - return new TextField(data, id) - case Types.RichText: - return new RichTextField(data, id) - case Types.Key: - return new Key(data, id) - case Types.Image: - return new ImageField(data, id) - case Types.List: - return new ListField(data, id) - case Types.Document: - let doc: Document = new Document(id) - let fields: [string, string][] = data as [string, string][] - fields.forEach(element => { - doc._proxies.set(element[0], element[1]); - let keyId: string = element[0] - let valueId: string = element[1] - Server.GetField(keyId, (key: Field) => { - if (key instanceof Key) { - Server.GetField(valueId, (field: Field) => { - doc.Set(key as Key, field) - }) - } - else { - console.log("how did you get a key that isnt a key wtf") - } - }) - }); - return doc - } - return new TextField(data, id) - } + abstract ToJson(): { _id: ObjectID, type: Types, data: any } }
\ No newline at end of file |