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

- node: 3
  content: 'user: { email: string } = { email: "jhon@gmail.com" }'
  data:
    properties:
        - name: user
          node:
            id: 3
            typeid: 3
            contentstart:
                byte: 6
                line: 1
                column: 7
            contentend:
                byte: 59
                line: 1
                column: 60
            executingdetectors: []
          object:
            ruleid: object
            matchnode:
                id: 17
                typeid: 15
                contentstart:
                    byte: 32
                    line: 1
                    column: 33
                contentend:
                    byte: 59
                    line: 1
                    column: 60
                executingdetectors: []
            data:
                properties:
                    - name: email
                      node:
                        id: 19
                        typeid: 16
                        contentstart:
                            byte: 34
                            line: 1
                            column: 35
                        contentend:
                            byte: 57
                            line: 1
                            column: 58
                        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: 34
                line: 1
                column: 35
            contentend:
                byte: 57
                line: 1
                column: 58
            executingdetectors: []
          object: null
    isvirtual: false

