@@ -32,13 +32,13 @@ export function modifierCapabilities<Version extends keyof ModifierCapabilitiesV
32
32
} ) ;
33
33
}
34
34
35
- export interface CustomModifierState < ModifierInstance > {
35
+ export interface CustomModifierState < ModifierStateBucket > {
36
36
tag : UpdatableTag ;
37
37
element : SimpleElement ;
38
- modifier : ModifierInstance ;
39
- delegate : ModifierManager < ModifierInstance > ;
38
+ modifier : ModifierStateBucket ;
39
+ delegate : ModifierManager < ModifierStateBucket > ;
40
40
args : Arguments ;
41
- debugName ?: string ;
41
+ definition ?: object ;
42
42
}
43
43
44
44
/**
@@ -65,12 +65,12 @@ export interface CustomModifierState<ModifierInstance> {
65
65
* `updateModifier()` - invoked when the arguments passed to a modifier change
66
66
* `destroyModifier()` - invoked when the modifier is about to be destroyed
67
67
*/
68
- export class CustomModifierManager < O extends Owner , ModifierInstance >
69
- implements InternalModifierManager < CustomModifierState < ModifierInstance > >
68
+ export class CustomModifierManager < O extends Owner , ModifierStateBucket >
69
+ implements InternalModifierManager < CustomModifierState < ModifierStateBucket > >
70
70
{
71
- private componentManagerDelegates = new WeakMap < O , ModifierManager < ModifierInstance > > ( ) ;
71
+ private componentManagerDelegates = new WeakMap < O , ModifierManager < ModifierStateBucket > > ( ) ;
72
72
73
- constructor ( private factory : ManagerFactory < O , ModifierManager < ModifierInstance > > ) { }
73
+ constructor ( private factory : ManagerFactory < O , ModifierManager < ModifierStateBucket > > ) { }
74
74
75
75
private getDelegateFor ( owner : O ) {
76
76
let { componentManagerDelegates } = this ;
@@ -99,45 +99,44 @@ export class CustomModifierManager<O extends Owner, ModifierInstance>
99
99
let delegate = this . getDelegateFor ( owner ) ;
100
100
101
101
let args = argsProxyFor ( capturedArgs , 'modifier' ) ;
102
- let instance : ModifierInstance = delegate . createModifier ( definition , args ) ;
102
+ let modifier : ModifierStateBucket = delegate . createModifier ( definition , args ) ;
103
103
104
104
let tag = createUpdatableTag ( ) ;
105
- let state : CustomModifierState < ModifierInstance > ;
105
+ let state : CustomModifierState < ModifierStateBucket > ;
106
106
107
107
state = {
108
108
tag,
109
109
element,
110
110
delegate,
111
111
args,
112
- modifier : instance ,
112
+ definition,
113
+ modifier,
113
114
} ;
114
115
115
- registerDestructor ( state , ( ) => delegate . destroyModifier ( instance , args ) ) ;
116
+ registerDestructor ( state , ( ) => delegate . destroyModifier ( modifier , args ) ) ;
116
117
117
118
return state ;
118
119
}
119
120
120
- getDebugName ( state : CustomModifierState < ModifierInstance > , definition : object ) {
121
- let delegate = state . delegate ;
122
- if ( typeof delegate . getDebugName === 'function' ) {
121
+ getDebugName ( { delegate, definition } : CustomModifierState < ModifierStateBucket > ) {
122
+ if ( typeof delegate ?. getDebugName === 'function' ) {
123
123
return delegate . getDebugName ( definition ) ;
124
124
}
125
125
return ( definition as any ) . name || '<unknown>' ;
126
126
}
127
127
128
- getDebugInstance ( state : CustomModifierState < ModifierInstance > ) {
129
- let delegate = state . delegate ;
130
- if ( typeof delegate . getDebugInstance === 'function' ) {
131
- return delegate . getDebugInstance ( state ) ;
128
+ getDebugInstance ( { delegate, modifier } : CustomModifierState < ModifierStateBucket > ) {
129
+ if ( typeof delegate ?. getDebugInstance === 'function' ) {
130
+ return delegate . getDebugInstance ( modifier ) ;
132
131
}
133
- return state . modifier || delegate ;
132
+ return modifier || delegate ;
134
133
}
135
134
136
- getTag ( { tag } : CustomModifierState < ModifierInstance > ) {
135
+ getTag ( { tag } : CustomModifierState < ModifierStateBucket > ) {
137
136
return tag ;
138
137
}
139
138
140
- install ( { element, args, modifier, delegate } : CustomModifierState < ModifierInstance > ) {
139
+ install ( { element, args, modifier, delegate } : CustomModifierState < ModifierStateBucket > ) {
141
140
let { capabilities } = delegate ;
142
141
143
142
if ( capabilities . disableAutoTracking === true ) {
@@ -147,7 +146,7 @@ export class CustomModifierManager<O extends Owner, ModifierInstance>
147
146
}
148
147
}
149
148
150
- update ( { args, modifier, delegate } : CustomModifierState < ModifierInstance > ) {
149
+ update ( { args, modifier, delegate } : CustomModifierState < ModifierStateBucket > ) {
151
150
let { capabilities } = delegate ;
152
151
153
152
if ( capabilities . disableAutoTracking === true ) {
@@ -157,7 +156,7 @@ export class CustomModifierManager<O extends Owner, ModifierInstance>
157
156
}
158
157
}
159
158
160
- getDestroyable ( state : CustomModifierState < ModifierInstance > ) {
159
+ getDestroyable ( state : CustomModifierState < ModifierStateBucket > ) {
161
160
return state ;
162
161
}
163
162
}
0 commit comments