UNPKG

chart.js

Version:

Simple HTML5 charts using the canvas element.

42 lines (41 loc) 1.59 kB
import type { AnyObject } from '../types/basic.js'; import type { Merge } from '../types/utils.js'; export type ResolverObjectKey = string | boolean; export interface ResolverCache<T extends AnyObject[] = AnyObject[], R extends AnyObject[] = T> { [Symbol.toStringTag]: 'Object'; _cacheable: boolean; _scopes: T; _rootScopes: T | R; _fallback: ResolverObjectKey; _keys?: string[]; _scriptable?: boolean; _indexable?: boolean; _allKeys?: boolean; _storage?: T[number]; _getTarget(): T[number]; override<S extends AnyObject>(scope: S): ResolverProxy<(T[number] | S)[], T | R>; } export type ResolverProxy<T extends AnyObject[] = AnyObject[], R extends AnyObject[] = T> = Merge<T[number]> & ResolverCache<T, R>; export interface DescriptorDefaults { scriptable: boolean; indexable: boolean; allKeys?: boolean; } export interface Descriptor { allKeys: boolean; scriptable: boolean; indexable: boolean; isScriptable(key: string): boolean; isIndexable(key: string): boolean; } export interface ContextCache<T extends AnyObject[] = AnyObject[], R extends AnyObject[] = T> { _cacheable: boolean; _proxy: ResolverProxy<T, R>; _context: AnyObject; _subProxy: ResolverProxy<T, R>; _stack: Set<string>; _descriptors: Descriptor; setContext(ctx: AnyObject): ContextProxy<T, R>; override<S extends AnyObject>(scope: S): ContextProxy<(T[number] | S)[], T | R>; } export type ContextProxy<T extends AnyObject[] = AnyObject[], R extends AnyObject[] = T> = Merge<T[number]> & ContextCache<T, R>;