aboutsummaryrefslogtreecommitdiff
path: root/src/new_fields/util.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-04-30 00:11:27 -0400
committerTyler Schicke <tyler_schicke@brown.edu>2019-04-30 00:11:27 -0400
commit877b104a61d2ab072e3b6a006168ec03e2c46365 (patch)
tree649ed24c4d493f571671e5041b86e4f994dde649 /src/new_fields/util.ts
parented17a25d4bfd0e2c71f9f381645aa74419953d2d (diff)
Mostly fixed lists
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) } };