aboutsummaryrefslogtreecommitdiff
path: root/src/new_fields/util.ts
diff options
context:
space:
mode:
authorSam Wilkins <abdullah_ahmed@brown.edu>2019-04-30 16:21:53 -0400
committerSam Wilkins <abdullah_ahmed@brown.edu>2019-04-30 16:21:53 -0400
commit43ed4e7fd2d6120598733e537a301a8f87379239 (patch)
tree2dc0b21a0da4e25b899ab46a8ca512131cb23ccb /src/new_fields/util.ts
parentd99b1be8e44ed2dc65714ea192debf5529e353de (diff)
parentc95e1789da41fb63e27f1086e30c0ebd151009df (diff)
Merge branch 'newDocs' of https://github.com/browngraphicslab/Dash-Web into newDocs
Diffstat (limited to 'src/new_fields/util.ts')
-rw-r--r--src/new_fields/util.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/new_fields/util.ts b/src/new_fields/util.ts
index 511820115..128817ab8 100644
--- a/src/new_fields/util.ts
+++ b/src/new_fields/util.ts
@@ -78,6 +78,14 @@ export function getField(target: any, prop: string | number, ignoreProto: boolea
return field;
}
+export function deleteProperty(target: any, prop: string | number | symbol) {
+ if (typeof prop === "symbol") {
+ delete target[prop];
+ return true;
+ }
+ throw new Error("Currently properties can't be deleted from documents, assign to undefined instead");
+}
+
export function updateFunction(target: any, prop: any, value: any) {
return (diff?: any) => {
if (!diff) diff = { '$set': { ["fields." + prop]: SerializationHelper.Serialize(value) } };