diff options
author | Melissa Zhang <mzhang19096@gmail.com> | 2020-07-30 15:38:44 -0700 |
---|---|---|
committer | Melissa Zhang <mzhang19096@gmail.com> | 2020-07-30 15:38:44 -0700 |
commit | 3d02d928ad869b9157019aec356e2f1ea2ce47d6 (patch) | |
tree | 00c9ccb1b5487f145b7512d4531757731781249b /src/fields/Schema.ts | |
parent | ba8549220295d03fb7eb7d7d31c90af72b30b1a6 (diff) | |
parent | a9ec139961b0262698851cd7e2dd3430a0acddd7 (diff) |
merge with master
Diffstat (limited to 'src/fields/Schema.ts')
-rw-r--r-- | src/fields/Schema.ts | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/fields/Schema.ts b/src/fields/Schema.ts index 98ef3e087..23ac50f74 100644 --- a/src/fields/Schema.ts +++ b/src/fields/Schema.ts @@ -31,7 +31,7 @@ export function makeInterface<T extends Interface[]>(...schemas: T): InterfaceFu } const proto = new Proxy({}, { get(target: any, prop, receiver) { - const field = receiver.doc[prop]; + const field = receiver.doc?.[prop]; if (prop in schema) { const desc = prop === "proto" ? Doc : (schema as any)[prop]; // bcz: proto doesn't appear in schemas ... maybe it should? if (typeof desc === "object" && "defaultVal" in desc && "type" in desc) {//defaultSpec @@ -52,7 +52,7 @@ export function makeInterface<T extends Interface[]>(...schemas: T): InterfaceFu return field; }, set(target: any, prop, value, receiver) { - receiver.doc[prop] = value; + receiver.doc && (receiver.doc[prop] = value); // receiver.doc may be undefined as the result of a change in ACLs return true; } }); |