Как отказаться от функции в моем аддоне?
Я пишу аддон 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/);