@tostershmoster

Почему eslint выдаёт ошибку 'arg' is defined but never used?

На строке
RangeSlider(arg? : any): JQuery;

получаю ошибку
'arg' is defined but never used

Почему? Передаётся же параметр 'userOptions' в строке
$.fn.RangeSlider = function(userOptions): JQuery

Весь код
import { Model } from '../Model/Model';
import View from '../View/View';
import Presenter from '../Presenter/Presenter';

declare global {
  interface JQuery {
    RangeSlider(arg? : any): JQuery;
  }
}

export interface ISettings {
  min: number;
  max: number;
  isTwoRunners: boolean;
  isScaleVisible: boolean;
  isVertical: boolean;
  isTooltipsVisible: boolean;
  valueFrom: number;
  valueTo: number;
  step: number;
}

(function($) {
  const defaultSettings: ISettings = {
    min: 0,
    max: 100,
    isTwoRunners: true,
    isScaleVisible: false,
    isTooltipsVisible: true,
    isVertical: false,
    valueFrom: 30,
    valueTo: 70,
    step: 1,
  };

  $.fn.RangeSlider = function(userOptions): JQuery {
    const mergedSettings = $.extend({}, defaultSettings, userOptions);
    const elementId: string | null = this[0] ? `#${this[0].id}` : null;

    const model: Model = new Model(mergedSettings);
    const view: View = new View(elementId);
    const presenter: Presenter = new Presenter(model, view);

    return this;
  };
}(jQuery));


$('#range-slider').RangeSlider({
  min: 100,
  max: 150,
  valueFrom: 140,
  valueTo: 149,
  isScaleVisible: true,
  isVertical: false,
  step: 10,
});


При этом если убрать "arg? : any". Вот так
RangeSlider(): JQuery;

Выдаёт ошибку
Type '(userOptions: any) => JQuery' is not assignable to type '() => JQuery'.
  • Вопрос задан
  • 580 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
Вангую у Вас работает оригинальное правило no-unused-vars из самого eslint, которое не понимает описания типов из TypeScript, вместо него стоит использовать правило из плагина @typescript-eslint/no-unused-vars
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы