Skip to content

Commit 096f7fe

Browse files
committed
Remove remaining property methods from EmberObject
1 parent 61b6e00 commit 096f7fe

File tree

13 files changed

+22
-163
lines changed

13 files changed

+22
-163
lines changed

packages/@ember/-internals/glimmer/lib/helpers/mut.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import { internalHelper } from './internal-helper';
2929
// my-child.js
3030
export default class MyChild extends Component {
3131
click() {
32-
this.incrementProperty('childClickCount');
32+
set(this, 'childClickCount', this.childClickCount + 1);
3333
}
3434
}
3535
```

packages/@ember/-internals/glimmer/lib/helpers/readonly.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ import { internalHelper } from './internal-helper';
3434
```app/components/my-child.js
3535
export default class MyChild extends Component {
3636
click() {
37-
this.incrementProperty('childClickCount');
37+
set(this, 'childClickCount', this.childClickCount + 1);
3838
}
3939
}
4040
```
@@ -95,7 +95,7 @@ import { internalHelper } from './internal-helper';
9595
9696
export default class MyChild extends Component {
9797
click() {
98-
this.get('clicks').incrementProperty('total');
98+
set(this.clicks, 'total', this.clicks.total + 1);
9999
}
100100
}
101101
```

packages/@ember/-internals/glimmer/tests/integration/components/contextual-components-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,7 @@ moduleFor(
779779
ComponentClass: class extends Component {
780780
@action
781781
changeValue() {
782-
this.incrementProperty('myProp');
782+
set(this, 'myProp', this.myProp + 1);
783783
}
784784
},
785785
template: strip`

packages/@ember/-internals/glimmer/tests/integration/components/utils-test.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { moduleFor, ApplicationTestCase, RenderingTestCase, runTask } from 'inte
22

33
import { tracked } from '@glimmer/tracking';
44
import Controller from '@ember/controller';
5+
import { set } from '@ember/object';
56
import {
67
getRootViews,
78
getChildViews,
@@ -32,7 +33,7 @@ moduleFor(
3233
isExpanded = true;
3334

3435
click() {
35-
this.toggleProperty('isExpanded');
36+
set(this, 'isExpanded', !this.isExpanded);
3637
return false;
3738
}
3839
},
@@ -44,7 +45,7 @@ moduleFor(
4445
@tracked isExpanded = true;
4546

4647
toggle = () => {
47-
this.toggleProperty('isExpanded');
48+
set(this, 'isExpanded', !this.isExpanded);
4849
};
4950
}
5051

packages/@ember/-internals/runtime/tests/mixins/observable_test.js

Lines changed: 0 additions & 48 deletions
This file was deleted.

packages/@ember/-internals/views/lib/views/core_view.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { Renderer, View } from '@ember/-internals/glimmer/lib/renderer';
2+
import { getFactoryFor } from '@ember/-internals/container';
23
import { inject } from '@ember/-internals/metal';
34
import { FrameworkObject } from '@ember/object/-internals';
45
import type { ViewState } from './states';
@@ -49,6 +50,11 @@ class CoreView extends FrameworkObject {
4950
this._currentState = this._states.preRender;
5051
}
5152

53+
get _debugContainerKey() {
54+
let factory = getFactoryFor(this);
55+
return factory !== undefined && factory.fullName;
56+
}
57+
5258
@inject('renderer', '-dom')
5359
declare renderer: Renderer;
5460

packages/@ember/application/tests/visit_test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
} from 'internal-test-helpers';
88
import { service } from '@ember/service';
99
import EmberObject from '@ember/object';
10-
import { get } from '@ember/object';
10+
import { get, set } from '@ember/object';
1111
import { RSVP, onerrorDefault } from '@ember/-internals/runtime';
1212
import { later } from '@ember/runloop';
1313
import { action } from '@ember/object';
@@ -651,7 +651,7 @@ moduleFor(
651651
value = 0;
652652

653653
increment() {
654-
this.incrementProperty('value');
654+
set(this, 'value', this.value + 1);
655655
}
656656
};
657657

packages/@ember/object/index.ts

Lines changed: 2 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
import { assert } from '@ember/debug';
22
import type { ElementDescriptor, ExtendedMethodDecorator } from '@ember/-internals/metal';
3-
import { isElementDescriptor, setClassicDecorator, get, set } from '@ember/-internals/metal';
4-
import { getFactoryFor } from '@ember/-internals/container';
3+
import { isElementDescriptor, setClassicDecorator } from '@ember/-internals/metal';
54
import CoreObject from '@ember/object/core';
6-
import { peekMeta } from '@ember/-internals/meta';
75

86
export {
97
notifyPropertyChange,
@@ -27,89 +25,7 @@ export {
2725
@extends CoreObject
2826
@public
2927
*/
30-
class EmberObject extends CoreObject {
31-
// NOT TYPE SAFE!
32-
/**
33-
Set the value of a property to the current value plus some amount.
34-
35-
```javascript
36-
person.incrementProperty('age');
37-
team.incrementProperty('score', 2);
38-
```
39-
40-
@method incrementProperty
41-
@param {String} keyName The name of the property to increment
42-
@param {Number} increment The amount to increment by. Defaults to 1
43-
@return {Number} The new property value
44-
@public
45-
*/
46-
incrementProperty(keyName: keyof this & string, increment = 1): number {
47-
assert(
48-
'Must pass a numeric value to incrementProperty',
49-
!isNaN(parseFloat(String(increment))) && isFinite(increment)
50-
);
51-
return set(this, keyName, (parseFloat(get(this, keyName) as string) || 0) + increment);
52-
}
53-
// NOT TYPE SAFE!
54-
/**
55-
Set the value of a property to the current value minus some amount.
56-
57-
```javascript
58-
player.decrementProperty('lives');
59-
orc.decrementProperty('health', 5);
60-
```
61-
62-
@method decrementProperty
63-
@param {String} keyName The name of the property to decrement
64-
@param {Number} decrement The amount to decrement by. Defaults to 1
65-
@return {Number} The new property value
66-
@public
67-
*/
68-
decrementProperty(keyName: keyof this & string, decrement = 1): number {
69-
assert(
70-
'Must pass a numeric value to decrementProperty',
71-
(typeof decrement === 'number' || !isNaN(parseFloat(decrement))) && isFinite(decrement)
72-
);
73-
return set(this, keyName, ((get(this, keyName) as number) || 0) - decrement);
74-
}
75-
// NOT TYPE SAFE!
76-
/**
77-
Set the value of a boolean property to the opposite of its
78-
current value.
79-
80-
```javascript
81-
starship.toggleProperty('warpDriveEngaged');
82-
```
83-
84-
@method toggleProperty
85-
@param {String} keyName The name of the property to toggle
86-
@return {Boolean} The new property value
87-
@public
88-
*/
89-
toggleProperty(keyName: keyof this & string): boolean {
90-
return set(this, keyName, !get(this, keyName));
91-
}
92-
/**
93-
Returns the cached value of a computed property, if it exists.
94-
This allows you to inspect the value of a computed property
95-
without accidentally invoking it if it is intended to be
96-
generated lazily.
97-
98-
@method cacheFor
99-
@param {String} keyName
100-
@return {Object} The cached value of the computed property, if any
101-
@public
102-
*/
103-
cacheFor(keyName: keyof this & string): unknown {
104-
let meta = peekMeta(this);
105-
return meta !== null ? meta.valueFor(keyName) : undefined;
106-
}
107-
108-
get _debugContainerKey() {
109-
let factory = getFactoryFor(this);
110-
return factory !== undefined && factory.fullName;
111-
}
112-
}
28+
class EmberObject extends CoreObject {}
11329

11430
export default EmberObject;
11531

packages/@ember/object/type-tests/ember-object.test.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,6 @@ const p = new Person(owner);
3737

3838
expectTypeOf(p.firstName).toEqualTypeOf<string>();
3939

40-
expectTypeOf(p.incrementProperty('age')).toEqualTypeOf<number>();
41-
expectTypeOf(p.incrementProperty('age', 2)).toEqualTypeOf<number>();
42-
// @ts-expect-error must increment by a value
43-
p.incrementProperty('age', 'foo');
44-
45-
expectTypeOf(p.decrementProperty('age')).toEqualTypeOf<number>();
46-
expectTypeOf(p.decrementProperty('age', 2)).toEqualTypeOf<number>();
47-
// @ts-expect-error must decrement by a value
48-
p.decrementProperty('age', 'foo');
49-
50-
expectTypeOf(p.toggleProperty('age')).toEqualTypeOf<boolean>();
51-
52-
expectTypeOf(p.cacheFor('age')).toEqualTypeOf<unknown>();
53-
5440
const p2 = Person.create({ firstName: 'string' });
5541
expectTypeOf(p2.firstName).toEqualTypeOf<string>();
5642

packages/ember/tests/routing/query_params_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -752,7 +752,7 @@ moduleFor(
752752
router: service(),
753753

754754
increment: action(function () {
755-
this.incrementProperty('foo');
755+
set(this, 'foo', this.foo + 1);
756756
this.router.refresh();
757757
}),
758758
});

0 commit comments

Comments
 (0)