diff options
author | bob <bcz@cs.brown.edu> | 2019-05-15 15:05:57 -0400 |
---|---|---|
committer | bob <bcz@cs.brown.edu> | 2019-05-15 15:05:57 -0400 |
commit | d79d721baa25947dfbbd17eda173835d9ae93fa6 (patch) | |
tree | 376b3d887db13bdd5b98ba5dc0023d03a0fc2c23 /src/new_fields/List.ts | |
parent | dae85deb62168cbfae4557aa8632896592d71cf9 (diff) |
several smaller fixes.
Diffstat (limited to 'src/new_fields/List.ts')
-rw-r--r-- | src/new_fields/List.ts | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/new_fields/List.ts b/src/new_fields/List.ts index 88a65eba4..70e36f911 100644 --- a/src/new_fields/List.ts +++ b/src/new_fields/List.ts @@ -230,6 +230,16 @@ class ListImpl<T extends Field> extends ObjectField { const list = new Proxy<this>(this, { set: setter, get: listGetter, + ownKeys: target => Object.keys(target.__fields), + getOwnPropertyDescriptor: (target, prop) => { + if (prop in target.__fields) { + return { + configurable: true,//TODO Should configurable be true? + enumerable: true, + }; + } + return Reflect.getOwnPropertyDescriptor(target, prop); + }, deleteProperty: deleteProperty, defineProperty: () => { throw new Error("Currently properties can't be defined on documents using Object.defineProperty"); }, }); |