]> git.ipfire.org Git - thirdparty/Chart.js.git/commitdiff
Allow single parameter to Defaults.set (#8050)
authorJukka Kurkela <jukka.kurkela@gmail.com>
Thu, 19 Nov 2020 18:58:24 +0000 (20:58 +0200)
committerGitHub <noreply@github.com>
Thu, 19 Nov 2020 18:58:24 +0000 (20:58 +0200)
* Allow single parameter to Defaults.set

* Review update

* Record

src/core/core.defaults.js
types/core/index.d.ts

index ac088cc8d63c0fb4d4edad8d128c19f16fa30b32..d0bd316e8360eb987ab05cc8e8a526d7771780da 100644 (file)
@@ -59,14 +59,21 @@ export class Defaults {
                this.scales = {};
                this.controllers = {};
        }
+
        /**
-        * @param {string} scope
-        * @param {*} values
+        * @param {string|object} scope
+        * @param {object} [values]
         */
        set(scope, values) {
-               return merge(getScope(this, scope), values);
+               if (typeof scope === 'string') {
+                       return merge(getScope(this, scope), values);
+               }
+               return merge(getScope(this, ''), scope);
        }
 
+       /**
+        * @param {string} scope
+        */
        get(scope) {
                return getScope(this, scope);
        }
index 4691cf1eaebd3b172e5c0731f08833a996421973..3f9e36a3c1351b54a4d6742f2e6b4f2b627b026c 100644 (file)
@@ -333,6 +333,7 @@ export interface DatasetControllerChartComponent extends ChartComponent {
        };
 }
 
+export type AnyObject = Record<string, unknown>;
 export interface Defaults extends CoreChartOptions, ElementChartOptions {
        controllers: {
                [key in ChartType]: DeepPartial<
@@ -352,8 +353,9 @@ export interface Defaults extends CoreChartOptions, ElementChartOptions {
 
        plugins: PluginOptions;
 
-       set(scope: string, values: any): any;
-       get(scope: string): any;
+       set(values: AnyObject): AnyObject;
+       set(scope: string, values: AnyObject): AnyObject;
+       get(scope: string): AnyObject;
 
        /**
         * Routes the named defaults to fallback to another scope/name.