Как отказаться от функции в моем аддоне?

Я пишу аддон Ember.js, и мне нужно отказаться от функции. Могу ли я использовать ту же систему амортизации, что и Ember? Я хочу, чтобы мои пользователи могли отключить предупреждения.

В идеале мне также нужно иметь возможность проверить, что сообщение об устаревании работает в правильных условиях из моего набора тестов.

Я использую Ember 3.x.

1 ответ

Аддон может использовать тот же стиль предупреждений об устаревании, что и Ember, через deprecate метод:

import { deprecate } from '@ember/application/deprecations';

deprecate принимает три аргумента: строку в качестве сообщения, логический тест, где falsey означает, что будет показан устаревший контент, и объект параметров с дополнительной информацией для отображения.

Например:

import { deprecate } from '@ember/application/deprecations';
// ...
deprecate(
   "message about your addon that mentions the addon by name", 
   false,
   {
      id: 'send-component-hash',
      until: '2.0.0',
      url: 'some url goes here'
    }
);
// ...

Сообщение в консоли будет выглядеть примерно так:

Тестирование устаревания может быть выполнено с помощью библиотеки, такой как ember-qunit-assert. Как только он установлен, expectDeprecation будет доступно на assert если вы уже используете qunit в ваших тестах:

assert.expectDeprecation(/expected deprecation message/);
Другие вопросы по тегам