Skip to content

Commit ab874bc

Browse files
authored
Merge pull request #20928 from emberjs/kill-even-more-mixins
[Next] Kill even more mixins
2 parents 5f6dc83 + 990fb41 commit ab874bc

File tree

39 files changed

+1004
-2279
lines changed

39 files changed

+1004
-2279
lines changed

broccoli/amd-compat-entrypoints/ember.debug.js

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,6 @@ d('@ember/-internals/runtime/index', emberinternalsRuntimeIndex);
5656
import * as emberinternalsRuntimeLibExtRsvp from '@ember/-internals/runtime/lib/ext/rsvp';
5757
d('@ember/-internals/runtime/lib/ext/rsvp', emberinternalsRuntimeLibExtRsvp);
5858

59-
import * as emberinternalsRuntimeLibMixinsContainerProxy from '@ember/-internals/runtime/lib/mixins/container_proxy';
60-
d(
61-
'@ember/-internals/runtime/lib/mixins/container_proxy',
62-
emberinternalsRuntimeLibMixinsContainerProxy
63-
);
64-
65-
import * as emberinternalsRuntimeLibMixinsRegistryProxy from '@ember/-internals/runtime/lib/mixins/registry_proxy';
66-
d(
67-
'@ember/-internals/runtime/lib/mixins/registry_proxy',
68-
emberinternalsRuntimeLibMixinsRegistryProxy
69-
);
70-
7159
import * as emberinternalsStringIndex from '@ember/-internals/string/index';
7260
d('@ember/-internals/string/index', emberinternalsStringIndex);
7361

@@ -185,12 +173,6 @@ d('@ember/engine/instance', emberEngineInstance);
185173
import * as emberEngineLibEngineParent from '@ember/engine/lib/engine-parent';
186174
d('@ember/engine/lib/engine-parent', emberEngineLibEngineParent);
187175

188-
import * as emberEnumerableIndex from '@ember/enumerable/index';
189-
d('@ember/enumerable/index', emberEnumerableIndex);
190-
191-
import * as emberEnumerableMutable from '@ember/enumerable/mutable';
192-
d('@ember/enumerable/mutable', emberEnumerableMutable);
193-
194176
import * as emberHelperIndex from '@ember/helper/index';
195177
d('@ember/helper/index', emberHelperIndex);
196178

