mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
* feat: add ESM support * build: rename UMD bundle * chore: edit supbackages description * style: disable es/no-import-meta linter rule * test: dynamic import in cjs module * docs: edit integrations page * docs: review fixes * chore: remove useless regex in webpack config * ci: test size-limit only for ESM bundle
23 lines
896 B
TypeScript
23 lines
896 B
TypeScript
import { ChartType, Scriptable, ScriptableContext } from '..';
|
|
|
|
interface test {
|
|
pie?: Scriptable<number, ScriptableContext<'pie'>>,
|
|
line?: Scriptable<number, ScriptableContext<'line'>>,
|
|
testA?: Scriptable<number, ScriptableContext<'pie'>>
|
|
testB?: Scriptable<number, ScriptableContext<'line' | 'bar'>>
|
|
testC?: Scriptable<number, ScriptableContext<'pie' | 'line' | 'bar'>>
|
|
testD?: Scriptable<number, ScriptableContext<ChartType>>
|
|
}
|
|
|
|
const testImpl: test = {
|
|
pie: (ctx) => ctx.parsed + ctx.chart.width,
|
|
line: (ctx) => ctx.parsed.x + ctx.parsed.y,
|
|
testA: (ctx) => ctx.parsed + ctx.dataset.data[0],
|
|
testB: (ctx) => ctx.parsed.x + ctx.parsed.y,
|
|
// @ts-expect-error combined type should not be any
|
|
testC: (ctx) => ctx.fail,
|
|
// combined types are intersections and permit invalid usage
|
|
testD: (ctx) => ctx.parsed + ctx.parsed.x + ctx.parsed.r + ctx.parsed._custom.barEnd
|
|
};
|
|
|