BACK
PracticeInterview: custom operator onlyAdmins()
PRACTICE · 80 · 練

Interview: custom operator onlyAdmins()

Build a custom operator that keeps admins and returns their names.

  1. Solve the task in the editor — no long theory.
  2. Run the check and compare your output with the expected result.
  3. Stuck? Open the solution and carry the approach into your own code.
Solution spoiler · click to reveal
const { from, filter, map } = Rx;

function onlyAdmins() {
  return source$ => source$.pipe(
    filter(user => user.role === 'admin'),
    map(user => user.name)
  );
}

const users$ = from([
  { name: 'Ada', role: 'admin' },
  { name: 'Lin', role: 'user' },
]);

users$.pipe(onlyAdmins()).subscribe(value => console.log(value));
script.ts // TypeScript
CONSOLE · Console output
Hit Run to see the result...