Fix animation types, add test (#8476)

This commit is contained in:
Jukka Kurkela 2021-02-21 16:15:26 +02:00 committed by GitHub
parent b87c12e7d6
commit def8d25d4b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 58 additions and 4 deletions

View File

@ -40,7 +40,7 @@
"lint-js": "eslint samples/**/*.html samples/**/*.js src/**/*.js test/**/*.js",
"lint-md": "markdownlint-cli2 \"**/*.md\" \"#**/node_modules\"",
"lint-tsc": "tsc",
"lint-types": "eslint types/**/*.d.ts",
"lint-types": "eslint types/**/*.d.ts && tsc -p types/tests/",
"lint": "concurrently \"npm:lint-*\"",
"test": "npm run lint && cross-env NODE_ENV=test karma start --auto-watch --single-run --coverage --grep",
"typedoc": "npx typedoc"

View File

@ -1489,7 +1489,7 @@ export type AnimationSpec = {
}
export type AnimationsSpec = {
[name: string]: AnimationSpec & {
[name: string]: false | AnimationSpec & {
properties: string[];
/**
@ -1507,7 +1507,7 @@ export type AnimationsSpec = {
*
*/
to: Scriptable<Color | number | boolean, ScriptableContext>;
} | false
}
}
export type TransitionSpec = {
@ -1520,7 +1520,7 @@ export type TransitionsSpec = {
}
export type AnimationOptions = {
animation: AnimationSpec & {
animation: false | AnimationSpec & {
/**
* Callback called on each step of an animation.
*/

42
types/tests/animation.ts Normal file
View File

@ -0,0 +1,42 @@
import { Chart } from '../index.esm';
const chart = new Chart('id', {
type: 'bar',
data: {
labels: [],
datasets: [{
data: []
}]
},
options: {
animation: false,
animations: {
colors: false,
numbers: {
properties: ['a', 'b'],
type: 'number',
from: 0,
to: 10,
delay: (ctx) => ctx.dataIndex * 100,
duration: (ctx) => ctx.datasetIndex * 1000,
loop: true,
easing: 'linear'
}
},
transitions: {
show: {
animation: {
duration: 10
},
animations: {
numbers: false
}
},
custom: {
animation: {
duration: 10
}
}
}
},
});

12
types/tests/tsconfig.json Normal file
View File

@ -0,0 +1,12 @@
{
"compilerOptions": {
"target": "ES6",
"moduleResolution": "Node",
"alwaysStrict": true,
"noEmit": true
},
"include": [
"*.ts",
"../index.esm.d.ts"
]
}