aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2021-02-26 15:59:47 -0500
committerbobzel <zzzman@gmail.com>2021-02-26 15:59:47 -0500
commit90ddde65b0ab407b5711bfa75fcf3d90cf74689d (patch)
tree44b4d0d0c93e1893330588989a9f4142e65c635a
parentdaa1e3ddf585f5fe237c100504130a3eae204252 (diff)
starting to work on removing _ from fields
-rw-r--r--src/fields/util.ts23
-rw-r--r--src/server/database.ts4
2 files changed, 15 insertions, 12 deletions
diff --git a/src/fields/util.ts b/src/fields/util.ts
index b616515de..d699a343d 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -285,10 +285,11 @@ export function setter(target: any, in_prop: string | symbol | number, value: an
// if (typeof prop === "string" && prop.startsWith("acl") && !["Can Edit", "Can Augment", "Can View", "Not Shared", undefined].includes(value)) return true;
if (typeof prop === "string" && prop !== "__id" && prop !== "__fields" && (prop.startsWith("_") || layoutProps.includes(prop))) {
- if (!prop.startsWith("_")) {
- console.log(prop + " is deprecated - switch to _" + prop);
- prop = "_" + prop;
- }
+ // if (!prop.startsWith("_")) {
+ // console.log(prop + " is deprecated - switch to _" + prop);
+ // prop = "_" + prop;
+ // }
+ if (!prop.startsWith("__")) prop = prop.substring(1);
if (target.__LAYOUT__) {
target.__LAYOUT__[prop] = value;
return true;
@@ -307,12 +308,14 @@ export function getter(target: any, in_prop: string | symbol | number, receiver:
if (in_prop === "toString" || (in_prop !== HeightSym && in_prop !== WidthSym && in_prop !== LayoutSym && typeof prop === "symbol")) return target.__fields[prop] || target[prop];
if (GetEffectiveAcl(target) === AclPrivate) return prop === HeightSym || prop === WidthSym ? returnZero : undefined;
if (prop === LayoutSym) return target.__LAYOUT__;
+ let search = false;
if (typeof prop === "string" && prop !== "__id" && prop !== "__fields" && (prop.startsWith("_") || layoutProps.includes(prop))) {
- if (!prop.startsWith("_")) {
- console.log(prop + " is deprecated - switch to _" + prop);
- prop = "_" + prop;
- }
- if (target.__LAYOUT__) return target.__LAYOUT__[prop];
+ // if (!prop.startsWith("_")) {
+ // console.log(prop + " is deprecated - switch to _" + prop);
+ // prop = "_" + prop;
+ // }
+ if (!prop.startsWith("__")) search = true;
+ if (target.__LAYOUT__) return target.__LAYOUT__[prop] ?? (search ? target.__LAYOUT__[prop.substring(1)] : undefined);
}
if (prop === "then") {//If we're being awaited
return undefined;
@@ -323,7 +326,7 @@ export function getter(target: any, in_prop: string | symbol | number, receiver:
if (SerializationHelper.IsSerializing()) {
return target[prop];
}
- return getFieldImpl(target, prop, receiver);
+ return getFieldImpl(target, prop, receiver) ?? (search ? getFieldImpl(target, (prop as any as string).substring(1), receiver) : undefined);
}
function getFieldImpl(target: any, prop: string | number, receiver: any, ignoreProto: boolean = false): any {
diff --git a/src/server/database.ts b/src/server/database.ts
index 8e0f99a1f..2a55c14de 100644
--- a/src/server/database.ts
+++ b/src/server/database.ts
@@ -163,7 +163,7 @@ export namespace Database {
}
public async insert(value: any, collectionName = DocumentsCollection) {
- if (this.db && value) {
+ if (this.db && value !== null) {
if ("id" in value) {
value._id = value.id;
delete value.id;
@@ -185,7 +185,7 @@ export namespace Database {
newProm = prom ? prom.then(run) : run();
this.currentWrites[id] = newProm;
return newProm;
- } else if (value) {
+ } else if (value !== null) {
this.onConnect.push(() => this.insert(value, collectionName));
}
}