diff options
author | Fawn <fangrui_tong@brown.edu> | 2019-06-25 18:23:26 -0400 |
---|---|---|
committer | Fawn <fangrui_tong@brown.edu> | 2019-06-25 18:23:26 -0400 |
commit | 7abe170ce5bd0c415e23456eb2bed26e8fdee7aa (patch) | |
tree | cc7bdf2859274b78fb8a803f746ec873b5c14a58 /src/new_fields/Schema.ts | |
parent | 41cf1e8536964764f18ab752140e484e36cbe464 (diff) | |
parent | 219cabb3fe42ab199550efc3423b7aaed4e1ee93 (diff) |
merge
Diffstat (limited to 'src/new_fields/Schema.ts')
-rw-r--r-- | src/new_fields/Schema.ts | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/new_fields/Schema.ts b/src/new_fields/Schema.ts index 40ffaecd5..2355304d5 100644 --- a/src/new_fields/Schema.ts +++ b/src/new_fields/Schema.ts @@ -2,6 +2,7 @@ import { Interface, ToInterface, Cast, ToConstructor, HasTail, Head, Tail, ListS import { Doc, Field } from "./Doc"; import { ObjectField } from "./ObjectField"; import { RefField } from "./RefField"; +import { SelfProxy } from "./FieldSymbols"; type AllToInterface<T extends Interface[]> = { 1: ToInterface<Head<T>> & AllToInterface<Tail<T>>, @@ -56,9 +57,10 @@ export function makeInterface<T extends Interface[]>(...schemas: T): InterfaceFu } }); const fn = (doc: Doc) => { - if (!(doc instanceof Doc)) { - throw new Error("Currently wrapping a schema in another schema isn't supported"); - } + doc = doc[SelfProxy]; + // if (!(doc instanceof Doc)) { + // throw new Error("Currently wrapping a schema in another schema isn't supported"); + // } const obj = Object.create(proto, { doc: { value: doc, writable: false } }); return obj; }; |