
-----------------------------------------------------
EXPRESSION: ({})
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Object",
  "_preview": {
    "_type": "object",
    "_description": "Object",
    "_lossless": true,
    "_overflow": false,
    "_properties": [],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: ({a: 1})
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Object",
  "_preview": {
    "_type": "object",
    "_description": "Object",
    "_lossless": true,
    "_overflow": false,
    "_properties": [
      {
        "_name": "a",
        "_type": "number",
        "_value": "1"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: ({a: 1, b: 0, c: -0, d: 456n})
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Object",
  "_preview": {
    "_type": "object",
    "_description": "Object",
    "_lossless": true,
    "_overflow": false,
    "_properties": [
      {
        "_name": "a",
        "_type": "number",
        "_value": "1"
      },
      {
        "_name": "b",
        "_type": "number",
        "_value": "0"
      },
      {
        "_name": "c",
        "_type": "number",
        "_value": "-0"
      },
      {
        "_name": "d",
        "_type": "bigint",
        "_value": "456n"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: ({a: 1, b: "string", c: /regex/, d: Symbol("sym")})
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Object",
  "_preview": {
    "_type": "object",
    "_description": "Object",
    "_lossless": false,
    "_overflow": false,
    "_properties": [
      {
        "_name": "a",
        "_type": "number",
        "_value": "1"
      },
      {
        "_name": "b",
        "_type": "string",
        "_value": "string"
      },
      {
        "_name": "c",
        "_type": "object",
        "_subtype": "regexp",
        "_value": "/regex/"
      },
      {
        "_name": "d",
        "_type": "symbol",
        "_value": "Symbol(sym)"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: o = {a:1}; o.b = o; o
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Object",
  "_preview": {
    "_type": "object",
    "_description": "Object",
    "_lossless": false,
    "_overflow": false,
    "_properties": [
      {
        "_name": "a",
        "_type": "number",
        "_value": "1"
      },
      {
        "_name": "b",
        "_type": "object",
        "_value": "Object"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: ({a:function a(){}, b:function b(){}, get getter(){}, set setter(v){}})
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Object",
  "_preview": {
    "_type": "object",
    "_description": "Object",
    "_lossless": false,
    "_overflow": false,
    "_properties": [
      {
        "_name": "a",
        "_type": "function",
        "_value": ""
      },
      {
        "_name": "b",
        "_type": "function",
        "_value": ""
      },
      {
        "_name": "getter",
        "_type": "accessor"
      },
      {
        "_name": "setter",
        "_type": "accessor"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: function Foo() {}; new Foo
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Foo",
  "_preview": {
    "_type": "object",
    "_description": "Foo",
    "_lossless": false,
    "_overflow": false,
    "_properties": [],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: var Foo2 = function() {}; new Foo2
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Foo2",
  "_preview": {
    "_type": "object",
    "_description": "Foo2",
    "_lossless": false,
    "_overflow": false,
    "_properties": [],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: var namespace = {}; namespace.Foo3 = function() {}; new namespace.Foo3
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Object",
  "_preview": {
    "_type": "object",
    "_description": "Object",
    "_lossless": false,
    "_overflow": false,
    "_properties": [],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: function Bar() { this._x = 5 }; Bar.prototype = {constructor: Bar, get x() {return this._x;}}; new Bar
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Bar",
  "_preview": {
    "_type": "object",
    "_description": "Bar",
    "_lossless": false,
    "_overflow": false,
    "_properties": [
      {
        "_name": "_x",
        "_type": "number",
        "_value": "5"
      },
      {
        "_name": "constructor",
        "_type": "function",
        "_value": ""
      },
      {
        "_name": "x",
        "_type": "accessor"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: function Bar2() { this._x = 5 }; Bar.prototype = {get x() {return this._x;}}; new Bar2
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Bar2",
  "_preview": {
    "_type": "object",
    "_description": "Bar2",
    "_lossless": false,
    "_overflow": false,
    "_properties": [
      {
        "_name": "_x",
        "_type": "number",
        "_value": "5"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: new ArrayBuffer(16)
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "ArrayBuffer",
  "_preview": {
    "_type": "object",
    "_description": "ArrayBuffer",
    "_lossless": false,
    "_overflow": false,
    "_properties": [
      {
        "_name": "byteLength",
        "_type": "number",
        "_value": "16"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: new DataView(new ArrayBuffer(16))
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "DataView",
  "_preview": {
    "_type": "object",
    "_description": "DataView",
    "_lossless": false,
    "_overflow": false,
    "_properties": [
      {
        "_name": "buffer",
        "_type": "object",
        "_value": "ArrayBuffer"
      },
      {
        "_name": "byteLength",
        "_type": "number",
        "_value": "16"
      },
      {
        "_name": "byteOffset",
        "_type": "number",
        "_value": "0"
      }
    ],
    "_entries": null
  }
}

-----------------------------------------------------
EXPRESSION: obj = {}; obj["prop"] = 1; obj[Symbol()] = 2; obj[Symbol("sym")] = 3; obj[Symbol("sym")] = 4; obj[Symbol.iterator] = Symbol(); obj
{
  "_type": "object",
  "_objectId": "<filtered>",
  "_description": "Object",
  "_preview": {
    "_type": "object",
    "_description": "Object",
    "_lossless": true,
    "_overflow": false,
    "_properties": [
      {
        "_name": "prop",
        "_type": "number",
        "_value": "1"
      },
      {
        "_name": "Symbol()",
        "_type": "number",
        "_value": "2"
      },
      {
        "_name": "Symbol(sym)",
        "_type": "number",
        "_value": "3"
      },
      {
        "_name": "Symbol(sym)",
        "_type": "number",
        "_value": "4"
      },
      {
        "_name": "Symbol(Symbol.iterator)",
        "_type": "symbol",
        "_value": "Symbol()"
      }
    ],
    "_entries": null
  }
}

