diff options
| author | Philipp Tanlak <philipp.tanlak@gmail.com> | 2023-08-27 18:04:07 +0200 |
|---|---|---|
| committer | Philipp Tanlak <philipp.tanlak@gmail.com> | 2023-08-27 18:04:07 +0200 |
| commit | f4408fe641e4b0e27c168bcc9bbc4f69937cefc8 (patch) | |
| tree | b3213a6fd0301c8e6046e250be8253aeeb9985ce /js.go | |
| parent | 87c1136438b5f24fcb886b9771dd0245999c3e8a (diff) | |
improve error logging
Diffstat (limited to 'js.go')
| -rw-r--r-- | js.go | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -14,6 +14,16 @@ import ( v8 "rogchap.com/v8go" ) +type TransformError struct { + Line int + Column int + Text string +} + +func (err TransformError) Error() string { + return fmt.Sprintf("%d:%d: %s", err.Line, err.Column, err.Text) +} + func init() { rand.Seed(time.Now().UnixNano()) } @@ -34,7 +44,12 @@ func build(src string) (string, error) { var errs []error for _, msg := range res.Errors { - errs = append(errs, fmt.Errorf("%s", msg.Text)) + err := TransformError{Text: msg.Text} + if msg.Location != nil { + err.Line = msg.Location.Line + err.Column = msg.Location.Column + } + errs = append(errs, err) } if len(res.Errors) > 0 { return "", errors.Join(errs...) |