aboutsummaryrefslogtreecommitdiff
path: root/src/controllers/FieldController.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-01-15 22:31:57 -0500
committerTyler Schicke <tyler_schicke@brown.edu>2019-01-15 22:31:57 -0500
commit89204d74d2a5014b4e241973b1bdb8461ed4f78c (patch)
tree4bf58acfdad603375953b2de3610dc946e569b71 /src/controllers/FieldController.ts
parent3de39e2608e62a278b9c8cc37b53333f0877fa59 (diff)
More stuff set up
Diffstat (limited to 'src/controllers/FieldController.ts')
-rw-r--r--src/controllers/FieldController.ts54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/controllers/FieldController.ts b/src/controllers/FieldController.ts
deleted file mode 100644
index ec59f53e8..000000000
--- a/src/controllers/FieldController.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import { TypedEvent } from "../util/TypedEvent";
-import { FieldUpdatedArgs } from "./FieldUpdatedArgs";
-import { DocumentReferenceController } from "./DocumentReferenceController";
-import { Utils } from "../Utils";
-
-export function Cast<T extends FieldController>(field: Opt<FieldController>, ctor: { new(): T }): Opt<T> {
- if (field) {
- if (ctor && field instanceof ctor) {
- return field;
- }
- }
- return undefined;
-}
-
-export type Opt<T> = T | undefined;
-
-export abstract class FieldController {
- //FieldUpdated: TypedEvent<Opt<FieldUpdatedArgs>> = new TypedEvent<Opt<FieldUpdatedArgs>>();
-
- private id: string;
- get Id(): string {
- return this.id;
- }
-
- constructor(id: Opt<string> = undefined) {
- this.id = id || Utils.GenerateGuid();
- }
-
- Dereference(): Opt<FieldController> {
- return this;
- }
- DereferenceToRoot(): Opt<FieldController> {
- return this;
- }
-
- DereferenceT<T extends FieldController = FieldController>(ctor: { new(): T }): Opt<T> {
- return Cast(this.Dereference(), ctor);
- }
-
- DereferenceToRootT<T extends FieldController = FieldController>(ctor: { new(): T }): Opt<T> {
- return Cast(this.DereferenceToRoot(), ctor);
- }
-
- Equals(other: FieldController): boolean {
- return this.id === other.id;
- }
-
- abstract TrySetValue(value: any): boolean;
-
- abstract GetValue(): any;
-
- abstract Copy(): FieldController;
-
-} \ No newline at end of file