{ // An object with more properties than the limit renders the first that // many, in key order, and then its actual property count in place of the // rest. The limit applies wherever properties are laid out: a plain // object, a class instance's own properties, a primitive's realm state, // and an instance's contents. "/options": { maxProperties: 2 }, "past the limit": { a: 1, b: 2, c: 3, d: 4 }, "at the limit": { a: 1, b: 2 }, "below the limit": { a: 1 }, "in an object": { o: { a: 1, b: 2, c: 3 } }, "in an array": [{ a: 1, b: 2, c: 3 }], "class instance": new (class Data { a = 1; b = 2; c = 3; })(), "primitive's realm state": new (class Wide extends FabricPrimitive { static get [REALM_CODEC]() { return { tagForValue: () => "Wide@1", encode: () => ({ p: 1, q: 2, r: 3 }), }; } })(), "instance's contents": new FabricLink({ id: "of:fid1:abc", a: 1, b: 2 }), // A key of `/...` is escaped, and so is told apart from the count form. "with a `/...` key": { "/...": 1, b: 2, c: 3 }, } -- past the limit: {a:1,b:2,...count:4} { a: 1, b: 2, ... count: 4 } { a: 1, b: 2, "/...": { count: 4 } } at the limit: {a:1,b:2} { a: 1, b: 2 } { a: 1, b: 2 } below the limit: {a:1} { a: 1 } { a: 1 } in an object: {o:{a:1,b:2,...count:3}} { o: { a: 1, b: 2, ... count: 3 } } { o: { a: 1, b: 2, "/...": { count: 3 } } } in an array: [{a:1,b:2,...count:3}] [ { a: 1, b: 2, ... count: 3 } ] [ { a: 1, b: 2, "/...": { count: 3 } } ] class instance: /Data(a:1,b:2,...count:3) /Data( a: 1, b: 2, ... count: 3 ) { "/Data": { a: 1, b: 2, "/...": { count: 3 } } } primitive's realm state: /Wide(p:1,q:2,...count:3) /Wide( p: 1, q: 2, ... count: 3 ) /Wide( p: 1, q: 2, r: 3 ) instance's contents: /Link(id:"of:fid1:abc",a:1,...count:3) /Link( id: "of:fid1:abc", a: 1, ... count: 3 ) { "/Link@1": { id: "of:fid1:abc", a: 1, "/...": { count: 3 } } } with a `/...` key: {"/...":1,b:2,...count:3} { "/...": 1, b: 2, ... count: 3 } { "//...": 1, b: 2, "/...": { count: 3 } }