Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions broccoli/amd-compat-entrypoints/ember.debug.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,6 @@ d('@ember/-internals/runtime/index', emberinternalsRuntimeIndex);
import * as emberinternalsRuntimeLibExtRsvp from '@ember/-internals/runtime/lib/ext/rsvp';
d('@ember/-internals/runtime/lib/ext/rsvp', emberinternalsRuntimeLibExtRsvp);

import * as emberinternalsRuntimeLibMixinsproxy from '@ember/-internals/runtime/lib/mixins/-proxy';
d('@ember/-internals/runtime/lib/mixins/-proxy', emberinternalsRuntimeLibMixinsproxy);

import * as emberinternalsRuntimeLibMixinsActionHandler from '@ember/-internals/runtime/lib/mixins/action_handler';
d(
'@ember/-internals/runtime/lib/mixins/action_handler',
Expand Down Expand Up @@ -176,9 +173,6 @@ d('@ember/array/lib/make-array', emberArrayLibMakeArray);
import * as emberArrayMutable from '@ember/array/mutable';
d('@ember/array/mutable', emberArrayMutable);

import * as emberArrayProxy from '@ember/array/proxy';
d('@ember/array/proxy', emberArrayProxy);

import * as emberCanaryFeaturesIndex from '@ember/canary-features/index';
d('@ember/canary-features/index', emberCanaryFeaturesIndex);

Expand Down Expand Up @@ -287,12 +281,6 @@ d('@ember/object/observable', emberObjectObservable);
import * as emberObjectObservers from '@ember/object/observers';
d('@ember/object/observers', emberObjectObservers);

import * as emberObjectPromiseProxyMixin from '@ember/object/promise-proxy-mixin';
d('@ember/object/promise-proxy-mixin', emberObjectPromiseProxyMixin);

import * as emberObjectProxy from '@ember/object/proxy';
d('@ember/object/proxy', emberObjectProxy);

import * as emberOwnerIndex from '@ember/owner/index';
d('@ember/owner/index', emberOwnerIndex);

Expand Down
4 changes: 0 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,6 @@
"@ember/-internals/routing/index.js": "ember-source/@ember/-internals/routing/index.js",
"@ember/-internals/runtime/index.js": "ember-source/@ember/-internals/runtime/index.js",
"@ember/-internals/runtime/lib/ext/rsvp.js": "ember-source/@ember/-internals/runtime/lib/ext/rsvp.js",
"@ember/-internals/runtime/lib/mixins/-proxy.js": "ember-source/@ember/-internals/runtime/lib/mixins/-proxy.js",
"@ember/-internals/runtime/lib/mixins/action_handler.js": "ember-source/@ember/-internals/runtime/lib/mixins/action_handler.js",
"@ember/-internals/runtime/lib/mixins/comparable.js": "ember-source/@ember/-internals/runtime/lib/mixins/comparable.js",
"@ember/-internals/runtime/lib/mixins/container_proxy.js": "ember-source/@ember/-internals/runtime/lib/mixins/container_proxy.js",
Expand Down Expand Up @@ -235,7 +234,6 @@
"@ember/array/lib/make-array.js": "ember-source/@ember/array/lib/make-array.js",
"@ember/array/make.js": "ember-source/@ember/array/make.js",
"@ember/array/mutable.js": "ember-source/@ember/array/mutable.js",
"@ember/array/proxy.js": "ember-source/@ember/array/proxy.js",
"@ember/canary-features/index.js": "ember-source/@ember/canary-features/index.js",
"@ember/component/helper.js": "ember-source/@ember/component/helper.js",
"@ember/component/index.js": "ember-source/@ember/component/index.js",
Expand Down Expand Up @@ -275,8 +273,6 @@
"@ember/object/mixin.js": "ember-source/@ember/object/mixin.js",
"@ember/object/observable.js": "ember-source/@ember/object/observable.js",
"@ember/object/observers.js": "ember-source/@ember/object/observers.js",
"@ember/object/promise-proxy-mixin.js": "ember-source/@ember/object/promise-proxy-mixin.js",
"@ember/object/proxy.js": "ember-source/@ember/object/proxy.js",
"@ember/owner/index.js": "ember-source/@ember/owner/index.js",
"@ember/renderer/index.js": "ember-source/@ember/renderer/index.js",
"@ember/routing/-internals.js": "ember-source/@ember/routing/-internals.js",
Expand Down
8 changes: 0 additions & 8 deletions packages/@ember/-internals/glimmer/lib/helpers/each-in.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
@module ember
*/
import { tagForObject } from '@ember/-internals/metal';
import { _contentFor } from '@ember/-internals/runtime';
import { isProxy } from '@ember/-internals/utils';
import { assert } from '@ember/debug';
import type { CapturedArguments } from '@glimmer/interfaces';
import { createComputeRef, valueForRef } from '@glimmer/reference';
Expand Down Expand Up @@ -176,12 +174,6 @@ export default internalHelper(({ positional }: CapturedArguments) => {

consumeTag(tagForObject(iterable));

if (isProxy(iterable)) {
// this is because the each-in doesn't actually get(proxy, 'key') but bypasses it
// and the proxy's tag is lazy updated on access
iterable = _contentFor(iterable);
}

return new EachInWrapper(iterable);
});
});
9 changes: 2 additions & 7 deletions packages/@ember/-internals/glimmer/lib/utils/to-bool.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
import { isHTMLSafe } from './string';
import { get, tagForProperty } from '@ember/-internals/metal';
import { tagForProperty } from '@ember/-internals/metal';
import { isArray } from '@ember/array';
import { isProxy } from '@ember/-internals/utils';
import { consumeTag } from '@glimmer/validator';

