Discriminator in username
This commit is contained in:
parent
58f0012f14
commit
00f82a6d39
54 changed files with 2706 additions and 892 deletions
50
ts/state/selectors/username.ts
Normal file
50
ts/state/selectors/username.ts
Normal file
|
@ -0,0 +1,50 @@
|
|||
// Copyright 2022 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { createSelector } from 'reselect';
|
||||
|
||||
import type { UsernameReservationType } from '../../types/Username';
|
||||
import type { StateType } from '../reducer';
|
||||
import type {
|
||||
UsernameStateType,
|
||||
UsernameReservationStateType,
|
||||
} from '../ducks/username';
|
||||
import type {
|
||||
UsernameEditState,
|
||||
UsernameReservationState,
|
||||
UsernameReservationError,
|
||||
} from '../ducks/usernameEnums';
|
||||
|
||||
export const getUsernameState = (state: StateType): UsernameStateType =>
|
||||
state.username;
|
||||
|
||||
export const getUsernameEditState = createSelector(
|
||||
getUsernameState,
|
||||
(state: UsernameStateType): UsernameEditState => state.editState
|
||||
);
|
||||
|
||||
export const getUsernameReservation = createSelector(
|
||||
getUsernameState,
|
||||
(state: UsernameStateType): UsernameReservationStateType =>
|
||||
state.usernameReservation
|
||||
);
|
||||
|
||||
export const getUsernameReservationState = createSelector(
|
||||
getUsernameReservation,
|
||||
(reservation: UsernameReservationStateType): UsernameReservationState =>
|
||||
reservation.state
|
||||
);
|
||||
|
||||
export const getUsernameReservationObject = createSelector(
|
||||
getUsernameReservation,
|
||||
(
|
||||
reservation: UsernameReservationStateType
|
||||
): UsernameReservationType | undefined => reservation.reservation
|
||||
);
|
||||
|
||||
export const getUsernameReservationError = createSelector(
|
||||
getUsernameReservation,
|
||||
(
|
||||
reservation: UsernameReservationStateType
|
||||
): UsernameReservationError | undefined => reservation.error
|
||||
);
|
Loading…
Add table
Add a link
Reference in a new issue