UNPKG

timeline-state-resolver-types

Version:
51 lines 1.93 kB
import { ResolvedTimelineObjects } from './resolvedTimeline'; import { Content } from './timeline'; import { Time } from './types'; export interface ResolveOptions { /** * The base time to use when resolving. * Usually you want to input the current time (Date.now()) here. */ time: Time; /** * Limits the number of repeating objects in the future. * Defaults to 2, which means that the current one and the next will be resolved. */ limitCount?: number; /** * Limits the repeating objects and nextEvents to a time in the future. * It is recommended set this to a time in the future at which point you plan to re-resolve the timeline again. */ limitTime?: Time; /** * An object that is used to persist cache-data between resolves. * If you provide this, ensure that you provide the same object between resolves. * When set, will increase performance, especially when there are only small changes to the timeline. */ cache?: Partial<ResolverCache>; /** * Maximum depth of conflict resolution, per object. * If there are deeper relationships than this, the resolver will throw an error complaining about a circular reference. * Defaults to 5. */ conflictMaxDepth?: number; /** * If set to true, will output debug information to the console */ debug?: boolean; /** * Skip timeline validation. * This improves performance slightly, but will not catch errors in the input timeline so use with caution. */ skipValidation?: boolean; /** Skip generating statistics, this improves performance slightly. */ skipStatistics?: boolean; } export interface ResolverCache<TContent extends Content = Content> { objHashes: { [id: string]: string; }; objects: ResolvedTimelineObjects<TContent>; hasOldData?: boolean; } //# sourceMappingURL=resolver.d.ts.map