Frontend should never cast LiteralValue directly to string
Instead, it should cast the LiteralValue's `.data` field.
This commit is contained in:
		@ -20,7 +20,7 @@ describe('testing AST', () => {
 | 
			
		||||
            type: 'Literal',
 | 
			
		||||
            start: 0,
 | 
			
		||||
            end: 1,
 | 
			
		||||
            value: 5,
 | 
			
		||||
            value: { type: 'u_integer', data: 5 },
 | 
			
		||||
            raw: '5',
 | 
			
		||||
          },
 | 
			
		||||
          operator: '+',
 | 
			
		||||
@ -28,7 +28,7 @@ describe('testing AST', () => {
 | 
			
		||||
            type: 'Literal',
 | 
			
		||||
            start: 3,
 | 
			
		||||
            end: 4,
 | 
			
		||||
            value: 6,
 | 
			
		||||
            value: { type: 'u_integer', data: 6 },
 | 
			
		||||
            raw: '6',
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
@ -58,7 +58,7 @@ describe('testing AST', () => {
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              start: 14,
 | 
			
		||||
              end: 15,
 | 
			
		||||
              value: 5,
 | 
			
		||||
              value: { type: 'u_integer', data: 5 },
 | 
			
		||||
              raw: '5',
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
@ -92,7 +92,7 @@ const newVar = myVar + 1
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              start: 14,
 | 
			
		||||
              end: 15,
 | 
			
		||||
              value: 5,
 | 
			
		||||
              value: { type: 'u_integer', data: 5 },
 | 
			
		||||
              raw: '5',
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
@ -129,7 +129,7 @@ const newVar = myVar + 1
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                start: 39,
 | 
			
		||||
                end: 40,
 | 
			
		||||
                value: 1,
 | 
			
		||||
                value: { type: 'u_integer', data: 1 },
 | 
			
		||||
                raw: '1',
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
@ -320,14 +320,14 @@ const myVar = funcN(1, 2)`
 | 
			
		||||
                  type: 'Literal',
 | 
			
		||||
                  start: 58,
 | 
			
		||||
                  end: 59,
 | 
			
		||||
                  value: 1,
 | 
			
		||||
                  value: { data: 1, type: 'u_integer' },
 | 
			
		||||
                  raw: '1',
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  type: 'Literal',
 | 
			
		||||
                  start: 61,
 | 
			
		||||
                  end: 62,
 | 
			
		||||
                  value: 2,
 | 
			
		||||
                  value: { data: 2, type: 'u_integer' },
 | 
			
		||||
                  raw: '2',
 | 
			
		||||
                },
 | 
			
		||||
              ],
 | 
			
		||||
@ -390,14 +390,14 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                          type: 'Literal',
 | 
			
		||||
                          start: 32,
 | 
			
		||||
                          end: 33,
 | 
			
		||||
                          value: 0,
 | 
			
		||||
                          value: { type: 'u_integer', data: 0 },
 | 
			
		||||
                          raw: '0',
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          type: 'Literal',
 | 
			
		||||
                          start: 35,
 | 
			
		||||
                          end: 36,
 | 
			
		||||
                          value: 0,
 | 
			
		||||
                          value: { type: 'u_integer', data: 0 },
 | 
			
		||||
                          raw: '0',
 | 
			
		||||
                        },
 | 
			
		||||
                      ],
 | 
			
		||||
@ -426,14 +426,14 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                          type: 'Literal',
 | 
			
		||||
                          start: 52,
 | 
			
		||||
                          end: 53,
 | 
			
		||||
                          value: 2,
 | 
			
		||||
                          value: { type: 'u_integer', data: 2 },
 | 
			
		||||
                          raw: '2',
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          type: 'Literal',
 | 
			
		||||
                          start: 55,
 | 
			
		||||
                          end: 56,
 | 
			
		||||
                          value: 3,
 | 
			
		||||
                          value: { type: 'u_integer', data: 3 },
 | 
			
		||||
                          raw: '3',
 | 
			
		||||
                        },
 | 
			
		||||
                      ],
 | 
			
		||||
@ -478,14 +478,14 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                                type: 'Literal',
 | 
			
		||||
                                start: 81,
 | 
			
		||||
                                end: 82,
 | 
			
		||||
                                value: 0,
 | 
			
		||||
                                value: { type: 'u_integer', data: 0 },
 | 
			
		||||
                                raw: '0',
 | 
			
		||||
                              },
 | 
			
		||||
                              {
 | 
			
		||||
                                type: 'Literal',
 | 
			
		||||
                                start: 84,
 | 
			
		||||
                                end: 85,
 | 
			
		||||
                                value: 1,
 | 
			
		||||
                                value: { type: 'u_integer', data: 1 },
 | 
			
		||||
                                raw: '1',
 | 
			
		||||
                              },
 | 
			
		||||
                            ],
 | 
			
		||||
@ -505,7 +505,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                            type: 'Literal',
 | 
			
		||||
                            start: 93,
 | 
			
		||||
                            end: 101,
 | 
			
		||||
                            value: 'myPath',
 | 
			
		||||
                            value: { type: 'string', data: 'myPath' },
 | 
			
		||||
                            raw: '"myPath"',
 | 
			
		||||
                          },
 | 
			
		||||
                        },
 | 
			
		||||
@ -536,14 +536,14 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                          type: 'Literal',
 | 
			
		||||
                          start: 121,
 | 
			
		||||
                          end: 122,
 | 
			
		||||
                          value: 1,
 | 
			
		||||
                          value: { type: 'u_integer', data: 1 },
 | 
			
		||||
                          raw: '1',
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                          type: 'Literal',
 | 
			
		||||
                          start: 124,
 | 
			
		||||
                          end: 125,
 | 
			
		||||
                          value: 1,
 | 
			
		||||
                          value: { type: 'u_integer', data: 1 },
 | 
			
		||||
                          raw: '1',
 | 
			
		||||
                        },
 | 
			
		||||
                      ],
 | 
			
		||||
@ -568,7 +568,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                      type: 'Literal',
 | 
			
		||||
                      start: 139,
 | 
			
		||||
                      end: 141,
 | 
			
		||||
                      value: 45,
 | 
			
		||||
                      value: { type: 'string', data: 45 },
 | 
			
		||||
                      raw: '45',
 | 
			
		||||
                    },
 | 
			
		||||
                    { type: 'PipeSubstitution', start: 143, end: 144 },
 | 
			
		||||
@ -619,7 +619,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                    type: 'Literal',
 | 
			
		||||
                    start: 14,
 | 
			
		||||
                    end: 15,
 | 
			
		||||
                    value: 5,
 | 
			
		||||
                    value: { type: 'u_integer', data: 5 },
 | 
			
		||||
                    raw: '5',
 | 
			
		||||
                  },
 | 
			
		||||
                  operator: '+',
 | 
			
		||||
@ -627,7 +627,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                    type: 'Literal',
 | 
			
		||||
                    start: 18,
 | 
			
		||||
                    end: 19,
 | 
			
		||||
                    value: 6,
 | 
			
		||||
                    value: { type: 'u_integer', data: 6 },
 | 
			
		||||
                    raw: '6',
 | 
			
		||||
                  },
 | 
			
		||||
                },
 | 
			
		||||
@ -646,7 +646,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                      type: 'Literal',
 | 
			
		||||
                      start: 30,
 | 
			
		||||
                      end: 32,
 | 
			
		||||
                      value: 45,
 | 
			
		||||
                      value: { type: 'string', data: 45 },
 | 
			
		||||
                      raw: '45',
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
@ -696,14 +696,14 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                  type: 'Literal',
 | 
			
		||||
                  start: 12,
 | 
			
		||||
                  end: 13,
 | 
			
		||||
                  value: 1,
 | 
			
		||||
                  value: { type: 'u_integer', data: 1 },
 | 
			
		||||
                  raw: '1',
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                  type: 'Literal',
 | 
			
		||||
                  start: 15,
 | 
			
		||||
                  end: 18,
 | 
			
		||||
                  value: '2',
 | 
			
		||||
                  value: { type: 'string', data: '2' },
 | 
			
		||||
                  raw: "'2'",
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
@ -720,7 +720,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                    type: 'Literal',
 | 
			
		||||
                    start: 27,
 | 
			
		||||
                    end: 28,
 | 
			
		||||
                    value: 4,
 | 
			
		||||
                    value: { type: 'u_integer', data: 4 },
 | 
			
		||||
                    raw: '4',
 | 
			
		||||
                  },
 | 
			
		||||
                  operator: '+',
 | 
			
		||||
@ -728,7 +728,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                    type: 'Literal',
 | 
			
		||||
                    start: 31,
 | 
			
		||||
                    end: 32,
 | 
			
		||||
                    value: 5,
 | 
			
		||||
                    value: { type: 'u_integer', data: 5 },
 | 
			
		||||
                    raw: '5',
 | 
			
		||||
                  },
 | 
			
		||||
                },
 | 
			
		||||
@ -766,7 +766,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              start: 14,
 | 
			
		||||
              end: 15,
 | 
			
		||||
              value: 3,
 | 
			
		||||
              value: { type: 'u_integer', data: 3 },
 | 
			
		||||
              raw: '3',
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
@ -807,7 +807,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                    type: 'Literal',
 | 
			
		||||
                    start: 34,
 | 
			
		||||
                    end: 39,
 | 
			
		||||
                    value: 'str',
 | 
			
		||||
                    value: { type: 'string', data: 'str' },
 | 
			
		||||
                    raw: "'str'",
 | 
			
		||||
                  },
 | 
			
		||||
                },
 | 
			
		||||
@ -825,7 +825,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                    type: 'Literal',
 | 
			
		||||
                    start: 47,
 | 
			
		||||
                    end: 48,
 | 
			
		||||
                    value: 2,
 | 
			
		||||
                    value: { type: 'u_integer', data: 2 },
 | 
			
		||||
                    raw: '2',
 | 
			
		||||
                  },
 | 
			
		||||
                },
 | 
			
		||||
@ -864,7 +864,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                      type: 'Literal',
 | 
			
		||||
                      start: 77,
 | 
			
		||||
                      end: 78,
 | 
			
		||||
                      value: 4,
 | 
			
		||||
                      value: { type: 'u_integer', data: 4 },
 | 
			
		||||
                      raw: '4',
 | 
			
		||||
                    },
 | 
			
		||||
                    operator: '+',
 | 
			
		||||
@ -872,7 +872,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                      type: 'Literal',
 | 
			
		||||
                      start: 81,
 | 
			
		||||
                      end: 82,
 | 
			
		||||
                      value: 5,
 | 
			
		||||
                      value: { type: 'u_integer', data: 5 },
 | 
			
		||||
                      raw: '5',
 | 
			
		||||
                    },
 | 
			
		||||
                  },
 | 
			
		||||
@ -940,7 +940,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                          type: 'Literal',
 | 
			
		||||
                          start: 27,
 | 
			
		||||
                          end: 34,
 | 
			
		||||
                          value: 'value',
 | 
			
		||||
                          value: { type: 'string', data: 'value' },
 | 
			
		||||
                          raw: "'value'",
 | 
			
		||||
                        },
 | 
			
		||||
                      },
 | 
			
		||||
@ -998,14 +998,14 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                        type: 'Literal',
 | 
			
		||||
                        start: 18,
 | 
			
		||||
                        end: 19,
 | 
			
		||||
                        value: 1,
 | 
			
		||||
                        value: { type: 'u_integer', data: 1 },
 | 
			
		||||
                        raw: '1',
 | 
			
		||||
                      },
 | 
			
		||||
                      {
 | 
			
		||||
                        type: 'Literal',
 | 
			
		||||
                        start: 21,
 | 
			
		||||
                        end: 24,
 | 
			
		||||
                        value: '2',
 | 
			
		||||
                        value: { type: 'string', data: '2' },
 | 
			
		||||
                        raw: "'2'",
 | 
			
		||||
                      },
 | 
			
		||||
                    ],
 | 
			
		||||
@ -1120,7 +1120,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                start: 20,
 | 
			
		||||
                end: 25,
 | 
			
		||||
                value: 'two',
 | 
			
		||||
                value: { type: 'string', data: 'two' },
 | 
			
		||||
                raw: '"two"',
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
@ -1169,7 +1169,7 @@ describe('testing pipe operator special', () => {
 | 
			
		||||
                  type: 'Literal',
 | 
			
		||||
                  start: 16,
 | 
			
		||||
                  end: 21,
 | 
			
		||||
                  value: 'one',
 | 
			
		||||
                  value: { type: 'string', data: 'one' },
 | 
			
		||||
                  raw: '"one"',
 | 
			
		||||
                },
 | 
			
		||||
              },
 | 
			
		||||
@ -1215,7 +1215,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              start: 11,
 | 
			
		||||
              end: 12,
 | 
			
		||||
              value: 1,
 | 
			
		||||
              value: { type: 'u_integer', data: 1 },
 | 
			
		||||
              raw: '1',
 | 
			
		||||
            },
 | 
			
		||||
            operator: '+',
 | 
			
		||||
@ -1223,7 +1223,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              start: 15,
 | 
			
		||||
              end: 16,
 | 
			
		||||
              value: 2,
 | 
			
		||||
              value: { type: 'u_integer', data: 2 },
 | 
			
		||||
              raw: '2',
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
@ -1263,7 +1263,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                start: 11,
 | 
			
		||||
                end: 12,
 | 
			
		||||
                value: 1,
 | 
			
		||||
                value: { type: 'u_integer', data: 1 },
 | 
			
		||||
                raw: '1',
 | 
			
		||||
              },
 | 
			
		||||
              operator: '*',
 | 
			
		||||
@ -1271,7 +1271,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                start: 15,
 | 
			
		||||
                end: 16,
 | 
			
		||||
                value: 2,
 | 
			
		||||
                value: { type: 'u_integer', data: 2 },
 | 
			
		||||
                raw: '2',
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
@ -1280,7 +1280,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              start: 19,
 | 
			
		||||
              end: 20,
 | 
			
		||||
              value: 3,
 | 
			
		||||
              value: { type: 'u_integer', data: 3 },
 | 
			
		||||
              raw: '3',
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
@ -1316,7 +1316,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              start: 11,
 | 
			
		||||
              end: 12,
 | 
			
		||||
              value: 1,
 | 
			
		||||
              value: { type: 'u_integer', data: 1 },
 | 
			
		||||
              raw: '1',
 | 
			
		||||
            },
 | 
			
		||||
            operator: '+',
 | 
			
		||||
@ -1328,7 +1328,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                start: 15,
 | 
			
		||||
                end: 16,
 | 
			
		||||
                value: 2,
 | 
			
		||||
                value: { type: 'u_integer', data: 2 },
 | 
			
		||||
                raw: '2',
 | 
			
		||||
              },
 | 
			
		||||
              operator: '*',
 | 
			
		||||
@ -1336,7 +1336,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                start: 19,
 | 
			
		||||
                end: 20,
 | 
			
		||||
                value: 3,
 | 
			
		||||
                value: { type: 'u_integer', data: 3 },
 | 
			
		||||
                raw: '3',
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
@ -1360,7 +1360,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
          type: 'Literal',
 | 
			
		||||
          start: 11,
 | 
			
		||||
          end: 12,
 | 
			
		||||
          value: 1,
 | 
			
		||||
          value: { type: 'u_integer', data: 1 },
 | 
			
		||||
          raw: '1',
 | 
			
		||||
        },
 | 
			
		||||
        operator: '+',
 | 
			
		||||
@ -1368,7 +1368,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
          type: 'Literal',
 | 
			
		||||
          start: 15,
 | 
			
		||||
          end: 16,
 | 
			
		||||
          value: 2,
 | 
			
		||||
          value: { type: 'u_integer', data: 2 },
 | 
			
		||||
          raw: '2',
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
@ -1377,7 +1377,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
        type: 'Literal',
 | 
			
		||||
        start: 19,
 | 
			
		||||
        end: 20,
 | 
			
		||||
        value: 3,
 | 
			
		||||
        value: { type: 'u_integer', data: 3 },
 | 
			
		||||
        raw: '3',
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
@ -1397,7 +1397,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
          type: 'Literal',
 | 
			
		||||
          start: 11,
 | 
			
		||||
          end: 12,
 | 
			
		||||
          value: 1,
 | 
			
		||||
          value: { type: 'u_integer', data: 1 },
 | 
			
		||||
          raw: '1',
 | 
			
		||||
        },
 | 
			
		||||
        operator: '*',
 | 
			
		||||
@ -1405,7 +1405,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
          type: 'Literal',
 | 
			
		||||
          start: 15,
 | 
			
		||||
          end: 16,
 | 
			
		||||
          value: 2,
 | 
			
		||||
          value: { type: 'u_integer', data: 2 },
 | 
			
		||||
          raw: '2',
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
@ -1414,7 +1414,7 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
        type: 'Literal',
 | 
			
		||||
        start: 19,
 | 
			
		||||
        end: 20,
 | 
			
		||||
        value: 3,
 | 
			
		||||
        value: { type: 'u_integer', data: 3 },
 | 
			
		||||
        raw: '3',
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
@ -1433,7 +1433,13 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
        operator: '+',
 | 
			
		||||
        start: 11,
 | 
			
		||||
        end: 30,
 | 
			
		||||
        left: { type: 'Literal', value: 1, raw: '1', start: 11, end: 12 },
 | 
			
		||||
        left: {
 | 
			
		||||
          type: 'Literal',
 | 
			
		||||
          value: { type: 'u_integer', data: 1 },
 | 
			
		||||
          raw: '1',
 | 
			
		||||
          start: 11,
 | 
			
		||||
          end: 12,
 | 
			
		||||
        },
 | 
			
		||||
        right: {
 | 
			
		||||
          type: 'BinaryExpression',
 | 
			
		||||
          operator: '/',
 | 
			
		||||
@ -1444,26 +1450,50 @@ describe('nests binary expressions correctly', () => {
 | 
			
		||||
            operator: '*',
 | 
			
		||||
            start: 15,
 | 
			
		||||
            end: 25,
 | 
			
		||||
            left: { type: 'Literal', value: 2, raw: '2', start: 15, end: 16 },
 | 
			
		||||
            left: {
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              value: { type: 'u_integer', data: 2 },
 | 
			
		||||
              raw: '2',
 | 
			
		||||
              start: 15,
 | 
			
		||||
              end: 16,
 | 
			
		||||
            },
 | 
			
		||||
            right: {
 | 
			
		||||
              type: 'BinaryExpression',
 | 
			
		||||
              operator: '-',
 | 
			
		||||
              start: 20,
 | 
			
		||||
              end: 25,
 | 
			
		||||
              left: { type: 'Literal', value: 3, raw: '3', start: 20, end: 21 },
 | 
			
		||||
              left: {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                value: { type: 'u_integer', data: 3 },
 | 
			
		||||
                raw: '3',
 | 
			
		||||
                start: 20,
 | 
			
		||||
                end: 21,
 | 
			
		||||
              },
 | 
			
		||||
              right: {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                value: 4,
 | 
			
		||||
                value: { type: 'u_integer', data: 4 },
 | 
			
		||||
                raw: '4',
 | 
			
		||||
                start: 24,
 | 
			
		||||
                end: 25,
 | 
			
		||||
              },
 | 
			
		||||
            },
 | 
			
		||||
          },
 | 
			
		||||
          right: { type: 'Literal', value: 5, raw: '5', start: 29, end: 30 },
 | 
			
		||||
          right: {
 | 
			
		||||
            type: 'Literal',
 | 
			
		||||
            value: { type: 'u_integer', data: 5 },
 | 
			
		||||
            raw: '5',
 | 
			
		||||
            start: 29,
 | 
			
		||||
            end: 30,
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      right: { type: 'Literal', value: 6, raw: '6', start: 33, end: 34 },
 | 
			
		||||
      right: {
 | 
			
		||||
        type: 'Literal',
 | 
			
		||||
        value: { type: 'u_integer', data: 6 },
 | 
			
		||||
        raw: '6',
 | 
			
		||||
        start: 33,
 | 
			
		||||
        end: 34,
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
@ -1481,7 +1511,7 @@ const key = 'c'`
 | 
			
		||||
      value: {
 | 
			
		||||
        type: 'blockComment',
 | 
			
		||||
        style: 'line',
 | 
			
		||||
        value: 'this is a comment',
 | 
			
		||||
        value: { type: 'string', data: 'this is a comment' },
 | 
			
		||||
      },
 | 
			
		||||
    }
 | 
			
		||||
    const { nonCodeMeta } = parse(code)
 | 
			
		||||
@ -1518,7 +1548,10 @@ const key = 'c'`
 | 
			
		||||
      value: {
 | 
			
		||||
        type: 'inlineComment',
 | 
			
		||||
        style: 'block',
 | 
			
		||||
        value: 'this is\n      a comment\n      spanning a few lines',
 | 
			
		||||
        value: {
 | 
			
		||||
          type: 'string',
 | 
			
		||||
          data: 'this is\n      a comment\n      spanning a few lines',
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
  })
 | 
			
		||||
@ -1541,7 +1574,7 @@ const key = 'c'`
 | 
			
		||||
      end: 138,
 | 
			
		||||
      value: {
 | 
			
		||||
        type: 'blockComment',
 | 
			
		||||
        value: 'a comment',
 | 
			
		||||
        value: { type: 'string', data: 'a comment' },
 | 
			
		||||
        style: 'line',
 | 
			
		||||
      },
 | 
			
		||||
    })
 | 
			
		||||
@ -1564,8 +1597,20 @@ describe('test UnaryExpression', () => {
 | 
			
		||||
        end: 26,
 | 
			
		||||
        callee: { type: 'Identifier', start: 15, end: 18, name: 'min' },
 | 
			
		||||
        arguments: [
 | 
			
		||||
          { type: 'Literal', start: 19, end: 20, value: 4, raw: '4' },
 | 
			
		||||
          { type: 'Literal', start: 22, end: 25, value: 100, raw: '100' },
 | 
			
		||||
          {
 | 
			
		||||
            type: 'Literal',
 | 
			
		||||
            start: 19,
 | 
			
		||||
            end: 20,
 | 
			
		||||
            value: { type: 'u_integer', data: 4 },
 | 
			
		||||
            raw: '4',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            type: 'Literal',
 | 
			
		||||
            start: 22,
 | 
			
		||||
            end: 25,
 | 
			
		||||
            value: { type: 'string', data: 100 },
 | 
			
		||||
            raw: '100',
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
        function: expect.any(Object),
 | 
			
		||||
        optional: false,
 | 
			
		||||
@ -1585,21 +1630,45 @@ describe('testing nested call expressions', () => {
 | 
			
		||||
      end: 40,
 | 
			
		||||
      callee: { type: 'Identifier', start: 14, end: 17, name: 'min' },
 | 
			
		||||
      arguments: [
 | 
			
		||||
        { type: 'Literal', start: 18, end: 21, value: 100, raw: '100' },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'Literal',
 | 
			
		||||
          start: 18,
 | 
			
		||||
          end: 21,
 | 
			
		||||
          value: { type: 'string', data: 100 },
 | 
			
		||||
          raw: '100',
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          type: 'BinaryExpression',
 | 
			
		||||
          operator: '+',
 | 
			
		||||
          start: 23,
 | 
			
		||||
          end: 39,
 | 
			
		||||
          left: { type: 'Literal', value: 1, raw: '1', start: 23, end: 24 },
 | 
			
		||||
          left: {
 | 
			
		||||
            type: 'Literal',
 | 
			
		||||
            value: { type: 'u_integer', data: 1 },
 | 
			
		||||
            raw: '1',
 | 
			
		||||
            start: 23,
 | 
			
		||||
            end: 24,
 | 
			
		||||
          },
 | 
			
		||||
          right: {
 | 
			
		||||
            type: 'CallExpression',
 | 
			
		||||
            start: 27,
 | 
			
		||||
            end: 39,
 | 
			
		||||
            callee: { type: 'Identifier', start: 27, end: 33, name: 'legLen' },
 | 
			
		||||
            arguments: [
 | 
			
		||||
              { type: 'Literal', start: 34, end: 35, value: 5, raw: '5' },
 | 
			
		||||
              { type: 'Literal', start: 37, end: 38, value: 3, raw: '3' },
 | 
			
		||||
              {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                start: 34,
 | 
			
		||||
                end: 35,
 | 
			
		||||
                value: { type: 'u_integer', data: 5 },
 | 
			
		||||
                raw: '5',
 | 
			
		||||
              },
 | 
			
		||||
              {
 | 
			
		||||
                type: 'Literal',
 | 
			
		||||
                start: 37,
 | 
			
		||||
                end: 38,
 | 
			
		||||
                value: { type: 'u_integer', data: 3 },
 | 
			
		||||
                raw: '3',
 | 
			
		||||
              },
 | 
			
		||||
            ],
 | 
			
		||||
            function: expect.any(Object),
 | 
			
		||||
            optional: false,
 | 
			
		||||
@ -1633,7 +1702,7 @@ describe('should recognise callExpresions in binaryExpressions', () => {
 | 
			
		||||
              type: 'Literal',
 | 
			
		||||
              start: 16,
 | 
			
		||||
              end: 23,
 | 
			
		||||
              value: 'seg02',
 | 
			
		||||
              value: { type: 'string', data: 'seg02' },
 | 
			
		||||
              raw: "'seg02'",
 | 
			
		||||
            },
 | 
			
		||||
            { type: 'PipeSubstitution', start: 25, end: 26 },
 | 
			
		||||
@ -1641,7 +1710,13 @@ describe('should recognise callExpresions in binaryExpressions', () => {
 | 
			
		||||
          function: expect.any(Object),
 | 
			
		||||
          optional: false,
 | 
			
		||||
        },
 | 
			
		||||
        right: { type: 'Literal', value: 1, raw: '1', start: 30, end: 31 },
 | 
			
		||||
        right: {
 | 
			
		||||
          type: 'Literal',
 | 
			
		||||
          value: { type: 'u_integer', data: 1 },
 | 
			
		||||
          raw: '1',
 | 
			
		||||
          start: 30,
 | 
			
		||||
          end: 31,
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      { type: 'PipeSubstitution', start: 33, end: 34 },
 | 
			
		||||
    ])
 | 
			
		||||
 | 
			
		||||
@ -645,7 +645,7 @@ export function giveSketchFnCallTag(
 | 
			
		||||
  const isTagExisting = !!firstArg.tag
 | 
			
		||||
  const tagValue = (firstArg.tag ||
 | 
			
		||||
    createLiteral(tag || findUniqueName(ast, 'seg', 2))) as Literal
 | 
			
		||||
  const tagStr = String(tagValue.value)
 | 
			
		||||
  const tagStr = String(tagValue.value.data)
 | 
			
		||||
  const newFirstArg = createFirstArg(
 | 
			
		||||
    primaryCallExp.callee.name as ToolTip,
 | 
			
		||||
    firstArg.val,
 | 
			
		||||
 | 
			
		||||
@ -1426,7 +1426,7 @@ export function transformAstSketchLines({
 | 
			
		||||
      referenceSegName ||
 | 
			
		||||
      (_referencedSegmentNameVal &&
 | 
			
		||||
        _referencedSegmentNameVal.type === 'Literal' &&
 | 
			
		||||
        String(_referencedSegmentNameVal.value)) ||
 | 
			
		||||
        String(_referencedSegmentNameVal.value.data)) ||
 | 
			
		||||
      ''
 | 
			
		||||
    const [varValA, varValB] = Array.isArray(val) ? val : [val, val]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user