MetaMask / MetaMask/metamask-extension
[Typescript Conversion: Level 18]: Convert ui/selectors/index.js to typescript
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
## **Description**
Convert `ui/selectors/index.js` from JavaScript to TypeScript as part of the TS migration initiative.
## **Scenario (for user stories only)**
_(Not applicable)_
## **Design (for user stories only)**
_(Not applicable)_
## **Technical Details (for technical tasks only)**
- Convert this file to TypeScript.
- Migration Level: **18**
- Dependencies:
- ui/selectors/confirm-transaction.js
- ui/selectors/custom-gas.js
- ui/selectors/first-time-flow.js
- ui/selectors/metametrics.js
- ui/selectors/selectors.js
- ui/selectors/transactions.js
- Dependents:
- ui/components/app/alerts/unconnected-account-alert/unconnected-account-alert.js
- ui/components/app/app-loading-spinner/app-loading-spinner.js
- ui/components/app/cancel-button/cancel-button.js
- ui/components/app/cancel-speedup-popover/cancel-speedup-popover.js
- ui/components/app/connected-accounts-list/connected-accounts-list-item/connected-accounts-list-item.component.js
- ui/components/app/connected-accounts-permissions/connected-accounts-permissions.js
- ui/components/app/currency-input/currency-input.js
- ui/components/app/detected-token/detected-token-details/detected-token-details.js
- ui/components/app/detected-token/detected-token-selection-popover/detected-token-selection-popover.js
- ui/components/app/detected-token/detected-token-values/detected-token-values.js
- ui/components/app/detected-token/detected-token.js
- ui/components/app/loading-network-screen/loading-network-screen.container.js
- ui/components/app/modals/edit-approval-permission/edit-approval-permission.container.js
- ui/components/app/modals/nickname-popovers/nickname-popovers.component.js
- ui/components/app/network-display/network-display.js
- ui/components/app/permission-page-container/permission-page-container.container.js
- ui/components/app/permissions-connect-permission-list/permissions-connect-permission-list.js
- ui/components/app/qr-hardware-popover/qr-hardware-popover.js
- ui/components/app/selected-account/selected-account.container.js
- ui/components/app/transaction-activity-log/transaction-activity-log.container.js
- ui/components/app/transaction-list-item-details/transaction-list-item-details.container.js
- ui/components/app/transaction-list-item/smart-transaction-list-item.component.js
- ui/components/app/transaction-list-item/transaction-list-item.component.js
- ui/components/app/transaction-list/transaction-list.component.js
- ui/components/ui/account-mismatch-warning/account-mismatch-warning.component.js
- ui/components/ui/identicon/identicon.container.js
- ui/components/ui/nickname-popover/nickname-popover.component.js
- ui/components/ui/token-input/token-input.container.js
- ui/components/ui/update-nickname-popover/update-nickname-popover.js
- ui/ducks/alerts/unconnected-account.js
- ui/ducks/confirm-transaction/confirm-transaction.duck.js
- ui/ducks/send/helpers.js
- ui/ducks/send/send.js
- ui/ducks/swaps/swaps.js
- ui/hooks/useEventFragment.js
- ui/hooks/useSegmentContext.js
- ui/hooks/useTokenFiatAmount.js
- ui/hooks/useTokenTracker.js
- ui/hooks/useUserPreferencedCurrency.js
- ui/index.js
- ui/pages/asset/asset.tsx
- ui/pages/asset/components/asset-options.js
- ui/pages/asset/components/native-asset.tsx
- ui/pages/asset/components/token-asset.tsx
- ui/pages/confirm-add-suggested-token/confirm-add-suggested-token.js
- ui/pages/connected-accounts/connected-accounts.component.js
- ui/pages/connected-accounts/connected-accounts.container.js
- ui/pages/connected-sites/connected-sites.container.js
- ui/pages/create-account/connect-hardware/index.js
- ui/pages/home/home.container.js
- ui/pages/notifications/notifications.tsx
- ui/pages/onboarding-flow/create-password/create-password.js
- ui/pages/onboarding-flow/creation-successful/creation-successful.js
- ui/pages/onboarding-flow/import-srp/import-srp.js
- ui/pages/onboarding-flow/metametrics/metametrics.js
- ui/pages/onboarding-flow/onboarding-flow.js
- ui/pages/onboarding-flow/pin-extension/pin-extension.js
- ui/pages/onboarding-flow/privacy-settings/privacy-settings.js
- ui/pages/onboarding-flow/welcome/welcome.js
- ui/pages/permissions-connect/permissions-connect.container.js
- ui/pages/routes/routes.container.js
- ui/pages/settings/advanced-tab/advanced-tab.container.js
- ui/pages/settings/contact-list-tab/add-contact/add-contact.container.js
- ui/pages/settings/contact-list-tab/contact-list-tab.container.js
- ui/pages/settings/contact-list-tab/contact-list-tab.stories.js
- ui/pages/settings/contact-list-tab/edit-contact/edit-contact.container.js
- ui/pages/settings/contact-list-tab/view-contact/view-contact.container.js
- ui/pages/settings/experimental-tab/experimental-tab.container.ts
- ui/pages/settings/networks-tab/networks-form/networks-form.tsx
- ui/pages/settings/settings-tab/settings-tab.container.js
- ui/pages/settings/settings.container.js
- ui/pages/swaps/awaiting-swap/awaiting-swap.js
- ui/pages/swaps/create-new-swap/create-new-swap.js
- ui/pages/swaps/fee-card/fee-card.js
- ui/pages/swaps/index.js
- ui/pages/swaps/searchable-item-list/item-list/item-list.component.js
- ui/pages/swaps/select-quote-popover/quote-details/quote-details.js
- ui/pages/swaps/select-quote-popover/sort-list/sort-list.js
- ui/pages/swaps/smart-transaction-status/smart-transaction-status.js
- ui/store/actions.ts
## **[Threat Modeling Framework](https://github.com/adamshostack/4QuestionFrame) (for technical tasks only)**
- What are we working on? Convert file to TypeScript.
- What can go wrong? Type errors, integration mismatches, missing types.
- What are we going to do about it? Write types carefully and test thoroughly.
- Did we do a good job? _(To be evaluated)_
## **Acceptance Criteria**
- File is fully converted to TypeScript.
- Tests pass.
- File adheres to linting rules.
- Functionality remains unchanged.
## **Stakeholder Review (for MetaMask employees only)**
- [X] Engineering
- [ ] Design
- [ ] Product
- [ ] QA
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management
- [ ] Other
## **References**
- Parent issue: #31460
Contributor guide
Assessment
This issue has not been assessed yet.