diff options
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 |