Page MenuHomePhabricator

[Flow202][native][skip-ci] [51/x] Fix Flow issues with computed properties
ClosedPublic

Authored by ashoat on Nov 27 2023, 1:27 AM.
Tags
None
Referenced Files
F3529594: D10035.diff
Tue, Dec 24, 8:15 PM
Unknown Object (File)
Sun, Dec 22, 11:38 PM
Unknown Object (File)
Sun, Dec 22, 7:06 AM
Unknown Object (File)
Sun, Dec 22, 7:06 AM
Unknown Object (File)
Sun, Dec 22, 7:05 AM
Unknown Object (File)
Sun, Dec 22, 7:05 AM
Unknown Object (File)
Sun, Dec 22, 12:13 AM
Unknown Object (File)
Sat, Dec 14, 1:33 PM
Subscribers

Details

Summary

The new version of Flow is showing a bunch of errors that look like this:

Error ---------------------------------------------------------------------------------- reducers/entry-reducer.js:293:8

Cannot use localID [1] as a computed property. Computed properties may only be primitive literal values, but localID [1]
is a union. Can you add a literal type annotation to localID [1]? See https://flow.org/en/docs/types/literals/ for more
information on literal types. [invalid-computed-prop]

     290|     invariant(localID, 'localID should be set in CREATE_LOCAL_ENTRY');
     291|     const newEntryInfos = {
     292|       ...entryInfos,
 [1] 293|       [localID]: entryInfo,
     294|     };
     295|     const dayString = dateString(
     296|       entryInfo.year,

This diff adds the required annotations. This is the native equivalent of D9777 (web) and D9698 (lib).

NOTE: CI will fail on this diff. I considered the possibility of fixing Flow errors BEFORE upgrading Flow, but it wasn't possible... in some cases, the fixes to support the new version of Flow caused errors in the old version. I could have hidden these type errors with $FlowFixMe lines and then later revert those, but that seemed like too much busy work.

Depends on D10034

Test Plan

Confirm the Flow errors go away

Diff Detail

Repository
rCOMM Comm
Lint
No Lint Coverage
Unit
No Test Coverage
Build Status
Buildable 24477
Build 210208: arc lint + arc unit