diff --git a/types/ember/v2/index.d.ts b/types/ember/v2/index.d.ts
index 54b6d2e4a9..1875f23eca 100755
--- a/types/ember/v2/index.d.ts
+++ b/types/ember/v2/index.d.ts
@@ -12,7 +12,6 @@
// TypeScript Version: 2.4
///
-///
declare module 'ember' {
// Capitalization is intentional: this makes it much easier to re-export RSVP on
@@ -274,6 +273,12 @@ declare module 'ember' {
triggerAction(opts: TriggerActionOptions): boolean;
}
+ interface DeprecationOptions {
+ id: string;
+ until: string;
+ url?: string;
+ }
+
export namespace Ember {
interface FunctionPrototypeExtensions {
/**
@@ -2415,6 +2420,7 @@ declare module 'ember' {
function print(ast: any): void;
const logger: typeof Ember.Logger;
function log(level: string, str: string): void;
+ function registerHelper(name: string, helper: any): void;
}
namespace String {
function camelize(str: string): string;
@@ -2574,14 +2580,14 @@ declare module 'ember' {
*/
deprecatingAlias(
dependentKey: string,
- options: { id: string; until: string }
+ options: DeprecationOptions
): ComputedProperty;
/**
* @deprecated Missing deprecation options: https://emberjs.com/deprecations/v2.x/#toc_ember-debug-function-options
*/
deprecatingAlias(
dependentKey: string,
- options?: { id?: string; until?: string }
+ options?: Partial
): ComputedProperty;
/**
* A computed property that returns the sum of the values
@@ -2977,7 +2983,7 @@ declare module 'ember' {
function deprecate(
message: string,
test: boolean,
- options: { id: string; until: string }
+ options: DeprecationOptions
): any;
/**
* @deprecated Missing deprecation options: https://emberjs.com/deprecations/v2.x/#toc_ember-debug-function-options
@@ -2985,7 +2991,7 @@ declare module 'ember' {
function deprecate(
message: string,
test: boolean,
- options?: { id?: string; until?: string }
+ options?: Partial
): any;
/**
* Define an assertion that will throw an exception if the condition is not met.
@@ -3012,7 +3018,7 @@ declare module 'ember' {
*/
function deprecateFunc any)>(
message: string,
- options: { id: string; until: string },
+ options: DeprecationOptions,
func: Func
): Func;
/**
diff --git a/types/ember/v2/test/ember-tests.ts b/types/ember/v2/test/ember-tests.ts
index c049512eb0..892c9ed9a8 100755
--- a/types/ember/v2/test/ember-tests.ts
+++ b/types/ember/v2/test/ember-tests.ts
@@ -92,10 +92,10 @@ App.userController = Ember.Object.create({
}),
});
-Handlebars.registerHelper(
+Ember.Handlebars.registerHelper(
'highlight',
(property: string, options: any) =>
- new Handlebars.SafeString('' + 'some value' + '')
+ new Ember.Handlebars.SafeString('' + 'some value' + '')
);
const coolView = App.CoolView.create();
diff --git a/types/ember/v2/test/utils.ts b/types/ember/v2/test/utils.ts
index d729d472b8..72d55184ab 100755
--- a/types/ember/v2/test/utils.ts
+++ b/types/ember/v2/test/utils.ts
@@ -50,6 +50,14 @@ function testDeprecateFunc() {
assertType(oldMethod('first', 123));
}
+function testDeprecate() {
+ Ember.deprecate('This has been deprecated', false, {
+ id: 'some.id',
+ until: '1.0.0',
+ url: 'http://www.emberjs.com'
+ });
+}
+
function testDefineProperty() {
const contact = {};
diff --git a/types/ember__application/deprecations.d.ts b/types/ember__application/deprecations.d.ts
index 8509e2f69d..ddc5af5019 100644
--- a/types/ember__application/deprecations.d.ts
+++ b/types/ember__application/deprecations.d.ts
@@ -1,3 +1,10 @@
+// tslint:disable-next-line:strict-export-declare-modifiers
+interface DeprecationOptions {
+ id: string;
+ until: string;
+ url?: string;
+}
+
/**
* Display a deprecation warning with the provided message and a stack trace
* (Chrome and Firefox only).
@@ -5,7 +12,7 @@
export function deprecate(
message: string,
test: boolean,
- options: { id: string; until: string }
+ options: DeprecationOptions
): any;
/**
@@ -13,6 +20,6 @@ export function deprecate(
*/
export function deprecateFunc any)>(
message: string,
- options: { id: string; until: string },
+ options: DeprecationOptions,
func: Func
): Func;
diff --git a/types/ember__application/test/deprecations.ts b/types/ember__application/test/deprecations.ts
index 30d1e8a075..c5db468535 100644
--- a/types/ember__application/test/deprecations.ts
+++ b/types/ember__application/test/deprecations.ts
@@ -1,8 +1,13 @@
import { deprecate, deprecateFunc } from '@ember/application/deprecations';
+deprecate('this is no longer advised', false, {
+ id: 'no-longer-advised',
+ until: 'v4.0'
+});
deprecate('this is no longer advised', false, {
id: 'no-longer-advised',
- until: 'v4.0'
+ until: 'v4.0',
+ url: 'https://emberjs.com'
});
deprecate('this is no longer advised', false); // $ExpectError