@@ -10,39 +10,29 @@ export type StrategiesMetadata<
1010 : never ;
1111} ;
1212
13- export interface ComposeStrategiesMetadata < Metadata > {
14- schema : 'compose-strategy' ,
15- version : 1 ,
16- composed : Metadata ;
17- }
18-
1913export function composeStrategies <
2014 const Strategies extends Record < string , StackSnapshotStrategy < any > > ,
2115> (
2216 strategies : Strategies ,
23- ) : StackSnapshotStrategy < ComposeStrategiesMetadata < StrategiesMetadata < Strategies > > > {
17+ ) : StackSnapshotStrategy < StrategiesMetadata < Strategies > > {
2418 const keys = Object . keys ( strategies ) as Array < keyof Strategies > ;
2519
2620 return {
2721 createMetadata ( args ) {
28- return {
29- schema : 'compose-strategy' ,
30- version : 1 ,
31- composed : Object . fromEntries (
32- keys . map ( ( key ) => [ key , strategies [ key ] . createMetadata ( args ) ] ) ,
33- ) as StrategiesMetadata < Strategies >
34- }
22+ return Object . fromEntries (
23+ keys . map ( ( key ) => [ key , strategies [ key ] . createMetadata ( args ) ] ) ,
24+ ) as StrategiesMetadata < Strategies >
3525 } ,
3626 shouldReuse ( { record, initialContext } ) {
37- if ( ! keys . every ( ( key ) => Object . hasOwn ( record . metadata . composed , key ) ) ) {
27+ if ( ! keys . every ( ( key ) => Object . hasOwn ( record . metadata , key ) ) ) {
3828 return false ;
3929 }
4030
4131 return keys . every ( ( key ) => {
4232 return strategies [ key ] . shouldReuse ( {
4333 record : {
4434 ...record ,
45- metadata : record . metadata . composed [ key ] ,
35+ metadata : record . metadata [ key ] ,
4636 } ,
4737 initialContext,
4838 } ) ;
0 commit comments