text: {
    "type":"Program",
    "loc":{"source":null,"start":{"line":1,"column":0},"end":{"line":1,"column":36}},
    "range":[0,36],
    "body":[
      {
        "type":"FunctionDeclaration",
        "loc":{"source":null,"start":{"line":1,"column":0},"end":{"line":1,"column":36}},
        "range":[0,36],
        "id":{
          "type":"Identifier",
          "loc":{"source":null,"start":{"line":1,"column":9},"end":{"line":1,"column":12}},
          "range":[9,12],
          "name":"foo",
          "typeAnnotation":null,
          "optional":false
        },
        "params":[
          {
            "type":"ObjectPattern",
            "loc":{"source":null,"start":{"line":1,"column":13},"end":{"line":1,"column":32}},
            "range":[13,32],
            "properties":[
              {
                "type":"Property",
                "loc":{"source":null,"start":{"line":1,"column":14},"end":{"line":1,"column":15}},
                "range":[14,15],
                "key":{
                  "type":"Identifier",
                  "loc":{"source":null,"start":{"line":1,"column":14},"end":{"line":1,"column":15}},
                  "range":[14,15],
                  "name":"x",
                  "typeAnnotation":null,
                  "optional":false
                },
                "value":{
                  "type":"Identifier",
                  "loc":{"source":null,"start":{"line":1,"column":14},"end":{"line":1,"column":15}},
                  "range":[14,15],
                  "name":"x",
                  "typeAnnotation":null,
                  "optional":false
                },
                "kind":"init",
                "method":false,
                "shorthand":true,
                "computed":false
              }
            ],
            "typeAnnotation":{
              "type":"TypeAnnotation",
              "loc":{"source":null,"start":{"line":1,"column":16},"end":{"line":1,"column":32}},
              "range":[16,32],
              "typeAnnotation":{
                "type":"ObjectTypeAnnotation",
                "loc":{"source":null,"start":{"line":1,"column":18},"end":{"line":1,"column":32}},
                "range":[18,32],
                "exact":false,
                "inexact":false,
                "properties":[
                  {
                    "type":"ObjectTypeProperty",
                    "loc":{"source":null,"start":{"line":1,"column":20},"end":{"line":1,"column":29}},
                    "range":[20,29],
                    "key":{
                      "type":"Identifier",
                      "loc":{"source":null,"start":{"line":1,"column":20},"end":{"line":1,"column":21}},
                      "range":[20,21],
                      "name":"x",
                      "typeAnnotation":null,
                      "optional":false
                    },
                    "value":{
                      "type":"StringTypeAnnotation",
                      "loc":{"source":null,"start":{"line":1,"column":23},"end":{"line":1,"column":29}},
                      "range":[23,29]
                    },
                    "method":false,
                    "optional":false,
                    "static":false,
                    "proto":false,
                    "variance":null,
                    "kind":"init"
                  }
                ],
                "indexers":[],
                "callProperties":[],
                "internalSlots":[]
              }
            }
          }
        ],
        "body":{
          "type":"BlockStatement",
          "loc":{"source":null,"start":{"line":1,"column":34},"end":{"line":1,"column":36}},
          "range":[34,36],
          "body":[]
        },
        "async":false,
        "generator":false,
        "predicate":null,
        "expression":false,
        "returnType":null,
        "typeParameters":null
      }
    ],
    "comments":[]
  }
  