Skip to content

Commit c902478

Browse files
authored
Merge pull request #20924 from wagenet/kill-comparable
[Next] Kill Comparable
2 parents 14dd191 + f388229 commit c902478

File tree

9 files changed

+0
-139
lines changed

9 files changed

+0
-139
lines changed

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,6 @@ d(
6262
emberinternalsRuntimeLibMixinsActionHandler
6363
);
6464

65-
import * as emberinternalsRuntimeLibMixinsComparable from '@ember/-internals/runtime/lib/mixins/comparable';
66-
d('@ember/-internals/runtime/lib/mixins/comparable', emberinternalsRuntimeLibMixinsComparable);
67-
6865
import * as emberinternalsRuntimeLibMixinsContainerProxy from '@ember/-internals/runtime/lib/mixins/container_proxy';
6966
d(
7067
'@ember/-internals/runtime/lib/mixins/container_proxy',

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,6 @@
204204
"@ember/-internals/runtime/index.js": "ember-source/@ember/-internals/runtime/index.js",
205205
"@ember/-internals/runtime/lib/ext/rsvp.js": "ember-source/@ember/-internals/runtime/lib/ext/rsvp.js",
206206
"@ember/-internals/runtime/lib/mixins/action_handler.js": "ember-source/@ember/-internals/runtime/lib/mixins/action_handler.js",
207-
"@ember/-internals/runtime/lib/mixins/comparable.js": "ember-source/@ember/-internals/runtime/lib/mixins/comparable.js",
208207
"@ember/-internals/runtime/lib/mixins/container_proxy.js": "ember-source/@ember/-internals/runtime/lib/mixins/container_proxy.js",
209208
"@ember/-internals/runtime/lib/mixins/registry_proxy.js": "ember-source/@ember/-internals/runtime/lib/mixins/registry_proxy.js",
210209
"@ember/-internals/runtime/lib/mixins/target_action_support.js": "ember-source/@ember/-internals/runtime/lib/mixins/target_action_support.js",

packages/@ember/-internals/runtime/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
export { default as RegistryProxyMixin } from './lib/mixins/registry_proxy';
22
export { default as ContainerProxyMixin } from './lib/mixins/container_proxy';
3-
export { default as Comparable } from './lib/mixins/comparable';
43
export { default as ActionHandler } from './lib/mixins/action_handler';
54
export { default as MutableEnumerable } from '@ember/enumerable/mutable';
65
export { default as TargetActionSupport } from './lib/mixins/target_action_support';

packages/@ember/-internals/runtime/lib/mixins/comparable.ts

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

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

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

packages/@ember/utils/lib/compare.ts

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { TypeName } from './type-of';
22
import typeOf from './type-of';
3-
import { Comparable } from '@ember/-internals/runtime';
43
import { assert } from '@ember/debug';
54

65
const TYPE_ORDER: Record<TypeName, number> = {
@@ -104,15 +103,6 @@ export default function compare<T>(v: T, w: T): Compare {
104103
let type1 = typeOf(v);
105104
let type2 = typeOf(w);
106105

107-
if (type1 === 'instance' && isComparable(v) && v.constructor.compare) {
108-
return v.constructor.compare(v, w);
109-
}
110-
111-
if (type2 === 'instance' && isComparable(w) && w.constructor.compare) {
112-
// SAFETY: Multiplying by a negative just changes the sign
113-
return (w.constructor.compare(w, v) * -1) as Compare;
114-
}
115-
116106
let res = spaceship(TYPE_ORDER[type1], TYPE_ORDER[type2]);
117107

118108
if (res !== 0) {
@@ -149,9 +139,6 @@ export default function compare<T>(v: T, w: T): Compare {
149139
return spaceship(vLen, wLen);
150140
}
151141
case 'instance':
152-
if (isComparable(v) && v.compare) {
153-
return v.compare(v, w);
154-
}
155142
return 0;
156143

157144
case 'date':
@@ -162,11 +149,3 @@ export default function compare<T>(v: T, w: T): Compare {
162149
return 0;
163150
}
164151
}
165-
166-
interface ComparableConstructor {
167-
constructor: Comparable;
168-
}
169-
170-
function isComparable(value: unknown): value is Comparable & ComparableConstructor {
171-
return Comparable.detect(value);
172-
}

packages/@ember/utils/tests/compare_test.js

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
11
import { compare, typeOf } from '@ember/utils';
22
import EmberObject from '@ember/object';
3-
import { Comparable } from '@ember/-internals/runtime';
43
import { moduleFor, AbstractTestCase } from 'internal-test-helpers';
54

65
let data = [];
7-
let Comp = EmberObject.extend(Comparable);
8-
9-
Comp.reopenClass({
10-
compare(obj) {
11-
return obj.get('val');
12-
},
13-
});
146

157
moduleFor(
168
'Ember.compare()',
@@ -62,27 +54,5 @@ moduleFor(
6254
}
6355
}
6456
}
65-
66-
['@test comparables should return values in the range of -1, 0, 1'](assert) {
67-
let negOne = Comp.create({
68-
val: -1,
69-
});
70-
71-
let zero = Comp.create({
72-
val: 0,
73-
});
74-
75-
let one = Comp.create({
76-
val: 1,
77-
});
78-
79-
assert.equal(compare(negOne, 'a'), -1, 'First item comparable - returns -1 (not negated)');
80-
assert.equal(compare(zero, 'b'), 0, 'First item comparable - returns 0 (not negated)');
81-
assert.equal(compare(one, 'c'), 1, 'First item comparable - returns 1 (not negated)');
82-
83-
assert.equal(compare('a', negOne), 1, 'Second item comparable - returns -1 (negated)');
84-
assert.equal(compare('b', zero), 0, 'Second item comparable - returns 0 (negated)');
85-
assert.equal(compare('c', one), -1, 'Second item comparable - returns 1 (negated)');
86-
}
8757
}
8858
);

packages/ember/barrel.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ import {
4848
RegistryProxyMixin,
4949
ContainerProxyMixin,
5050
RSVP as _RSVP,
51-
Comparable as InternalComparable,
5251
ActionHandler as InternalActionHandler,
5352
} from '@ember/-internals/runtime';
5453
import {
@@ -183,8 +182,6 @@ namespace Ember {
183182
export const _RegistryProxyMixin = RegistryProxyMixin;
184183
export const ActionHandler = InternalActionHandler;
185184
export type ActionHandler = InternalActionHandler;
186-
export const Comparable = InternalComparable;
187-
export type Comparable = InternalComparable;
188185

189186
// ****@ember/-internals/view****
190187
export const ComponentLookup = views.ComponentLookup;

packages/ember/tests/reexports_test.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,6 @@ let allExports = [
333333
['_Input', '@ember/-internals/glimmer', 'Input', test56],
334334
['_RegistryProxyMixin', '@ember/-internals/runtime', 'RegistryProxyMixin', test57],
335335
['_ContainerProxyMixin', '@ember/-internals/runtime', 'ContainerProxyMixin', test57],
336-
['Comparable', '@ember/-internals/runtime', null, test57],
337336
['ActionHandler', '@ember/-internals/runtime', null, test57],
338337
['MutableEnumerable', '@ember/-internals/runtime', null, test57],
339338
['controllerFor', '@ember/-internals/routing', null, test58],

0 commit comments

Comments
 (0)