export default function toBool(predicate: unknown): boolean {
if (isProxy(predicate)) {
consumeTag(tagForProperty(predicate, 'content'));

return Boolean(get(predicate, 'isTruthy'));
} else if (isArray(predicate)) {
if (isArray(predicate)) {
consumeTag(tagForProperty(predicate as object, '[]'));

return (predicate as { length: number }).length !== 0;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
import EmberObject from '@ember/object';
import { A } from '@ember/array';
import ArrayProxy from '@ember/array/proxy';
import PromiseProxyMixin from '@ember/object/promise-proxy-mixin';
import { tracked } from '@ember/-internals/metal';
import { computed, get, set } from '@ember/object';
import { Promise } from 'rsvp';
import { moduleFor, RenderingTestCase, strip, runTask } from 'internal-test-helpers';
import GlimmerishComponent from '../../utils/glimmerish-component';
import { Component } from '../../utils/helpers';
Expand Down Expand Up @@ -85,56 +82,6 @@ moduleFor(
this.assertText('max jackson | max jackson');
}

'@test creating an array proxy inside a tracking context does not trigger backtracking assertion'() {
let PromiseArray = ArrayProxy.extend(PromiseProxyMixin);

class LoaderComponent extends GlimmerishComponent {
get data() {
if (!this._data) {
this._data = PromiseArray.create({
promise: Promise.resolve([1, 2, 3]),
});
}

return this._data;
}
}

this.registerComponent('loader', {
ComponentClass: LoaderComponent,
template: '{{#each this.data as |item|}}{{item}}{{/each}}',
});

this.render('<Loader/>');

this.assertText('123');
}

'@test creating an array proxy inside a tracking context and immediately updating its content before usage does not trigger backtracking assertion'() {
class LoaderComponent extends GlimmerishComponent {
get data() {
if (!this._data) {
this._data = ArrayProxy.create({
content: A(),
});

this._data.content.pushObjects([1, 2, 3]);
}

return this._data;
}
}

this.registerComponent('loader', {
ComponentClass: LoaderComponent,
template: '{{#each this.data as |item|}}{{item}}{{/each}}',
});

this.render('<Loader/>');

this.assertText('123');
}

'@test tracked properties that are uninitialized do not throw an error'() {
class CountComponent extends Component {
@tracked count;
Expand Down
Loading