From cafda2b39c38b334fc84dab49ef83eb7ac95192d Mon Sep 17 00:00:00 2001 From: Matthew Beale Date: Sun, 18 Jul 2021 14:09:53 -0400 Subject: [PATCH] Remove run and computed dot access --- packages/@ember/object/index.js | 128 ------------------ .../tests/computed/computed_macros_test.js | 48 +++---- packages/@ember/runloop/index.js | 85 ------------ packages/ember/tests/reexports_test.js | 53 -------- 4 files changed, 24 insertions(+), 290 deletions(-) diff --git a/packages/@ember/object/index.js b/packages/@ember/object/index.js index 328b0fa5f2f..d7284bd8f48 100644 --- a/packages/@ember/object/index.js +++ b/packages/@ember/object/index.js @@ -19,134 +19,6 @@ export { import { computed } from '@ember/-internals/metal'; -import { - alias, - and, - bool, - collect, - deprecatingAlias, - empty, - equal, - filterBy, - filter, - gte, - gt, - intersect, - lte, - lt, - mapBy, - map, - match, - max, - min, - none, - notEmpty, - not, - oneWay, - or, - readOnly, - setDiff, - sort, - sum, - union, - uniqBy, - uniq, -} from '@ember/object/computed'; - -// eslint-disable-next-line no-undef -if (DEBUG) { - let defaultHandler = (dotKey, importKey, module) => { - return `Using \`${dotKey}\` has been deprecated. Instead, import the value directly from ${module}:\n\n import { ${importKey} } from '${module}';`; - }; - - let handler = onComputedDotAccess || defaultHandler; - - let defineDeprecatedComputedFunc = (key, func) => { - Object.defineProperty(computed, key, { - get() { - let message = handler(`computed.${key}`, key, '@ember/object/computed'); - - deprecate(message, message === null, { - id: 'deprecated-run-loop-and-computed-dot-access', - until: '4.0.0', - for: 'ember-source', - since: { - enabled: '3.27.0', - }, - }); - - return func; - }, - }); - }; - - defineDeprecatedComputedFunc('alias', alias); - defineDeprecatedComputedFunc('and', and); - defineDeprecatedComputedFunc('bool', bool); - defineDeprecatedComputedFunc('collect', collect); - defineDeprecatedComputedFunc('deprecatingAlias', deprecatingAlias); - defineDeprecatedComputedFunc('empty', empty); - defineDeprecatedComputedFunc('equal', equal); - defineDeprecatedComputedFunc('filterBy', filterBy); - defineDeprecatedComputedFunc('filter', filter); - defineDeprecatedComputedFunc('gte', gte); - defineDeprecatedComputedFunc('gt', gt); - defineDeprecatedComputedFunc('intersect', intersect); - defineDeprecatedComputedFunc('lte', lte); - defineDeprecatedComputedFunc('lt', lt); - defineDeprecatedComputedFunc('mapBy', mapBy); - defineDeprecatedComputedFunc('map', map); - defineDeprecatedComputedFunc('match', match); - defineDeprecatedComputedFunc('max', max); - defineDeprecatedComputedFunc('min', min); - defineDeprecatedComputedFunc('none', none); - defineDeprecatedComputedFunc('notEmpty', notEmpty); - defineDeprecatedComputedFunc('not', not); - defineDeprecatedComputedFunc('oneWay', oneWay); - defineDeprecatedComputedFunc('reads', oneWay); - defineDeprecatedComputedFunc('or', or); - defineDeprecatedComputedFunc('readOnly', readOnly); - defineDeprecatedComputedFunc('setDiff', setDiff); - defineDeprecatedComputedFunc('sort', sort); - defineDeprecatedComputedFunc('sum', sum); - defineDeprecatedComputedFunc('union', union); - defineDeprecatedComputedFunc('uniqBy', uniqBy); - defineDeprecatedComputedFunc('uniq', uniq); -} else { - computed.alias = alias; - computed.and = and; - computed.bool = bool; - computed.collect = collect; - computed.deprecatingAlias = deprecatingAlias; - computed.empty = empty; - computed.equal = equal; - computed.filterBy = filterBy; - computed.filter = filter; - computed.gte = gte; - computed.gt = gt; - computed.intersect = intersect; - computed.lte = lte; - computed.lt = lt; - computed.mapBy = mapBy; - computed.map = map; - computed.match = match; - computed.max = max; - computed.min = min; - computed.none = none; - computed.notEmpty = notEmpty; - computed.not = not; - computed.oneWay = oneWay; - computed.reads = oneWay; - computed.or = or; - computed.readOnly = readOnly; - computed.setDiff = setDiff; - computed.sort = sort; - computed.sum = sum; - computed.union = union; - computed.uniqBy = uniqBy; - computed.uniq = uniq; -} - /** Decorator that turns the target function into an Action which can be accessed directly by reference. diff --git a/packages/@ember/object/tests/computed/computed_macros_test.js b/packages/@ember/object/tests/computed/computed_macros_test.js index 50817b2e89a..90d79e73713 100644 --- a/packages/@ember/object/tests/computed/computed_macros_test.js +++ b/packages/@ember/object/tests/computed/computed_macros_test.js @@ -23,7 +23,7 @@ import { moduleFor, AbstractTestCase } from 'internal-test-helpers'; moduleFor( 'CP macros', class extends AbstractTestCase { - ['@test Ember.computed.empty'](assert) { + ['@test empty'](assert) { let obj = EmberObject.extend({ bestLannister: null, lannisters: null, @@ -44,7 +44,7 @@ moduleFor( assert.equal(get(obj, 'noLannistersKnown'), false, 'empty respects array mutations'); } - ['@test Ember.computed.notEmpty'](assert) { + ['@test notEmpty'](assert) { let obj = EmberObject.extend({ bestLannister: null, lannisters: null, @@ -65,7 +65,7 @@ moduleFor( assert.equal(get(obj, 'LannistersKnown'), true, 'empty respects array mutations'); } - ['@test computed.not'](assert) { + ['@test not'](assert) { let obj = { foo: true }; defineProperty(obj, 'notFoo', not('foo')); assert.equal(get(obj, 'notFoo'), false); @@ -75,7 +75,7 @@ moduleFor( assert.equal(get(obj, 'notFoo'), false); } - ['@test computed.empty'](assert) { + ['@test empty'](assert) { let obj = { foo: [], bar: undefined, baz: null, quz: '' }; defineProperty(obj, 'fooEmpty', empty('foo')); defineProperty(obj, 'barEmpty', empty('bar')); @@ -92,7 +92,7 @@ moduleFor( assert.equal(get(obj, 'quzEmpty'), false); } - ['@test computed.bool'](assert) { + ['@test bool'](assert) { let obj = { foo() {}, bar: 'asdf', baz: null, quz: false }; defineProperty(obj, 'fooBool', bool('foo')); defineProperty(obj, 'barBool', bool('bar')); @@ -104,7 +104,7 @@ moduleFor( assert.equal(get(obj, 'quzBool'), false); } - ['@test computed.alias'](assert) { + ['@test alias'](assert) { let obj = { bar: 'asdf', baz: null, quz: false }; defineProperty( obj, @@ -137,7 +137,7 @@ moduleFor( assert.equal(get(obj, 'quz'), null); } - ['@test computed.alias set'](assert) { + ['@test alias set'](assert) { let obj = {}; let constantValue = 'always `a`'; @@ -164,7 +164,7 @@ moduleFor( assert.equal(get(obj, 'aliased'), constantValue); } - ['@test computed.match'](assert) { + ['@test match'](assert) { let obj = { name: 'Paul' }; defineProperty(obj, 'isPaul', match('name', /Paul/)); @@ -175,7 +175,7 @@ moduleFor( assert.equal(get(obj, 'isPaul'), false, 'is not Paul anymore'); } - ['@test computed.notEmpty'](assert) { + ['@test notEmpty'](assert) { let obj = { items: [1] }; defineProperty(obj, 'hasItems', notEmpty('items')); @@ -186,7 +186,7 @@ moduleFor( assert.equal(get(obj, 'hasItems'), false, 'is empty'); } - ['@test computed.equal'](assert) { + ['@test equal'](assert) { let obj = { name: 'Paul' }; defineProperty(obj, 'isPaul', computedEqual('name', 'Paul')); @@ -197,7 +197,7 @@ moduleFor( assert.equal(get(obj, 'isPaul'), false, 'is not Paul anymore'); } - ['@test computed.gt'](assert) { + ['@test gt'](assert) { let obj = { number: 2 }; defineProperty(obj, 'isGreaterThenOne', gt('number', 1)); @@ -212,7 +212,7 @@ moduleFor( assert.equal(get(obj, 'isGreaterThenOne'), false, 'is not gt'); } - ['@test computed.gte'](assert) { + ['@test gte'](assert) { let obj = { number: 2 }; defineProperty(obj, 'isGreaterOrEqualThenOne', gte('number', 1)); @@ -227,7 +227,7 @@ moduleFor( assert.equal(get(obj, 'isGreaterOrEqualThenOne'), false, 'is not gte'); } - ['@test computed.lt'](assert) { + ['@test lt'](assert) { let obj = { number: 0 }; defineProperty(obj, 'isLesserThenOne', lt('number', 1)); @@ -242,7 +242,7 @@ moduleFor( assert.equal(get(obj, 'isLesserThenOne'), false, 'is not lt'); } - ['@test computed.lte'](assert) { + ['@test lte'](assert) { let obj = { number: 0 }; defineProperty(obj, 'isLesserOrEqualThenOne', lte('number', 1)); @@ -257,7 +257,7 @@ moduleFor( assert.equal(get(obj, 'isLesserOrEqualThenOne'), false, 'is not lte'); } - ['@test computed.and two properties'](assert) { + ['@test and, with two properties'](assert) { let obj = { one: true, two: true }; defineProperty(obj, 'oneAndTwo', and('one', 'two')); @@ -278,7 +278,7 @@ moduleFor( assert.equal(get(obj, 'oneAndTwo'), 2, 'returns truthy value as in &&'); } - ['@test computed.and three properties'](assert) { + ['@test and, with three properties'](assert) { let obj = { one: true, two: true, three: true }; defineProperty(obj, 'oneTwoThree', and('one', 'two', 'three')); @@ -295,7 +295,7 @@ moduleFor( assert.equal(get(obj, 'oneTwoThree'), 3, 'returns truthy value as in &&'); } - ['@test computed.and expand properties'](assert) { + ['@test and, with expand properties'](assert) { let obj = { one: true, two: true, three: true }; defineProperty(obj, 'oneTwoThree', and('{one,two,three}')); @@ -312,7 +312,7 @@ moduleFor( assert.equal(get(obj, 'oneTwoThree'), 3, 'returns truthy value as in &&'); } - ['@test computed.or two properties'](assert) { + ['@test or, with two properties'](assert) { let obj = { one: true, two: true }; defineProperty(obj, 'oneOrTwo', or('one', 'two')); @@ -339,7 +339,7 @@ moduleFor( assert.equal(get(obj, 'oneOrTwo'), 1, 'returns truthy value as in ||'); } - ['@test computed.or three properties'](assert) { + ['@test or, with three properties'](assert) { let obj = { one: true, two: true, three: true }; defineProperty(obj, 'oneTwoThree', or('one', 'two', 'three')); @@ -370,7 +370,7 @@ moduleFor( assert.equal(get(obj, 'oneTwoThree'), 1, 'returns truthy value as in ||'); } - ['@test computed.or expand properties'](assert) { + ['@test or, with expand properties'](assert) { let obj = { one: true, two: true, three: true }; defineProperty(obj, 'oneTwoThree', or('{one,two,three}')); @@ -401,7 +401,7 @@ moduleFor( assert.equal(get(obj, 'oneTwoThree'), 1, 'returns truthy value as in ||'); } - ['@test computed.or and computed.and warn about dependent keys with spaces']() { + ['@test or and and, warn about dependent keys with spaces']() { let obj = { one: true, two: true }; expectAssertion(function () { defineProperty(obj, 'oneOrTwo', or('one', 'two three')); @@ -412,7 +412,7 @@ moduleFor( }, /Dependent keys passed to computed\.and\(\) can't have spaces\./); } - ['@test computed.oneWay'](assert) { + ['@test oneWay'](assert) { let obj = { firstName: 'Teddy', lastName: 'Zeenny', @@ -436,7 +436,7 @@ moduleFor( assert.equal(get(obj, 'nickName'), 'TeddyBear'); } - ['@test computed.readOnly'](assert) { + ['@test readOnly'](assert) { let obj = { firstName: 'Teddy', lastName: 'Zeenny', @@ -462,7 +462,7 @@ moduleFor( assert.equal(get(obj, 'nickName'), 'TEDDDDDDDDYYY'); } - ['@test computed.deprecatingAlias'](assert) { + ['@test deprecatingAlias'](assert) { let obj = { bar: 'asdf', baz: null, quz: false }; defineProperty( obj, diff --git a/packages/@ember/runloop/index.js b/packages/@ember/runloop/index.js index c78ceaa48a5..c8661b0c227 100644 --- a/packages/@ember/runloop/index.js +++ b/packages/@ember/runloop/index.js @@ -741,88 +741,3 @@ export function debounce() { export function throttle() { return _backburner.throttle(...arguments); } - -export let _deprecatedGlobalGetCurrentRunLoop; - -// eslint-disable-next-line no-undef -if (DEBUG) { - let defaultHandler = (dotKey, importKey, module) => { - return `Using \`${dotKey}\` has been deprecated. Instead, import the value directly from ${module}:\n\n import { ${importKey} } from '${module}';`; - }; - - let handler = onRunloopDotAccess || defaultHandler; - - let defineDeprecatedRunloopFunc = (key, func) => { - Object.defineProperty(run, key, { - get() { - let message = handler(`run.${key}`, key, '@ember/runloop'); - - deprecate(message, message === null, { - id: 'deprecated-run-loop-and-computed-dot-access', - until: '4.0.0', - for: 'ember-source', - since: { - enabled: '3.27.0', - }, - }); - - return func; - }, - }); - }; - - _deprecatedGlobalGetCurrentRunLoop = () => { - let message = handler('run.currentRunLoop', 'getCurrentRunLoop', '@ember/runloop'); - - deprecate(message, message === null, { - id: 'deprecated-run-loop-and-computed-dot-access', - until: '4.0.0', - for: 'ember-source', - since: { - enabled: '3.27.0', - }, - }); - - return _getCurrentRunLoop(); - }; - - defineDeprecatedRunloopFunc('backburner', _backburner); - defineDeprecatedRunloopFunc('begin', begin); - defineDeprecatedRunloopFunc('bind', bind); - defineDeprecatedRunloopFunc('cancel', cancel); - defineDeprecatedRunloopFunc('debounce', debounce); - defineDeprecatedRunloopFunc('end', end); - defineDeprecatedRunloopFunc('hasScheduledTimers', _hasScheduledTimers); - defineDeprecatedRunloopFunc('join', join); - defineDeprecatedRunloopFunc('later', later); - defineDeprecatedRunloopFunc('next', next); - defineDeprecatedRunloopFunc('once', once); - defineDeprecatedRunloopFunc('schedule', schedule); - defineDeprecatedRunloopFunc('scheduleOnce', scheduleOnce); - defineDeprecatedRunloopFunc('throttle', throttle); - defineDeprecatedRunloopFunc('cancelTimers', _cancelTimers); - Object.defineProperty(run, 'currentRunLoop', { - get: _deprecatedGlobalGetCurrentRunLoop, - enumerable: false, - }); -} else { - run.backburner = _backburner; - run.begin = begin; - run.bind = bind; - run.cancel = cancel; - run.debounce = debounce; - run.end = end; - run.hasScheduledTimers = _hasScheduledTimers; - run.join = join; - run.later = later; - run.next = next; - run.once = once; - run.schedule = schedule; - run.scheduleOnce = scheduleOnce; - run.throttle = throttle; - run.cancelTimers = _cancelTimers; - Object.defineProperty(run, 'currentRunLoop', { - get: _getCurrentRunLoop, - enumerable: false, - }); -} diff --git a/packages/ember/tests/reexports_test.js b/packages/ember/tests/reexports_test.js index 2ece032df5d..339303356a6 100644 --- a/packages/ember/tests/reexports_test.js +++ b/packages/ember/tests/reexports_test.js @@ -297,39 +297,7 @@ let allExports = [ // @ember/object/computed ['ComputedProperty', '@ember/object/computed', 'default'], - ['computed.alias', '@ember/object/computed', 'alias', true], - ['computed.and', '@ember/object/computed', 'and', true], - ['computed.bool', '@ember/object/computed', 'bool', true], - ['computed.collect', '@ember/object/computed', 'collect', true], - ['computed.deprecatingAlias', '@ember/object/computed', 'deprecatingAlias', true], - ['computed.empty', '@ember/object/computed', 'empty', true], - ['computed.equal', '@ember/object/computed', 'equal', true], ['expandProperties', '@ember/object/computed', 'expandProperties', true], - ['computed.filter', '@ember/object/computed', 'filter', true], - ['computed.filterBy', '@ember/object/computed', 'filterBy', true], - ['computed.gt', '@ember/object/computed', 'gt', true], - ['computed.gte', '@ember/object/computed', 'gte', true], - ['computed.intersect', '@ember/object/computed', 'intersect', true], - ['computed.lt', '@ember/object/computed', 'lt', true], - ['computed.lte', '@ember/object/computed', 'lte', true], - ['computed.map', '@ember/object/computed', 'map', true], - ['computed.mapBy', '@ember/object/computed', 'mapBy', true], - ['computed.match', '@ember/object/computed', 'match', true], - ['computed.max', '@ember/object/computed', 'max', true], - ['computed.min', '@ember/object/computed', 'min', true], - ['computed.none', '@ember/object/computed', 'none', true], - ['computed.not', '@ember/object/computed', 'not', true], - ['computed.notEmpty', '@ember/object/computed', 'notEmpty', true], - ['computed.oneWay', '@ember/object/computed', 'oneWay', true], - ['computed.or', '@ember/object/computed', 'or', true], - ['computed.readOnly', '@ember/object/computed', 'readOnly', true], - ['computed.reads', '@ember/object/computed', 'reads', true], - ['computed.setDiff', '@ember/object/computed', 'setDiff', true], - ['computed.sort', '@ember/object/computed', 'sort', true], - ['computed.sum', '@ember/object/computed', 'sum', true], - ['computed.union', '@ember/object/computed', 'union', true], - ['computed.uniq', '@ember/object/computed', 'uniq', true], - ['computed.uniqBy', '@ember/object/computed', 'uniqBy', true], // @ember/object/core ['CoreObject', '@ember/object/core', 'default'], @@ -394,27 +362,6 @@ let allExports = [ // @ember/runloop ['run', '@ember/runloop', 'run'], - ['run.backburner', '@ember/runloop', '_backburner', true], - ['run.begin', '@ember/runloop', 'begin', true], - ['run.bind', '@ember/runloop', 'bind', true], - ['run.cancel', '@ember/runloop', 'cancel', true], - ['run.debounce', '@ember/runloop', 'debounce', true], - ['run.end', '@ember/runloop', 'end', true], - ['run.hasScheduledTimers', '@ember/runloop', '_hasScheduledTimers', true], - ['run.join', '@ember/runloop', 'join', true], - ['run.later', '@ember/runloop', 'later', true], - ['run.next', '@ember/runloop', 'next', true], - ['run.once', '@ember/runloop', 'once', true], - ['run.schedule', '@ember/runloop', 'schedule', true], - ['run.scheduleOnce', '@ember/runloop', 'scheduleOnce', true], - ['run.throttle', '@ember/runloop', 'throttle', true], - [ - 'run.currentRunLoop', - '@ember/runloop', - { get: DEBUG ? '_deprecatedGlobalGetCurrentRunLoop' : '_getCurrentRunLoop' }, - true, - ], - ['run.cancelTimers', '@ember/runloop', '_cancelTimers', true], // @ember/service ['Service', '@ember/service', 'default'],