File tree Expand file tree Collapse file tree 3 files changed +7
-16
lines changed
packages/core/src/render3/reactivity Expand file tree Collapse file tree 3 files changed +7
-16
lines changed Original file line number Diff line number Diff line change 88
99import { createComputed , SIGNAL } from '@angular/core/primitives/signals' ;
1010
11- import { performanceMarkFeature } from '../../util/performance' ;
12-
1311import { Signal , ValueEqualityFn } from './api' ;
1412
1513/**
@@ -31,10 +29,7 @@ export interface CreateComputedOptions<T> {
3129 * Create a computed `Signal` which derives a reactive value from an expression.
3230 */
3331export function computed < T > ( computation : ( ) => T , options ?: CreateComputedOptions < T > ) : Signal < T > {
34- const getter = createComputed ( computation ) ;
35- if ( options ?. equal ) {
36- getter [ SIGNAL ] . equal = options . equal ;
37- }
32+ const getter = createComputed ( computation , options ?. equal ) ;
3833
3934 if ( ngDevMode ) {
4035 getter . toString = ( ) => `[Computed: ${ getter ( ) } ]` ;
Original file line number Diff line number Diff line change 66 * found in the LICENSE file at https://angular.dev/license
77 */
88
9- import { signalAsReadonlyFn , WritableSignal } from './signal' ;
10- import { Signal , ValueEqualityFn } from './api' ;
11- import { performanceMarkFeature } from '../../util/performance' ;
129import {
1310 ComputationFn ,
1411 createLinkedSignal ,
1512 LinkedSignalGetter ,
1613 LinkedSignalNode ,
17- SIGNAL ,
1814 linkedSignalSetFn ,
1915 linkedSignalUpdateFn ,
16+ SIGNAL ,
2017} from '@angular/core/primitives/signals' ;
18+ import { Signal , ValueEqualityFn } from './api' ;
19+ import { signalAsReadonlyFn , WritableSignal } from './signal' ;
2120
2221const identityFn = < T > ( v : T ) => v ;
2322
Original file line number Diff line number Diff line change @@ -15,8 +15,6 @@ import {
1515 signalUpdateFn ,
1616} from '@angular/core/primitives/signals' ;
1717
18- import { performanceMarkFeature } from '../../util/performance' ;
19-
2018import { isSignal , Signal , ValueEqualityFn } from './api' ;
2119
2220/** Symbol used distinguish `WritableSignal` from other non-writable signals and functions. */
@@ -76,11 +74,10 @@ export interface CreateSignalOptions<T> {
7674 * Create a `Signal` that can be set or updated directly.
7775 */
7876export function signal < T > ( initialValue : T , options ?: CreateSignalOptions < T > ) : WritableSignal < T > {
79- const signalFn = createSignal ( initialValue ) as SignalGetter < T > & WritableSignal < T > ;
77+ const signalFn = createSignal ( initialValue , options ?. equal ) as SignalGetter < T > &
78+ WritableSignal < T > ;
79+
8080 const node = signalFn [ SIGNAL ] ;
81- if ( options ?. equal ) {
82- node . equal = options . equal ;
83- }
8481
8582 signalFn . set = ( newValue : T ) => signalSetFn ( node , newValue ) ;
8683 signalFn . update = ( updateFn : ( value : T ) => T ) => signalUpdateFn ( node , updateFn ) ;
You can’t perform that action at this time.
0 commit comments