11import { performance } from 'node:perf_hooks' ;
2+ import { objectToEntries } from './transform.js' ;
23import type {
34 DevToolsColor ,
45 DevToolsProperties ,
@@ -185,21 +186,18 @@ export type MergeResult<
185186export function mergeDevtoolsPayload <
186187 const P extends readonly Partial < TrackEntryPayload | MarkerPayload > [ ] ,
187188> ( ...parts : P ) : MergeResult < P > {
188- return parts . reduce (
189- ( acc , cur ) => ( {
190- ...acc ,
191- ...cur ,
192- ...( cur . properties || acc . properties
193- ? {
194- properties : mergePropertiesWithOverwrite (
195- acc . properties ?? [ ] ,
196- cur . properties ?? [ ] ,
197- ) ,
198- }
199- : { } ) ,
200- } ) ,
201- { } as Partial < TrackEntryPayload > ,
202- ) as MergeResult < P > ;
189+ return parts . reduce ( ( acc , cur ) => ( {
190+ ...acc ,
191+ ...cur ,
192+ ...( cur . properties || acc . properties
193+ ? {
194+ properties : mergePropertiesWithOverwrite (
195+ acc . properties ?? [ ] ,
196+ cur . properties ?? [ ] ,
197+ ) ,
198+ }
199+ : { } ) ,
200+ } ) ) as MergeResult < P > ;
203201}
204202
205203export function mergeDevtoolsPayloadAction <
@@ -220,14 +218,11 @@ export type ActionTrack = TrackEntryPayload & ActionColorPayload;
220218export function setupTracks <
221219 const T extends Record < string , Partial < ActionTrack > > ,
222220 const D extends ActionTrack ,
223- > ( defaults : D , tracks : T ) : Record < keyof T , ActionTrack > {
224- return Object . entries ( tracks ) . reduce (
225- ( result , [ key , track ] ) => ( {
226- ...result ,
227- [ key ] : mergeDevtoolsPayload ( defaults , track ) as ActionTrack ,
228- } ) ,
229- { } as Record < keyof T , ActionTrack > ,
230- ) ;
221+ > ( defaults : D , tracks : T ) {
222+ return objectToEntries ( tracks ) . reduce ( ( result , [ key , track ] ) => ( {
223+ ...result ,
224+ [ key ] : mergeDevtoolsPayload ( defaults , track ) ,
225+ } ) ) as Record < keyof T , ActionTrack > ;
231226}
232227
233228/**
0 commit comments