All files / publisher-admin/state selectors.ts

100% Statements 8/8
100% Branches 0/0
100% Functions 2/2
100% Lines 8/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                        2x     2x 2x   2x       2x     4x 4x   4x      
import { selector } from "recoil";
 
import { getFilteredInvites, getFilteredCollaborators } from "../utils";
 
import {
  filterQueryState,
  collaboratorsListState,
  invitesListState,
} from "./atoms";
 
import type { Collaborator, Invite } from "../types";
 
export const filteredCollaboratorsListState = selector<Array<Collaborator>>({
  key: "filteredCollaboratorsList",
  get: ({ get }) => {
    const filterQuery = get(filterQueryState);
    const collaborators = get(collaboratorsListState);
 
    return getFilteredCollaborators(filterQuery, collaborators);
  },
});
 
export const filteredInvitesListState = selector<Array<Invite>>({
  key: "filteredInvitesList",
  get: ({ get }) => {
    const filterQuery = get(filterQueryState);
    const invites = get(invitesListState);
 
    return getFilteredInvites(filterQuery, invites);
  },
});