type: program
id: 0
range: 1:1 - 3:1
dataflow_sources:
    - 1
children:
    - type: variable_declaration
      id: 1
      range: 1:1 - 1:59
      dataflow_sources:
        - 2
        - 3
        - 27
      children:
        - type: '"var"'
          id: 2
          range: 1:1 - 1:4
        - type: variable_declarator
          id: 3
          range: 1:5 - 1:58
          alias_of:
            - 17
          queries:
            - 1
          children:
            - type: identifier
              id: 4
              range: 1:5 - 1:9
              content: user
            - type: type_annotation
              id: 5
              range: 1:9 - 1:28
              dataflow_sources:
                - 6
                - 7
              children:
                - type: '":"'
                  id: 6
                  range: 1:9 - 1:10
                - type: object_type
                  id: 7
                  range: 1:11 - 1:28
                  dataflow_sources:
                    - 8
                    - 9
                    - 15
                  children:
                    - type: '"{"'
                      id: 8
                      range: 1:11 - 1:12
                    - type: property_signature
                      id: 9
                      range: 1:13 - 1:26
                      dataflow_sources:
                        - 10
                        - 11
                      children:
                        - type: property_identifier
                          id: 10
                          range: 1:13 - 1:18
                          content: email
                        - type: type_annotation
                          id: 11
                          range: 1:18 - 1:26
                          dataflow_sources:
                            - 12
                            - 13
                          children:
                            - type: '":"'
                              id: 12
                              range: 1:18 - 1:19
                            - type: predefined_type
                              id: 13
                              range: 1:20 - 1:26
                              dataflow_sources:
                                - 14
                              children:
                                - type: '"string"'
                                  id: 14
                                  range: 1:20 - 1:26
                    - type: '"}"'
                      id: 15
                      range: 1:27 - 1:28
            - type: '"="'
              id: 16
              range: 1:29 - 1:30
            - type: object
              id: 17
              range: 1:31 - 1:58
              dataflow_sources:
                - 18
                - 19
                - 26
              queries:
                - 0
              children:
                - type: '"{"'
                  id: 18
                  range: 1:31 - 1:32
                - type: pair
                  id: 19
                  range: 1:33 - 1:56
                  dataflow_sources:
                    - 20
                    - 21
                    - 22
                  children:
                    - type: property_identifier
                      id: 20
                      range: 1:33 - 1:38
                      content: email
                    - type: '":"'
                      id: 21
                      range: 1:38 - 1:39
                    - type: string
                      id: 22
                      range: 1:40 - 1:56
                      dataflow_sources:
                        - 23
                        - 24
                        - 25
                      children:
                        - type: '"""'
                          id: 23
                          range: 1:40 - 1:41
                        - type: string_fragment
                          id: 24
                          range: 1:41 - 1:55
                          content: jhon@gmail.com
                        - type: '"""'
                          id: 25
                          range: 1:55 - 1:56
                - type: '"}"'
                  id: 26
                  range: 1:57 - 1:58
        - type: '";"'
          id: 27
          range: 1:58 - 1:59

- node: 3
  content: 'user: { email: string } = { email: "jhon@gmail.com" }'
  data:
    properties:
        - name: user
          node:
            id: 3
            typeid: 3
            contentstart:
                byte: 4
                line: 1
                column: 5
            contentend:
                byte: 57
                line: 1
                column: 58
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 17
                typeid: 15
                contentstart:
                    byte: 30
                    line: 1
                    column: 31
                contentend:
                    byte: 57
                    line: 1
                    column: 58
                executingdetectors: []
            data:
                properties:
                    - name: email
                      node:
                        id: 19
                        typeid: 16
                        contentstart:
                            byte: 32
                            line: 1
                            column: 33
                        contentend:
                            byte: 55
                            line: 1
                            column: 56
                        executingdetectors: []
                      object: null
                isvirtual: false
    isvirtual: true
- node: 17
  content: '{ email: "jhon@gmail.com" }'
  data:
    properties:
        - name: email
          node:
            id: 19
            typeid: 16
            contentstart:
                byte: 32
                line: 1
                column: 33
            contentend:
                byte: 55
                line: 1
                column: 56
            executingdetectors: []
          object: null
    isvirtual: false

