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'); | |
| }, | |
| }) { |