I hereby claim:
- I am chriskrycho on github.
- I am chriskrycho (https://keybase.io/chriskrycho) on keybase.
- I have a public key ASD3n2vhtR3y1qvDZG9H-MMywyLDRf9z2Zv5Jf5kQ3-D3go
To claim this, I am signing this object:
import Ember from 'ember'; | |
export default class NotGood extends Ember.Component { | |
init() { | |
Ember.set(this, 'tagName', ''); | |
super.init(...arguments); | |
} | |
} |
import Maybe from './maybe'; | |
import Result from './result'; | |
// This isn't valid: you can't parameterize one type with another like I do here | |
// with M<T>, M<U> in TypeScript. | |
type Mappable<M, T, U> = { | |
map(this: M<T>, mapFn: (t: T) => U): M<U>; | |
}; | |
export const map = <T, U>(mapFn: (t: T) => U, item: Mappable<typeof item, T, U>) => item.map(mapFn); |
I hereby claim:
To claim this, I am signing this object:
We just wrote a very simple library (which I hope to open-source by the end of the year) and we write our components like this:
import bem from 'our-app/lib/bem';
// so we can easily grab it in tests
export default block = 'some-component';
export default Component.extend({
classNameBindings: ['tagClass'],
import ComputedProperty from '@ember/object/computed'; | |
import RSVP from 'rsvp'; | |
export enum TaskInstanceState { | |
Dropped = 'dropped', | |
Canceled = 'canceled', | |
Finished = 'finished', | |
Running = 'running', | |
Waiting = 'waiting', | |
} |
import Ember from 'ember'; | |
export default Ember.Controller.extend({ | |
appName: 'Ember Twiddle', | |
foo: new Map(), | |
init() { | |
this.get('foo').set('a', 'b') | |
} | |
}); |
import Ember from 'ember'; | |
export default Ember.Component.extend({ | |
init() { | |
this._super(...arguments); | |
this.set('foo', 'yay'); | |
} | |
}); |
import Ember from 'ember'; | |
const { computed } = Ember; | |
export default class MyComponent extends Ember.Component{ | |
// model | |
constructor() { | |
super(); | |
this.prop = computed('model', function() { | |
return this.model.length; | |
}); |
import Ember from 'ember'; | |
export default class extends Ember.Controller.extend({ | |
appName: 'Ember Twiddle', | |
init() { | |
this._super(...arguments); | |
console.log('extends init'); | |
} | |
}) { | |
constructor() { |
import Ember from 'ember'; | |
export default class extends Ember.Controller.extend({ | |
appName: 'Ember Twiddle', | |
init() { | |
this._super(...arguments); | |
console.log('.extend init'); | |
}, | |
}) { |