%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
import type { ChartType, Scriptable, ScriptableContext } from '../../src/types.js';
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
};