mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-07-01 15:50:13 +00:00
Merge pull request #31333 from mike-north/ember-notify-property-change
[@ember/object] add utility-style notifyPropertyChange
This commit is contained in:
1
types/ember/index.d.ts
vendored
1
types/ember/index.d.ts
vendored
@@ -478,6 +478,7 @@ export namespace Ember {
|
||||
const addObserver: typeof EmberObjectObserversNs.addObserver;
|
||||
const removeObserver: typeof EmberObjectObserversNs.removeObserver;
|
||||
const get: typeof EmberObjectNs.get;
|
||||
const notifyPropertyChange: typeof EmberObjectNs.notifyPropertyChange;
|
||||
const getWithDefault: typeof EmberObjectNs.getWithDefault;
|
||||
const getProperties: typeof EmberObjectNs.getProperties;
|
||||
const setProperties: typeof EmberObjectNs.setProperties;
|
||||
|
||||
@@ -65,4 +65,11 @@ export class Foo2 extends Ember.Object {
|
||||
name
|
||||
});
|
||||
}
|
||||
|
||||
bar() {
|
||||
Ember.notifyPropertyChange(this, 'name');
|
||||
Ember.notifyPropertyChange(this); // $ExpectError
|
||||
Ember.notifyPropertyChange('name'); // $ExpectError
|
||||
Ember.notifyPropertyChange(this, 'name', 'bar'); // $ExpectError
|
||||
}
|
||||
}
|
||||
|
||||
2
types/ember__object/index.d.ts
vendored
2
types/ember__object/index.d.ts
vendored
@@ -385,6 +385,8 @@ export function defineProperty(
|
||||
meta?: any
|
||||
): void;
|
||||
|
||||
export function notifyPropertyChange(obj: object, keyName: string): void;
|
||||
|
||||
declare module '@ember/utils/-private/types' {
|
||||
interface TypeLookup {
|
||||
class: typeof EmberObject;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import EmberObject, { computed } from "@ember/object";
|
||||
import EmberObject, { computed, notifyPropertyChange } from "@ember/object";
|
||||
|
||||
const LifetimeHooks = EmberObject.extend({
|
||||
resource: null as {} | null,
|
||||
@@ -47,6 +47,12 @@ class Foo extends EmberObject {
|
||||
b: 11
|
||||
});
|
||||
}
|
||||
bar() {
|
||||
notifyPropertyChange(this, 'name');
|
||||
notifyPropertyChange(this); // $ExpectError
|
||||
notifyPropertyChange('name'); // $ExpectError
|
||||
notifyPropertyChange(this, 'name', 'bar'); // $ExpectError
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: enable after TS 3.0 https://github.com/typed-ember/ember-cli-typescript/issues/291
|
||||
|
||||
Reference in New Issue
Block a user