[ 
https://issues.apache.org/jira/browse/FLINK-33938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ao Yuchen updated FLINK-33938:
------------------------------
    Description: 
Since TypeScript 5.0, there is a break change that implicit coercions in 
relational operators are forbidden [1].

So that the following code in 
flink-runtime-web/web-dashboard/src/app/components/humanize-date.pipe.ts get 
error:
{code:java}
public transform(
  value: number | string | Date,
  ...
): string | null | undefined {
  if (value == null || value === '' || value !== value || value < 0) {
    return '-';
  } 
  ...
}{code}
The correctness improvement is availble in here 
[2][.|https://github.com/microsoft/TypeScript/pull/52048.]

I think we should optimize this type of code for better compatibility.

 

[1] 
[https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#forbidden-implicit-coercions-in-relational-operators]

[2] 
[https://github.com/microsoft/TypeScript/pull/52048|https://github.com/microsoft/TypeScript/pull/52048.]

  was:
Since TypeScript 5.0, there is a break change that implicit coercions in 
relational operators are forbidden 
([https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#forbidden-implicit-coercions-in-relational-operators]).

So that the following code in 
flink-runtime-web/web-dashboard/src/app/components/humanize-date.pipe.ts get 
error:
{code:java}
public transform(
  value: number | string | Date,
  ...
): string | null | undefined {
  if (value == null || value === '' || value !== value || value < 0) {
    return '-';
  } 
  ...
}{code}
The correctness improvement is availble in 
[https://github.com/microsoft/TypeScript/pull/52048.]

I think we should optimize this type of code for better compatibility.


> Correct implicit coercions in relational operators to adopt typescript 5.0
> --------------------------------------------------------------------------
>
>                 Key: FLINK-33938
>                 URL: https://issues.apache.org/jira/browse/FLINK-33938
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Web Frontend
>    Affects Versions: 1.19.0
>            Reporter: Ao Yuchen
>            Priority: Major
>             Fix For: 1.19.0, 1.17.3, 1.18.2
>
>
> Since TypeScript 5.0, there is a break change that implicit coercions in 
> relational operators are forbidden [1].
> So that the following code in 
> flink-runtime-web/web-dashboard/src/app/components/humanize-date.pipe.ts get 
> error:
> {code:java}
> public transform(
>   value: number | string | Date,
>   ...
> ): string | null | undefined {
>   if (value == null || value === '' || value !== value || value < 0) {
>     return '-';
>   } 
>   ...
> }{code}
> The correctness improvement is availble in here 
> [2][.|https://github.com/microsoft/TypeScript/pull/52048.]
> I think we should optimize this type of code for better compatibility.
>  
> [1] 
> [https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#forbidden-implicit-coercions-in-relational-operators]
> [2] 
> [https://github.com/microsoft/TypeScript/pull/52048|https://github.com/microsoft/TypeScript/pull/52048.]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to