signal-desktop/ts/state/selectors/safetyNumber.ts

37 lines
890 B
TypeScript
Raw Normal View History

2020-10-30 20:34:04 +00:00
// Copyright 2020 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { createSelector } from 'reselect';
import type { StateType } from '../reducer';
import type {
SafetyNumberContactType,
SafetyNumberStateType,
} from '../ducks/safetyNumber';
const getSafetyNumber = (state: StateType): SafetyNumberStateType =>
state.safetyNumber;
type Props = {
contactID: string;
};
const getContactID = (_: StateType, props: Props): string => props.contactID;
export const getContactSafetyNumber = createSelector(
[getSafetyNumber, getContactID],
(
{ contacts }: SafetyNumberStateType,
contactID: string
): SafetyNumberContactType | void => contacts[contactID]
);
export const getContactSafetyNumberSelector = createSelector(
[getSafetyNumber],
({ contacts }) => {
return (contactId: string) => {
return contacts[contactId];
};
}
);