aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbobzel <zzzman@gmail.com>2021-02-26 17:16:51 -0500
committerbobzel <zzzman@gmail.com>2021-02-26 17:16:51 -0500
commit3fd54b2134fd13327ec073dba73d8d41d25ba6aa (patch)
treeaccbc06d15bf8af37f0b06a8633c5d5621d0e6c7 /src
parentde7e74757089d33ee89d7d89ead6be317c66102d (diff)
think I got serialization right now.
Diffstat (limited to 'src')
-rw-r--r--src/client/util/SerializationHelper.ts5
-rw-r--r--src/fields/util.ts4
2 files changed, 3 insertions, 6 deletions
diff --git a/src/client/util/SerializationHelper.ts b/src/client/util/SerializationHelper.ts
index d109cb497..2d598c1ac 100644
--- a/src/client/util/SerializationHelper.ts
+++ b/src/client/util/SerializationHelper.ts
@@ -24,9 +24,8 @@ export namespace SerializationHelper {
serializing++;
if (!(obj.constructor.name in reverseMap)) {
- console.log("Error: " + `type '${obj.constructor.name}' not registered. Make sure you register it using a @Deserializable decorator`, obj);
+ serializing--;
throw Error("Error: " + `type '${obj.constructor.name}' not registered. Make sure you register it using a @Deserializable decorator`);
- return undefined;
}
const json = serialize(obj);
@@ -54,9 +53,7 @@ export namespace SerializationHelper {
}
if (!(obj.__type in serializationTypes)) {
- console.log(`type '${obj.__type}' not registered. Make sure you register it using a @Deserializable decorator`);
throw Error(`type '${obj.__type}' not registered. Make sure you register it using a @Deserializable decorator`);
- return undefined;
}
const type = serializationTypes[obj.__type];
diff --git a/src/fields/util.ts b/src/fields/util.ts
index d699a343d..26ab34ff4 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -289,7 +289,7 @@ export function setter(target: any, in_prop: string | symbol | number, value: an
// console.log(prop + " is deprecated - switch to _" + prop);
// prop = "_" + prop;
// }
- if (!prop.startsWith("__")) prop = prop.substring(1);
+ if (!prop.startsWith("__") && value !== undefined) prop = prop.substring(1);
if (target.__LAYOUT__) {
target.__LAYOUT__[prop] = value;
return true;
@@ -326,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) ?? (search ? getFieldImpl(target, (prop as any as string).substring(1), receiver) : undefined);
+ return (search ? getFieldImpl(target, (prop as any as string).substring(1), receiver) : undefined) ?? getFieldImpl(target, prop, receiver);
}
function getFieldImpl(target: any, prop: string | number, receiver: any, ignoreProto: boolean = false): any {