Как отказаться от функции в моем дополнении? - PullRequest
0 голосов
/ 06 июня 2019

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

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

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

1 Ответ

2 голосов
/ 06 июня 2019

Аддон может использовать тот же стиль предупреждений об устаревании, что и 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'
    }
);
// ...

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

a yellow warning box with an alert icon and instructions

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

assert.expectDeprecation(/expected deprecation message/);
...