Skip to content

Commit 651ad0d

Browse files
authored
fix: supertimeline type mismatch (#421)
1 parent 35b1725 commit 651ad0d

2 files changed

Lines changed: 64 additions & 61 deletions

File tree

packages/timeline-state-resolver-types/src/__tests__/superfly-timeline.spec.ts

Lines changed: 52 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -46,62 +46,60 @@ describe('superfly-timeline', () => {
4646
// Check that types are the same:
4747
const a = [
4848
// Check that local interfaces matches original:
49-
(): Original.AllStates => returnType<Original.AllStates>(),
50-
(): Original.Cap => returnType<Original.Cap>(),
51-
(): Original.Content => returnType<Original.Content>(),
52-
(): Original.Duration => returnType<Original.Duration>(),
53-
(): Original.EventType => returnType<Original.EventType>(),
54-
(): Original.Expression => returnType<Original.Expression>(),
55-
(): Original.ExpressionObj => returnType<Original.ExpressionObj>(),
56-
(): Original.ExpressionOperator => returnType<Original.ExpressionOperator>(),
57-
(): Original.InnerExpression => returnType<Original.InnerExpression>(),
58-
(): Original.InstanceBase => returnType<Original.InstanceBase>(),
59-
(): Original.NextEvent => returnType<Original.NextEvent>(),
60-
(): Original.ObjectId => returnType<Original.ObjectId>(),
61-
(): Original.ResolveOptions => returnType<Original.ResolveOptions>(),
62-
(): Original.ResolvedTimeline => returnType<Original.ResolvedTimeline>(),
63-
(): Original.ResolvedTimelineObject => returnType<Original.ResolvedTimelineObject>(),
64-
(): Original.ResolvedTimelineObjectInstance => returnType<Original.ResolvedTimelineObjectInstance>(),
65-
(): Original.ResolvedTimelineObjectInstanceKeyframe =>
66-
returnType<Original.ResolvedTimelineObjectInstanceKeyframe>(),
67-
(): Original.ResolvedTimelineObjects => returnType<Original.ResolvedTimelineObjects>(),
68-
(): Original.ResolverCache => returnType<Original.ResolverCache>(),
69-
(): Original.StateInTime => returnType<Original.StateInTime>(),
70-
(): Original.Time => returnType<Original.Time>(),
71-
(): Original.TimelineEnable => returnType<Original.TimelineEnable>(),
72-
(): Original.TimelineKeyframe => returnType<Original.TimelineKeyframe>(),
73-
(): Original.TimelineObject => returnType<Original.TimelineObject>(),
74-
(): Original.TimelineObjectInstance => returnType<Original.TimelineObjectInstance>(),
75-
(): Original.TimelineState => returnType<Original.TimelineState>(),
49+
(): Original.AllStates => returnType<Local.AllStates>(),
50+
(): Original.Cap => returnType<Local.Cap>(),
51+
(): Original.Content => returnType<Local.Content>(),
52+
(): Original.Duration => returnType<Local.Duration>(),
53+
(): Original.EventType => returnType<Local.EventType>(),
54+
(): Original.Expression => returnType<Local.Expression>(),
55+
(): Original.ExpressionObj => returnType<Local.ExpressionObj>(),
56+
(): Original.ExpressionOperator => returnType<Local.ExpressionOperator>(),
57+
(): Original.InnerExpression => returnType<Local.InnerExpression>(),
58+
(): Original.InstanceBase => returnType<Local.InstanceBase>(),
59+
(): Original.NextEvent => returnType<Local.NextEvent>(),
60+
(): Original.ObjectId => returnType<Local.ObjectId>(),
61+
(): Original.ResolveOptions => returnType<Local.ResolveOptions>(),
62+
(): Original.ResolvedTimeline => returnType<Local.ResolvedTimeline>(),
63+
(): Original.ResolvedTimelineObject => returnType<Local.ResolvedTimelineObject>(),
64+
(): Original.ResolvedTimelineObjectInstance => returnType<Local.ResolvedTimelineObjectInstance>(),
65+
(): Original.ResolvedTimelineObjectInstanceKeyframe => returnType<Local.ResolvedTimelineObjectInstanceKeyframe>(),
66+
(): Original.ResolvedTimelineObjects => returnType<Local.ResolvedTimelineObjects>(),
67+
(): Original.ResolverCache => returnType<Local.ResolverCache>(),
68+
(): Original.StateInTime => returnType<Local.StateInTime>(),
69+
(): Original.Time => returnType<Local.Time>(),
70+
(): Original.TimelineEnable => returnType<Local.TimelineEnable>(),
71+
(): Original.TimelineKeyframe => returnType<Local.TimelineKeyframe>(),
72+
(): Original.TimelineObject => returnType<Local.TimelineObject>(),
73+
(): Original.TimelineObjectInstance => returnType<Local.TimelineObjectInstance>(),
74+
(): Original.TimelineState => returnType<Local.TimelineState>(),
7675

7776
// Check that original interfaces matches local
78-
(): Original.AllStates => returnType<Original.AllStates>(),
79-
(): Original.Cap => returnType<Original.Cap>(),
80-
(): Original.Content => returnType<Original.Content>(),
81-
(): Original.Duration => returnType<Original.Duration>(),
82-
(): Original.EventType => returnType<Original.EventType>(),
83-
(): Original.Expression => returnType<Original.Expression>(),
84-
(): Original.ExpressionObj => returnType<Original.ExpressionObj>(),
85-
(): Original.ExpressionOperator => returnType<Original.ExpressionOperator>(),
86-
(): Original.InnerExpression => returnType<Original.InnerExpression>(),
87-
(): Original.InstanceBase => returnType<Original.InstanceBase>(),
88-
(): Original.NextEvent => returnType<Original.NextEvent>(),
89-
(): Original.ObjectId => returnType<Original.ObjectId>(),
90-
(): Original.ResolveOptions => returnType<Original.ResolveOptions>(),
91-
(): Original.ResolvedTimeline => returnType<Original.ResolvedTimeline>(),
92-
(): Original.ResolvedTimelineObject => returnType<Original.ResolvedTimelineObject>(),
93-
(): Original.ResolvedTimelineObjectInstance => returnType<Original.ResolvedTimelineObjectInstance>(),
94-
(): Original.ResolvedTimelineObjectInstanceKeyframe =>
95-
returnType<Original.ResolvedTimelineObjectInstanceKeyframe>(),
96-
(): Original.ResolvedTimelineObjects => returnType<Original.ResolvedTimelineObjects>(),
97-
(): Original.ResolverCache => returnType<Original.ResolverCache>(),
98-
(): Original.StateInTime => returnType<Original.StateInTime>(),
99-
(): Original.Time => returnType<Original.Time>(),
100-
(): Original.TimelineEnable => returnType<Original.TimelineEnable>(),
101-
(): Original.TimelineKeyframe => returnType<Original.TimelineKeyframe>(),
102-
(): Original.TimelineObject => returnType<Original.TimelineObject>(),
103-
(): Original.TimelineObjectInstance => returnType<Original.TimelineObjectInstance>(),
104-
(): Original.TimelineState => returnType<Original.TimelineState>(),
77+
(): Local.AllStates => returnType<Original.AllStates>(),
78+
(): Local.Cap => returnType<Original.Cap>(),
79+
(): Local.Content => returnType<Original.Content>(),
80+
(): Local.Duration => returnType<Original.Duration>(),
81+
(): Local.EventType => returnType<Original.EventType>(),
82+
(): Local.Expression => returnType<Original.Expression>(),
83+
(): Local.ExpressionObj => returnType<Original.ExpressionObj>(),
84+
(): Local.ExpressionOperator => returnType<Original.ExpressionOperator>(),
85+
(): Local.InnerExpression => returnType<Original.InnerExpression>(),
86+
(): Local.InstanceBase => returnType<Original.InstanceBase>(),
87+
(): Local.NextEvent => returnType<Original.NextEvent>(),
88+
(): Local.ObjectId => returnType<Original.ObjectId>(),
89+
(): Local.ResolveOptions => returnType<Original.ResolveOptions>(),
90+
(): Local.ResolvedTimeline => returnType<Original.ResolvedTimeline>(),
91+
(): Local.ResolvedTimelineObject => returnType<Original.ResolvedTimelineObject>(),
92+
(): Local.ResolvedTimelineObjectInstance => returnType<Original.ResolvedTimelineObjectInstance>(),
93+
(): Local.ResolvedTimelineObjectInstanceKeyframe => returnType<Original.ResolvedTimelineObjectInstanceKeyframe>(),
94+
(): Local.ResolvedTimelineObjects => returnType<Original.ResolvedTimelineObjects>(),
95+
(): Local.ResolverCache => returnType<Original.ResolverCache>(),
96+
(): Local.StateInTime => returnType<Original.StateInTime>(),
97+
(): Local.Time => returnType<Original.Time>(),
98+
(): Local.TimelineEnable => returnType<Original.TimelineEnable>(),
99+
(): Local.TimelineKeyframe => returnType<Original.TimelineKeyframe>(),
100+
(): Local.TimelineObject => returnType<Original.TimelineObject>(),
101+
(): Local.TimelineObjectInstance => returnType<Original.TimelineObjectInstance>(),
102+
(): Local.TimelineState => returnType<Original.TimelineState>(),
105103
]
106104
expect(a).toBeTruthy()
107105

packages/timeline-state-resolver-types/src/superfly-timeline/api/resolvedTimeline.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,8 @@ export interface ResolvedTimeline<TContent extends Content = Content> {
2626
nextEvents: Array<NextEvent>
2727

2828
statistics: {
29-
/** Number of objects that were unable to resolve */
30-
unresolvedCount: number
31-
/** Number of objects that were resolved */
32-
resolvedCount: number
33-
29+
/** Number of timeline objects (including keyframes) in the timeline */
30+
totalCount: number
3431
/** Number of resolved instances */
3532
resolvedInstanceCount: number
3633
/** Number of resolved objects */
@@ -39,9 +36,17 @@ export interface ResolvedTimeline<TContent extends Content = Content> {
3936
resolvedGroupCount: number
4037
/** Number of resolved keyframes */
4138
resolvedKeyframeCount: number
42-
43-
/** How many objects that was actually resolved (is affected when using cache) */
39+
/** How many objects (including keyframes) where actually resolved (is affected when using cache) */
40+
resolvingObjectCount: number
41+
/**
42+
* How many times the objects where resolved.
43+
* If there are deep/recursive references in the timline,
44+
* the resolver might resolve an object multiple times in order to fully resolve the timeline.
45+
* (is affected when using cache)
46+
*/
4447
resolvingCount: number
48+
/** If traceResolving option is enabled, will contain a trace of the steps the resolver did while resolving */
49+
resolveTrace: string[]
4550
}
4651
}
4752
export interface ResolvedTimelineObjects<TContent extends Content = Content> {

0 commit comments

Comments
 (0)