diff --git a/apps/performance/35-memoization/src/app/calculate.pipe.ts b/apps/performance/35-memoization/src/app/calculate.pipe.ts new file mode 100644 index 000000000..a1f6ded50 --- /dev/null +++ b/apps/performance/35-memoization/src/app/calculate.pipe.ts @@ -0,0 +1,12 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import { fibonacci } from './person-list.component'; + +@Pipe({ + name: 'calculate', +}) +export class CalculatePipe implements PipeTransform { + transform(value: number): number { + console.log('Calculating...'); + return fibonacci(value); + } +} diff --git a/apps/performance/35-memoization/src/app/generateList.ts b/apps/performance/35-memoization/src/app/generateList.ts index 62978ec5e..da8f0155e 100644 --- a/apps/performance/35-memoization/src/app/generateList.ts +++ b/apps/performance/35-memoization/src/app/generateList.ts @@ -11,5 +11,6 @@ export function generateList() { }); } + console.log(arr); return arr; } diff --git a/apps/performance/35-memoization/src/app/person-list.component.ts b/apps/performance/35-memoization/src/app/person-list.component.ts index 28cbac267..9e1fbefa8 100644 --- a/apps/performance/35-memoization/src/app/person-list.component.ts +++ b/apps/performance/35-memoization/src/app/person-list.component.ts @@ -6,9 +6,10 @@ import { MatChipsModule } from '@angular/material/chips'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatInputModule } from '@angular/material/input'; import { MatListModule } from '@angular/material/list'; +import { CalculatePipe } from './calculate.pipe'; import { Person } from './person.model'; -const fibonacci = (num: number): number => { +export const fibonacci = (num: number): number => { if (num === 1 || num === 2) { return 1; } @@ -24,6 +25,7 @@ const fibonacci = (num: number): number => { MatFormFieldModule, MatInputModule, MatChipsModule, + CalculatePipe, ], template: `