Skip to content

Instantly share code, notes, and snippets.

View foxnewsnetwork's full-sized avatar

Thomas Chen foxnewsnetwork

View GitHub Profile
import Ember from 'ember';
export default Ember.Controller.extend({
queryParams: [{
ctrl: {
type: 'string'
}
}]
});
@foxnewsnetwork
foxnewsnetwork / controllers.application.js
Created June 13, 2019 16:31
TestQueriablePossibility
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@foxnewsnetwork
foxnewsnetwork / browse.collection.index.template.hbs
Created May 8, 2019 00:06
Alternative-Proposal-to-TTI-Measurement
<h2>
browse/collection/index/template.hbs
</h2>
{{outlet}}
@foxnewsnetwork
foxnewsnetwork / controllers.application.js
Created May 1, 2019 19:37
Testing-Redirect-Duration-Blank-Ember
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
redirectDuration: Ember.computed("redirectBefore", "transitionStart", {
get() {
return this.get('transitionStart') - this.get('redirectBefore')
}
})
@foxnewsnetwork
foxnewsnetwork / controllers.application.js
Created November 19, 2018 20:27
Each with iterator generators
import Ember from 'ember';
function* range(start=0, end=5, step=1) {
for (let i = start; i < end; i += step) {
yield i;
}
}
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
@foxnewsnetwork
foxnewsnetwork / controllers.application.js
Created November 16, 2018 00:58
Nondestructive Pagination
import Ember from 'ember';
import MixerGames from '../data/mixer-games';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
MixerGames,
start: 0,
perPage: 5,
lastPage: Ember.computed("perPage", {
get() {
@foxnewsnetwork
foxnewsnetwork / controllers.application.js
Last active October 24, 2018 16:39
RSVP rejection window error
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember RSVP rejection demo',
actions: {
die() {
Ember.RSVP.reject("blah blah")
},
swallow() {
@foxnewsnetwork
foxnewsnetwork / controllers.application.js
Created October 19, 2018 20:58
Ember Error Routing Experiments
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});
@foxnewsnetwork
foxnewsnetwork / adventures-in-reasonml-js-api-typing.md
Last active September 12, 2018 16:19
ReasonML JavaScript API Bindings for Union Types

Problem Background

Recently, I've been trying to experiment with using ReasonML in production, however, this generally involves writing bindings to existing libraries... and unfortunately, some of these libraries expose extremely difficult to type interfaces; consider trying to wrap the following getUserInfo function (written in typescript for illustration purposes):

type xInfo = {
    info: string,
    message: string
};
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle'
});