Stage: 0
Class element definitions (CEDs) are a proposal for extending JavaScript classes with a syntax that mirrors the behavior of Object.defineProperty
.
class C {
x {
configurable = true;
// The global revision clock. Every time state changes, the clock increments. | |
let $REVISION = 0; | |
// The current dependency tracker. Whenever we compute a cache, we create a Set | |
// to track any dependencies that are used while computing. If no cache is | |
// computing, then the tracker is null. | |
let CURRENT_TRACKER = null; | |
// Storage represents a root value in the system - the actual state of our app. | |
class Storage { |
import Controller from '@ember/controller'; | |
export default class ApplicationController extends Controller { | |
if = false; | |
} |
import Component from '@glimmer/component'; | |
export default class extends Component { | |
} |
import Component from '@glimmer/component'; | |
import { inject as service } from '@ember/service'; | |
export default class extends Component { | |
@service router; | |
get qp() { | |
return this.router.currentRoute.queryParams.qp || 1; | |
} |
import Component from '@glimmer/component'; | |
import { action } from '@ember/object'; | |
import { assert } from '@ember/debug'; | |
export default class TestComp extends Component { | |
// constructor() { | |
// super(...arguments) | |
// assert('testValue must be passed in', this.args.testValue); | |
// } | |
import Controller from '@ember/controller'; | |
export default class TestController extends Controller { | |
// Remove this, and derived starts working | |
// model; | |
get derived() { | |
return "The model is " + this.model; | |
} | |
} |
import Controller from '@ember/controller'; | |
export default class ApplicationController extends Controller { | |
appName = 'Ember Twiddle'; | |
} |
import Component from '@glimmer/component'; | |
import { schedule } from '@ember/runloop'; | |
import { action } from '@ember/object'; | |
import { tracked } from 'tracked-built-ins'; | |
import { cached, trackedReset } from 'tracked-toolbox'; | |
export default class extends Component { | |
@trackedReset('args.checked') children = tracked([]); | |
constructor() { |