@@ -227,9 +209,6 @@ d('@ember/object/lib/computed/computed_macros', emberObjectLibComputedComputedMa
227209
import * as emberObjectMixin from '@ember/object/mixin';
228210
d('@ember/object/mixin', emberObjectMixin);
229211

230-
import * as emberObjectObservable from '@ember/object/observable';
231-
d('@ember/object/observable', emberObjectObservable);
232-
233212
import * as emberObjectObservers from '@ember/object/observers';
234213
d('@ember/object/observers', emberObjectObservers);
235214

package.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,6 @@
205205
"@ember/-internals/routing/index.js": "ember-source/@ember/-internals/routing/index.js",
206206
"@ember/-internals/runtime/index.js": "ember-source/@ember/-internals/runtime/index.js",
207207
"@ember/-internals/runtime/lib/ext/rsvp.js": "ember-source/@ember/-internals/runtime/lib/ext/rsvp.js",
208-
"@ember/-internals/runtime/lib/mixins/container_proxy.js": "ember-source/@ember/-internals/runtime/lib/mixins/container_proxy.js",
209-
"@ember/-internals/runtime/lib/mixins/registry_proxy.js": "ember-source/@ember/-internals/runtime/lib/mixins/registry_proxy.js",
210208
"@ember/-internals/string/index.js": "ember-source/@ember/-internals/string/index.js",
211209
"@ember/-internals/utility-types/index.js": "ember-source/@ember/-internals/utility-types/index.js",
212210
"@ember/-internals/utils/index.js": "ember-source/@ember/-internals/utils/index.js",
@@ -247,8 +245,6 @@
247245
"@ember/engine/instance.js": "ember-source/@ember/engine/instance.js",
248246
"@ember/engine/lib/engine-parent.js": "ember-source/@ember/engine/lib/engine-parent.js",
249247
"@ember/engine/parent.js": "ember-source/@ember/engine/parent.js",
250-
"@ember/enumerable/index.js": "ember-source/@ember/enumerable/index.js",
251-
"@ember/enumerable/mutable.js": "ember-source/@ember/enumerable/mutable.js",
252248
"@ember/helper/index.js": "ember-source/@ember/helper/index.js",
253249
"@ember/instrumentation/index.js": "ember-source/@ember/instrumentation/index.js",
254250
"@ember/modifier/index.js": "ember-source/@ember/modifier/index.js",
@@ -263,7 +259,6 @@
263259
"@ember/object/lib/computed/computed_macros.js": "ember-source/@ember/object/lib/computed/computed_macros.js",
264260
"@ember/object/lib/computed/reduce_computed_macros.js": "ember-source/@ember/object/lib/computed/reduce_computed_macros.js",
265261
"@ember/object/mixin.js": "ember-source/@ember/object/mixin.js",
266-
"@ember/object/observable.js": "ember-source/@ember/object/observable.js",
267262
"@ember/object/observers.js": "ember-source/@ember/object/observers.js",
268263
"@ember/owner/index.js": "ember-source/@ember/owner/index.js",
269264
"@ember/renderer/index.js": "ember-source/@ember/renderer/index.js",

packages/@ember/-internals/glimmer/lib/component.ts

Lines changed: 97 additions & 165 deletions
Original file line numberDiff line numberDiff line change
@@ -59,150 +59,6 @@ function matches(el: Element, selector: string): boolean {
5959
@module @ember/component
6060
*/
6161

62-
interface ComponentMethods {
63-
// Overrideable methods are defined here since you can't `declare` a method in a class
64-
65-
/**
66-
Called when the attributes passed into the component have been updated.
67-
Called both during the initial render of a container and during a rerender.
68-
Can be used in place of an observer; code placed here will be executed
69-
every time any attribute updates.
70-
@method didReceiveAttrs
71-
@public
72-
@since 1.13.0
73-
*/
74-
didReceiveAttrs(): void;
75-
76-
/**
77-
Called when the attributes passed into the component have been updated.
78-
Called both during the initial render of a container and during a rerender.
79-
Can be used in place of an observer; code placed here will be executed
80-
every time any attribute updates.
81-
@event didReceiveAttrs
82-
@public
83-
@since 1.13.0
84-
*/
85-
86-
/**
87-
Called after a component has been rendered, both on initial render and
88-
in subsequent rerenders.
89-
@method didRender
90-
@public
91-
@since 1.13.0
92-
*/
93-
didRender(): void;
94-
95-
/**
96-
Called after a component has been rendered, both on initial render and
97-
in subsequent rerenders.
98-
@event didRender
99-
@public
100-
@since 1.13.0
101-
*/
102-
103-
/**
104-
Called before a component has been rendered, both on initial render and
105-
in subsequent rerenders.
106-
@method willRender
107-
@public
108-
@since 1.13.0
109-
*/
110-
willRender(): void;
111-
112-
/**
113-
Called before a component has been rendered, both on initial render and
114-
in subsequent rerenders.
115-
@event willRender
116-
@public
117-
@since 1.13.0
118-
*/
119-
120-
/**
121-
Called when the attributes passed into the component have been changed.
122-
Called only during a rerender, not during an initial render.
123-
@method didUpdateAttrs
124-
@public
125-
@since 1.13.0
126-
*/
127-
didUpdateAttrs(): void;
128-
129-
/**
130-
Called when the attributes passed into the component have been changed.
131-
Called only during a rerender, not during an initial render.
132-
@event didUpdateAttrs
133-
@public
134-
@since 1.13.0
135-
*/
136-
137-
/**
138-
Called when the component is about to update and rerender itself.
139-
Called only during a rerender, not during an initial render.
140-
@method willUpdate
141-
@public
142-
@since 1.13.0
143-
*/
144-
willUpdate(): void;
145-
146-
/**
147-
Called when the component is about to update and rerender itself.
148-
Called only during a rerender, not during an initial render.
149-
@event willUpdate
150-
@public
151-
@since 1.13.0
152-
*/
153-
154-
/**
155-
Called when the component has updated and rerendered itself.
156-
Called only during a rerender, not during an initial render.
157-
@method didUpdate
158-
@public
159-
@since 1.13.0
160-
*/
161-
didUpdate(): void;
162-
163-
/**
164-
Called when the component has updated and rerendered itself.
165-
Called only during a rerender, not during an initial render.
166-
@event didUpdate
167-
@public
168-
@since 1.13.0
169-
*/
170-
171-
/**
172-
The HTML `id` of the component's element in the DOM. You can provide this
173-
value yourself but it must be unique (just as in HTML):
174-
175-
```handlebars
176-
{{my-component elementId="a-really-cool-id"}}
177-
```
178-
179-
```handlebars
180-
<MyComponent @elementId="a-really-cool-id" />
181-
```
182-
If not manually set a default value will be provided by the framework.
183-
Once rendered an element's `elementId` is considered immutable and you
184-
should never change it. If you need to compute a dynamic value for the
185-
`elementId`, you should do this when the component or element is being
186-
instantiated:
187-
188-
```javascript
189-
export default class extends Component {
190-
init() {
191-
super.init(...arguments);
192-
193-
var index = this.get('index');
194-
this.set('elementId', `component-id${index}`);
195-
}
196-
}
197-
```
198-
199-
@property elementId
200-
@type String
201-
@public
202-
*/
203-
layoutName?: string;
204-
}
205-
20662
// A zero-runtime-overhead private symbol to use in branding the component to
20763
// preserve its type parameter.
20864
declare const SIGNATURE: unique symbol;
@@ -789,28 +645,12 @@ declare const SIGNATURE: unique symbol;
789645
@extends Ember.CoreView
790646
@public
791647
*/
792-
// This type param is used in the class, so must appear here.
793-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
794-
interface Component<S = unknown> extends CoreView, ComponentMethods {}
795-
796648
class Component<S = unknown>
797-
extends CoreView.extend(
798-
{
799-
// These need to be overridable via extend/create but should still
800-
// have a default. Defining them here is the best way to achieve that.
801-
didReceiveAttrs() {},
802-
didRender() {},
803-
didUpdate() {},
804-
didUpdateAttrs() {},
805-
willRender() {},
806-
willUpdate() {},
807-
} as ComponentMethods,
808-
{
809-
concatenatedProperties: ['attributeBindings', 'classNames', 'classNameBindings'],
810-
classNames: EMPTY_ARRAY,
811-
classNameBindings: EMPTY_ARRAY,
812-
}
813-
)
649+
extends CoreView.extend({
650+
concatenatedProperties: ['attributeBindings', 'classNames', 'classNameBindings'],
651+
classNames: EMPTY_ARRAY,
652+
classNameBindings: EMPTY_ARRAY,
653+
})
814654
implements PropertyDidChange
815655
{
816656
isComponent = true;
@@ -1657,6 +1497,98 @@ class Component<S = unknown>
16571497

16581498
// End ViewMixin
16591499

1500+
// Begin lifecycle hooks
1501+
1502+
/**
1503+
Called when the attributes passed into the component have been updated.
1504+
Called both during the initial render of a container and during a rerender.
1505+
Can be used in place of an observer; code placed here will be executed
1506+
every time any attribute updates.
1507+
@method didReceiveAttrs
1508+
@public
1509+
@since 1.13.0
1510+
*/
1511+
didReceiveAttrs(): void {}
1512+
1513+
/**
1514+
Called after a component has been rendered, both on initial render and
1515+
in subsequent rerenders.
1516+
@method didRender
1517+
@public
1518+
@since 1.13.0
1519+
*/
1520+
didRender(): void {}
1521+
1522+
/**
1523+
Called after a component has been rendered, both on initial render and
1524+
in subsequent rerenders.
1525+
@event didRender
1526+
@public
1527+
@since 1.13.0
1528+
*/
1529+
1530+
/**
1531+
Called before a component has been rendered, both on initial render and
1532+
in subsequent rerenders.
1533+
@method willRender
1534+
@public
1535+
@since 1.13.0
1536+
*/
1537+
willRender(): void {}
1538+
1539+
/**
1540+
Called before a component has been rendered, both on initial render and
1541+
in subsequent rerenders.
1542+
@event willRender
1543+
@public
1544+
@since 1.13.0
1545+
*/
1546+
1547+
/**
1548+
Called when the attributes passed into the component have been changed.
1549+
Called only during a rerender, not during an initial render.
1550+
@method didUpdateAttrs
1551+
@public
1552+
@since 1.13.0
1553+
*/
1554+
didUpdateAttrs(): void {}
1555+
1556+
/**
1557+
Called when the attributes passed into the component have been changed.
1558+
Called only during a rerender, not during an initial render.
1559+
@event didUpdateAttrs
1560+
@public
1561+
@since 1.13.0
1562+
*/
1563+
1564+
/**
1565+
Called when the component is about to update and rerender itself.
1566+
Called only during a rerender, not during an initial render.
1567+
@method willUpdate
1568+
@public
1569+
@since 1.13.0
1570+
*/
1571+
willUpdate(): void {}
1572+
1573+
/**
1574+
Called when the component is about to update and rerender itself.
1575+
Called only during a rerender, not during an initial render.
1576+
@event willUpdate
1577+
@public
1578+
@since 1.13.0
1579+
*/
1580+
1581+
/**
1582+
Called when the component has updated and rerendered itself.
1583+
Called only during a rerender, not during an initial render.
1584+
@method didUpdate
1585+
@public
1586+
@since 1.13.0
1587+
*/
1588+
didUpdate(): void {}
1589+
1590+
// End lifecycle hooks
1591+
16601592
static isComponentFactory = true;
16611593

16621594
static toString() {

packages/@ember/-internals/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
"@ember/debug": "workspace:*",
3030
"@ember/destroyable": "workspace:*",
3131
"@ember/engine": "workspace:*",
32-
"@ember/enumerable": "workspace:*",
3332
"@ember/helper": "workspace:*",
3433
"@ember/instrumentation": "workspace:*",
3534
"@ember/modifier": "workspace:*",
Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1 @@
1-
export { default as RegistryProxyMixin } from './lib/mixins/registry_proxy';
2-
export { default as ContainerProxyMixin } from './lib/mixins/container_proxy';
3-
export { default as MutableEnumerable } from '@ember/enumerable/mutable';
4-
51
export { default as RSVP, onerrorDefault } from './lib/ext/rsvp'; // just for side effect of extending Ember.RSVP

0 commit comments

Comments
 (0)