-
-
Notifications
You must be signed in to change notification settings - Fork 192
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: new diag for async/generator on getter/setter
- Loading branch information
1 parent
af321e1
commit 8462f95
Showing
11 changed files
with
285 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# E0713: '*' keyword is not allowed on getters or setters | ||
|
||
Use of the '*' character, defining generator functions, is not allowed on getters or setters. | ||
Getters and setters are synchronous operations and do not support the generator functionality. | ||
|
||
```javascript | ||
class C { | ||
constructor() { | ||
this._value = 0; | ||
} | ||
|
||
get *value() { | ||
return this._value; | ||
} | ||
set *value(newValue) { | ||
this._value = newValue; | ||
} | ||
} | ||
``` | ||
|
||
To fix this error define with a getter or setter, using regular function syntax. | ||
|
||
```javascript | ||
class C { | ||
constructor() { | ||
this._value = 0; | ||
} | ||
|
||
get value() { | ||
return this._value; | ||
} | ||
set value(newValue) { | ||
this._value = newValue; | ||
} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# E0714: 'async' keyword is not allowed on getters or setters | ||
|
||
Use of 'async' keyword, defining asynchronous functions, is not allowed on getters or setters. | ||
Getters and setters are synchronous operations and do not support the asynchronous functionality. | ||
|
||
|
||
```javascript | ||
class C { | ||
constructor() { | ||
this._value = 0; | ||
} | ||
|
||
async get value() { | ||
return this._value; | ||
} | ||
|
||
async set value(newValue) { | ||
this._value = newValue; | ||
} | ||
} | ||
``` | ||
|
||
To fix this error simply remove 'async' keyword from getters and setters, | ||
so they can function properly as synchronous operations | ||
|
||
|
||
```javascript | ||
class C { | ||
constructor() { | ||
this._value = 0; | ||
} | ||
|
||
get value() { | ||
return this._value; | ||
} | ||
|
||
set value(newValue) { | ||
this._value = newValue; | ||
} | ||
} | ||
``` | ||
|
||
However, if you require asynchronous behavior within getters or setters, | ||
you can achieve this by implementing separate asynchronous methods | ||
|
||
|
||
```javascript | ||
class C { | ||
constructor() { | ||
this._value = 0; | ||
} | ||
|
||
async getValueAsync() { | ||
// Perform asynchronous operations here | ||
return await asyncFuctnion(); | ||
} | ||
|
||
async setValueAsync(newValue) { | ||
// Perform asynchronous operations here | ||
await asyncFuctnion(); | ||
this._value = newValue; | ||
} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.