Repository navigation
[TS Migration] Improve Form #35584
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TS Migration] Improve Form #35584
Changes from all commits
4f109b2
5a9b7fa
1865489
ea73d4f
8a06c0a
ede25e5
35356da
c5e9982
fbadba9
6e2bf36
e4caa67
06ee35e
8b4f885
8db9304
488c935
94e6d41
b894733
ffd0a26
4488723
87e4ea1
16529f2
0a07743
30a91f0
ede62bd
06394df
4708fae
ef0b5de
737b148
cd2e3e5
dcf3fb9
bd4bb07
16c1089
e9be3f4
8b932c3
bec9ded
b9130ee
a931897
dfb9ae9
b9b1b00
d1baa7b
b0449c0
f716077
8062eb8
72407eb
a10a841
b138cc1
0d10ba1
575c163
dbd6335
611b6f3
a95392a
fe4aace
e11690d
820e63e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,7 +1,9 @@ | ||
| import type {OnyxEntry} from 'react-native-onyx'; | ||
| import type {ValueOf} from 'type-fest'; | ||
| import type CONST from './CONST'; | ||
| import type * as FormTypes from './types/form'; | ||
| import type * as OnyxTypes from './types/onyx'; | ||
| import type AssertTypesEqual from './types/utils/AssertTypesEqual'; | ||
| import type DeepValueOf from './types/utils/DeepValueOf'; | ||
|
|
||
| /** | ||
|
|
@@ -237,9 +239,6 @@ const ONYXKEYS = { | |
| // The last update ID that was applied to the client | ||
| ONYX_UPDATES_LAST_UPDATE_ID_APPLIED_TO_CLIENT: 'OnyxUpdatesLastUpdateIDAppliedToClient', | ||
|
|
||
| // Receipt upload modal | ||
| RECEIPT_MODAL: 'receiptModal', | ||
|
|
||
| // The access token to be used with the Mapbox library | ||
| MAPBOX_ACCESS_TOKEN: 'mapboxAccessToken', | ||
|
|
||
|
|
@@ -379,12 +378,85 @@ const ONYXKEYS = { | |
| }, | ||
| } as const; | ||
|
|
||
| type OnyxKeysMap = typeof ONYXKEYS; | ||
| type OnyxCollectionKey = ValueOf<OnyxKeysMap['COLLECTION']>; | ||
| type OnyxKey = DeepValueOf<Omit<OnyxKeysMap, 'COLLECTION'>>; | ||
| type OnyxFormKey = ValueOf<OnyxKeysMap['FORMS']>; | ||
| type AllOnyxKeys = DeepValueOf<typeof ONYXKEYS>; | ||
|
|
||
| type OnyxFormValuesMapping = { | ||
| [ONYXKEYS.FORMS.ADD_DEBIT_CARD_FORM]: FormTypes.AddDebitCardForm; | ||
| [ONYXKEYS.FORMS.WORKSPACE_SETTINGS_FORM]: FormTypes.WorkspaceSettingsForm; | ||
| [ONYXKEYS.FORMS.WORKSPACE_RATE_AND_UNIT_FORM]: FormTypes.WorkspaceRateAndUnitForm; | ||
| [ONYXKEYS.FORMS.CLOSE_ACCOUNT_FORM]: FormTypes.CloseAccountForm; | ||
| [ONYXKEYS.FORMS.PROFILE_SETTINGS_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.DISPLAY_NAME_FORM]: FormTypes.DisplayNameForm; | ||
| [ONYXKEYS.FORMS.ROOM_NAME_FORM]: FormTypes.RoomNameForm; | ||
| [ONYXKEYS.FORMS.REPORT_DESCRIPTION_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.LEGAL_NAME_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.WORKSPACE_INVITE_MESSAGE_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.DATE_OF_BIRTH_FORM]: FormTypes.DateOfBirthForm; | ||
| [ONYXKEYS.FORMS.HOME_ADDRESS_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.NEW_ROOM_FORM]: FormTypes.NewRoomForm; | ||
| [ONYXKEYS.FORMS.ROOM_SETTINGS_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.NEW_TASK_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.EDIT_TASK_FORM]: FormTypes.Form; | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry for not seeing this earlier, but why are there all these types that are just
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it was adjusted at some point and I made a mistake while resolving conflicts. I'll fix it in a follow up 👍 |
||
| [ONYXKEYS.FORMS.MONEY_REQUEST_DESCRIPTION_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_MERCHANT_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_AMOUNT_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_DATE_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.NEW_CONTACT_METHOD_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.WAYPOINT_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_SET_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_CLEAR_DATE_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_SET_CLEAR_AFTER_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.PRIVATE_NOTES_FORM]: FormTypes.PrivateNotesForm; | ||
| [ONYXKEYS.FORMS.I_KNOW_A_TEACHER_FORM]: FormTypes.IKnowTeacherForm; | ||
| [ONYXKEYS.FORMS.INTRO_SCHOOL_PRINCIPAL_FORM]: FormTypes.IntroSchoolPrincipalForm; | ||
| [ONYXKEYS.FORMS.REPORT_VIRTUAL_CARD_FRAUD]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.REPORT_PHYSICAL_CARD_FORM]: FormTypes.Form; | ||
| [ONYXKEYS.FORMS.GET_PHYSICAL_CARD_FORM]: FormTypes.GetPhysicalCardForm; | ||
| [ONYXKEYS.FORMS.REPORT_FIELD_EDIT_FORM]: FormTypes.ReportFieldEditForm; | ||
| [ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM]: FormTypes.ReimbursementAccountForm; | ||
| [ONYXKEYS.FORMS.PERSONAL_BANK_ACCOUNT]: FormTypes.PersonalBankAccountForm; | ||
| }; | ||
|
|
||
| type OnyxValues = { | ||
| type OnyxFormDraftValuesMapping = { | ||
| [K in keyof OnyxFormValuesMapping as `${K}Draft`]: OnyxFormValuesMapping[K]; | ||
| }; | ||
|
|
||
| type OnyxCollectionValuesMapping = { | ||
| [ONYXKEYS.COLLECTION.DOWNLOAD]: OnyxTypes.Download; | ||
| [ONYXKEYS.COLLECTION.POLICY]: OnyxTypes.Policy; | ||
| [ONYXKEYS.COLLECTION.POLICY_DRAFTS]: OnyxTypes.Policy; | ||
| [ONYXKEYS.COLLECTION.POLICY_CATEGORIES]: OnyxTypes.PolicyCategories; | ||
| [ONYXKEYS.COLLECTION.POLICY_TAGS]: OnyxTypes.PolicyTags; | ||
| [ONYXKEYS.COLLECTION.POLICY_MEMBERS]: OnyxTypes.PolicyMembers; | ||
| [ONYXKEYS.COLLECTION.POLICY_MEMBERS_DRAFTS]: OnyxTypes.PolicyMember; | ||
| [ONYXKEYS.COLLECTION.POLICY_RECENTLY_USED_CATEGORIES]: OnyxTypes.RecentlyUsedCategories; | ||
| [ONYXKEYS.COLLECTION.POLICY_REPORT_FIELDS]: OnyxTypes.PolicyReportFields; | ||
| [ONYXKEYS.COLLECTION.DEPRECATED_POLICY_MEMBER_LIST]: OnyxTypes.PolicyMembers; | ||
| [ONYXKEYS.COLLECTION.WORKSPACE_INVITE_MEMBERS_DRAFT]: OnyxTypes.InvitedEmailsToAccountIDs; | ||
| [ONYXKEYS.COLLECTION.WORKSPACE_INVITE_MESSAGE_DRAFT]: string; | ||
| [ONYXKEYS.COLLECTION.REPORT]: OnyxTypes.Report; | ||
| [ONYXKEYS.COLLECTION.REPORT_METADATA]: OnyxTypes.ReportMetadata; | ||
| [ONYXKEYS.COLLECTION.REPORT_ACTIONS]: OnyxTypes.ReportActions; | ||
| [ONYXKEYS.COLLECTION.REPORT_ACTIONS_DRAFTS]: OnyxTypes.ReportActionsDrafts; | ||
| [ONYXKEYS.COLLECTION.REPORT_ACTIONS_REACTIONS]: OnyxTypes.ReportActionReactions; | ||
| [ONYXKEYS.COLLECTION.REPORT_DRAFT_COMMENT]: string; | ||
| [ONYXKEYS.COLLECTION.REPORT_DRAFT_COMMENT_NUMBER_OF_LINES]: number; | ||
| [ONYXKEYS.COLLECTION.REPORT_IS_COMPOSER_FULL_SIZE]: boolean; | ||
| [ONYXKEYS.COLLECTION.REPORT_USER_IS_TYPING]: OnyxTypes.ReportUserIsTyping; | ||
| [ONYXKEYS.COLLECTION.REPORT_USER_IS_LEAVING_ROOM]: boolean; | ||
| [ONYXKEYS.COLLECTION.SECURITY_GROUP]: OnyxTypes.SecurityGroup; | ||
| [ONYXKEYS.COLLECTION.TRANSACTION]: OnyxTypes.Transaction; | ||
| [ONYXKEYS.COLLECTION.TRANSACTION_DRAFT]: OnyxTypes.Transaction; | ||
| [ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS]: OnyxTypes.TransactionViolations; | ||
| [ONYXKEYS.COLLECTION.SPLIT_TRANSACTION_DRAFT]: OnyxTypes.Transaction; | ||
| [ONYXKEYS.COLLECTION.POLICY_RECENTLY_USED_TAGS]: OnyxTypes.RecentlyUsedTags; | ||
| [ONYXKEYS.COLLECTION.SELECTED_TAB]: string; | ||
| [ONYXKEYS.COLLECTION.PRIVATE_NOTES_DRAFT]: string; | ||
| [ONYXKEYS.COLLECTION.NEXT_STEP]: OnyxTypes.ReportNextStep; | ||
| [ONYXKEYS.COLLECTION.POLICY_TAX_RATE]: string[]; | ||
| }; | ||
|
|
||
| type OnyxValuesMapping = { | ||
| [ONYXKEYS.ACCOUNT]: OnyxTypes.Account; | ||
| [ONYXKEYS.ACCOUNT_MANAGER_REPORT_ID]: string; | ||
| [ONYXKEYS.NVP_IS_FIRST_TIME_NEW_EXPENSIFY_USER]: boolean; | ||
|
|
@@ -465,113 +537,23 @@ type OnyxValues = { | |
| [ONYXKEYS.LAST_VISITED_PATH]: string | undefined; | ||
| [ONYXKEYS.RECENTLY_USED_REPORT_FIELDS]: OnyxTypes.RecentlyUsedReportFields; | ||
| [ONYXKEYS.UPDATE_REQUIRED]: boolean; | ||
| [ONYXKEYS.PLAID_CURRENT_EVENT]: string; | ||
| }; | ||
|
|
||
| // Collections | ||
| [ONYXKEYS.COLLECTION.DOWNLOAD]: OnyxTypes.Download; | ||
| [ONYXKEYS.COLLECTION.POLICY]: OnyxTypes.Policy; | ||
| [ONYXKEYS.COLLECTION.POLICY_DRAFTS]: OnyxTypes.Policy; | ||
| [ONYXKEYS.COLLECTION.POLICY_CATEGORIES]: OnyxTypes.PolicyCategories; | ||
| [ONYXKEYS.COLLECTION.POLICY_TAGS]: OnyxTypes.PolicyTags; | ||
| [ONYXKEYS.COLLECTION.POLICY_MEMBERS]: OnyxTypes.PolicyMembers; | ||
| [ONYXKEYS.COLLECTION.POLICY_MEMBERS_DRAFTS]: OnyxTypes.PolicyMember; | ||
| [ONYXKEYS.COLLECTION.POLICY_RECENTLY_USED_CATEGORIES]: OnyxTypes.RecentlyUsedCategories; | ||
| [ONYXKEYS.COLLECTION.POLICY_REPORT_FIELDS]: OnyxTypes.PolicyReportFields; | ||
| [ONYXKEYS.COLLECTION.DEPRECATED_POLICY_MEMBER_LIST]: OnyxTypes.PolicyMembers; | ||
| [ONYXKEYS.COLLECTION.WORKSPACE_INVITE_MEMBERS_DRAFT]: OnyxTypes.InvitedEmailsToAccountIDs | undefined; | ||
| [ONYXKEYS.COLLECTION.WORKSPACE_INVITE_MESSAGE_DRAFT]: string | undefined; | ||
| [ONYXKEYS.COLLECTION.REPORT]: OnyxTypes.Report; | ||
| [ONYXKEYS.COLLECTION.REPORT_METADATA]: OnyxTypes.ReportMetadata; | ||
| [ONYXKEYS.COLLECTION.REPORT_ACTIONS]: OnyxTypes.ReportActions; | ||
| [ONYXKEYS.COLLECTION.REPORT_ACTIONS_DRAFTS]: OnyxTypes.ReportActionsDrafts; | ||
| [ONYXKEYS.COLLECTION.REPORT_ACTIONS_REACTIONS]: OnyxTypes.ReportActionReactions; | ||
| [ONYXKEYS.COLLECTION.REPORT_DRAFT_COMMENT]: string; | ||
| [ONYXKEYS.COLLECTION.REPORT_DRAFT_COMMENT_NUMBER_OF_LINES]: number; | ||
| [ONYXKEYS.COLLECTION.REPORT_IS_COMPOSER_FULL_SIZE]: boolean; | ||
| [ONYXKEYS.COLLECTION.REPORT_USER_IS_TYPING]: OnyxTypes.ReportUserIsTyping; | ||
| [ONYXKEYS.COLLECTION.REPORT_USER_IS_LEAVING_ROOM]: boolean; | ||
| [ONYXKEYS.COLLECTION.SECURITY_GROUP]: OnyxTypes.SecurityGroup; | ||
| [ONYXKEYS.COLLECTION.TRANSACTION]: OnyxTypes.Transaction; | ||
| [ONYXKEYS.COLLECTION.TRANSACTION_DRAFT]: OnyxTypes.Transaction; | ||
| [ONYXKEYS.COLLECTION.TRANSACTION_VIOLATIONS]: OnyxTypes.TransactionViolations; | ||
| [ONYXKEYS.COLLECTION.SPLIT_TRANSACTION_DRAFT]: OnyxTypes.Transaction; | ||
| [ONYXKEYS.COLLECTION.POLICY_RECENTLY_USED_TAGS]: OnyxTypes.RecentlyUsedTags; | ||
| [ONYXKEYS.COLLECTION.SELECTED_TAB]: string; | ||
| [ONYXKEYS.COLLECTION.PRIVATE_NOTES_DRAFT]: string; | ||
| [ONYXKEYS.COLLECTION.NEXT_STEP]: OnyxTypes.ReportNextStep; | ||
| type OnyxValues = OnyxValuesMapping & OnyxCollectionValuesMapping & OnyxFormValuesMapping & OnyxFormDraftValuesMapping; | ||
|
|
||
| // Forms | ||
| [ONYXKEYS.FORMS.ADD_DEBIT_CARD_FORM]: OnyxTypes.AddDebitCardForm; | ||
| [ONYXKEYS.FORMS.ADD_DEBIT_CARD_FORM_DRAFT]: OnyxTypes.AddDebitCardForm; | ||
| [ONYXKEYS.FORMS.WORKSPACE_SETTINGS_FORM]: OnyxTypes.WorkspaceSettingsForm; | ||
| [ONYXKEYS.FORMS.WORKSPACE_SETTINGS_FORM_DRAFT]: OnyxTypes.WorkspaceSettingsForm; | ||
| [ONYXKEYS.FORMS.WORKSPACE_RATE_AND_UNIT_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.WORKSPACE_RATE_AND_UNIT_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.CLOSE_ACCOUNT_FORM]: OnyxTypes.CloseAccountForm; | ||
| [ONYXKEYS.FORMS.CLOSE_ACCOUNT_FORM_DRAFT]: OnyxTypes.CloseAccountForm; | ||
| [ONYXKEYS.FORMS.PROFILE_SETTINGS_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.PROFILE_SETTINGS_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.DISPLAY_NAME_FORM]: OnyxTypes.DisplayNameForm; | ||
| [ONYXKEYS.FORMS.DISPLAY_NAME_FORM_DRAFT]: OnyxTypes.DisplayNameForm; | ||
| [ONYXKEYS.FORMS.ROOM_NAME_FORM]: OnyxTypes.RoomNameForm; | ||
| [ONYXKEYS.FORMS.ROOM_NAME_FORM_DRAFT]: OnyxTypes.RoomNameForm; | ||
| [ONYXKEYS.FORMS.REPORT_DESCRIPTION_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.REPORT_DESCRIPTION_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.LEGAL_NAME_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.LEGAL_NAME_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.WORKSPACE_INVITE_MESSAGE_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.WORKSPACE_INVITE_MESSAGE_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.DATE_OF_BIRTH_FORM]: OnyxTypes.DateOfBirthForm; | ||
| [ONYXKEYS.FORMS.DATE_OF_BIRTH_FORM_DRAFT]: OnyxTypes.DateOfBirthForm; | ||
| [ONYXKEYS.FORMS.HOME_ADDRESS_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.HOME_ADDRESS_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.NEW_ROOM_FORM]: OnyxTypes.NewRoomForm; | ||
| [ONYXKEYS.FORMS.NEW_ROOM_FORM_DRAFT]: OnyxTypes.NewRoomForm; | ||
| [ONYXKEYS.FORMS.ROOM_SETTINGS_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.ROOM_SETTINGS_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.NEW_TASK_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.NEW_TASK_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.EDIT_TASK_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.EDIT_TASK_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_DESCRIPTION_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_DESCRIPTION_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_MERCHANT_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_MERCHANT_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_AMOUNT_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_AMOUNT_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_DATE_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.MONEY_REQUEST_DATE_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.NEW_CONTACT_METHOD_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.NEW_CONTACT_METHOD_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.WAYPOINT_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.WAYPOINT_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_SET_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_SET_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_CLEAR_DATE_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_CLEAR_DATE_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_SET_CLEAR_AFTER_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.SETTINGS_STATUS_SET_CLEAR_AFTER_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.PRIVATE_NOTES_FORM]: OnyxTypes.PrivateNotesForm; | ||
| [ONYXKEYS.FORMS.PRIVATE_NOTES_FORM_DRAFT]: OnyxTypes.PrivateNotesForm; | ||
| [ONYXKEYS.FORMS.I_KNOW_A_TEACHER_FORM]: OnyxTypes.IKnowATeacherForm; | ||
| [ONYXKEYS.FORMS.I_KNOW_A_TEACHER_FORM_DRAFT]: OnyxTypes.IKnowATeacherForm; | ||
| [ONYXKEYS.FORMS.INTRO_SCHOOL_PRINCIPAL_FORM]: OnyxTypes.IntroSchoolPrincipalForm; | ||
| [ONYXKEYS.FORMS.INTRO_SCHOOL_PRINCIPAL_FORM_DRAFT]: OnyxTypes.IntroSchoolPrincipalForm; | ||
| [ONYXKEYS.FORMS.REPORT_VIRTUAL_CARD_FRAUD]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.REPORT_VIRTUAL_CARD_FRAUD_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.REPORT_PHYSICAL_CARD_FORM]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.REPORT_PHYSICAL_CARD_FORM_DRAFT]: OnyxTypes.Form; | ||
| [ONYXKEYS.FORMS.GET_PHYSICAL_CARD_FORM]: OnyxTypes.GetPhysicalCardForm; | ||
| [ONYXKEYS.FORMS.GET_PHYSICAL_CARD_FORM_DRAFT]: OnyxTypes.GetPhysicalCardForm; | ||
| [ONYXKEYS.FORMS.REPORT_FIELD_EDIT_FORM]: OnyxTypes.ReportFieldEditForm; | ||
| [ONYXKEYS.FORMS.REPORT_FIELD_EDIT_FORM_DRAFT]: OnyxTypes.Form; | ||
| // @ts-expect-error Different values are defined under the same key: ReimbursementAccount and ReimbursementAccountForm | ||
| [ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM]: OnyxTypes.ReimbursementAccountForm; | ||
| [ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM_DRAFT]: OnyxTypes.ReimbursementAccountForm; | ||
| [ONYXKEYS.FORMS.PERSONAL_BANK_ACCOUNT]: OnyxTypes.PersonalBankAccount; | ||
| [ONYXKEYS.FORMS.PERSONAL_BANK_ACCOUNT_DRAFT]: OnyxTypes.PersonalBankAccount; | ||
| }; | ||
| type OnyxCollectionKey = keyof OnyxCollectionValuesMapping; | ||
| type OnyxFormKey = keyof OnyxFormValuesMapping; | ||
| type OnyxFormDraftKey = keyof OnyxFormDraftValuesMapping; | ||
| type OnyxValueKey = keyof OnyxValuesMapping; | ||
|
|
||
| type OnyxKey = OnyxValueKey | OnyxCollectionKey | OnyxFormKey | OnyxFormDraftKey; | ||
| type OnyxValue<TOnyxKey extends OnyxKey> = OnyxEntry<OnyxValues[TOnyxKey]>; | ||
|
blazejkustra marked this conversation as resolved.
|
||
|
|
||
| type OnyxKeyValue<TOnyxKey extends (OnyxKey | OnyxCollectionKey) & keyof OnyxValues> = OnyxEntry<OnyxValues[TOnyxKey]>; | ||
| type MissingOnyxKeysError = `Error: Types don't match, OnyxKey type is missing: ${Exclude<AllOnyxKeys, OnyxKey>}`; | ||
| /** If this type errors, it means that the `OnyxKey` type is missing some keys. */ | ||
| // eslint-disable-next-line @typescript-eslint/no-unused-vars | ||
| type AssertOnyxKeys = AssertTypesEqual<AllOnyxKeys, OnyxKey, MissingOnyxKeysError>; | ||
|
blazejkustra marked this conversation as resolved.
|
||
|
|
||
| export default ONYXKEYS; | ||
| export type {OnyxKey, OnyxCollectionKey, OnyxValues, OnyxKeyValue, OnyxFormKey, OnyxKeysMap}; | ||
| export type {OnyxValues, OnyxKey, OnyxCollectionKey, OnyxValue, OnyxValueKey, OnyxFormKey, OnyxFormValuesMapping, OnyxFormDraftKey}; | ||
Uh oh!
There was an error while loading. Please reload this page.